Timeline: An Operating System Abstraction for
Time-Aware Applications
Fatima M. Anwar, Sandeep D’souza, Andrew Symington, Adwait Dongare,
Ragunathan (Raj) Rajkumar, Anthony Rowe, Mani B. Srivastava
2016 IEEE Real-Time Systems Symposium
28/Mar/2019 – CSL704: AOS R2 Presentation
Anurag Banerjee (2018CSM1007)
Introduction
Background
Research Problem
Concepts Introduced
Architecture
Implementation Notes
Evaluation Results
Conclusion
2/17
Introduction
 Synchronization in distributed systems needed for ordered behavior
 Measuring and synchronizing time over distributed networks quite
accurate these days
 Existing methods are system centric, application requirements often
ignored
3/17
Background
 Leslie Lamport introduced Logical Clocks in 1978, won Turing award in
2013
 Many present versions – Vector Clocks, etc.
 The aim is to bring order unto chaos – global ordering of events
 Existing protocols filter out errors in synchronization – uncertainty
 From programming perspective
 Time triggered architecture: use global time base
 Event triggered model: use mapping between real and model time
 E.g. Google Spanner, NTP, etc.
4/17
Research Problem
 Applications not aware of uncertainty
 Applications have limited benefit because:
 Time management services
 Hardware-OS interface
 OS-Application interface
 Resource wastefulness – attempt at synchronizing all at once
5/17
Concepts Introduced
 Quality-of-Time:
 Based on timing uncertainty
 Uses platform independent OS abstraction: Timeline
 Tells how OS and Time-aware applications should exchange info
 Instead of Master-Slave clock sync idea of NTP/PTP (at fixed rate)
 Use factored coordination
 Only those nodes sync that need to
 Nodes bind to a timeline by providing (accuracy, resolution) need
 Timeline maintained as a Red-Black Tree
 Bindings maintained as linked lists
6/17
7/17
QoT Architecture
 Consists of
 Clocks: Timekeeping Hardware
 Core Clocks: mandatory per node
 Network Interface Clocks
 System Services: user space processes for sync
 Data Distribution Service: collect timeline req. across all nodes and share
 Synchronous service: sync local with global
 System Uncertainty Estimation Service: update uncertainty stats for each time-stamp
 QoT Core: bridge between QoT architecture stack and OS
 Timeline Management: track timelines and their bindings
 Clock Management
 Event Scheduling: on global time notion
 QoT Propagation: expose uncertainty to app
8/17
9/17
Implementation Notes
 OpenSlice used for DDS
 Node with highest
accuracy req. – ref. time for
timeline.
 Can become master
 Sync Service
 Use the tree :-
10/17
11/17
Implementation - API
 API for programmers, functionalities include
 Timeline association – bind/unbind
 Time management – read timeline notion and uncertainty
 Event scheduling – use timeline based waits to schedule events
12/17
Evaluations Results13/17
Evaluation Results14/17
Evaluation Results15/17
Conclusion
 Ability to perform choreographed scheduling is a plus
 Introduced idea of QoT
 Applications now know about uncertainty and decide for themselves
 Multi-core environments not yet considered
 Accuracy attribute considered, resolution attribute for future
 Balance between performance and resource consumption
16/17
Thank You17/17

Timeline: An Operating System Abstraction for Time-Aware Applications

  • 1.
    Timeline: An OperatingSystem Abstraction for Time-Aware Applications Fatima M. Anwar, Sandeep D’souza, Andrew Symington, Adwait Dongare, Ragunathan (Raj) Rajkumar, Anthony Rowe, Mani B. Srivastava 2016 IEEE Real-Time Systems Symposium 28/Mar/2019 – CSL704: AOS R2 Presentation Anurag Banerjee (2018CSM1007)
  • 2.
  • 3.
    Introduction  Synchronization indistributed systems needed for ordered behavior  Measuring and synchronizing time over distributed networks quite accurate these days  Existing methods are system centric, application requirements often ignored 3/17
  • 4.
    Background  Leslie Lamportintroduced Logical Clocks in 1978, won Turing award in 2013  Many present versions – Vector Clocks, etc.  The aim is to bring order unto chaos – global ordering of events  Existing protocols filter out errors in synchronization – uncertainty  From programming perspective  Time triggered architecture: use global time base  Event triggered model: use mapping between real and model time  E.g. Google Spanner, NTP, etc. 4/17
  • 5.
    Research Problem  Applicationsnot aware of uncertainty  Applications have limited benefit because:  Time management services  Hardware-OS interface  OS-Application interface  Resource wastefulness – attempt at synchronizing all at once 5/17
  • 6.
    Concepts Introduced  Quality-of-Time: Based on timing uncertainty  Uses platform independent OS abstraction: Timeline  Tells how OS and Time-aware applications should exchange info  Instead of Master-Slave clock sync idea of NTP/PTP (at fixed rate)  Use factored coordination  Only those nodes sync that need to  Nodes bind to a timeline by providing (accuracy, resolution) need  Timeline maintained as a Red-Black Tree  Bindings maintained as linked lists 6/17
  • 7.
  • 8.
    QoT Architecture  Consistsof  Clocks: Timekeeping Hardware  Core Clocks: mandatory per node  Network Interface Clocks  System Services: user space processes for sync  Data Distribution Service: collect timeline req. across all nodes and share  Synchronous service: sync local with global  System Uncertainty Estimation Service: update uncertainty stats for each time-stamp  QoT Core: bridge between QoT architecture stack and OS  Timeline Management: track timelines and their bindings  Clock Management  Event Scheduling: on global time notion  QoT Propagation: expose uncertainty to app 8/17
  • 9.
  • 10.
    Implementation Notes  OpenSliceused for DDS  Node with highest accuracy req. – ref. time for timeline.  Can become master  Sync Service  Use the tree :- 10/17
  • 11.
  • 12.
    Implementation - API API for programmers, functionalities include  Timeline association – bind/unbind  Time management – read timeline notion and uncertainty  Event scheduling – use timeline based waits to schedule events 12/17
  • 13.
  • 14.
  • 15.
  • 16.
    Conclusion  Ability toperform choreographed scheduling is a plus  Introduced idea of QoT  Applications now know about uncertainty and decide for themselves  Multi-core environments not yet considered  Accuracy attribute considered, resolution attribute for future  Balance between performance and resource consumption 16/17
  • 17.

Editor's Notes

  • #3 Structure of this presentation
  • #5 Applications do not get to know about uncertainty
  • #7 Network Time Protocol Precision Time Protocol Fact coord - subgraphs
  • #9 Core: strict monotonic incr, local reference NIC: discipline local based on global, may not monotonic, may not interrupt, has some I/O for timestamping Clock mgmt.: choose between hw clocks for priviledge user
  • #12 Clocks: /dev/pptX Timeline /dev/timelineX char dev
  • #13 Sample TDMA code – with guard bands – limits – if sync beyond these bounds, packet will collide
  • #14 First: upper/lower bound sync on As uncer incr – bounds diverge
  • #16 1st QoT – same characteristics as ground truth – measured empirical Scheduler latency kab task ko wake karna tha and kab hua 1st and 3rd have similar layout – indicating no overhead – same stat