1 / 14

CprE 458/558: Real-Time Systems

CprE 458/558: Real-Time Systems. Basic Concepts (Contd.). Real-Time Systems - Issues. Resource Management (RM) Issues Scheduling, Fault-tolerance, Resource reclaiming, Communication. Architectural Issues Computing subsystem, Communication subsystem, I/O subsystem. Software Issues

Download Presentation

CprE 458/558: Real-Time Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CprE 458/558: Real-Time Systems Basic Concepts (Contd.) CprE 458/558: Real-Time Systems (G. Manimaran)

  2. Real-Time Systems - Issues • Resource Management (RM) Issues • Scheduling, Fault-tolerance, Resource reclaiming, Communication. • Architectural Issues • Computing subsystem, Communication subsystem, I/O subsystem. • Software Issues • Requirements, specification, and verification, Real-time languages, Real-time databases. CprE 458/558: Real-Time Systems (G. Manimaran)

  3. CprE 458/558: Course Outline • Introduction: Real-time tasks, Properties, Misconceptions. • Uniprocessor System: Task Scheduling, Resource control protocols, Overload handling, Feedback control scheduling. • Multiprocessor System: Task Scheduling, Fault-tolerance, Resource reclaiming. • Distributed System: Local (task) scheduling and Global scheduling. • Real-time Networks: Real-time channel, Packet scheduling, Real-time MAC protocols. • Real-time OS: Case studies, Real-time Linux, Real-time CORBA • Other Issues: Architectural support, Language support, Real-time Database, Case study of real-time applications. CprE 458/558: Real-Time Systems (G. Manimaran)

  4. Notion of Predictability • The most common denominator that is expected from a real-time system is predictability. • The behavior of the real-time system must be predictable which means that with certain assumptions about workload and failures, it should be possible to show at “design time” that all the timing constraints of the application will be met. • For static systems, 100% guarantees can be given at design time. • For dynamic systems, 100% guarantee cannot be given since the characteristics of tasks are not known a priori. • In dynamic systems, predictability means that once a task is admitted into the system, its guarantee should never be violated as long as the assumptions under which the task was admitted hold. CprE 458/558: Real-Time Systems (G. Manimaran)

  5. Common Misconceptions • Real-time computing is equivalent to fast computing. • Real-time programming is assembly coding, priority interrupt programming, and writing device drivers. • Real-time systems operate in a static environment. • The problems in real-time system design have all been solved in other areas of computer science. CprE 458/558: Real-Time Systems (G. Manimaran)

  6. Real-time Scheduling Paradigms – RM Issue • Allocate time slots for tasks onto processor(s). • [i.e., Where and When a given task executes] • Objective: predictably meeting task deadlines. • (schedulability check, schedule construction) CprE 458/558: Real-Time Systems (G. Manimaran)

  7. Preemptive vs Non-preemptive scheduling • Preemptive Scheduling • Task execution is preempted and resumed later. • Preemption takes place to execute a higher priority task. • Offers higher schedulability. • Involves higher scheduling overhead due to context switching. • Non-preemptive Scheduling • Once a task is started executing, it completes its execution. • Offers lower schedulability. • Has less scheduling overhead because of less context switching. CprE 458/558: Real-Time Systems (G. Manimaran)

  8. Optimal scheduling -- definition • A static scheduling algorithm is said to be optimal if, for any set of tasks, it always produces a schedule which satisfies the constraints of the tasks (feasible schedule) whenever any other algorithm can do so. • A dynamic scheduling algorithm is said to be optimal if it always produces a feasible schedule whenever a static algorithm with complete prior knowledge of all the possible tasks can do so. CprE 458/558: Real-Time Systems (G. Manimaran)

  9. Other RM Issues • Resource Reclaiming (Chapter 3) • Resource reclaiming refers to the problem of utilizing resources left unused by a task. • Fault Tolerance (Chapter 4) • Fault-tolerance is informally defined as a system’s ability to deliver the expected service even in the presence of faults. • Communication (Chapter 7,8, 10) • Any form of communication that involves timing constraints. • Real-time WAN: Routing and Scheduling • Real-time LAN: MAC protocols CprE 458/558: Real-Time Systems (G. Manimaran)

  10. Architectural Issues • Predictability in: Instruction execution time, Memory access, Context switching, Interrupt handling. • RT systems usually avoid caches and superscalar features. • Support for error handling (self-checking circuitry, voters, system monitors). • Support for fast and reliable communication (routing, priority handling, buffer and timer management). • Support for scheduling algorithms (fast preempt ability, priority queues). • Support for RTOS (multiple contexts, memory management, garbage collection, interrupt handling, clock synchronization). • Support for RT language features (language constructs for estimating worst-case execution time of tasks). CprE 458/558: Real-Time Systems (G. Manimaran)

  11. Requirement, Specification, Verification • Functional requirements: Operation of the system and their effects. • Non-Functional requirements: e.g., timing constraints. • F & NF requirements must be precisely defined and together used to construct the specification of the system. • A specification is a mathematical statement of the properties to be exhibited by a system. It is abstracted such that • it can be checked for conformity against the requirement. • its properties can be examined independently of the way in which it will be implemented. • The usual approaches for specifying computing system behavior entail enumerating events or actions that the system participates in and describing orders in which they can occur. It is not well understood how to extend such approaches for real-time constraints. CprE 458/558: Real-Time Systems (G. Manimaran)

  12. Real-time Languages • Support for the management of time • Language constructs for expressing timing constraint, keeping track of resource utilization. • Schedulability analysis • Aid compile-time schedulability check. • Reusable real-time software modules • Object-oriented methodology. • Support for distributed programming and fault-tolerance CprE 458/558: Real-Time Systems (G. Manimaran)

  13. Real-time Databases • Most conventional database systems are disk-based. • They use transaction logging and two-phase locking protocols to ensure transaction atomicity and serializability. • These characteristics preserve data integrity, but they also result in relatively slow and unpredictable response times. • In a real-time database system, important issues include: • transaction scheduling to meet deadlines. • explicit semantics for specifying timing and other constraints. • checking the database system’s ability of meeting transaction deadlines during application initialization. CprE 458/558: Real-Time Systems (G. Manimaran)

  14. Introduction: Summary • Real-time systems require logical correctness and timeliness. • Real-time system consists of a controlling system, controlled system, and the environment. • Real-time systems are classified as: hard, firm, and soft RT systems. • Tasks are: periodic or aperiodic. • The notion of predictability is very important in real-time systems. • There has been some common misconceptions about RT systems. • Important issues are: • scheduling, resource reclaiming, fault-tolerance, communication, architectural issues, system specification and verification, programming languages, and databases. CprE 458/558: Real-Time Systems (G. Manimaran)

More Related