Concurrent Self-Adjusting Distributed Tree Networks Bruna Peres - - PowerPoint PPT Presentation
Concurrent Self-Adjusting Distributed Tree Networks Bruna Peres - - PowerPoint PPT Presentation
Concurrent Self-Adjusting Distributed Tree Networks Bruna Peres Stefan Schmid Chen Avin Olga Goussevskaia Motivation New technologies allow communication networks to be increasingly flexible and reconfigurable Traditional networks
- New technologies allow communication networks to be
increasingly flexible and reconfigurable
- Traditional networks designs are still optimized toward
static metrics
Motivation
Concurrent Self-Adjusting Distributed Tree Networks 2 DISC 2017
ProjecToR
Concurrent Self-Adjusting Distributed Tree Networks 3 DISC 2017
- ProjecToR: Agile Reconfigurable Data Center Interconnect.
Ghobadi et al., SIGCOMM'16
- Self-adjusting networks β self-adjusting data structures
- Splay Trees
- Self-Adjusting Data Structures
Concurrent Self-Adjusting Distributed Tree Networks 4 DISC 2017
request c x f t z v c h g r j n x f t z v c h g r j n x f t z v c h g r j n
SplayNets
Concurrent Self-Adjusting Distributed Tree Networks 5
x f t z v c h g r j n x f t z v c h g r j n request h request h
- S. Schmid, et al., SplayNet: Towards Locally Self-Adjusting Networks
IEEE/ACM Transactions on Networking, 2016.
DISC 2017
SplayNets
Concurrent Self-Adjusting Distributed Tree Networks 6
- Distributed tree network
- Improves the communication cost between two nodes in a self-
adjusting manner
- Nodes communicating more frequently become topologically
closer to each other over time
- Lowest common ancestor LCA(u,v): locality is preserved
v u
root LCA (u,v)
DISC 2017
Our Contributions
Concurrent Self-Adjusting Distributed Tree Networks 7
- While
SplayNets are inherently intended to distributed applications, so far, only sequential algorithms are known to maintain SplayNets
- We present DiSplayNets, the first distributed and concurrent
implementation of SplayNets
DISC 2017
- Network model:
- Binary tree π comprised of a set of π communication nodes
- Sequence of communication requests π = (π1, π2, β¦ , ππ):
- ππ = π‘, π
- π’π ππ and π’π ππ
- Given ππ π‘, π , s and d rotate in parallel towards the LCA(s,d)
- LCA might change over time
Concurrent Self-Adjusting Distributed Tree Networks 8
Model
DISC 2017
- State machine executed by each node in parallel
Concurrent Self-Adjusting Distributed Tree Networks 9
DiSplayNet
DISC 2017
Climbing Communicating Passive Waiting x f t z v c h g r j n request h
- State machine executed by each node in parallel
Concurrent Self-Adjusting Distributed Tree Networks 10
DiSplayNet
DISC 2017
Climbing Communicating Passive Waiting x t z v f c h g j n
- State machine executed by each node in parallel
Concurrent Self-Adjusting Distributed Tree Networks 11
DiSplayNet
DISC 2017
Climbing Communicating Passive Waiting r x f t z v c h g j n
Local reconfigurations
Concurrent Self-Adjusting Distributed Tree Networks 12 DISC 2017
u v w v u w
zig-zig
v u v u
zig
w z v u w v w u
zig-zag
z z z
T1 T1 T1 T1 T1 T1 T2 T2 T2 T2 T2 T2 T3 T3 T3 T3 T3 T3 T4 T4 T4 T4
w
Local reconfigurations
Concurrent Self-Adjusting Distributed Tree Networks 13 DISC 2017
u v w v u w
zig-zig
z z
T1 T1 T2 T2 T3 T3 T4 T4
Ξ²(u)
- In order to ensure deadlock and starvation freedom, concurrent
- perations are performed according to a priority
π’π ππ(π‘π, ππ) < π’π π
π(π‘ π, ππ)
Concurrent Self-Adjusting Distributed Tree Networks 14
DiSplayNet
DISC 2017
- The algorithm is executed in rounds
Concurrent Self-Adjusting Distributed Tree Networks 15
Algorithm
DISC 2017
ππ
ππ
π’π ππ(π‘π, ππ) < π’π π
π(π‘ π, ππ)
Ξ²(ππ) Ξ²(ππ)
Phase 1 Phase 2
Phase 2
- The algorithm is executed in rounds
Concurrent Self-Adjusting Distributed Tree Networks 16
Algorithm
DISC 2017
ππ
ππ
π’π ππ(π‘π, ππ) < π’π π
π(π‘ π, ππ)
ack ack
Phase 3
- The algorithm is executed in rounds
Concurrent Self-Adjusting Distributed Tree Networks 17
Algorithm
DISC 2017
ππ
ππ
π’π ππ(π‘π, ππ) < π’π π
π(π‘ π, ππ)
ack
Phase 4
- The algorithm is executed in rounds
Concurrent Self-Adjusting Distributed Tree Networks 18
Algorithm
DISC 2017
ππ
ππ
π’π ππ(π‘π, ππ) < π’π π
π(π‘ π, ππ)
Phase 5
- The algorithm is executed in rounds
Concurrent Self-Adjusting Distributed Tree Networks 19
Algorithm
DISC 2017
ππ
ππ
π’π ππ(π‘π, ππ) < π’π π
π(π‘ π, ππ)
- Self-adjust to the communication pattern in a fully-decentralized
manner
- Starvation free
- Deadlock free
DiSplayNets
Concurrent Self-Adjusting Distributed Tree Networks 20 DISC 2017
- Analyze the efficiency
- Work cost: π πΈππππππ§πππ’, π0, π = ππ π π π₯(ππ)
- Time cost:
- Request delay: π’π ππ = π’π ππ - π’π ππ
- Makespan: π π0,π = max
ππ π π π’π ππ
β min
ππ π π π’π ππ
Future Work
Concurrent Self-Adjusting Distributed Tree Networks 21 DISC 2017
Progress Matrix
Concurrent Self-Adjusting Distributed Tree Networks 22
ππ ππ+π ππ+π ππ+π ππ+π
DISC 2017
Progress Matrix
Concurrent Self-Adjusting Distributed Tree Networks 23
Makespan Work
DISC 2017
- Our simulations show first promising results
- ProjecToR data
- 128 node randomly selected from 2 production clusters (running a mix of
workloads, including MapReduce-type jobs, index builders, and database and storage systems)
- 1000 requests
- Poisson process
Future Work
Concurrent Self-Adjusting Distributed Tree Networks 24 DISC 2017
- Our simulations show first promising results
- Individual work CDF
Future Work
Concurrent Self-Adjusting Distributed Tree Networks 25 DISC 2017
- Our simulations show first promising results
- Total work
Future Work
Concurrent Self-Adjusting Distributed Tree Networks 26 DISC 2017
- Our simulations show first promising results
- Request delay
Future Work
Concurrent Self-Adjusting Distributed Tree Networks 27 DISC 2017
- Our simulations show first promising results
- Makespan
Future Work
Concurrent Self-Adjusting Distributed Tree Networks 28 DISC 2017
Thank you
Bruna Peres bperes@dcc.ufmg.br
Concurrent Self-Adjusting Distributed Tree Networks DISC 2017