Network Scheduling in
Software-defined Environments
Tal Mizrahi*
◊
, Yoram Moses*
*Technion – Israel Institute of Technology
◊
Marvell
SDN Research Group, IRTF IETF 96, Berlin, Germany
Outline
•
Background
•
Use cases
•
Accurate scheduling
•
Conclusion
Outline
•
Background
•
Use cases
•
Accurate scheduling
•
Conclusion
Software Defined & Programmable Networks
The TimedSDN Project 4
switch
switch
switch
switch
Controller / NMS
switch
switch
switch
switch
vSwitch
•
Centralized
•
Flexible
at a Glance
Controller
The TimedSDN Project 5
Switches
Synchronized
clocks
A protocol allowing the controller to
Outline
•
Background
•
Use cases
•
Accurate scheduling
•
Conclusion
Using Time in Network-managed Environments
The TimedSDN Project 7
Client
Server 1
Server 2
...
Server n
T
T
T
Client
Server 1
Server 2
...
Server n
T
T
T
Coordinated
Using
Time
to Coordinate
Updates
The TimedSDN Project 8
Timed sequence
Switches invoke update according
to a scheduled sequence
OpenFlow
I2RS
…
Simultaneous
Time
is Optimal for Flow Swaps
[INFOCOM ‘16]
The TimedSDN Project 9
A key benefit of SDN:
Dynamic path allocation based on network load
controller
...
o
2
o
1controller
...
o
2
o
1Time
is Optimal for Flow Swaps
[INFOCOM ‘16]
The TimedSDN Project 10
A key benefit of SDN:
Dynamic path allocation based on network load
old
new
Temporary congestion.
If O
1, O
2are
not
updated
at the
same time
…
controller
...
o
2
o
1Time
is Optimal for Flow Swaps
[INFOCOM ‘16]
The TimedSDN Project 11
A key benefit of SDN:
Dynamic path allocation based on network load
old
new
If O
1, O
2are updated
Consistent Path Update
0
The TimedSDN Project 12
S
2S
1S
3S
4S2 S1
S3 S4
S2 S1
S3 S4
S2 S1
S3 S4
S2 S1
S3 S4
1
2
3
0. The ‘before’ configuration.
1. Controller updates S
1.
2. Controller updates S
2.
3. Controller updates S
3.
S
2S
1S
3S
4after
before
wait…
wait…
Simultaneous Updates?
The TimedSDN Project 13
En-route packets run into a ‘black hole’.
Not consistent!
S2 S1
S3 S4
S2 S1
S3 S4
S2 S1
S3 S4
S2 S1
S3 S4
Timed
Multi-phase Consistent Updates
[SOSR ‘15]
The TimedSDN Project 14
-
The controller sends timed update messages to S
1
, S
2
, S
3
.
-
Scheduled updates occur at times T
1
, T
2
, T
3
.
T
1
T
2
T
3
Controller does not need to wait between steps!
S2 S1
S3 S4
S2 S1
S3 S4
S2 S1
S3 S4
S2 S1
ingress
switch
vSwitch
Timestamped Domain
External
Network
VNF
egress
switch
Using
Timestamps
instead of
[SWFAN ‘16]
The TimedSDN Project 15
Timestamp is
•
Pushed by ingress switch.
•
Removed by egress switch.
X
Timestamp can be used in processing of
intermediate devices.
•
Delay measurement.
•
Passive performance monitoring.
https://tools.ietf.org/html/draft-ietf-ippm-alt-mark
Timestamp-based marking.
Outline
•
Background
•
Use cases
•
Accurate scheduling
•
Conclusion
Accurate Synchronization: It’s Already Here
The TimedSDN Project 17
Precision Time Protocol (PTP)
[
IEEE 1588 2008
]
~
1
μ
sec
accuracy
Mobile backhaul
Power substations
Industrial automation Financial applications
China Mobile: over 1,000,000 PTP-enabled base stations
T
IME
F
LIP
: Timestamp-based TCAM Lookup
conventional
The TimedSDN Project 18
packet’s search
key
action
s
u, …, s
1TCAM
Network Device
action
s
u, …, s
1TCAM
Network Device
T
s
u, …, s
1T
³
T
0TCAM
Network Device
action
packet’s search key packet’s search keyThe timestamp is used in the TCAM key –
time range
.
COTS switches can synchronize clocks very accurately ~ 1 μsec.
[Using IEEE 1588 Precision Time Protocol (PTP) or GPS]
TimeFlip
The TimedSDN Project
The Cost of T
IME
F
LIP
: 1 Bit / 1 Entry
•
Theorem: if
𝑇𝑂𝐿 ≥ 2
𝑙𝑜𝑔
2
(∆)
, then the every
timestamp range requires as little as:
–
1 bit in the timestamp field.
–
1 TCAM entry.
19T
s
u, …, s
1T
³
T
0TCAM
Network Device
search
key
action
Large # of bits in timestamp field?
T
IME
F
LIP
: Would it Work on a Real Switch?
Yes !!
The TimedSDN Project 20
Microbenchmark: TimeFlip was tested on a
Outline
•
Background
•
Use cases
•
Accurate scheduling
•
Conclusion
The
Project
The TimedSDN Project 22
Why do we need
time
in SDN?
Scheduling
protocols
Accurate scheduling
methods
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]
NETCONF
Time Capability
[NOMS ’16]
Multi-phase
updates
[SOSR, ‘15]
Network-managed
coordination
[NOMS, ‘16]
Flow Swaps
T
IME
4
[INFOCOM, ‘16]
Data Plane
Timestamping
The
Project – Practical Aspects
The TimedSDN Project 23
Scheduling
protocols
OpenFlow
Scheduled Bundles
[INFOCOM ’16]
NETCONF
Time Capability
[NOMS ’16]
OpenFlow 1.5
RFC 7758
The
Project – Practical Aspects
OpenFlow
Scheduled
Bundles
The TimedSDN Project 24
https://github.com/TimedSDN
Open Source Prototypes
NETCONF
Time
Capability
ReversePTP
OpenFlow
Scheduled
at a Glance
Controller
The TimedSDN Project 25
Switches
Synchronized
clocks
A protocol allowing the controller to
The
Project – Future Directions
26Data plane
timestamping
Timed Updates
SFC
https://tools.ietf.org/html/draf t-browne-sfc-nsh-timestamp-01NETCONF
RFC 7758 ++
I2RS
NVO3
Time
as a network
programming
abstraction
P4
Implementation and
wide-scale
experiments
We would be happy to collaborate with
vendors / operators who are interested!
…
…
Thanks!
The
Timed
Project
http://tx.technion.ac.il/~dew/TimedSDN.html
A Closer Look at T
IME
F
LIP
The TimedSDN Project
Further details can be found in:
•
TimeFlip paper (
http://tx.technion.ac.il/~dew/TimeFlipINFOCOM.pdf
)
•
TimeFlip presentation (
http://tx.technion.ac.il/~dew/TimeFlipInfocomPres.pdf
)
SDN Switches
The TimedSDN Project 29
switch
switch
switch
switch
controller
switch
switch
switch
switch
TCAM1 TCAM2 ... TCAMn
incoming packet
TCAM: Ternary Content Addressable Memory
•
Memory for quick searching
•
Top-down search: first match “wins”
•
Ternary: 0 / 1 / *
•
* = don’t care
The TimedSDN Project 30
action
s
u, …, s
1TCAM
Network Device
packet’s search
T
IME
F
LIP
: Timestamp-based TCAM Lookup
conventional
The TimedSDN Project 31
packet’s search
key
action
s
u, …, s
1TCAM
Network Device
action
s
u, …, s
1TCAM
Network Device
T
s
u, …, s
1T
³
T
0TCAM
Network Device
action
packet’s search key packet’s search keyThe timestamp is used in the TCAM key –
time range
.
COTS switches can synchronize clocks very accurately ~ 1 μsec.
[Using IEEE 1588 Precision Time Protocol (PTP) or GPS]
TimeFlip
Time-based Updates using T
IME
F
LIP
The TimedSDN Project 32
controller
...
o
2
o
1old
new
TimeFlip:
switch accurately
starts using ‘new’ at T
0
.
T
s
u, …, s
1T
³
T
0TCAM
Network Device
search
key
‘new’
Example: Timestamp Format
The TimedSDN Project 33
Second Fraction
Seconds
Time.Sec
Time.Frac
Example: T
IME
F
LIP in Practice
The TimedSDN Project 34
Time.Sec
1
Time.Frac
*
…
*
*
…*
Periodic range
0
... timestamp
value
1 second
action
timestamp field2 field3 field4 …
Flow Table
Network Device
packet header
Goal: schedule an update to be performed at
2016-07-22 11:41:11
(at the beginning of the second)
Procedure: (steps also appear in the figure)
Step : install a TimeFlip with ‘1’ in the
lsbit of the seconds field, and ‘don’t care’ in
the rest.
Step : the update becomes effective
exactly at the turn of the second.
Step : make the TCAM rule permanent by
writing ‘don’t care’ to the lsbit of the
timestamp field.
1
2
3
References
The TimedSDN Project 35
[1] T. Mizrahi, Y. Moses, "Software Defined Networks: It's About Time", IEEE INFOCOM, 2016.
[2] T. Mizrahi, Y. Moses, "OneClock to Rule Them All: Using Time in Networked Applications", IEEE/IFIP Network Operations and Management Symposium (NOMS), 2016. [3] T. Mizrahi, E. Saat, Y. Moses, "Timed Consistent Network Updates", ACM SIGCOMM Symposium on SDN Research (SOSR), 2015.
[4] T. Mizrahi, E. Saat, Y. Moses, "Timed Consistent Network Updates in Software Defined Networks", IEEE/ACM Transactions on Networking (ToN), 2016. [5] T. Mizrahi, O. Rottenstreich, Y. Moses, "TimeFlip: Scheduling Network Updates with Timestamp-based TCAM Ranges", IEEE INFOCOM, 2015.
[6] T. Mizrahi, Y. Moses, "Time-based Updates in Software Defined Networks", workshop on hot topics in software defined networks (HotSDN), 2013. [7] T. Mizrahi, Y. Moses, "On the Necessity of Time-based Updates in SDN", Open Networking Summit (ONS), 2014.
[8] T. Mizrahi, Y. Moses "Using ReversePTP to Distribute Time in Software Defined Networks", International IEEE Symposium on Precision Clock Synchronization for Measurement, Control and Communication, (ISPCS), 2014.
[9] T. Mizrahi, Y. Moses, "ReversePTP: A Software Defined Networking Approach to Clock Synchronization", workshop on hot topics in software defined networks (HotSDN), 2014. [10] T. Mizrahi and Y. Moses, "ReversePTP: A clock synchronization scheme for software defined networks", International Journal of Network Management (IJNM), 2016.
[11] T. Mizrahi, Y. Moses, "Time4: Time for SDN", arXiv preprint arXiv:1505.03421, 2016.
[12] T. Mizrahi, Y. Moses, "The Case for Data Plane Timestamping in SDN", IEEE INFOCOM Workshop on Software-Driven Flexible and Agile Networking (SWFAN), 2016. [13] T. Mizrahi, Y. Moses, "Time Capability in NETCONF", RFC 7758, 2016.