Share
VIDEOS 1 TO 50
What is Real-Time Computing?  (Diet Coke + Menthos Analogy)
What is Real-Time Computing? (Diet Coke + Menthos Analogy)
Published: 2009/09/10
Channel: Jazon Samillano
Concepts of Real Time Systems
Concepts of Real Time Systems
Published: 2008/05/20
Channel: Fabián Romo
What is REAL-TIME COMPUTING? What does REAL-TIME COMPUTING mean? REAL-TIME COMPUTING meaning
What is REAL-TIME COMPUTING? What does REAL-TIME COMPUTING mean? REAL-TIME COMPUTING meaning
Published: 2017/03/05
Channel: The Audiopedia
Concepts of Real Time Systems
Concepts of Real Time Systems
Published: 2009/02/17
Channel: Microchip Technology
Understanding a Real-Time System by Steven Rostedt
Understanding a Real-Time System by Steven Rostedt
Published: 2016/06/03
Channel: Linux Foundation Events
You Only Look Once: Unified, Real-Time Object Detection
You Only Look Once: Unified, Real-Time Object Detection
Published: 2016/09/02
Channel: ComputerVisionFoundation Videos
Video 6 :-Types of OS  Real Time Operating System
Video 6 :-Types of OS Real Time Operating System
Published: 2016/07/15
Channel: GATE Lectures Computer Forum NCR
Introduction to Real Time System # Lecture-1
Introduction to Real Time System # Lecture-1
Published: 2016/05/15
Channel: HowTo
Introduction to Real-Time Embedded Systems
Introduction to Real-Time Embedded Systems
Published: 2015/12/01
Channel: AR-Embedded
Batch vs Real time Processing
Batch vs Real time Processing
Published: 2016/07/21
Channel: Christopher Kalodikis
Hard Real Time Computing Systems Predictable Scheduling Algorithms and Applications Real Time System
Hard Real Time Computing Systems Predictable Scheduling Algorithms and Applications Real Time System
Published: 2017/03/24
Channel: ratyt haki
Kernel Recipes 2016 - Who needs a Real-Time Operating System (Not You!) - Steven Rostedt
Kernel Recipes 2016 - Who needs a Real-Time Operating System (Not You!) - Steven Rostedt
Published: 2016/10/07
Channel: hupstream
Real-Real Time Computing with SAP HANA is Here!
Real-Real Time Computing with SAP HANA is Here!
Published: 2011/09/21
Channel: SAPMENA
Real-time event detection for video surveillance applications
Real-time event detection for video surveillance applications
Published: 2016/06/21
Channel: Vicomtech-IK4
Real-Time Computing: The New Digital Reality
Real-Time Computing: The New Digital Reality
Published: 2015/03/17
Channel: SAP D-A-CH
Face2Face: Real-time Face Capture and Reenactment of RGB Videos (CVPR 2016 Oral)
Face2Face: Real-time Face Capture and Reenactment of RGB Videos (CVPR 2016 Oral)
Published: 2016/03/17
Channel: Matthias Niessner
Hard Real Time Computing Systems Predictable Scheduling Algorithms and Applications Real Time System
Hard Real Time Computing Systems Predictable Scheduling Algorithms and Applications Real Time System
Published: 2017/06/01
Channel: Noah Jenkin
Introduction to Real-Time Systems | IEEEx on edX | Course About Video
Introduction to Real-Time Systems | IEEEx on edX | Course About Video
Published: 2015/11/06
Channel: edX
Self-Driving Cars & Smart Cities: Advancing Real-Time Virtualization, Cloud Computing
Self-Driving Cars & Smart Cities: Advancing Real-Time Virtualization, Cloud Computing
Published: 2016/10/17
Channel: Innovations
Real-Time Physically Based Rendering: A quick explanation
Real-Time Physically Based Rendering: A quick explanation
Published: 2017/03/05
Channel: cubetutorials
Guaranteeing the real-time performance of in-vehicle networks
Guaranteeing the real-time performance of in-vehicle networks
Published: 2015/06/11
Channel: Department of Computer Science, University of York
Hard Real Time Computing Systems Predictable Scheduling Algorithms and Applications Real Time System
Hard Real Time Computing Systems Predictable Scheduling Algorithms and Applications Real Time System
Published: 2017/01/24
Channel: charles
Real time 3D Live - iClone 5.5 SPECIAL
Real time 3D Live - iClone 5.5 SPECIAL
Published: 2013/08/08
Channel: Reallusion
Real-Time Bluetooth Networks - Shape the World | UTAustinX on edX | Course About Video
Real-Time Bluetooth Networks - Shape the World | UTAustinX on edX | Course About Video
Published: 2016/07/13
Channel: edX
Architectural patters for real-time systems
Architectural patters for real-time systems
Published: 2015/05/01
Channel: Ian Sommerville
Real-Time Simulation and Testing with Simulink Real-Time
Real-Time Simulation and Testing with Simulink Real-Time
Published: 2015/09/15
Channel: MATLAB
lec 38 - Real Time Operating Systems for Embedded Applications
lec 38 - Real Time Operating Systems for Embedded Applications
Published: 2012/02/11
Channel: Satish Kashyap
Milner Award Lecture 2015: Reactive, real-time and hybrid computer systems
Milner Award Lecture 2015: Reactive, real-time and hybrid computer systems
Published: 2015/12/04
Channel: The Royal Society
How GPU Computing is Revolutionizing Real-Time Analytics
How GPU Computing is Revolutionizing Real-Time Analytics
Published: 2017/02/15
Channel: Kinetica
Hard Real Time Computing Systems Predictable Scheduling Algorithms and Applications Real Time System
Hard Real Time Computing Systems Predictable Scheduling Algorithms and Applications Real Time System
Published: 2017/06/05
Channel: indrie putrie
Apache Ignite: Real Time Processing of IoT Generated Streaming Data
Apache Ignite: Real Time Processing of IoT Generated Streaming Data
Published: 2017/05/10
Channel: GridGain Systems
The world
The world's smallest automotive real-time operating system
Published: 2015/06/12
Channel: Department of Computer Science, University of York
Real-Real Time Computing is Here -  SAP Business Objects
Real-Real Time Computing is Here - SAP Business Objects
Published: 2010/09/14
Channel: quintecar
Building Realtime Data Pipelines with Kafka Connect and Spark Streaming
Building Realtime Data Pipelines with Kafka Connect and Spark Streaming
Published: 2016/02/22
Channel: Spark Summit
Demonstration of Real Time Computer Vision Algorithms on FPGA platform
Demonstration of Real Time Computer Vision Algorithms on FPGA platform
Published: 2014/08/07
Channel: Christos Kyrkou
Real-Time Fiber-Level Cloth Rendering | Two Minute Papers #132
Real-Time Fiber-Level Cloth Rendering | Two Minute Papers #132
Published: 2017/03/01
Channel: Two Minute Papers
Real-Time Big Data Analytics with Storm
Real-Time Big Data Analytics with Storm
Published: 2013/10/12
Channel: Aerospike
Real-Time System Computing Engines
Real-Time System Computing Engines
Published: 2017/06/14
Channel: Hakka Labs
Real-time processing of MATLAB distributed computing results
Real-time processing of MATLAB distributed computing results
Published: 2016/02/12
Channel: TechilaTech
Mod-01 Lec-13 Resource Sharing Among Real-Time Tasks
Mod-01 Lec-13 Resource Sharing Among Real-Time Tasks
Published: 2011/09/15
Channel: nptelhrd
Using R in real time financial market trading
Using R in real time financial market trading
Published: 2015/05/28
Channel: Autochartist
In-Depth: Getting Started with Realtime Landscaping
In-Depth: Getting Started with Realtime Landscaping
Published: 2016/04/29
Channel: Realtime Landscaping®
OpenCV Tutorial: Real-Time Object Tracking Without Colour
OpenCV Tutorial: Real-Time Object Tracking Without Colour
Published: 2014/01/28
Channel: Kyle Hounslow
Reasons for Using an RTOS, Real Time Operating System, with an MCU
Reasons for Using an RTOS, Real Time Operating System, with an MCU
Published: 2014/05/02
Channel: Future Electronics
Face2Face: Real-Time Facial Reenactment | Two Minute Papers #63
Face2Face: Real-Time Facial Reenactment | Two Minute Papers #63
Published: 2016/05/04
Channel: Two Minute Papers
Introduction to Real Time Operating Systems
Introduction to Real Time Operating Systems
Published: 2015/06/30
Channel: Balamurugan MS
What is real-time control?
What is real-time control?
Published: 2011/11/16
Channel: Texas Instruments
Real Time Programming in Linux - Controlling a stepper connected to the Raspberry Pi
Real Time Programming in Linux - Controlling a stepper connected to the Raspberry Pi
Published: 2013/12/17
Channel: ehliar
Issues and Experiences in Designing Real-time Collaborative Editing Systems
Issues and Experiences in Designing Real-time Collaborative Editing Systems
Published: 2008/11/18
Channel: GoogleTechTalks
Thomson Reuters Product Insight: Real Time Analytics with Kinesis, Lambda and S3
Thomson Reuters Product Insight: Real Time Analytics with Kinesis, Lambda and S3
Published: 2017/05/25
Channel: Amazon Web Services
NEXT
GO TO RESULTS [51 .. 100]

WIKIPEDIA ARTICLE

From Wikipedia, the free encyclopedia
Jump to: navigation, search

In computer science, real-time computing (RTC), or reactive computing describes 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 correctness of these types of systems depends on their temporal aspects as well as their functional aspects. 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 actual or expected response times may be given.

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 also used in simulation to mean that the simulation's clock runs at the same speed as a real clock, and 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, and real-time networks, each of which provide essential frameworks on which to build a real-time software application.

Systems used for many mission critical applications must be real-time, such as for control of fly-by-wire aircraft, or anti-lock brakes on a vehicle, which must produce maximum deceleration but intermittently stop braking to prevent skidding.[4] Real-time processing fails if not completed within a specified deadline relative to an event; deadlines must always be met, regardless of system load.

History[edit]

The term real-time derives from its use in early simulation, in which a real-world process is simulated at a rate that 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 CAT scanners, increased the need for low-latency priority-driven responses to important interactions with incoming data and so operating systems such as Data General's RDOS (Real-Time Disk Operatings 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.

Once when the MOS Technology 6502 (used in the Commodore 64 and Apple II), and later when the Motorola 68000 (used in the Macintosh, Atari ST, and Commodore Amiga) were popular, anybody could use their home computer as a real-time system. The possibility to deactivate 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 surpassing 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. The Motorola 68000 and subsequent family members (68010, 68020 etc.) also became popular with manufacturers of industrial control systems. This application area is one in which real-time control offers genuine advantages in terms of process performance and safety.[citation needed]

Criteria for real-time computing[edit]

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:

  • 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). For example, a car engine control system is a hard real-time system because a delayed signal may cause engine failure or damage. Other examples of hard real-time embedded systems include medical systems such as heart pacemakers and industrial process controllers. 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.

In the context of multitasking systems the scheduling policy is normally priority driven (pre-emptive schedulers). Other scheduling algorithms include earliest deadline first, which, ignoring the overhead of context switching, is sufficient for system loads of less than 100%.[6] 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.

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. An example can be 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; violation of constraints results in degraded quality, but the system can continue to operate and also recover in the future using workload prediction and reconfiguration methodologies.[7]

Real-time in digital signal processing[edit]

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.[8] It means that the processing delay must be bounded even if the processing continues for an unlimited time. That means that 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 analog 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 and 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 farther and farther behind the input is not real-time. But if the delay of the output (relative to the input) is bounded regarding a process that operates over an unlimited time, then that signal processing algorithm is real-time, even if the throughput delay may be very long.

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.[9]

Real-time and high-performance[edit]

Real-time computing is sometimes misunderstood to be high-performance computing, but this is not an accurate classification.[10] 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. 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. Therefore, the most important requirement of a real-time system is predictability and not performance.

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, while real-time is the ability to get done with the processing to yield a useful output in the available time.

Near real-time[edit]

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.[11]

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.[11] 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 that they can sync/share common data in "near real-time" with each other.

The distinction between "near real-time" and "real-time" varies, and the delay is dependent on the type and speed of the transmission. The delay in near real-time is typically of the order of several seconds to several minutes.[citation needed]

Design methods[edit]

Several methods exist to aid the design of real-time systems, an example of which is MASCOT, an old but very successful method which represents the concurrent structure of the system. Other examples are HOOD, Real-Time UML, AADL, the Ravenscar profile, and Real-Time Java.

See also[edit]

References[edit]

  1. ^ std::ctime
  2. ^ Ben-Ari, M., "Principles of Concurrent and Distributed Programming", Prentice Hall, 1990. ISBN 0-13-711821-X. Ch16, Page 164
  3. ^ Martin, James (1965). Programming Real-time Computer Systems. Englewood Cliffs, NJ: Prentice-Hall Inc. p. 4. ISBN 0-13-730507-9. 
  4. ^ Krishna Kant (May 2010). Computer-Based Industrial Control. books.google.com. PHI Learning. p. 356. Retrieved 2015-01-17. 
  5. ^ Shin, K.G.; Ramanathan, P. (Jan 1994). "Real-time computing: a new discipline of computer science and engineering". Proceedings of the IEEE. IEEE. 82 (1): 6–24. ISSN 0018-9219. doi:10.1109/5.259423. 
  6. ^ C. Liu and J. Layland. Scheduling Algorithms for Multiprogramming in a Hard Real-time Environment. Journal of the ACM, 20(1):46--61, Jan. 1973. http://citeseer.ist.psu.edu/liu73scheduling.html
  7. ^ "Real-time reconfiguration for guaranteeing QoS provisioning levels in Grid environments". Future Generation Computer Systems. Elsevier. 25 (7): 779–784. July 2009. doi:10.1016/j.future.2008.11.001. 
  8. ^ S.M. Kuo, B.H. Lee, and W. Tian, "Real-Time Digital Signal Processing: Implementations and Applications", Wiley, 2006. ISBN 0-470-01495-4. Section 1.3.4: Real-Time Constraints.
  9. ^ Sara Kudrle; et al. (July 2011). "Fingerprinting for Solving A/V Synchronization Issues within Broadcast Environments". Motion Imaging Journal. SMPTE. 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 
  10. ^ John Stankovic (1988), "Misconceptions about real-time computing: a serious problem for next-generation systems", Computer, IEEE Computer Society, 21 (10), p. 11, doi:10.1109/2.7053 
  11. ^ a b "Federal Standard 1037C: Glossary of Telecommunications Terms". Its.bldrdoc.gov. Retrieved 2014-04-26. 

Further reading[edit]

  • Alan Burns and Andy Wellings (2009), Real-Time Systems and Programming Languages (4th ed.), Addison-Wesley, ISBN 978-0-321-41745-9 
  • Buttazzo, Giorgio (2011), Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications, New York, NY: Springer .
  • Liu, Jane W.S. (2000), Real-time systems, Upper Saddle River, NJ: Prentice Hall .

External links[edit]

Disclaimer

None of the audio/visual content is hosted on this site. All media is embedded from other sites such as GoogleVideo, Wikipedia, YouTube etc. Therefore, this site has no control over the copyright issues of the streaming media.

All issues concerning copyright violations should be aimed at the sites hosting the material. This site does not host any of the streaming media and the owner has not uploaded any of the material to the video hosting servers. Anyone can find the same content on Google Video or YouTube by themselves.

The owner of this site cannot know which documentaries are in public domain, which has been uploaded to e.g. YouTube by the owner and which has been uploaded without permission. The copyright owner must contact the source if he wants his material off the Internet completely.

Powered by YouTube
Wikipedia content is licensed under the GFDL and (CC) license