DOC PREVIEW
CORNELL CS 501 - System Architecture and Design II

This preview shows page 1-2-20-21 out of 21 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 21 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CS 501: Software EngineeringAdministrationPowerPoint PresentationDistributed Computing Example 5: The Domain Name SystemDistributed Computing The Domain Name SystemDistributed Computing Domain Name SystemDistributed Computing Example 5: Web ServerTime-Critical SystemsTime-Critical System Example 1: Autonomous Land VehicleTime-Critical System Example 2: Routers and Other Network ComputingTechniques: Software DevelopmentTime-Critical System Example 3: CD ControllerTime-Critical System Example 4: Embedded Real-time SystemsSlide 14Time-Critical System Example 5: Shared SystemsTechniquesTechniques: Multi-ThreadingTechniques: Real Time ExecutiveTechniques: TimingTechniques: Software ConsiderationsContinuous Operation1CS 501 Spring 2003CS 501: Software EngineeringLecture 16System Architecture and Design II2CS 501 Spring 2003Administration•Schedule your second presentations with Anat Nidar-Levi3CS 501 Spring 2003Distributed ComputingExample 4: UseNetThis is an example of an epidemic protocol. Such protocols are especially useful in networks with intermittent connectivity, e.g., mobile computing.The biggest problem is ensuring that the data is distributed effectively.4CS 501 Spring 2003Distributed ComputingExample 5: The Domain Name System.edu servercornell.edu servercs.cornell.edu serverFirst attempt to resolve www.cs.cornell.edu1235CS 501 Spring 2003Distributed ComputingThe Domain Name System.edu servercornell.edu servercs.cornell.edu serverBetter method 31almaden.ibm.comcornell.eduece.cmu.eduibm.comacm.org.edu2Localcachelocal DNS server6CS 501 Spring 2003Distributed ComputingDomain Name SystemFor details of the actual protocol read:Paul Mockapetris, "Domain Names - Implementation and Specification". IETF Network Working Group, Request for Comments: 1035, November 1987. http://www.ietf.org/rfc/rfc1035.txt?number=10357CS 501 Spring 2003Distributed ComputingExample 5: Web Serverhttp messagedaemonspawned processesTCP port 80The daemon listens at port 80When a message arrives it:spawns a processes to handle the messagereturns to listening at port 808CS 501 Spring 2003Time-Critical SystemsA real time (time-critical) system is a software system whose correct functioning depends upon the results produced and the time at which they are produced.• A soft real time system is degraded if the results are not produced within required time constraints• A hard real time system fails if the results are not produced within required time constraints9CS 501 Spring 2003Time-Critical System Example 1: Autonomous Land VehicleSensorsGPSSonarLaserSignal processingModel Control signalsSteerThrottleControls10CS 501 Spring 2003Time-Critical System Example 2: Routers and Other Network Computing• Interoperation with third party devices• Support for several versions of protocols• Restart after total failure• Defensive programming -- must survive=> erroneous or malicious messages=> extreme loads• Time outs, dropped packets, etc.• Evolution of network systems11CS 501 Spring 2003Techniques: Software DevelopmentDevelopers of advanced time-critical software spend almost all their effort developing the software environment:• Monitoring and testing -- debuggers• Crash restart -- component and system-wide• Downloading and updating• Hardware troubleshooting and reconfigurationetc., etc., etc.12CS 501 Spring 2003Time-Critical System Example 3:CD ControllerInput blockOutput block1234567Circular buffer13CS 501 Spring 2003Time-Critical System Example 4:Embedded Real-time SystemsSoftware and hardware are combined to provide an integrated unit, usually dedicated to a specific task:• Digital telephone• Automobile engine control• GPS • Scientific instruments• Seat bag controllerThe software may be embedded in the device in a manner that cannot be altered after manufacture.14CS 501 Spring 2003Time-Critical System Example 4:Embedded Real-time SystemsDesign of embedded systems requires close understanding of hardware characteristics• Special purpose hardware requires special tools and expertise.• Some functions may be implemented in either hardware of software (e.g., floating point unit)• Design requires separation of functionsDistinction between hardware and software may be blurred.Hardware v. Software15CS 501 Spring 2003Time-Critical System Example 5:Shared SystemsMany users are using the same equipment at the same time• Multi-user data processing (common task)• Time sharing (independent tasks)16CS 501 Spring 2003Techniques• Special purpose hardware• Multi-threading and multi-tasking• Parallel processing => digital signal processing• Interrupts=> levels and priorities17CS 501 Spring 2003Techniques: Multi-ThreadingSeveral similar threads operating concurrently:• Re-entrant code -- separation of pure code from data for each thread• Testing -- single thread and multi threadMay be real-time (e.g., telephone switch) or non-time critical18CS 501 Spring 2003Techniques: Real Time ExecutiveSchedules and dispatches tasks in a real time system• Real time clock• Interrupt handler• Scheduler• Resource manager• DispatcherMust be extremely reliable19CS 501 Spring 2003Techniques: TimingTiming mechanisms• Synchronous (clocked) -- periodic stimuli• Asynchronous -- wait for next signalExample: Communications protocols may be synchronous or asynchronous20CS 501 Spring 2003Techniques: Software ConsiderationsResource considerations may dictate software design and implementation:• Low level language (e.g., C) where programmer has close link to machine • Inter-process communication may be too slow (e.g., C fork).• May implement special buffering, etc., to control timings21CS 501 Spring 2003Continuous OperationMany systems must operate continuously• Software update while operating• Hardware monitoring and repair• Alternative power supplies, networks, etc.• Remote operationThese functions must be designed into the fundamental


View Full Document

CORNELL CS 501 - System Architecture and Design II

Documents in this Course
Quiz 2

Quiz 2

2 pages

Usability

Usability

31 pages

Quiz 1

Quiz 1

2 pages

Stulba;''

Stulba;''

33 pages

Load more
Download System Architecture and Design II
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view System Architecture and Design II and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view System Architecture and Design II 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?