OneClock
to Rule Them All:
Using Time in Networked Applications
Tal Mizrahi, Yoram Moses
Technion – Israel Institute of Technology
Outline
•
Background
•
Generic protocol
•
Accurate scheduling
Using Accurate Time
Network-managed applications
using
accurate time
Power substations
Industrial automation
Particle accelerators
Coordinated
events
Coordinated
snapshot
Using Accurate Time
Network-managed applications
using
accurate time
Power substations
Industrial automation
Particle accelerators
Standard clock synchronization protocols
Network Time Protocol (NTP) [
RFC 5905
]
<
1msec
accuracy
Precision Time Protocol (PTP) [
IEEE 1588 2008
]
<
1
μ
sec
accuracy
OneClock to Rule Them All
O
NE
C
LOCK
A generic
protocol for
using
time.
An accurate
scheduling
Outline
•
Background
•
Generic protocol
•
Accurate scheduling
NETCONF in a Nutshell
server
client
rp
c
rp
c
-r
e
p
ly
time
NETCONF [
RFC 6241
]: Network Configuration Protocol
RPC: Remote Procedure Call
(Network Management
Station – NMS)
Generic Abstractions for Using Time
Client
Server 1
Server 2
...
Server n
T
T
T
Client
Server 1
Server 2
...
Server n
T
T
T
The NETCONF
Time
Capability
server
time
client
rp
c
(
T
s
)
rp
c
-r
e
p
ly
T
s
scheduled time
[
RFC 7758
] Time Capability in NETCONF
Scheduled RPC
The NETCONF
Time
Capability
server
client
rp
c
(g
e
t-tim
e
)
rp
c
-r
e
p
ly
(
T
e
)
T
e
RPC executed
time
rpc-reply reports the time of execution,
T
e
The NETCONF
Time
Capability
server
client
rp
c
(
T
s
,
g
e
t-tim
e
)
rp
c
-r
e
p
ly
(
T
e
)
T
e
T
s
RPC
executed
Scheduling & Reporting
The NETCONF
Time
Capability
Aborting an RPC
Scheduled RPC
Cancellation
server
client
rp
c
(T
s
)
rp
c
-r
e
p
ly
T
s
n
o
ti
fi
c
a
ti
o
n
c
a
n
c
e
l-s
c
h
e
d
u
le
RPC
not
executed
Outline
•
Background
•
Generic protocol
•
Accurate scheduling
T
e
T
s
T
s
’
time
(i)
(ii)
ETE
Elapsed Time of Execution (ETE)
Scheduled time
Actual start time
Completion time
(i) Start time
accuracy
ETE Measurement
server
client
rp
c
(
T
s
,
g
e
t-tim
e
)
rp
c
-r
e
p
ly
(
T
e
)
T
e
T
s
ETE
ETE is known
T
d
time
ETE
T
s
Prediction-based Approach
Desired
completion time
Scheduled time:
T
s
= T
d
- ETE
meas
ured T
e
ETE[n
] = T
e
- T
s
3
Scheduling:
rpc(
T
s)
2
Predict next ETE value
1
ETE measurements
ETE[1], ETE[2], … , ETE[n-1]
Prediction Process
ETE[i] = the i
th
measured ETE value
Prediction Algorithms
Algorithm Description
Baseline
No prediction.
Average
The average of the last N measurements.
FT-Average The fault-tolerant average of the last N
measurements.
Outline
•
Background
•
Generic protocol
•
Accurate scheduling
•
Evaluation
Evaluation Method
•
NETCONF Time capability prototype.
–
Open source.
–
Based on OpenYuma.
•
Measurements on:
–
Amazon AWS.
–
Microsoft Azure.
–
DeterLab.
–
Emulab.
•
Periodic RPC transmission.
ETE
Measurement
Evaluation Results
0.00001 0.0001 0.001 0.01 0.1 1Type I Type II Type III Type IV Type V Type VI
Mean
Abs
olute
Scheduling
Err
or
[seconds
-
log.]
Server Type
Baseline
Average
FT-Average
Kalman
Type Platform / class
I Amazon / t2.micro
II Azure / A0
III DeterLab / MicroCloud
IV DeterLab / pc2133
V Emulab / d710
VI DeterLab / bvx2200
•
Prediction approach reduces scheduling error by an order of magnitude.
•
The simple FT-Average provides the lowest error in most cases.
Outline
•
Background
•
Generic protocol
•
Accurate scheduling
•
Evaluation
The
Timed
Project
Conclusions
O
NE
C
LOCK
A prediction-based approach for
accurate scheduling
.
A generic protocol for
using time
in networked applications.
[RFC 7758]
-
Sensors
-
Actuators
-
IoT devices
-
Toasters
-
Switches
-
Routers
Thanks!
O
NE
C
LOCK
to rule them all,
O
NE
C
LOCK
to link them,
O
NE
C
LOCK
to time them all,
The
Project
Why do we need
time in SDN?
Scheduling
protocol
Accurate scheduling
method
SDN Clock
synchronization
R
EVERSE
PTP
[HotSDN ‘14, ISPCS ‘14]
T
IME
F
LIP
[INFOCOM ‘15]
O
NE
C
LOCK
[NOMS ‘16]
OpenFlow
Scheduled Bundles
[INFOCOM ’16, OpenFlow 1.5]
NETCONF
Time Capability
[NOMS ’16, RFC 7758]
Timed Consistent
Updates
[SOSR, ‘15]
O
NEC
LOCKto Rule
Them All
[NOMS, ‘16]
T
IME4: Dynamic
Path Updates
[INFOCOM, ‘16]
Data Plane
Timestamping
References
[1] T. Mizrahi, Y. Moses, “OneClock to Rule Them All: Using Time in Networked Applications”, IEEE/IFIP Network Operations and Management Symposium (NOMS), 2016.
(http://tx.technion.ac.il/~dew/OneClockNOMS.pdf)
[2] T. Mizrahi, Y. Moses, “Time Capability in NETCONF”, RFC 7758, IETF, 2016. (http://tools.ietf.org/html/rfc7758)
[3] T. Mizrahi, Y. Moses, “Software Defined Networks: It’s About Time", IEEE INFOCOM, 2016. (http://tx.technion.ac.il/~dew/Time4INFOCOM.pdf)
[4] T. Mizrahi, E. Saat, Y. Moses, "Timed Consistent Network Updates", ACM SIGCOMM Symposium on SDN Research (SOSR), 2015. (http://tx.technion.ac.il/~dew/TimedConsistentSOSR.pdf)
[5] T. Mizrahi, O. Rottenstreich, Y. Moses, "TimeFlip: Scheduling Network Updates with Timestamp-based TCAM Ranges", IEEE INFOCOM, 2015. (http://tx.technion.ac.il/~dew/TimeFlipINFOCOM.pdf)
[6] T. Mizrahi, Y. Moses, "Time-based Updates in Software Defined Networks", the second workshop on hot topics in software defined networks (HotSDN), 2013. (http://tx.technion.ac.il/~dew/TimeSDN.pdf) [7] T. Mizrahi, Y. Moses, "Time4: Time for SDN", arXiv preprint arXiv:1505.03421, 2016.