Title: Reinventing Computing for Real Time
1Reinventing Computing for Real Time
- Edward A. Lee and Yang Zhao
- University of California, Berkeley
- Presented By
- Sarthak Datt
- 11/20/2007
2Outline
- Introduction
- Current Issues
- Embedded Software
- Concept of Concurrency and Time
- Models of Computation
- Imperative Concurrency Models
- Declarative Concurrency Models
- Discrete-Event Runtime Framework
- Current Areas of Research
- Analysis of the Paper
- Conclusion
3Introduction
- Study of models of computation, software
techniques, and analytical models for distributed
timed systems. Also about computational systems
that are interconnected on a network. - Given time synchronization with some known
precision, how does this change how distributed
applications are designed and developed? - How can time synchronization help with realizing
coordinated real-time events. - The need for Reinventing Computing for Real Time
4Current issues
- Many of the advances in computing become part of
the problem, not part of the solution. - Computer architecture and software have made it
difficult or impossible to estimate or predict
the execution time of software - Programming languages lack time in their
semantics, timing requirements are only
specified indirectly - Operating systems rely on best effort techniques
- Present Software Techniques have time and
concurrency properties as afterthoughts. - And many more
5Embedded Software
- Writing embedded software in assemble code or C,
however they fail to specify timing requirements
or constraints. - Embedded software has to interact with hardware
that is specialized to the application - Time matters. However, in the 20th century
abstractions of computing, time is irrelevant. - Higher reliability standard than general purpose
software. - Software is often written without sufficient use
of various interlock mechanisms.
6- The Big Question
- What would it take to achieve concurrent
- and networked embedded software that was
- absolutely positively on time, to the
- resolution and reliability of digital logic?
- Unfortunately, everything would have to
- Change
7Concurrency and Time
- Delivering temporal semantics in software can be
challenging. - Time is about the ordering of events. However, in
embedded software time also has a metric!! - Concurrency in software is a challenging issue
because the basic software abstraction is not
concurrent. - Memory of the computer represents the current
state of the system, instructions transform that
state. - The state may change on its own at any time.
8An example..
- Embedded system uses two threads, one for each
sensor - y getSensorData() // From thread 1
- y getSensorData() // From thread 2
- x 0.9 x 0.1 y // From thread 1
- x 0.9 x 0.1 y // From thread 2
- print x // From thread 1
- print x // From thread 2
- Possible Solution (Atomicity)
- acquireLock() // Block until acquired
- y getSensorData() // Block for data
- x 0.9 x 0.1 y // Discount old value
- print x // Display the result
- releaseLock() // Release the lock
- Does this really works??
9Alternate Solutions( Ptolemy Project)
- Process Networks
- Model concurrency using Kahn process networks
model of computation - network of sequential processes
- processes do not share memory and communicate
asynchronously - Discrete Event
- General environment for time-oriented simulations
of systems such as queuing systems, communication
networks, and hardware systems - actors communicate by sending tokens across
connections
10Process Network vs. Discrete Event
Process Network
Discrete Event
11Models of Computation
- Imperative Concurrent Modelsexample TinyOS
- Declarative Concurrent Modelsexample Simulink,
SCADE, Lab VIEW
12nesC/TinyOS configuration
13Discrete-Event Runtime Framework
PTIDES ( Programming Temporally Integrated
Distributed Embedded Systems
14What needs to be done..
- Stankovic argues that the time dimension must be
elevated to a central principle of the system.
Time requirements and properties cannot be an
afterthought - Improvement on Concurrency models
- Component architecture
- Management of time-critical operations in ways
significantly different from prevailing software
engineering techniques - Actor-oriented design
15AlarmNet (Assisted-Living And Residential
Monitoring Network) -Â a wireless sensor network
for smart healthcare
- An architecture for smart healthcare that will
open up new opportunities for continuous
monitoring of assisted-living and
independent-living residents - integration with existing medical practices and
technology - miniature, wearable sensors
- assistance to the elderly and chronic patients
- Architecture is multi-tiered, with lightweight
sensors, mobile components, and more powerful
stationary devices. Sensors are heterogeneous,
and all integrate into the network
16A smart assisted-living space, instrumented with
sensors and devices .
17System architecture, showing roles of components
from front-end to back-end, and physical
associations among them.
18Beehive Distributed Real-Time Databases
- Global, object oriented real-time databases
- Emphasis on adding value along four dimensions
real-time, fault tolerance, security, and Quality
of Service - Used when transactions have deadlines and where
data is valid only for a period of time - Applications include Internet services, defense
applications, and smart spaces
19Croquet Project
- A free software platform and a network operating
system for developing and delivering deeply
collaborative multi-user online applications. - Principally been applied to three-D shared
immersion environments on the internet, similar
to the ones that might be used in interactive
networked gaming. - Features a network architecture that supports
communication, collaboration, resource sharing,
and synchronous computation among multiple users.
20Real-Time Specification for Java (RTSJ)
- Set of interfaces and behavioral specifications
that allow for real-time programming in the Java
programming language - Javolution
- Real-time library aiming to make Java
applications faster and more time predictable. - Algorithmic parallel computing support with
concurrent contexts. - Context programming in order to achieve true
separation of concerns. - Simple yet powerful configuration management for
applications.
21Analysis of the Paper
- Strengths
- Addresses the problem in a comprehensive manner
- Provides good examples to explain the concept and
providing solutions - Weakness
- Need to look outside Ptolemy Project and
- and if possible draw comparisons.
22Conclusion
- Most of these Technologies, use conventional
concurrency models . - Existing methods for addressing real-time
computation typically deal with a portion of the
problem of constructing and executing real-time
programs. - Reinventing Computing for Real Time is need.
-
- Real Systems for the Real World, in Real Time!!
23References
- Real Time and Embedded Computing Laboratory(
http//www.cs.virginia.edu/control/ ) - http//www.rtsj.org/
- http//www.cs.virginia.edu/wsn/medical/
- PTIDES Programming Temporally Integrated
Distributed Embedded Systems - Yang Zhao, Edward A. Lee, Jie Liu, October 2-4,
2006, 2006 IEEE 1588 Conference, Gaithersburg,
MD. - Computing for Embedded Systems
- State of the Art Lecture, Edward A. Lee, IEEE
Instrumentation and Measurement Technology
Conference, Budapest, Hungary, May 21-23, 2001.
24