Douglass Locke on "What is real-time?"
By Rick Lehrbaum
1997-09-14
Article Rating:    / 0
| Rate This Article: |
Add This Article To: |
|
|
Here are Douglass Locke's answers:What is real-time? -- A real-time system (defined by IEEE) is a system whose correctness includes its response time as well as its functional correctness. In other words, in a real-time system, it not only matters that the answers are correct, but it matters when the answers are produced. Note that by this definition, systems requiring a defined Quality of Service are usually real-time systems, although they might not use those words to describe themselves. What is hard real-time? -- Hard real time means that the system (i.e., the entire system including OS, middleware, application, HW, communications, etc.) must be designed to GUARANTEE that response requirements are met. It doesn't matter how fast the requirements are (microsecond, millisecond, etc.) to be hard real-time, just that they MUST be met EVERY TIME. This means that EVERY resource mechanism (i.e., scheduler, I/O manager, mutex mechanism, communications mechanism, etc.) must select the work to be done in the correct order to meet time constraint requirements. This means that mechanisms (e.g., priority inheritance) MUST be provided to avoid unbounded priority inversion (such as was encountered and corrected in the hard real-time failure in the Mars Pathfinder). This means that FIFO queues must be avoided or kept empty. This means that ALL processes and threads, including those within the kernel MUST either be preemptible (i.e., a high priority request can preempt a lower priority one), or there must be a specific bound on its non-preemtibility time.
Note: Few, if any systems are completely hard real-time. However, many, if not most, soft real-time systems have a few hard real-time requirements. For example, if a system has a mechanism (e.g., hearbeat, timeout) to detect a failure, missing the event will cause the system to enter a failure recovery mode, thus creating a failure. Thus, such mechanisms represent hard real-time requirements. Another example is a switching system that is required to switch around a fault within 50 milliseconds or a penalty must be paid to a customer.
Who needs real-time? . . . hard real-time? -- A few years ago, almost the only applications that needed real-time were military & space. Today, it's almost easier to list the application domains that do not need real-time. Here are a few examples of applications with real-time requirements: Telecom switching, web servers, voice over IP, cell phones, digital TV, set-top-boxes, video conferencing, TV broadcasting equipment (cameras, video mixdown, etc.), automotive controls, car navigation, medical equipment, defense, space, aircraft controls, aircraft navigation, games, industrial automation, robotics, and even international airline gambling equipment! Most of these applications are generally soft real-time, but many have a few hard real-time constraints.
What is soft real-time? -- Soft real-time is exactly the same as hard real-time in its infrastucture requirements, but it is not necessary for system success that EVERY time constraint be met. For example, if a display update is late by 5 ms., it probably doesn't matter. If it's late by 100 ms., it can create the impression that the system has failed. Or take a digital movie. If one frame is missed per hour, it's probably ok. But if 3 frames are missed in a row, it looks like a failure (glitch) to the user. Most time constraints are soft, but they are nontheless important. Some people seem to consider soft real-time and non-real-time to be equivalent; they are not.
How do you characterize real-time performance? -- That is, what key specifications should RTOS vendors use to objectively characterize their offerings? There are many. For example, what is the worst-case context switch time? What is the maximum priority inversion time? What is the longest time for which interrupts are disabled? Is priority inversion time bounded at all? What is the user-settable clock resolution? What is the interrupt latency for each attached device? How many priorities are available for application processes and threads?
Panelist's bio: Dr. C. Douglass Locke is VP of Technology at TimeSys Corporation. He received a Ph.D in Computer Science from Carnegie-Mellon University, writing his dissertation on real-time scheduling. He has more than 30 years experience in specifying, architecting, designing, and implementating a wide span of real-world applications including space flight, aircraft, shipboard, submarine, command & control, and information systems. Dr. Locke has served on various real-time standardization committees including POSIX, Real-Time CORBA, Real-Time UML, and Real-Time Java.
FUEL Database on MontaVista Linux
Whether building a mobile handset, a car navigation system, a package tracking device, or a home entertainment console, developers need capable software systems, including an operating system, development tools, and supporting libraries, to gain maximum benefit from their hardware platform and to meet aggressive time-to-market goals.
Breaking New Ground: The Evolution of Linux Clustering
With a platform comprising a complete Linux distribution, enhanced for clustering, and tailored for HPC, Penguin Computing¿s Scyld Software provides the building blocks for organizations from enterprises to workgroups to deploy, manage, and maintain Linux clusters, regardless of their size.
Data Monitoring with NightStar LX
Unlike ordinary debuggers, NightStar LX doesn¿t leave you stranded in the dark. It¿s more than just a debugger, it¿s a whole suite of integrated diagnostic tools designed for time-critical Linux applications to reduce test time, increase productivity and lower costs. You can debug, monitor, analyze and tune with minimal intrusion, so you see real execution behavior. And that¿s positively illuminating.
Virtualizing Service Provider Networks with Vyatta
This paper highlights Vyatta's unique ability to virtualize networking functions using Vyatta's secure routing software in service provider environments.
High Availability Messaging Solution Using AXIGEN, Heartbeat and DRBD
This white paper discusses a high-availability messaging solution relying on the AXIGEN Mail Server, Heartbeat and DRBD. Solution architecture and implementation, as well as benefits of using AXIGEN for this setup are all presented in detail.
Understanding the Financial Benefits of Open Source
Will open source pay off? Open source is becoming standard within enterprises, often because of cost savings. Find out how much of a financial impact it can have on your organization. Get this methodology and calculator now, compliments of JBoss.
Embedded Hardware and OS Technology Empower PC-Based Platforms
The modern embedded computer is the jack of all trades appearing in many forms.
Data Management for Real-Time Distributed Systems
This paper provides an overview of the network-centric computing model, data distribution services, and distributed data management. It then describes how the SkyBoard integration and synchronization service, coupled with an implementation of the OMG¿s Data Distribution Service (DDS) standard, can be used to create an efficient data distribution, storage, and retrieval system.
7 Advantages of D2D Backup
For decades, tape has been the backup medium of choice. But, now, disk-to-disk (D2D) backup is gaining in favor. Learn why you should make the move in this whitepaper. | |
|
|