Siphon: Expediting Inter-Datacenter Coflows in Wide-Area Data - - PowerPoint PPT Presentation
Siphon: Expediting Inter-Datacenter Coflows in Wide-Area Data - - PowerPoint PPT Presentation
Siphon: Expediting Inter-Datacenter Coflows in Wide-Area Data Analytics Shuhao Liu, Li Chen , Baochun Li University of Toronto July 12, 2018 What is a Coflow ? One stage in a data analytic job Map 1 Reduce 1 Map 2 Reduce 2 Map 3 Reduce 3
What is a Coflow?
Map 1 Map 2 Map 4 Map 3 Reduce 1 Reduce 2 Reduce 3 Reduce 4
One stage in a data analytic job
What is a Coflow?
Map 1 Map 2 Map 4 Map 3 Reduce 1 Reduce 2 Reduce 3 Reduce 4
Map tasks One stage in a data analytic job
What is a Coflow?
Map 1 Map 2 Map 4 Map 3 Reduce 1 Reduce 2 Reduce 3 Reduce 4
Map tasks Reduce tasks One stage in a data analytic job
What is a Coflow?
Map 1 Map 2 Map 4 Map 3 Reduce 1 Reduce 2 Reduce 3 Reduce 4
One stage in a data analytic job all-to-all shuffle
What is a Coflow?
Map 1 Map 2 Map 4 Map 3 Reduce 1 Reduce 2 Reduce 3 Reduce 4
One stage in a data analytic job Coflow: considered done only when all flows finish
Coflow Scheduling
Objective: minimizing average coflow completion time Network model: datacenter networking Big switch abstraction network core is congestion-free
Job 1 Job 2
Coflow Scheduling
Objective: minimizing average coflow completion time Network model: datacenter networking Big switch abstraction network core is congestion-free
Job 1 Job 2
Coflow Scheduling
Objective: minimizing average coflow completion time Network model: datacenter networking Big switch abstraction network core is congestion-free
Job 1 Job 2
Coflow Scheduling
Objective: minimizing average coflow completion time Network model: datacenter networking Big switch abstraction network core is congestion-free
Job 1 Job 2
Coflow Scheduling
Objective: minimizing average coflow completion time Network model: datacenter networking Big switch abstraction network core is congestion-free
Job 1 Job 2
Coflow Scheduling
Objective: minimizing average coflow completion time
Job 1 Job 2
1 3 2 1 2 3 1 2 3
Non-blocking Switch
Coflow 1 Coflow 2
Coflow Scheduling
Objective: minimizing average coflow completion time
Job 1 Job 2
1 3 2 1 2 3 3 2 2 3 1 1 2 3
Non-blocking Switch
Coflow 1 Coflow 2
Coflow Scheduling
Objective: minimizing average coflow completion time
Job 1 Job 2
1 3
3 2 2 3 1
2 1 2 3 3 2 2 3 1 1 2 3
Non-blocking Switch
Coflow 1 Coflow 2
Wide-Area Data Analytics
Wide-Area Data Analytics
Datacenter 1
Map 1 Map 2 Map 3 Map 4 Reduce 1 Reduce 2
Data 1
Datacenter 2
Data 2
Datacenter 3
Data 3
Datacenter 4
Data 4 Wide Area Network
Wide-Area Data Analytics
Datacenter 1
Map 1 Map 2 Map 3 Map 4 Reduce 1 Reduce 2
Data 1
Datacenter 2
Data 2
Datacenter 3
Data 3
Datacenter 4
Data 4 Wide Area Network
With tasks placed in different datacenter, what about their generated inter-datacenter coflows?
Challenges
Dumb bell network model: inter-datacenter links are the only bottleneck Datacenter A Datacenter B
Inter-datacenter link
Challenges
Constantly changing available bandwidth
Measured Bandwidth (Mbps) in a 100s interval
55 68.75 82.5 96.25 110
CA-EU US-EU
Can existing heuristics work?
Link 1 Estimated Flow Completion Time 1 2 3 4 5 6 7 8 Link 2
Coflow scheduling should consider the distribution of available bandwidth.
Monte Carlo Simulation
Monte Carlo Simulation
Scheduling Decision Tree
B [0/0]
Monte Carlo Simulation
A [0/0]
Scheduling Decision Tree
C [0/0]
B [0/0]
Monte Carlo Simulation
A [0/0]
Scheduling Decision Tree
C [0/0] B C A C B A
B [0/0]
Monte Carlo Simulation
A [0/0]
Scheduling Decision Tree
C [0/0] B C A C B A 16.2 9.3 12.5 15.5 20.2 13.1
B [0/0]
Monte Carlo Simulation
A [0/0]
Scheduling Decision Tree
C [0/0] B C A C B A 16.2 9.3 12.5 15.5 20.2 13.1
B [0/0]
Monte Carlo Simulation
A [0/0]
Scheduling Decision Tree
C [0/0] B C A C B A 16.2 9.3 12.5 15.5 20.2 13.1 B [0/1] A [1/1] C [0/1]
B [68/100]
Monte Carlo Simulation
A [29/100]
Scheduling Decision Tree
C [3/100] B C A C B A
B [68/100]
Monte Carlo Simulation
A [29/100]
Scheduling Decision Tree
C [3/100] B C A C B A
Complexity? 100 * O(n!)
Reduced Simulation Complexity
Reduced Simulation Complexity
Bounded Search Depth
Θ(t × nd)
Reduced Simulation Complexity
Bounded Search Depth Reduced Search Breath (Early termination)
Θ(t × nd)
Reduced Simulation Complexity
Bounded Search Depth Reduced Search Breath (Early termination)
Θ(t × nd) O(t × nd)
<latexit sha1_base64="SRO9rJSliFs1sIUx4d32DxWNFw=">AB/XicjVDLSgNBEOz1GeMrPm5eBoMQL2FXBD0GvXgzgnlAsobZ2UkyZHZ2mekV4hL8FS8eFPHqf3jzb5w8DioKFjQUVd1U0EihUHX/XDm5hcWl5ZzK/nVtfWNzcLWdt3EqWa8xmIZ62ZADZdC8RoKlLyZaE6jQPJGMDgf+41bro2I1TUOE+5HtKdEVzCKVuoUdi9JiSBpo4i4IeomC0fksFMoemV3AvI3KcIM1U7hvR3GLI24QiapMS3PTdDPqEbBJB/l26nhCWUD2uMtSxW1YX42+X5EDqwSkm6s7SgkE/XrRUYjY4ZRYDcjin3z0xuLv3mtFLunfiZUkiJXbBrUTSXBmIyrIKHQnKEcWkKZFvZXwvpU4a2sPz/SqgflT237F0dFytnszpysAf7UAIPTqACF1CFGjC4gwd4gmfn3nl0XpzX6eqcM7vZgW9w3j4BRU6T0A=</latexit><latexit sha1_base64="SRO9rJSliFs1sIUx4d32DxWNFw=">AB/XicjVDLSgNBEOz1GeMrPm5eBoMQL2FXBD0GvXgzgnlAsobZ2UkyZHZ2mekV4hL8FS8eFPHqf3jzb5w8DioKFjQUVd1U0EihUHX/XDm5hcWl5ZzK/nVtfWNzcLWdt3EqWa8xmIZ62ZADZdC8RoKlLyZaE6jQPJGMDgf+41bro2I1TUOE+5HtKdEVzCKVuoUdi9JiSBpo4i4IeomC0fksFMoemV3AvI3KcIM1U7hvR3GLI24QiapMS3PTdDPqEbBJB/l26nhCWUD2uMtSxW1YX42+X5EDqwSkm6s7SgkE/XrRUYjY4ZRYDcjin3z0xuLv3mtFLunfiZUkiJXbBrUTSXBmIyrIKHQnKEcWkKZFvZXwvpU4a2sPz/SqgflT237F0dFytnszpysAf7UAIPTqACF1CFGjC4gwd4gmfn3nl0XpzX6eqcM7vZgW9w3j4BRU6T0A=</latexit><latexit sha1_base64="SRO9rJSliFs1sIUx4d32DxWNFw=">AB/XicjVDLSgNBEOz1GeMrPm5eBoMQL2FXBD0GvXgzgnlAsobZ2UkyZHZ2mekV4hL8FS8eFPHqf3jzb5w8DioKFjQUVd1U0EihUHX/XDm5hcWl5ZzK/nVtfWNzcLWdt3EqWa8xmIZ62ZADZdC8RoKlLyZaE6jQPJGMDgf+41bro2I1TUOE+5HtKdEVzCKVuoUdi9JiSBpo4i4IeomC0fksFMoemV3AvI3KcIM1U7hvR3GLI24QiapMS3PTdDPqEbBJB/l26nhCWUD2uMtSxW1YX42+X5EDqwSkm6s7SgkE/XrRUYjY4ZRYDcjin3z0xuLv3mtFLunfiZUkiJXbBrUTSXBmIyrIKHQnKEcWkKZFvZXwvpU4a2sPz/SqgflT237F0dFytnszpysAf7UAIPTqACF1CFGjC4gwd4gmfn3nl0XpzX6eqcM7vZgW9w3j4BRU6T0A=</latexit><latexit sha1_base64="SRO9rJSliFs1sIUx4d32DxWNFw=">AB/XicjVDLSgNBEOz1GeMrPm5eBoMQL2FXBD0GvXgzgnlAsobZ2UkyZHZ2mekV4hL8FS8eFPHqf3jzb5w8DioKFjQUVd1U0EihUHX/XDm5hcWl5ZzK/nVtfWNzcLWdt3EqWa8xmIZ62ZADZdC8RoKlLyZaE6jQPJGMDgf+41bro2I1TUOE+5HtKdEVzCKVuoUdi9JiSBpo4i4IeomC0fksFMoemV3AvI3KcIM1U7hvR3GLI24QiapMS3PTdDPqEbBJB/l26nhCWUD2uMtSxW1YX42+X5EDqwSkm6s7SgkE/XrRUYjY4ZRYDcjin3z0xuLv3mtFLunfiZUkiJXbBrUTSXBmIyrIKHQnKEcWkKZFvZXwvpU4a2sPz/SqgflT237F0dFytnszpysAf7UAIPTqACF1CFGjC4gwd4gmfn3nl0XpzX6eqcM7vZgW9w3j4BRU6T0A=</latexit>Reduced Simulation Complexity
Bounded Search Depth Reduced Search Breath (Early termination) Online Incremental Search
Θ(t × nd) O(t × nd)
<latexit sha1_base64="SRO9rJSliFs1sIUx4d32DxWNFw=">AB/XicjVDLSgNBEOz1GeMrPm5eBoMQL2FXBD0GvXgzgnlAsobZ2UkyZHZ2mekV4hL8FS8eFPHqf3jzb5w8DioKFjQUVd1U0EihUHX/XDm5hcWl5ZzK/nVtfWNzcLWdt3EqWa8xmIZ62ZADZdC8RoKlLyZaE6jQPJGMDgf+41bro2I1TUOE+5HtKdEVzCKVuoUdi9JiSBpo4i4IeomC0fksFMoemV3AvI3KcIM1U7hvR3GLI24QiapMS3PTdDPqEbBJB/l26nhCWUD2uMtSxW1YX42+X5EDqwSkm6s7SgkE/XrRUYjY4ZRYDcjin3z0xuLv3mtFLunfiZUkiJXbBrUTSXBmIyrIKHQnKEcWkKZFvZXwvpU4a2sPz/SqgflT237F0dFytnszpysAf7UAIPTqACF1CFGjC4gwd4gmfn3nl0XpzX6eqcM7vZgW9w3j4BRU6T0A=</latexit><latexit sha1_base64="SRO9rJSliFs1sIUx4d32DxWNFw=">AB/XicjVDLSgNBEOz1GeMrPm5eBoMQL2FXBD0GvXgzgnlAsobZ2UkyZHZ2mekV4hL8FS8eFPHqf3jzb5w8DioKFjQUVd1U0EihUHX/XDm5hcWl5ZzK/nVtfWNzcLWdt3EqWa8xmIZ62ZADZdC8RoKlLyZaE6jQPJGMDgf+41bro2I1TUOE+5HtKdEVzCKVuoUdi9JiSBpo4i4IeomC0fksFMoemV3AvI3KcIM1U7hvR3GLI24QiapMS3PTdDPqEbBJB/l26nhCWUD2uMtSxW1YX42+X5EDqwSkm6s7SgkE/XrRUYjY4ZRYDcjin3z0xuLv3mtFLunfiZUkiJXbBrUTSXBmIyrIKHQnKEcWkKZFvZXwvpU4a2sPz/SqgflT237F0dFytnszpysAf7UAIPTqACF1CFGjC4gwd4gmfn3nl0XpzX6eqcM7vZgW9w3j4BRU6T0A=</latexit><latexit sha1_base64="SRO9rJSliFs1sIUx4d32DxWNFw=">AB/XicjVDLSgNBEOz1GeMrPm5eBoMQL2FXBD0GvXgzgnlAsobZ2UkyZHZ2mekV4hL8FS8eFPHqf3jzb5w8DioKFjQUVd1U0EihUHX/XDm5hcWl5ZzK/nVtfWNzcLWdt3EqWa8xmIZ62ZADZdC8RoKlLyZaE6jQPJGMDgf+41bro2I1TUOE+5HtKdEVzCKVuoUdi9JiSBpo4i4IeomC0fksFMoemV3AvI3KcIM1U7hvR3GLI24QiapMS3PTdDPqEbBJB/l26nhCWUD2uMtSxW1YX42+X5EDqwSkm6s7SgkE/XrRUYjY4ZRYDcjin3z0xuLv3mtFLunfiZUkiJXbBrUTSXBmIyrIKHQnKEcWkKZFvZXwvpU4a2sPz/SqgflT237F0dFytnszpysAf7UAIPTqACF1CFGjC4gwd4gmfn3nl0XpzX6eqcM7vZgW9w3j4BRU6T0A=</latexit><latexit sha1_base64="SRO9rJSliFs1sIUx4d32DxWNFw=">AB/XicjVDLSgNBEOz1GeMrPm5eBoMQL2FXBD0GvXgzgnlAsobZ2UkyZHZ2mekV4hL8FS8eFPHqf3jzb5w8DioKFjQUVd1U0EihUHX/XDm5hcWl5ZzK/nVtfWNzcLWdt3EqWa8xmIZ62ZADZdC8RoKlLyZaE6jQPJGMDgf+41bro2I1TUOE+5HtKdEVzCKVuoUdi9JiSBpo4i4IeomC0fksFMoemV3AvI3KcIM1U7hvR3GLI24QiapMS3PTdDPqEbBJB/l26nhCWUD2uMtSxW1YX42+X5EDqwSkm6s7SgkE/XrRUYjY4ZRYDcjin3z0xuLv3mtFLunfiZUkiJXbBrUTSXBmIyrIKHQnKEcWkKZFvZXwvpU4a2sPz/SqgflT237F0dFytnszpysAf7UAIPTqACF1CFGjC4gwd4gmfn3nl0XpzX6eqcM7vZgW9w3j4BRU6T0A=</latexit>Reduced Simulation Complexity
Bounded Search Depth Reduced Search Breath (Early termination) Online Incremental Search
Θ(t × nd) O(t × nd)
<latexit sha1_base64="SRO9rJSliFs1sIUx4d32DxWNFw=">AB/XicjVDLSgNBEOz1GeMrPm5eBoMQL2FXBD0GvXgzgnlAsobZ2UkyZHZ2mekV4hL8FS8eFPHqf3jzb5w8DioKFjQUVd1U0EihUHX/XDm5hcWl5ZzK/nVtfWNzcLWdt3EqWa8xmIZ62ZADZdC8RoKlLyZaE6jQPJGMDgf+41bro2I1TUOE+5HtKdEVzCKVuoUdi9JiSBpo4i4IeomC0fksFMoemV3AvI3KcIM1U7hvR3GLI24QiapMS3PTdDPqEbBJB/l26nhCWUD2uMtSxW1YX42+X5EDqwSkm6s7SgkE/XrRUYjY4ZRYDcjin3z0xuLv3mtFLunfiZUkiJXbBrUTSXBmIyrIKHQnKEcWkKZFvZXwvpU4a2sPz/SqgflT237F0dFytnszpysAf7UAIPTqACF1CFGjC4gwd4gmfn3nl0XpzX6eqcM7vZgW9w3j4BRU6T0A=</latexit><latexit sha1_base64="SRO9rJSliFs1sIUx4d32DxWNFw=">AB/XicjVDLSgNBEOz1GeMrPm5eBoMQL2FXBD0GvXgzgnlAsobZ2UkyZHZ2mekV4hL8FS8eFPHqf3jzb5w8DioKFjQUVd1U0EihUHX/XDm5hcWl5ZzK/nVtfWNzcLWdt3EqWa8xmIZ62ZADZdC8RoKlLyZaE6jQPJGMDgf+41bro2I1TUOE+5HtKdEVzCKVuoUdi9JiSBpo4i4IeomC0fksFMoemV3AvI3KcIM1U7hvR3GLI24QiapMS3PTdDPqEbBJB/l26nhCWUD2uMtSxW1YX42+X5EDqwSkm6s7SgkE/XrRUYjY4ZRYDcjin3z0xuLv3mtFLunfiZUkiJXbBrUTSXBmIyrIKHQnKEcWkKZFvZXwvpU4a2sPz/SqgflT237F0dFytnszpysAf7UAIPTqACF1CFGjC4gwd4gmfn3nl0XpzX6eqcM7vZgW9w3j4BRU6T0A=</latexit><latexit sha1_base64="SRO9rJSliFs1sIUx4d32DxWNFw=">AB/XicjVDLSgNBEOz1GeMrPm5eBoMQL2FXBD0GvXgzgnlAsobZ2UkyZHZ2mekV4hL8FS8eFPHqf3jzb5w8DioKFjQUVd1U0EihUHX/XDm5hcWl5ZzK/nVtfWNzcLWdt3EqWa8xmIZ62ZADZdC8RoKlLyZaE6jQPJGMDgf+41bro2I1TUOE+5HtKdEVzCKVuoUdi9JiSBpo4i4IeomC0fksFMoemV3AvI3KcIM1U7hvR3GLI24QiapMS3PTdDPqEbBJB/l26nhCWUD2uMtSxW1YX42+X5EDqwSkm6s7SgkE/XrRUYjY4ZRYDcjin3z0xuLv3mtFLunfiZUkiJXbBrUTSXBmIyrIKHQnKEcWkKZFvZXwvpU4a2sPz/SqgflT237F0dFytnszpysAf7UAIPTqACF1CFGjC4gwd4gmfn3nl0XpzX6eqcM7vZgW9w3j4BRU6T0A=</latexit><latexit sha1_base64="SRO9rJSliFs1sIUx4d32DxWNFw=">AB/XicjVDLSgNBEOz1GeMrPm5eBoMQL2FXBD0GvXgzgnlAsobZ2UkyZHZ2mekV4hL8FS8eFPHqf3jzb5w8DioKFjQUVd1U0EihUHX/XDm5hcWl5ZzK/nVtfWNzcLWdt3EqWa8xmIZ62ZADZdC8RoKlLyZaE6jQPJGMDgf+41bro2I1TUOE+5HtKdEVzCKVuoUdi9JiSBpo4i4IeomC0fksFMoemV3AvI3KcIM1U7hvR3GLI24QiapMS3PTdDPqEbBJB/l26nhCWUD2uMtSxW1YX42+X5EDqwSkm6s7SgkE/XrRUYjY4ZRYDcjin3z0xuLv3mtFLunfiZUkiJXbBrUTSXBmIyrIKHQnKEcWkKZFvZXwvpU4a2sPz/SqgflT237F0dFytnszpysAf7UAIPTqACF1CFGjC4gwd4gmfn3nl0XpzX6eqcM7vZgW9w3j4BRU6T0A=</latexit>O(t × nd−1)
<latexit sha1_base64="JK9yGuMiIKSIlpDMmqUtZVT2rQ=">AB/3icjVDLSgNBEOyNrxhfq4IXL4NBiAfDrgh6DHrxZgTzgCSG2ckGTI7u8z0CmHNwV/x4kERr/6GN/GyeOgomBQ1HVTUVxFIY9LwPJzM3v7C4lF3OrayurW+4m1tVEyWa8QqLZKTrATVcCsUrKFDyeqw5DQPJa8HgfOzXbrk2IlLXOIx5K6Q9JbqCUbRS2925JAWCpIki5Iaom7Rz6I/IQdvN+0VvAvI3ycM5b73uxELAm5QiapMQ3fi7GVUo2CST7KNRPDY8oGtMcblipq41rp5P8R2bdKh3QjbUchmahfL1IaGjMA7sZUuybn95Y/M1rJNg9baVCxQlyxaZB3UQSjMi4DNIRmjOUQ0so08L+SlifasrQVpb7XwnVo6LvFf2r43zpbFZHFnZhDwrgwmU4ALKUAEGd/AT/Ds3DuPzovzOl3NOLObfgG5+0TKpiUQg=</latexit><latexit sha1_base64="JK9yGuMiIKSIlpDMmqUtZVT2rQ=">AB/3icjVDLSgNBEOyNrxhfq4IXL4NBiAfDrgh6DHrxZgTzgCSG2ckGTI7u8z0CmHNwV/x4kERr/6GN/GyeOgomBQ1HVTUVxFIY9LwPJzM3v7C4lF3OrayurW+4m1tVEyWa8QqLZKTrATVcCsUrKFDyeqw5DQPJa8HgfOzXbrk2IlLXOIx5K6Q9JbqCUbRS2925JAWCpIki5Iaom7Rz6I/IQdvN+0VvAvI3ycM5b73uxELAm5QiapMQ3fi7GVUo2CST7KNRPDY8oGtMcblipq41rp5P8R2bdKh3QjbUchmahfL1IaGjMA7sZUuybn95Y/M1rJNg9baVCxQlyxaZB3UQSjMi4DNIRmjOUQ0so08L+SlifasrQVpb7XwnVo6LvFf2r43zpbFZHFnZhDwrgwmU4ALKUAEGd/AT/Ds3DuPzovzOl3NOLObfgG5+0TKpiUQg=</latexit><latexit sha1_base64="JK9yGuMiIKSIlpDMmqUtZVT2rQ=">AB/3icjVDLSgNBEOyNrxhfq4IXL4NBiAfDrgh6DHrxZgTzgCSG2ckGTI7u8z0CmHNwV/x4kERr/6GN/GyeOgomBQ1HVTUVxFIY9LwPJzM3v7C4lF3OrayurW+4m1tVEyWa8QqLZKTrATVcCsUrKFDyeqw5DQPJa8HgfOzXbrk2IlLXOIx5K6Q9JbqCUbRS2925JAWCpIki5Iaom7Rz6I/IQdvN+0VvAvI3ycM5b73uxELAm5QiapMQ3fi7GVUo2CST7KNRPDY8oGtMcblipq41rp5P8R2bdKh3QjbUchmahfL1IaGjMA7sZUuybn95Y/M1rJNg9baVCxQlyxaZB3UQSjMi4DNIRmjOUQ0so08L+SlifasrQVpb7XwnVo6LvFf2r43zpbFZHFnZhDwrgwmU4ALKUAEGd/AT/Ds3DuPzovzOl3NOLObfgG5+0TKpiUQg=</latexit><latexit sha1_base64="JK9yGuMiIKSIlpDMmqUtZVT2rQ=">AB/3icjVDLSgNBEOyNrxhfq4IXL4NBiAfDrgh6DHrxZgTzgCSG2ckGTI7u8z0CmHNwV/x4kERr/6GN/GyeOgomBQ1HVTUVxFIY9LwPJzM3v7C4lF3OrayurW+4m1tVEyWa8QqLZKTrATVcCsUrKFDyeqw5DQPJa8HgfOzXbrk2IlLXOIx5K6Q9JbqCUbRS2925JAWCpIki5Iaom7Rz6I/IQdvN+0VvAvI3ycM5b73uxELAm5QiapMQ3fi7GVUo2CST7KNRPDY8oGtMcblipq41rp5P8R2bdKh3QjbUchmahfL1IaGjMA7sZUuybn95Y/M1rJNg9baVCxQlyxaZB3UQSjMi4DNIRmjOUQ0so08L+SlifasrQVpb7XwnVo6LvFf2r43zpbFZHFnZhDwrgwmU4ALKUAEGd/AT/Ds3DuPzovzOl3NOLObfgG5+0TKpiUQg=</latexit>How to enforce the scheduling decisions?
Siphon: System Overview
Form a software-defined overlay network Aggregators: measure bandwidth, schedule coflows based on priority assignment Controller: compute priority based on Monte Carlo simulation
Datacenter 1 Siphon Inter-Datacenter Software-Defined Overlay
… Worker Process Aggregator Daemon Worker Process Aggregator Daemon
Worker Process Aggregator Daemon
Datacenter 2
Worker Process Aggregator Daemon Worker Process Aggregator Daemon
Worker Process Aggregator
Daemon … Controller
Performance: Coflow Scheduling
T-V T-M V-T V-M M-T M-V 150 160 170 180 190 200 210 Available Bandwidth (Mbps) <25% 25-49% 50-74% ≥75% All Normalized CCT (%) 95.7 98.7 98.3 89.6 89.7 94.9 99.3 96.7 85.9 99.5 Average 90th Percentile
With Siphon, we can do more…
Intra-Coflow Scheduling
Largest Flow Group First
M1 M2 R2 R1 M3 50MB 100MB 50MB 50MB 50MB 50MB
DC1 to DC2
D C 3 t
- D
C 2
100
DC 1-2
50
Time 1 2 3 4 Flow Group 2 ends Schedule 2
50 50 50 50
DC 3-2
200 150
R1 R2 Flow Group 1 ends 5 6 7 8
100
DC 1-2
50
Time 1 2 3 4 Flow Group 1 ends Schedule 1 (LFGFS)
50 50 50 50
DC 3-2
200 150
R1 R2 Flow Group 2 ends 5 6 7 8
Coflow Multipath Routing
35~45Mbps 8 4 ~ 8 3 M b p s 508~586Mbps
- N. Carolina
5 5 5 5 5 Taiwan 5 5 5 5 5 Tokyo 5 2
3 4 4 4 4
- S. Carolina
Tokyo Taiwan Oregon Belgium
216 161 216 216 198 148 197 197 149 149 149 149 227 227 227 170 206 207 155 206
Performance: Intra-Coflow Scheduling
Spark Naive Multipath Siphon 50 100 150 200 Reduce Stage Execution Time (s) 72.2 186.2 56.3 155.3 49.4 135.3 48.7 130.3 Task Execution Shuffle Read
Performance: Benchmark Workloads
ALS PCA BMM Pearson W2V FG 200 400 Application Run Time (s)
- 26.1
- 14.1
- 8.5
- 23.8
- 4.1
+1.7 Siphon Spark