Real-time computing (RTC) is the computer science term for hardware and software systems subject to a "real-time constraint", for example from event to system response.[1] Real-time programs must guarantee response within specified time constraints, often referred to as "deadlines".[2]
The term "real-time" is also used in simulation to mean that the simulation's clock runs at the same speed as a real clock.
Real-time responses are often understood to be in the order of milliseconds, and sometimes microseconds. A system not specified as operating in real time cannot usually guarantee a response within any timeframe, although typical or expected response times may be given. Real-time processing fails if not completed within a specified deadline relative to an event; deadlines must always be met, regardless of system load.
A real-time system has been described as one which "controls an environment by receiving data, processing them, and returning the results sufficiently quickly to affect the environment at that time".[3] The term "real-time" is used in process control and enterprise systems to mean "without significant delay".
Real-time software may use one or more of the following: synchronous programming languages, real-time operating systems (RTOSes), and real-time networks. Each of these provide essential frameworks on which to build a real-time software application.
Systems used for many safety-critical applications must be real-time, such as for control of fly-by-wire aircraft, or anti-lock brakes, both of which demand immediate and accurate mechanical response.[4]
History
The term real-time derives from its use in early simulation, where a real-world process is simulated at a rate which matched that of the real process (now called real-time simulation to avoid ambiguity). Analog computers, most often, were capable of simulating at a much faster pace than real-time, a situation that could be just as dangerous as a slow simulation if it were not also recognized and accounted for.
Minicomputers, particularly in the 1970s onwards, when built into dedicated embedded systems such as DOG (Digital on-screen graphic) scanners, increased the need for low-latency priority-driven responses to important interactions with incoming data. Operating systems such as Data General's RDOS (Real-Time Disk Operating System) and RTOS with background and foreground scheduling as well as Digital Equipment Corporation's RT-11 date from this era. Background-foreground scheduling allowed low priority tasks CPU time when no foreground task needed to execute, and gave absolute priority within the foreground to threads/tasks with the highest priority. Real-time operating systems would also be used for time-sharing multiuser duties. For example, Data General Business Basic could run in the foreground or background of RDOS and would introduce additional elements to the scheduling algorithm to make it more appropriate for people interacting via dumb terminals.
Early personal computers were sometimes used for real-time computing. The possibility of deactivating other interrupts allowed for hard-coded loops with defined timing, and the low interrupt latency allowed the implementation of a real-time operating system, giving the user interface and the disk drives lower priority than the real-time thread. Compared to these the programmable interrupt controller of the Intel CPUs (8086..80586) generates a very large latency and the Windows operating system is neither a real-time operating system nor does it allow a program to take over the CPU completely and use its own scheduler, without using native machine language and thus bypassing all interrupting Windows code. However, several coding libraries exist which offer real time capabilities in a high level language on a variety of operating systems, for example Java Real Time. Later microprocessors such as the Motorola 68000 and subsequent family members (68010, 68020, ColdFire etc.) also became popular with manufacturers of industrial control systems. This application area is one where real-time control offers genuine advantages in terms of process performance and safety.[citation needed]
Criteria for real-time computing
A system is said to be real-time if the total correctness of an operation depends not only upon its logical correctness, but also upon the time in which it is performed.[5] Real-time systems, as well as their deadlines, are classified by the consequence of missing a deadline:[6]
Hard – missing a deadline is a total system failure.
Firm – infrequent deadline misses are tolerable, but may degrade the system's quality of service. The usefulness of a result is zero after its deadline.
Soft – the usefulness of a result degrades after its deadline, thereby degrading the system's quality of service.
Thus, the goal of a hard real-time system is to ensure that all deadlines are met, but for soft real-time systems the goal becomes meeting a certain subset of deadlines in order to optimize some application-specific criteria. The particular criteria optimized depend on the application, but some typical examples include maximizing the number of deadlines met, minimizing the lateness of tasks and maximizing the number of high priority tasks meeting their deadlines.
Hard real-time systems are used when it is imperative that an event be reacted to within a strict deadline. Such strong guarantees are required of systems for which not reacting in a certain interval of time would cause great loss in some manner, especially damaging the surroundings physically or threatening human lives (although the strict definition is simply that missing the deadline constitutes failure of the system). Some examples of hard real-time systems:
A carengine control system is a hard real-time system because a delayed signal may cause engine failure or damage.
Medical systems such as heart pacemakers. Even though a pacemaker's task is simple, because of the potential risk to human life, medical systems like these are typically required to undergo thorough testing and certification, which in turn requires hard real-time computing in order to offer provable guarantees that a failure is unlikely or impossible.
Industrial process controllers, such as a machine on an assembly line. If the machine is delayed, the item on the assembly line could pass beyond the reach of the machine (leaving the product untouched), or the machine or the product could be damaged by activating the robot at the wrong time. If the failure is detected, both cases would lead to the assembly line stopping, which slows production. If the failure is not detected, a product with a defect could make it through production, or could cause damage in later steps of production.
Hard real-time systems are typically found interacting at a low level with physical hardware, in embedded systems. Early video game systems such as the Atari 2600 and Cinematronics vector graphics had hard real-time requirements because of the nature of the graphics and timing hardware.
Softmodems replace a hardware modem with software running on a computer's CPU. The software must run every few milliseconds to generate the next audio data to be output. If that data is late, the receiving modem will lose synchronization, causing a long interruption as synchronization is reestablished or causing the connection to be lost entirely.
Many types of printers have hard real-time requirements, such as inkjets (the ink must be deposited at the correct time as the printhead crosses the page), laser printers (the laser must be activated at the right time as the beam scans across the rotating drum), and dot matrix and various types of line printers (the impact mechanism must be activated at the right time as the print mechanism comes into alignment with the desired output). A failure in any of these would cause either missing output or misaligned output.
In the context of multitasking systems the scheduling policy is normally priority driven (pre-emptive schedulers). In some situations, these can guarantee hard real-time performance (for instance if the set of tasks and their priorities is known in advance). There are other hard real-time schedulers such as rate-monotonic which is not common in general-purpose systems, as it requires additional information in order to schedule a task: namely a bound or worst-case estimate for how long the task must execute. Specific algorithms for scheduling such hard real-time tasks exist, like earliest deadline first, which, ignoring the overhead of context switching, is sufficient for system loads of less than 100%.[7] New overlay scheduling systems, such as an adaptive partition scheduler assist in managing large systems with a mixture of hard real-time and non real-time applications.
Firm real-time systems are more nebulously defined, and some classifications do not include them, distinguishing only hard and soft real-time systems. Some examples of firm real-time systems:
The assembly line machine described earlier as hard real-time could instead be considered firm real-time. A missed deadline still causes an error which needs to be dealt with: there might be machinery to mark a part as bad or eject it from the assembly line, or the assembly line could be stopped so an operator can correct the problem. However, as long as these errors are infrequent, they may be tolerated.
Soft real-time systems are typically used to solve issues of concurrent access and the need to keep a number of connected systems up-to-date through changing situations. Some examples of soft real-time systems:
Software that maintains and updates the flight plans for commercial airliners. The flight plans must be kept reasonably current, but they can operate with the latency of a few seconds.
Live audio-video systems are also usually soft real-time. A frame of audio which is played late may cause a brief audio glitch (and may cause all subsequent audio to be delayed correspondingly, causing a perception that the audio is being played slower than normal), but this may be better than the alternatives of continuing to play silence, static, a previous audio frame, or estimated data. A frame of video that is delayed typically causes even less disruption for viewers. The system can continue to operate and also recover in the future using workload prediction and reconfiguration methodologies.[8]
Similarly, video games are often soft real-time, particularly as they try to meet a target frame rate. As the next image cannot be computed in advance, since it depends on inputs from the player, only a short time is available to perform all the computing needed to generate a frame of video before that frame must be displayed. If the deadline is missed, the game can continue at a lower frame rate; depending on the game, this may only affect its graphics (while the gameplay continues at normal speed), or the gameplay itself may be slowed down (which was common on older third- and fourth-generation consoles).
Real-time in digital signal processing
In a real-time digital signal processing (DSP) process, the analyzed (input) and generated (output) samples can be processed (or generated) continuously in the time it takes to input and output the same set of samples independent of the processing delay.[9] It means that the processing delay must be bounded even if the processing continues for an unlimited time. The mean processing time per sample, including overhead, is no greater than the sampling period, which is the reciprocal of the sampling rate. This is the criterion whether the samples are grouped together in large segments and processed as blocks or are processed individually and whether there are long, short, or non-existent input and output buffers.
Consider an audio DSP example; if a process requires 2.01 seconds to analyze, synthesize, or process 2.00 seconds of sound, it is not real-time. However, if it takes 1.99 seconds, it is or can be made into a real-time DSP process.
A common life analogy is standing in a line or queue waiting for the checkout in a grocery store. If the line asymptotically grows longer and longer without bound, the checkout process is not real-time. If the length of the line is bounded, customers are being "processed" and output as rapidly, on average, as they are being inputted then that process is real-time. The grocer might go out of business or must at least lose business if they cannot make their checkout process real-time; thus, it is fundamentally important that this process is real-time.
A signal processing algorithm that cannot keep up with the flow of input data with output falling further and further behind the input, is not real-time. If the delay of the output (relative to the input) is bounded regarding a process which operates over an unlimited time, then that signal processing algorithm is real-time, even if the throughput delay may be very long.
Live vs. real-time
Real-time signal processing is necessary, but not sufficient in and of itself, for live signal processing such as what is required in live event support. Live audio digital signal processing requires both real-time operation and a sufficient limit to throughput delay so as to be tolerable to performers using stage monitors or in-ear monitors and not noticeable as lip sync error by the audience also directly watching the performers. Tolerable limits to latency for live, real-time processing is a subject of investigation and debate, but is estimated to be between 6 and 20 milliseconds.[10]
Real-time bidirectional telecommunications delays of less than 300 ms ("round trip" or twice the unidirectional delay) are considered "acceptable" to avoid undesired "talk-over" in conversation.
Real-time and high-performance
Real-time computing is sometimes misunderstood to be high-performance computing, but this is not an accurate classification.[11] For example, a massive supercomputer executing a scientific simulation may offer impressive performance, yet it is not executing a real-time computation. Conversely, once the hardware and software for an anti-lock braking system have been designed to meet its required deadlines, no further performance gains are obligatory or even useful. Furthermore, if a network server is highly loaded with network traffic, its response time may be slower, but will (in most cases) still succeed before it times out (hits its deadline). Hence, such a network server would not be considered a real-time system: temporal failures (delays, time-outs, etc.) are typically small and compartmentalized (limited in effect), but are not catastrophic failures. In a real-time system, such as the FTSE 100 Index, a slow-down beyond limits would often be considered catastrophic in its application context. The most important requirement of a real-time system is consistent output, not high throughput.
Some kinds of software, such as many chess-playing programs, can fall into either category. For instance, a chess program designed to play in a tournament with a clock will need to decide on a move before a certain deadline or lose the game, and is therefore a real-time computation, but a chess program that is allowed to run indefinitely before moving is not. In both of these cases, however, high performance is desirable: the more work a tournament chess program can do in the allotted time, the better its moves will be, and the faster an unconstrained chess program runs, the sooner it will be able to move. This example also illustrates the essential difference between real-time computations and other computations: if the tournament chess program does not make a decision about its next move in its allotted time it loses the game—i.e., it fails as a real-time computation—while in the other scenario, meeting the deadline is assumed not to be necessary. High-performance is indicative of the amount of processing that is performed in a given amount of time, whereas real-time is the ability to get done with the processing to yield a useful output in the available time.
Near real-time
The term "near real-time" or "nearly real-time" (NRT), in telecommunications and computing, refers to the time delay introduced, by automated data processing or network transmission, between the occurrence of an event and the use of the processed data, such as for display or feedback and control purposes. For example, a near-real-time display depicts an event or situation as it existed at the current time minus the processing time, as nearly the time of the live event.[12]
The distinction between the terms "near real time" and "real time" is somewhat nebulous and must be defined for the situation at hand. The term implies that there are no significant delays.[12] In many cases, processing described as "real-time" would be more accurately described as "near real-time".
Near real-time also refers to delayed real-time transmission of voice and video. It allows playing video images, in approximately real-time, without having to wait for an entire large video file to download. Incompatible databases can export/import to common flat files that the other database can import/export on a scheduled basis so they can sync/share common data in "near real-time" with each other.
Design methods
Several methods exist to aid the design of real-time systems, an example of which is MASCOT, an old but very successful method that represents the concurrent structure of the system. Other examples are HOOD, Real-Time UML, AADL, the Ravenscar profile, and Real-Time Java.
^Liu, Chang L.; and Layland, James W.; "Scheduling Algorithms for Multiprogramming in a Hard Real-time Environment", Journal of the ACM, 20(1):46-61, January 1973, http://citeseer.ist.psu.edu/liu73scheduling.html
^Kudrle, Sara; Proulx, Michel; Carrieres, Pascal; Lopez, Marco; et al. (July 2011). "Fingerprinting for Solving A/V Synchronization Issues within Broadcast Environments". SMPTE Motion Imaging Journal. 120 (5): 36–46. doi:10.5594/j18059XY. Appropriate A/V sync limits have been established and the range that is considered acceptable for film is +/- 22 ms. The range for video, according to the ATSC, is up to 15 ms lead time and about 45 ms lag time
^Stankovic, John (1988), "Misconceptions about real-time computing: a serious problem for next-generation systems", Computer, vol. 21, no. 10, IEEE Computer Society, p. 11, doi:10.1109/2.7053, S2CID13884580
Coyle, R. J.; Stewart, J. K. (September 1963). "Design of a Real-time Programming System". Computers and Automation. XII (9). Silver Spring, Maryland: Datatrol Corporation: 26–34. [...] set of notes which will hopefully point up problem areas which should be considered in real time design.
Tumbuhan akuatik Tumbuhan air juga disebut hidrofit adalah tumbuhan yang telah menyesuaikan diri untuk hidup pada lingkungan perairan, baik terbenam sebagian atau seluruh tubuhnya. Tumbuhan air tergantung hidupnya pada air, tidak sekadar tanah yang becek dan kadang-kadang kering, meskipun istilah hidrofit dipakai juga untuk tumbuhan yang dapat beradaptasi dengan kondisi becek, namun sehari-hari tumbuh pada kondisi tanah dengan kandungan air normal. Tumbuhan air biasanya disematkan pada tumbuh...
Cantón de Sainte-Rose Cantón Situación del cantón de Sainte-Rose Coordenadas 21°00′11″S 55°37′13″E / -21.00305, 55.62015Capital Sainte-RoseEntidad Cantón • País Francia • Región La Reunión • Departamento La Reunión • Distrito Saint-BenoîtConsejero general Bruno Mamindy-Pajany (2001-2015)Subdivisiones Comunas 1Superficie • Total 177.60 km²Población (2013) • Total 6782 hab. • Den...
Campeonato MundialPiscina Curta 2016 Nado crawl/livre 50 m masc fem 100 m masc fem 200 m masc fem 400 m masc fem 800 m fem 1500 m masc Nado costas 50 m masc fem 100 m masc fem 200 m masc fem Nado bruços/peito 50 m masc fem 100 m masc fem 200 m masc fem Nado mariposa/borboleta 50 m masc fem 100 m masc fem 200 m masc fem Estilos/medley 100 m masc fem 200 m masc fem 400 m masc fem Revezamento/livre 4x50 m masc fem 4x100 m masc fem 4x200 m masc fem Revezamento/medley 4x50 m masc fem 4x100 m masc...
As referências deste artigo necessitam de formatação. Por favor, utilize fontes apropriadas contendo título, autor e data para que o verbete permaneça verificável. (Julho de 2022) Esta página cita fontes, mas que não cobrem todo o conteúdo. Ajude a inserir referências. Conteúdo não verificável pode ser removido.—Encontre fontes: ABW • CAPES • Google (N • L • A) (Julho de 2022) Taça Estado do Amazonas 1º Turno do ...
1921 American silent drama film The Sign on the DoorFilm still with Cody and TalmadgeDirected byHerbert BrenonWritten byHerbert BrenonMary MurilloBased onThe Sign on the Doorby Channing PollockProduced byNorma TalmadgeStarringNorma TalmadgeCinematographyJ. Roy HuntDistributed byAssociated First National PicturesRelease date May 1921 (1921-05) Running time84 minsutesCountryUnited StatesLanguageSilent (English intertitles) The Sign on the Door is a 1921 American silent drama...
Peta menunjukan lokasi Banaybanay Banaybanay adalah munisipalitas yang terletak di provinsi Davao Oriental, Filipina. Pada tahun 2010, munisipalitas ini memiliki populasi sebesar 39.126 jiwa atau 8.156 rumah tangga. Pembagian wilayah Secara administratif Banaybanay terbagi menjadi 14 barangay, yaitu: Cabangcalan Caganganan Calubihan Causwagan Punta Linao Mahayag Maputi Mogbongcogon Panikian vito Pintatagan Piso Proper Poblacion San Vicente Rang-ay Pranala luar Philippine Standard Geographic C...
Jamaican basketball player (born 1997) Nick RichardsRichards with Kentucky in 2019No. 4 – Charlotte HornetsPositionCenterLeagueNBAPersonal informationBorn (1997-11-29) November 29, 1997 (age 26)Kingston, JamaicaListed height7 ft 0 in (2.13 m)Listed weight245 lb (111 kg)Career informationHigh school St. Mary's(Manhasset, New York) The Patrick School(Hillside, New Jersey) CollegeKentucky (2017–2020)NBA draft2020: 2nd round, 42nd overall pickSelected by ...
Folklore of the Meitei people A scene from the Khamba Thoibi epic legends of ancient Moirang, a southern province of Ancient Manipur. Meitei folklore is the folklore and mythology of the Meitei people of Manipur, India. Such folklore is traditionally passed from generation to generation.[1] Currently, the government of Manipur is planning to preserve the folklore of the Meitei people through primary education in government institutions.[2] References ^ Caesar, Thounaojam; Sana...
Chronological inconsistency For the card strategy game, see Anachronism (game). Ancient Greek Orpheus with a violin (invented in the 16th century) rather than a lyre. A 17th-century painting by Cesare Gennari An anachronism (from the Greek ἀνά ana, 'against' and χρόνος khronos, 'time') is a chronological inconsistency in some arrangement, especially a juxtaposition of people, events, objects, language terms and customs from different time periods. The most common type of anachronism...
Larry Fitzgerald Datos personalesNombre completo Larry Darnell Fitzgerald, JrNacimiento Mineápolis, Minesota, Estados Unidos31 de agosto de 1983 (40 años)Nacionalidad(es) EstadounidenseAltura 1,91 m (6′ 3″)Peso 99 kg (218 lb)Carrera deportivaDeporte Fútbol americanoEquipo universitario PittsburghClub profesionalDraft de la NFL 1.ª ronda (puesto 3), 2004 por Arizona CardinalsClub Arizona CardinalsLiga NFLPosición Wide receiverDorsal(es) 11Trayectoria Arizona Cardin...
7th episode of the 1st season of Revenge CharadeRevenge episodeFrank (Max Martini) and Amanda (Margarita Levieva)Episode no.Season 1Episode 7Directed bySanford BookstaverWritten byMark B. Perry and Joe FazzioOriginal air dateNovember 2, 2011 (2011-11-02)Running time42 minutesGuest appearances CCH Pounder as Warden Stiles Margarita Levieva as Emily Thorne/Amanda Clarke Amber Valletta as Lydia Davis Max Martini as Frank Stevens Ashton Holmes as Tyler Barrol James Tupper as D...
Ice hockey team in Edmonton, AlbertaEdmonton ChimosCityEdmonton, AlbertaLeagueWestern Women's Hockey LeagueFounded1973 (1973)Folded2011 (2011)Home arenaRiver Cree Twin ArenasColoursRed, White and BlueGeneral managerDee BatemanHead coachJason Schmidt The Edmonton Chimos were a professional women's ice hockey team in the Western Women's Hockey League (WWHL). Founded in 1973, the team closed out its 38-year existence playing its home games at River Cree Twin Arenas in Edmonton, Ca...
Bahraini long-distance runner Abraham CherobenCheroben at the 2016 OlympicsPersonal informationNationalityBahrainiBorn (1992-10-11) 11 October 1992 (age 31)Height176 cm (5 ft 9 in)Weight60 kg (132 lb)SportSportAthleticsEvent10–25 kmAchievements and titlesPersonal best10,000 m – 27:11.08 (2017)[1] Medal record Men's athletics Representing Bahrain Asian Games 2018 Jakarta 10,000 m World Championships (HM) 2018 Valencia Individual 2018 Valencia Tea...
Meteor GardenPoster promosiGenreKomedi romantis Remaja, SekolahBerdasarkanMeteor Garden, Boys Over Flowers (花より男子code: ja is deprecated , Hana Yori Dango)]Ditulis olehSharon Mao[1]SutradaraLin Helong[2]PemeranShen YueDylan WangDarren ChenConnor LeongCaesar WuLagu pembukaUntukmu oleh Dylan Wang (王鹤棣), Darren Chen (官鸿), Connor Leong (梁靖康), Caesar Wu (吴希泽)Lagu penutupCinta Itu Ada (爱,存在) oleh Qiqi Wei (魏奇奇)Negara asalTiongkokBahasa as...
Italian politician (1928–2022) Ciriaco De MitaPrime Minister of ItalyIn office13 April 1988 – 23 July 1989PresidentFrancesco CossigaDeputyGianni De MichelisPreceded byGiovanni GoriaSucceeded byGiulio AndreottiMinister for Interventions in Southern ItalyIn office30 July 1976 – 21 March 1979Prime MinisterGiulio AndreottiPreceded byGiulio Andreotti (by delegation of functions)Succeeded byMichele Di GiesiMinister of Foreign TradeIn office23 November 1974 – 30 Ju...
American newspaper publisher Katharine GrahamGraham in 1975BornKatharine Meyer(1917-06-16)June 16, 1917New York City, New York, U.S.DiedJuly 17, 2001(2001-07-17) (aged 84)Boise, Idaho, U.S.Resting placeOak Hill CemeteryWashington, D.C., U.S.EducationVassar CollegeUniversity of Chicago (BA)OccupationNewspaper publisherSpouse Philip Graham (m. 1940; died 1963)Children4, including Lally and DonaldParent(s)Eugene MeyerAgnes E. MeyerFamilyFl...
هذه المقالة تحتاج للمزيد من الوصلات للمقالات الأخرى للمساعدة في ترابط مقالات الموسوعة. فضلًا ساعد في تحسين هذه المقالة بإضافة وصلات إلى المقالات المتعلقة بها الموجودة في النص الحالي. (أغسطس 2017) تشانكيا معلومات شخصية اسم الولادة (بالسنسكريتية: Kauṭilya or Vishnu Gupta)، و(با...
Schloss Rohrau Ostansicht Das Schloss Rohrau liegt in der Gemeinde Rohrau an der niederösterreichischen Grenze zum Burgenland. Das Gebäude birgt die Gemäldesammlung der Grafen von Harrach. Inhaltsverzeichnis 1 Mittelalterliche Burg und Herrschaft 2 Die Familie Harrach 3 Neubau 1599–1605 4 Graf Harrach’sche Familiensammlung 5 Literatur 6 Weblinks 7 Quellen Mittelalterliche Burg und Herrschaft Agnes von Poitou († 1077), die Witwe Kaiser Heinrichs III., gab Rohrau − zusammen mit ...