Curmudgeon

  Download PDF version of this article PDF

It Isn’t Your Father’s Realtime Anymore

The misuse and abuse of a noble term

Phillip Laplante, Penn State University

Isn’t it a shame the way the term realtime has become so misused? I’ve noticed a slow devolution since 1982, when realtime systems became the main focus of my research, teaching, and consulting. Over these past 20-plus years, I have watched my beloved realtime become one of the most overloaded, overused, and overrated terms in the lexicon of computing. Worse, it has been purloined by users outside of the computing community and has been shamelessly exploited by marketing opportunists. Adding to the humiliation, there is not even consistency of spelling: it variously appears as realtime (ACM Queue’s style preference), real-time (the author’s style preference), or real time.

WHAT IS REALTIME?

To understand my frustration, consider the history of this noble term. Realtime appears to have first been used in conjunction with Project Whirlwind, a Navy flight simulator begun in 1947. During the 1950s and ’60s realtime systems were primarily those that were distinguished from batch-processing systems or online (nonbatch) systems for use in controlling embedded systems. Indeed, in one of the first textbooks on the subject, Design of Real-Time Computer Systems (Prentice Hall, 1967), James Martin described realtime as “[a system] which controls an environment by receiving data, processing them, and taking action or returning results sufficiently quickly to affect the functioning of the environment at that time.” For the next 30 years or so, the term realtime was applied only to industrial control, weapons systems, and other exotic applications, all of which were essentially characterized as those where inability to meet deadlines led to failure—usually a spectacularly catastrophic one.

Today, the IEEE Standard Dictionary, sixth edition (John Wiley, 1996), has seven definitions for the term, including: “pertaining to a system or mode of operation in which computation is performed during the actual time that an external process occurs, in order that the computation results can be used to control, monitor, or respond in a timely manner to the external process”; “an event or data transfer in which, unless accomplished within an allotted amount of time, the accomplishment of the action has either no value or diminishing value”; and “the actual time in the real world during which an event takes place.” All of these definitions connote deadline satisfaction and, in fact, this is the commonly accepted standard for a system to be considered realtime in today’s computational world.

THE SALAD DAYS OF REALTIME

During the past 30 years, realtime systems have been the subject of countless millions of dollars in research: numerous doctoral dissertations, papers, books, symposia, and various other efforts. This research, much of it funded by the U.S. Department of Defense, has imparted an exotic, even religious quality to anything realtime in the realm of computer science.

Although much of this research led to important discoveries and usable technologies, it also yielded a seemingly endless series of papers providing one infinitesimal improvement after another on the rate-monotonic theory—which says that the best way to schedule a set of periodic, preemptive priority tasks (in terms of deadline satisfaction) is to assign priorities so that the higher the task execution frequency, the higher the priority. I was surprised, then, when at a NATO Advanced Study Institute in 1992, C. L. Liu, one of the giants of the realtime research community, stood up and announced, “There are no useful results in optimal realtime scheduling.” This announcement caused pandemonium in the research community. What he meant, of course, was that there were so many constraints needed to generate pretty theoretical formulations, that these theories were almost useless in practical systems.

Soon after Liu’s pronouncement, I noticed a change in the direction of realtime systems research toward a more applied nature—then, an expansion in use of the term.

A FASHIONABLE TERM

It wasn’t that long ago that the term entered colloquial use. An old Funk & Wagnall’s dictionary of mine, dated 1968, didn’t contain the term. But Webster’s Ninth New Collegiate Dictionary (1985) did: “the actual time during which something takes place (the computer may partly analyze the data in realtime [as it comes in]).“ This is a cagey definition in that it allows for anything to happen in realtime (even partially completed computations). Any kind of loose definition of the term enables use of the term realtime to glamorize the unglamorous. It is this sort of perversion, which I find particularly objectionable, that has become standard practice.

To see how bad this abuse had become, I conducted a Google search using the search term real-time, and it yielded 232 million hits. The first five hits (in order) were as follows:

REALTIME (http://www.realtimearts.net/) Film and digital media screen culture. Bimonthly magazine with full text online. Includes extensive reviews from 2000 Adelaide Festival.

StartPage-FreeRealTime.com (http://www.freerealtime.com/) Provides free access to real time quotes, stock news, charting, daily stock picks, analysis, and personal portfolio.

HBO: Real Time with Bill Maher (http://www.hbo.com/billmaher/) series, providing information on scheduling and guests, as well as show transcripts.

RAP Real-Time Weather (http://www.rap.ucar.edu/weather/) View cloud images as seen from space by geostationary satellites.

Live Score service (powered by LiveScore.com) (http://www.livescore.com/) Live score service, real-time score updates for leagues, cups, and competitions around the world.

This is quite an eclectic mix of computing, noncomputing, and entertainment uses for the term. While some of these uses are legitimate (you figure out which ones), others are most offensive (take notice, Bill Maher).

I also checked the URLs for realtime.com, real-time.com, and real-time.org. They were owned, respectively, by Realtime Communications (an ISP), Real Time Enterprises Inc. (real-time Linux), and real-time.org (realtime pundit Doug Jensen’s site with the appropriate quote, “It’s not your father’s realtime”). For those looking for a glamorous domain name, realtime.org is still available.

A book search on Amazon.com for real-time yielded 33,373 hits. I suspect that this number does not indicate how many books actually have real-time in the title, but rather how many have an index term of real-time. Still, it is absurd to think that so many books actually have some connection to realtime.

REALTIME CATS?

Near realtime, soft, firm, and hard realtime, and not realtime are all widely used terms that refer to the relative importance attached to the satisfaction of deadlines. But if you use the notion of attaching a deadline to anything as meaning realtime, then what isn’t realtime? Can you think of any kind of task that doesn’t have some kind of deadline? Here is a deadline for everything: sometime before our sun burns out and all of humankind is extinct.

CIOs now talk about building the “realtime enterprise” and creating “realtime business intelligence” using data analytics. The former is really a business process strategy that incorporates software and business process tuning to increase the agility of the organization. The latter involves applying AI techniques on the fly, for example, to detect fraud in credit card transactions. These uses of the term can be forgiven, I suppose. But search the Food Network recipe database and you’ll get hits on “real-time cooking”; the Nascar site yields 36 hits on everything from “telematics” to an article about “what drives fans away.” I tried to think of an application domain where realtime seemed improbable, but even the International Society of Arboriculture Web site yielded a hit in the following context: “Since no one can wind back the clock, we have to live our realtime, it is unlikely that we will ‘cultivate’ a tree until it’s ‘old’…”

To see how ridiculous the misuse can be, just search on “real-time XYZ” where XYZ is your favorite subject. For example, “real-time lunch” yielded LunchOnline.ca, “a real-time solution to locating lunch specials at your favorite restaurant.” “Real-time cats” produced a story about an erstwhile inventor who was lynched at a cat show by enraged fans when his “real-time cat translator” painted an unflattering portrait of one of its feline subjects.

I still wonder why there is such an obsession with the term realtime. What is it about the term that imbues special properties on anything with which it is associated? I suppose having been a specialist in realtime systems for so many years, I should be flattered that everyone wants to jump on the realtime bandwagon. But as Doug Jensen says, “It isn’t your father’s realtime anymore.”

PHILLIP LAPLANTE is associate professor of software engineering at the Penn State Great Valley School of Graduate Studies. His vital statistics can be found at www.personal.psu.edu/pal11.

acmqueue

Originally published in Queue vol. 4, no. 1
Comment on this article in the ACM Digital Library





More related articles:

Ethan Miller, Achilles Benetopoulos, George Neville-Neil, Pankaj Mehra, Daniel Bittman - Pointers in Far Memory
Effectively exploiting emerging far-memory technology requires consideration of operating on richly connected data outside the context of the parent process. Operating-system technology in development offers help by exposing abstractions such as memory objects and globally invariant pointers that can be traversed by devices and newly instantiated compute. Such ideas will allow applications running on future heterogeneous distributed systems with disaggregated memory nodes to exploit near-memory processing for higher performance and to independently scale their memory and compute resources for lower cost.


Simson Garfinkel, Jon Stewart - Sharpening Your Tools
This article presents our experience updating the high-performance Digital forensics tool BE (bulk_extractor) a decade after its initial release. Between 2018 and 2022, we updated the program from C++98 to C++17. We also performed a complete code refactoring and adopted a unit test framework. DF tools must be frequently updated to keep up with changes in the ways they are used. A description of updates to the bulk_extractor tool serves as an example of what can and should be done.


Pat Helland - Autonomous Computing
Autonomous computing is a pattern for business work using collaborations to connect fiefdoms and their emissaries. This pattern, based on paper forms, has been used for centuries. Here, we explain fiefdoms, collaborations, and emissaries. We examine how emissaries work outside the autonomous boundary and are convenient while remaining an outsider. And we examine how work across different fiefdoms can be initiated, run for long periods of time, and eventually be completed.


Archie L. Cobbs - Persistence Programming
A few years ago, my team was working on a commercial Java development project for Enhanced 911 (E911) emergency call centers. We were frustrated by trying to meet the data-storage requirements of this project using the traditional model of Java over an SQL database. After some reflection about the particular requirements (and nonrequirements) of the project, we took a deep breath and decided to create our own custom persistence layer from scratch.





© ACM, Inc. All Rights Reserved.