Download presentation
Presentation is loading. Please wait.
Published byRickey Huller Modified over 9 years ago
1
Coflow A Networking Abstraction For Cluster Applications UC Berkeley Mosharaf Chowdhury Ion Stoica
2
Cluster Applications Multi-Stage Data Flows Computation interleaved with communication Computation Distributed Runs on many machines Communication Structured Between machine groups 2 Driver
3
A Flow Sequence of packets Independent Often the unit for network scheduling, traffic engineering, load balancing etc. Multiple Parallel Flows Independent Yet, semantically bound Shared objective 3 Driver Communication Abstraction Minimize Completio n Time
4
Coflow A collection of flows between two groups of machines that are bound together by application-specific semantics Captures 1.Structure 2.Shared Objective 3.Semantics 4 ‘
5
We Want To… Better schedule the network Intra-coflow Inter-coflow Write the communication layer of a new application Without reinventing the wheel Add unsupported coflows to an application, or Replace an existing coflow implementation Independent of applications 5
6
6 Coflow AP I The Network (Physically or Logically Centralized Controller) Cluster Applications
7
7 Coflow AP I Goals 1.Separate intent from mechanisms 2.Convey application-specific semantics to the network Goals 1.Separate intent from mechanisms 2.Convey application-specific semantics to the network
8
8 Coflow AP I Shuffl e finishe s MapReduc e Job finishes create(SHUFFLE) handle put(handle, id, content) get(handle, id) content terminate(handle) Driver
9
Choice of algorithms Default WSS 1 Choice of mechanism App vs. Network layer Pull vs. Push Choice of algorithms Default WSS 1 Choice of mechanism App vs. Network layer Pull vs. Push 9 mapper s reducer s shuffl e 1. Orchestra, SIGCOMM’2011 Coflow Flexibilit y
10
10 mappe rs reducer s shuffl e driver (JobTrack er) broadcas t @driver b create(BCAST) … put(b, id, content) … terminate(b) @mapper get(b, id) … Coflow Flexibilit y
11
11 mapper s reducer s shuffl e driver (JobTrack er) broadca st @driver b create(BCAST) s create(SHUFFLE, ord=[b ~> s]) put(b, id, content) … terminate(b) terminate(s) @mapper get(b, id) put(s, id s1 ) … Coflow Flexibilit y
12
Throughput-Sensitive Applications 12 Minimize Completion Time After 2 seconds
13
Throughput-Sensitive Applications 13 After 2 seconds After 7 secondsAfter 4 seconds Minimize Completion Time
14
Throughput-Sensitive Applications 14 After 2 seconds After 7 seconds Minimize Completion Time Free up resources without hurting application- perceived communication time
15
HotNets 2012 Latency-Sensitive Applications 15 Top-level Aggregato r Mid-level Aggregato rs Workers
16
Top-level Aggregato r Mid-level Aggregato rs Workers Latency-Sensitive Applications 16 HotNets 2012 Meet Deadline 1,2 1. D3, SIGCOMM’2011 2. PDQ, SIGCOMM’2012 HotNets-XI: Home Page conferences.sigcomm.org/hotnets/2012/ The Eleventh ACM Workshop on Hot Topics in Networks (HotNets-XI) will bring together people with interest in computer networks to engage in a lively debate... HotNets Workshop | acm sigcomm www.sigcomm.org/events/hotnets-workshop The Workshop on Hot Topics in Networks (HotNets) was created in 2002 to discuss early-stage, creative... HotNets-XI, Seattle, WA area, October 29-30, 2012. HotNets-XI: Call for Papers conferences.sigcomm.org/hotnets/2012/cfp.shtml The Eleventh ACM Workshop on Hot Topics in Networks (HotNets-XI) will bring together researchers in computer networks and systems to engage in a lively... Coflow accepted at HotNets'2012 www.mosharaf.com/blog/2012/09/.../coflow-accepted-at-hotnets201... Sep 13, 2012 – Update: Coflow camera-ready is available online! Tell us what you think! Our position paper to address the lack of a networking abstraction for... Limit impact to as few requests as possible
17
One More Thing… 1. Critical Path Scheduling 2. OpenTCP 3. Structured Streams 4. … 17
18
Coflow UC Berkeley Mosharaf Chowdhury http://www.mosharaf.com/ A semantically-bound collection of flows Conveys application intent to the network Allows better management of network resources Provides greater flexibility in designing applications
19
Communication of a cluster application is represented by a partially-ordered set of coflows Network allocation takes place among these partially-ordered sets of coflows Critical Path Scheduling 19 S B S A S S A S
20
20 OperationCaller create(PATTERN, [opt]) handleDriver put(handle, id, content, [opt]) resultSender get(handle, id, [opt]) contentReceiver terminate(handle, [opt]) resultDriver Coflow AP I
21
Throughput-Sensitive Applications 21 Local shuffle finishes Shuffle finishes Data Flow Minimize Completion Time 1 MapReduc e Framewor k Job finishes Map Stage Reduce Stage 1. Orchestra, SIGCOMM’2011
22
22 Coflow Resourc e Allocation 1. Weights [Across Apps] mappe rs reducers shuffle 1 mappe rs reducers shuffle 2 Job 1 Job 2 Weighted sharing between coflows @driver shuffle 1 create(SHUFFLE, weight=1) shuffle 2 create(SHUFFLE, weight=2) … Weighted sharing between coflows @driver shuffle 1 create(SHUFFLE, weight=1) shuffle 2 create(SHUFFLE, weight=2) …
23
23 Strict priorities @driver shuffle 1 create(SHUFFLE, pri=3) shuffle 2 create(SHUFFLE, pri=5) … Strict priorities @driver shuffle 1 create(SHUFFLE, pri=3) shuffle 2 create(SHUFFLE, pri=5) … Coflow Resourc e Allocation 2. Priorities [Across Apps] mappe rs reducers shuffle 1 mappe rs reducers shuffle 2 Job 1 Job 2
24
24 Coflow Resourc e Allocation 3. Dependencies [Within Apps] mappe rs reducers shuffle 2 driver broadcast (b) mappe rs reducers shuffle 1 Job 1 Job 2 aggregation(a gg) finishes_before (~>) @driver b create ( BCAST ) shuffle 2 create ( SHUFFLE, ord=[b ~> shuffle 2 ]) agg create ( AGGR, ord=[shuffle 2 ~> agg]) finishes_before (~>) @driver b create ( BCAST ) shuffle 2 create ( SHUFFLE, ord=[b ~> shuffle 2 ]) agg create ( AGGR, ord=[shuffle 2 ~> agg])
25
25 Coflow Resourc e Allocatio n Communication of a cluster application is represented by a partially-ordered set of coflows Network allocation takes place among these partially-ordered sets of coflows Communication of a cluster application is represented by a partially-ordered set of coflows Network allocation takes place among these partially-ordered sets of coflows S B S A S S A S
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.