Cooperation vs. Coordination for Lifeline-Based Global Load Balancing in APGAS
Work stealing can be implemented in either a cooperative or a coordinated way. We compared the two approaches for lifeline-based global load balancing, which is the algorithm used by X10’s Global Load Balancing framework GLB. We conducted our study with the APGAS library for Java, to which we ported GLB in a first step. Our cooperative variant resembles the original GLB framework, except that strict sequentialization is replaced by Java synchronization constructs such as critical sections. Our coordinated variant enables concurrent access to local task pools by using a split queue data structure. In experiments with modified versions of the UTS and BC benchmarks, the cooperative and coordinated APGAS variants had similar executions times, without a clear winner. Both variants outperformed the original GLB when compiled with Managed X10. Experiments were run on up to 128 nodes, to which we assigned up to 512 places.
Slides (slidesCoopCoordAPGAS.pdf) | 245KiB |
Tue 14 JunDisplayed time zone: Tijuana, Baja California change
10:30 - 12:00 | |||
10:30 30mTalk | Control Structure Overloading in X10 X10 Link to publication DOI File Attached | ||
11:00 30mTalk | A Memory Model for X10 X10 Link to publication DOI File Attached | ||
11:30 30mTalk | Cooperation vs. Coordination for Lifeline-Based Global Load Balancing in APGAS X10 Link to publication DOI File Attached |