Assessing the Computational Benefits of AREA-Oriented DAG-Scheduling

Many modern computing platforms, including "aggressive" multicore architectures, proposed exascale architectures, and many modalities of Internetbased computing are "task hungry"--their performance is enhanced by always having as many tasks eligible for allocation to processors as possible. The AREAOriented scheduling (AO-scheduling) paradigm for computations with intertask dependencies--modeled as DAGs--was developed to address the "hunger" of such platforms, by executing an input DAG so as to render tasks eligible for execution quickly. AO-scheduling is a weaker, but more robust, successor to IC-scheduling. The latter renders tasks eligible for execution maximally fast--a goal that is not achievable for many DAGs.AO-scheduling coincides with IC-scheduling on DAGs that admit optimal IC-schedules--and optimal AO-scheduling is possible for all DAGs. The computational complexity of optimal AO-scheduling is not yet known; therefore, this goal is replaced here by a multi-phase heuristic that produces optimal AO-schedules for series-parallel DAGs but possibly suboptimal schedules for general DAGs. This paper employs simulation experiments to assess the computational benefits of AO-scheduling in a variety of scenarios and on a range of DAGs whose structure is reminiscent of ones encountered in scientific computing. The experiments pit AO-scheduling against a range of heuristics, fromlightweight ones such as FIFO scheduling to computationally more intensive ones that mimic IC-scheduling's local decisions. The observed results indicate that AO-scheduling does enhance the efficiency of task-hungry platforms, by amounts that vary according to the availability patterns of processors and the structure of the DAG being executed.

[1]  Ami Marowka,et al.  The GRID: Blueprint for a New Computing Infrastructure , 2000, Parallel Distributed Comput. Pract..

[2]  Ian Foster,et al.  The Grid 2 - Blueprint for a New Computing Infrastructure, Second Edition , 1998, The Grid 2, 2nd Edition.

[3]  Clifford Stein,et al.  Introduction to Algorithms, 2nd edition. , 2001 .

[4]  Arnold L. Rosenberg,et al.  A Tool for Prioritizing DAGMan Jobs and its Evaluation , 2007, Journal of Grid Computing.

[5]  Arnold L. Rosenberg,et al.  Applying IC-Scheduling Theory to Familiar Classes of Computations , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.

[6]  Jack J. Dongarra,et al.  Towards dense linear algebra for hybrid GPU accelerated manycore systems , 2009, Parallel Comput..

[7]  Arnold L. Rosenberg,et al.  Area-Maximizing Schedules for Series-Parallel DAGs , 2010, Euro-Par.

[8]  Arnold L. Rosenberg,et al.  On scheduling mesh-structured computations for Internet-based computing , 2004, IEEE Transactions on Computers.

[9]  Jack Dongarra,et al.  High Performance Computing for Computational Science — VECPAR 2002 , 2003, Lecture Notes in Computer Science.

[10]  Francine Berman,et al.  Models and scheduling mechanisms for global computing applications , 2002, Proceedings 16th International Parallel and Distributed Processing Symposium.

[11]  Margaret Mitchell,et al.  Creating Minimal Vertex Series Parallel Graphs from Directed Acyclic Graphs , 2004, InVis.au.

[12]  Valentín Cardeñoso-Payo,et al.  Mapping Unstructured Applications into Nested Parallelism , 2002, VECPAR.

[13]  Arnold L. Rosenberg,et al.  Batch-Scheduling Dags for Internet-Based Computing , 2005, Euro-Par.

[14]  Arnold L. Rosenberg,et al.  Advances in IC-Scheduling Theory: Scheduling Expansive and Reductive Dags and Scheduling Dags via Duality , 2007, IEEE Transactions on Parallel and Distributed Systems.

[15]  Mihalis Yannakakis,et al.  Optimization, approximation, and complexity classes , 1991, STOC '88.

[16]  Eugene L. Lawler,et al.  The recognition of Series Parallel digraphs , 1979, SIAM J. Comput..

[17]  Arnold L. Rosenberg,et al.  On scheduling dags to maximize area , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[18]  Arnold L. Rosenberg,et al.  On Clustering Tasks in IC-Optimal Dags , 2008, 2008 37th International Conference on Parallel Processing.

[19]  Eugene L. Lawler,et al.  The Recognition of Series Parallel Digraphs , 1982, SIAM J. Comput..

[20]  Arnold L. Rosenberg,et al.  Toward a theory for scheduling dags in Internet-based computing , 2006, IEEE Transactions on Computers.

[21]  John Shalf,et al.  The International Exascale Software Project roadmap , 2011, Int. J. High Perform. Comput. Appl..

[22]  Arnold L. Rosenberg,et al.  A Comparison of Dag-Scheduling Strategies for Internet-Based Computing , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.

[23]  Arnold L. Rosenberg,et al.  Guidelines for scheduling some common computation-dags for Internet-based computing , 2005, IEEE Transactions on Computers.

[24]  Y.-K. Kwok,et al.  Static scheduling algorithms for allocating directed task graphs to multiprocessors , 1999, CSUR.

[25]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[26]  Domenico Talia,et al.  Euro-Par 2010 - Parallel Processing , 2010, Lecture Notes in Computer Science.

[27]  Charles E. Leiserson,et al.  Space-Efficient Scheduling of Multithreaded Computations , 1998, SIAM J. Comput..

[28]  Sajindra Jayasena,et al.  Conversion of NSP DAGs to SP DAGs , 2003 .

[29]  Valentín Cardeñoso-Payo,et al.  Performance implications of synchronization structure in parallel programming , 2009, Parallel Comput..

[30]  D. Adolphson Optimal linear-ordering. , 1973 .

[31]  Thomas H. Cormen,et al.  Introduction to algorithms [2nd ed.] , 2001 .

[32]  Bradley C. Kuszmaul,et al.  Cilk: an efficient multithreaded runtime system , 1995, PPOPP '95.

[33]  David P. Anderson,et al.  SETI@home-massively distributed computing for SETI , 2001, Comput. Sci. Eng..

[34]  Arnold L. Rosenberg,et al.  Extending IC-Scheduling via the Sweep Algorithm , 2008, 16th Euromicro Conference on Parallel, Distributed and Network-Based Processing (PDP 2008).