“Time” in the NSI Protocol Two notions of “Time” are important to NSI Connection Service – Absolute time Globally Coordinated Time and Date, “UTC” time.

Slides:



Advertisements
Similar presentations
DISTRIBUTED COMPUTING PARADIGMS
Advertisements

Causal Delivery (Thomas) Matt Guinn CS523, Spring 2006.
Lecture 1: Logical, Physical & Casual Time (Part 2) Anish Arora CSE 763.
Lawrence Berkeley National LaboratoryU.S. Department of Energy | Office of Science Network Service Interface (NSI) Inder Monga Co-chair, Network Services.
Synchronization.
© 2006 Open Grid Forum Network Service Interface in a Nut Shell GEC 19, Atlanta, GA Presenter: Chin Guok (ESnet) Contributors: Tomohiro Kudoh (AIST), John.
More on protocol implementation Version walks Timers and their problems.
1 An Approach to Real-Time Support in Ad Hoc Wireless Networks Mark Gleeson Distributed Systems Group Dept.
Computer Science 425 Distributed Systems CS 425 / ECE 428  2013, I. Gupta, K. Nahrtstedt, S. Mitra, N. Vaidya, M. T. Harandi, J. Hou.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Time and Synchronization Steve Ko Computer Sciences and Engineering University at Buffalo.
Computer Systems/Operating Systems - Class 8
Chapter 19: Network Management Business Data Communications, 4e.
Asynchronous Consensus (Some Slides borrowed from ppt on Web.(by Ken Birman) )
Time Synchronization (RBS, Elson et al.) Presenter: Peter Sibley.
1 Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented By Jonathan.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
1 University of Freiburg Computer Networks and Telematics Prof. Christian Schindelhauer Wireless Sensor Networks 13th Lecture Christian Schindelhauer.
University Of Maryland1 A Study Of Cyclone Technology.
EEC-681/781 Distributed Computing Systems Lecture 10 Wenbing Zhao Cleveland State University.
1 Synchronization Part 1 REK’s adaptation of Claypool’s adaptation of Tanenbaum’s Distributed Systems Chapter 5.
Lecture 2-1 CS 425/ECE 428 Distributed Systems Lecture 2 Time & Synchronization Reading: Klara Nahrstedt.
1 Physical Clocks need for time in distributed systems physical clocks and their problems synchronizing physical clocks u coordinated universal time (UTC)
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Logical Time Steve Ko Computer Sciences and Engineering University at Buffalo.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 Performance Evaluation of Computer Networks: Part II Objectives r Simulation Modeling r Classification of Simulation Modeling r Discrete-Event Simulation.
Your Logo 1 TREATMENT OF TIME IN A FLIGHT SIMULATOR In a real-time simulator, the most important resource to manage is time itself. A flight simulator.
Event Driven Programming
- 1 - Embedded Systems - SDL Some general properties of languages 1. Synchronous vs. asynchronous languages Description of several processes in many languages.
Computer Science Lecture 10, page 1 CS677: Distributed OS Last Class: Naming Name distribution: use hierarchies DNS X.500 and LDAP.
Instructore: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Concurrent and.
DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes
Time and Coordination March 13, Time and Coordination What is time? :-)  Issue: How do you coordinate distributed computers if there is no global.
1 On Class-based Isolation of UDP, Short-lived and Long-lived TCP Flows by Selma Yilmaz Ibrahim Matta Computer Science Department Boston University.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
SIMULATION OF A SINGLE-SERVER QUEUEING SYSTEM
Time Management.  Time management is concerned with OS facilities and services which measure real time, and is essential to the operation of timesharing.
CSE 486/586 CSE 486/586 Distributed Systems Logical Time Steve Ko Computer Sciences and Engineering University at Buffalo.
Outline for Today Objectives: –Time and Timers Administrative details: –Talk on learning at 4 in 130 North Building –Questions?
Capabilities, Plans, and Events Each capability is further broken down either into further capabilities or, eventually into the set of plans that provide.
1 Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented By Oindrila.
Time This powerpoint presentation has been adapted from: 1) sApr20.ppt.
Lawrence Berkeley National LaboratoryU.S. Department of Energy | Office of Science On Time Inder Monga, ESnet.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Process-Concept.
Protocol Specification Prof Pallapa. Venkataram Department of Electrical Communication Engineering Indian Institute of Science Bangalore – , India.
Chapter 5 Input/Output 5.1 Principles of I/O hardware
Physical clock synchronization Question 1. Why is physical clock synchronization important? Question 2. With the price of atomic clocks or GPS coming down,
CCSDS SOIS Working Group Meeting – Berlin, Germany 14th of October 2008 Prototyping of CCSDS SOIS services on 1553 Bus Sev Gunes-Lasnet, Olivier Notebaert.
Feb 15, 2001CSCI {4,6}900: Ubiquitous Computing1 Announcements.
Time Management.  Time management is concerned with OS facilities and services which measure real time.  These services include:  Keeping track of.
IEEE n November 2012 Submission AtmelSlide 1 Project: IEEE P Working Group for Wireless Personal Area Networks (WPANs) Submission Title:
Introduction to distributed systems description relation to practice variables and communication primitives instructions states, actions and programs synchrony.
Simulation Examples And General Principles Part 2
CS3771 Today: Distributed Coordination  Previous class: Distributed File Systems Issues: Naming Strategies: Absolute Names, Mount Points (logical connection.
Distributed Systems Lecture 5 Time and synchronization 1.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Logical Time Steve Ko Computer Sciences and Engineering University at Buffalo.
© 2006 Open Grid Forum Network Services Interface CS Errata Guy Roberts, Chin Guok, Tomohiro Kudoh 29 Sept 2015.
© 2007 Open Grid Forum NSI CS Protocol State Machine Message Handling OGF 37.
Requester NSA Provider NSA & NRM Transport plane X = clock skew Y = Prov. delay ProvNSA initiates provisioning at t=A’-X-M-Y Provisioning occurs at t=A-M.
Protocol = messaging + semantics – Arlington state machine is for messaging – Berkeley state machines is for semantics Issue of Arlington state machine.
NSA RA SM PA SM RA SM NSA PA SM NSA RA SM PA SM NRM NSI messages Input/output internal to an NSA PA/RA state machines which only handles message exchange.
OGF NSI CS Protocol State Machine Converged single view July 16, 2011.
Processes and threads.
OGF NSI CS Protocol State Machine
Distributed Computing
NSI Topology Thoughts on how topology fits into the NSI architecture
CSE 486/586 Distributed Systems Logical Time
Lecture 2d1: Quality of Measurements
Threads Chapter 4.
Physical clock synchronization
Presentation transcript:

“Time” in the NSI Protocol Two notions of “Time” are important to NSI Connection Service – Absolute time Globally Coordinated Time and Date, “UTC” time. Necessary foremost for coordinated scheduling of distributed resources or processes. Accuracy of the UTC time among independent agents should be such that the variance in clocks is small compared to average duration of the tasks or allocation windows. This will allow distributed state to converge without significant adverse impact to resource availability. NTP, commonly accurate to +/- 5ms, is adequate for providing a coordinated Time of Day. 1 second (+/- 5ms) is suitable for these purposes. Even a 1 minute +/- 15 seconds would probably suffice… Small variances in clocks across agents, and other non-deterministic timing skew must be handled by the protocol such that distributed state machines converge to a common state quickly and correctly. – Relative time The order, “timing”, of events relative to one another (and internal state) within the NSI Protocol finite state machine. This is important for protocol state convergence and correct termination, particularly among asynchronous autonomous agents such as NSAs. A correctly specified Finite state machines does not require time synchronization among autonomous agents for the protocol to converge.

“Time” in the NSI Protocol The NSI protocol SM itself is not sensitive to absolute time, it is only sensitive to the relative timing of events – The event scheduler may use a time and date to identify when to trigger a protocol event, and the protocol may compute various time/dates trigger other various events, but the protocol itself is not driven by any specific absolute time or date, nor does it require synchronization of UTC among NSAs. The NSI protocol state machine operates on a FIFO Event Queue (EQ) – separate and distinct from the schedule queue (SQ)… – Time-based events are removed from the schedule queue and placed on the protocol event queue when their “scheduled time” = “the current time”. – Events are processed off the event queue by the state machine in First In First Out order. – Other events such as inbound message events are also place on the protocol event queue for processing The “scheduler” process is implementation specific. The protocol requires only an interface to the scheduling functionality that: – Must have a granularity of 1ms. – Must be able to queue timer events with a time of day. (a calendar) – Must be able to queue timer events with a specific delay (a timer) i.e. current time+delay. – Must be able to delete events from the schedule prior to expiry – Must be able to invoke a callback routine upon expiry of the event.

Relative Timing Example – Auto Provisioning NSA Orig NSA PA RA Reserving Scheduled ReserverReq ReserveResp ProvComplete Requested DayClock InService TIme Provisioning Reserving In Service Est Prov Time In Service Scheduled Provisioning? Propagation Delay – variable and unknown, range <1ms to ~250ms Processing Delay – variable and unknown, range <1ms to 60s+ NTP Variance – variable and unknown, range +/- 5ms assumption. Issues: 1.What is “acceptable” InService delay? How do we formalize it? 2.Est Prov Duration is dependent upon both NRM and/or children NSAs 3.For the RA, when does Provisioning phase begin? 4.For PA, does Provisioning begin at bell, or ProvCompl from below? Both?

Timing – Auto Provisioning NSA RA PA RA PA Reserving Scheduled ReserverReq ReserveResp ProvComplete Requested DayClock InService TIme Provisioning? Scheduled Reserving NTP variance ??? Provisioning Provisioning? a1 b1 a3 b2b3 a4 a5 b5 b4

Recommendation A common UTC time, accurate to +/- 1 second (?), is required of all NSAs. – NTP is suitable to facilitate this (though NTP is not specifically required.) – This UTC is used for coordinated booking of resources. The NSI coordinated Resource Scheduler books resources using date & time to a resolution of 1 second. – The resource scheduler reserves the resource in the resourceDB on the RS 1second granularity, and places a “start time” event on the Protocol Event Schedule and an “End Time” event on the Protocol Event Schedule on 1s intervals. NSI Protocol Scheduler (SQ) schedules events on 1 ms granularity, and uses the local system time with resolution of 1 ms, to clock them. – NTP keeps local system time [fairly] accurate to a common global time – The protocol state machine uses the SQ to schedule [microtimed]events (time-outs, grace periods, etc) with 1ms resolution. The Protocol Scheduler should provide the following pseudo API: – eventID= setEvent(datetime.ms, expiryCallback()) or – eventID= setEvent(elapsedtime.ms, expiryCallback()) – status= delEvent(eventID)