Click here to learn
about this Sponsor:
Home  |  News  |  Articles  |  Forum

  Home arrow Linux For Devices Articles arrow Douglass Locke on "What is real-time?"

Douglass Locke on "What is real-time?"
By Rick Lehrbaum

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.




    Discuss Douglass Locke on "What is real-time?"
     
    >>> Be the FIRST to comment on this article!
     
     
     
    >>> More Linux For Devices Articles Articles          >>> More By Rick Lehrbaum
     



  • 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.

    Got a HOT tip?   please tell us!
    Free weekly newsletter
    Enter your email...
    PLATINUM SPONSORS

     


    ADVERTISEMENT


    Check out the latest Linux powered...

    Mobile phones!

    MIDs, UMPCs
    & tablets

    Mobile devices

    Other cool
    gadgets

    Resource Library

    • Unix, Linux Uptime and Reliability Increase: Patch Management Woes Plague Windows Yankee Group survey finds IBM AIX Unix is highest in ...
    • Scalable, Fault-Tolerant NAS for Oracle - The Next Generation For several years NAS has been evolving as a storage ...
    • Managing Software Intellectual Property in an Open Source World This whitepaper draws on the experiences of the Black Duck ...
    • Open Source Security Myths Dispelled Is it risky to trust mission-critical infrastructure to open source ...
    • Bringing IT Operations Management to Open Source & Beyond Download this IDC analyst report to learn how open source ...




    Most popular stories -- past 90 days:
    · Linux boots in 2.97 seconds
    · Tiniest Linux system, yet?
    · Linux powers "cloud" gaming console
    · Report: T-Mobile sells out first 1.5 million G1s
    · Open set-top box ships
    · E17 adapted to Linux devices, demo'd on Treo650
    · Android debuts
    · First ALP Linux smartphone?
    · Cortex-A8 gaming handheld runs Linux
    · Ubuntu announces ARM port


    DesktopLinux headlines:
    · Simulator runs Android apps on Ubuntu
    · Hypervisor rev'd for higher reliability
    · Pluggable NAS now supports Linux desktops
    · Moblin v2 beta targets netbooks
    · Linux-ready netbook touted as "Student rugged"
    · USB display technology heading for Linux
    · Ubuntu One takes baby step to the cloud
    · Game over for Linux netbooks?
    · Linux Foundation relaunches Linux web site
    · Dell spins lower-cost netbook


    Also visit our sister site:


    Sign up for LinuxForDevices.com's...

    news feed


    Or, follow us on Twitter...