150 likes | 293 Views
Supercomputers and Scheduling: Applying a New Tool to an Old Problem Farideh Samadzadeh, Ph.D. Professor of Computer Science Oklahoma School of Science and Mathematics Oklahoma City, Oklahoma Supported in part by a grant from. OSSM? ► A public, two-year (Jr/Sr), residential school
E N D
Supercomputers and Scheduling: Applying a New Tool to an Old Problem Farideh Samadzadeh, Ph.D. Professor of Computer Science Oklahoma School of Science and MathematicsOklahoma City, Oklahoma Supported in part by a grant from
OSSM? ► A public, two-year (Jr/Sr), residential school ► Advanced math and science curriculum ► Recruits gifted students statewide ► Many students participate in a mentorship program under the direction of scientists and engineers in a variety of fields during their senior year at OSSM. ► Two-year in-house mentorship program in Parallel & Distributed Processing done by five OSSM students.
Where are they now? • Rayus Kulpicki: Univ. of Tulsa, Computer Science sophomore • Michael Liang: MIT, Biomedical Engineering sophomore • Robert Lindsey: RPI, Computer Science sophomore • Raquel Phillips, Univ. of Tulsa, Computer Science freshman • Nozlee Samadzadeh, Yale, Computer Science freshman
Why is scheduling important? • One of the challenges of supercomputing is that although you have a very impressive computing power at your disposal, harnessing this power depends on the programming model used. • There is always competition for acquiring a large number of processors. • Minimizing the number of processors needed for maximum speed up is a desirable goal.
Major issues in parallelism? • Program Partitioning: task systems result from the application of a partitioning scheme to a program. Partitioning criteria depend on the desired level of granularity. • Scheduling: assignment of tasks to processors.
Multiprocessor Scheduling • Scheduling: assignment of n tasks to p independent processors. • The execution sequence of the tasks may be constrained by certain precedence relations among them. • Objective: an assignment of the tasks to processors, minimizing the overall execution time. • Two types of tasks systems: independent, dependent.
Independent Task Systems • No communication or synchronization. • Tasks may be executed on any processor and in any order. • Main concern: load balancing.
Dependent Task Systems • Require communication. • May require synchronization. • Cannot be executed in any order. • Main concerns: correct execution sequence and load balancing.
Scope of the Research • Developing dynamically- and statically-based scheduling algorithms for: • Independent task systems • Dependent task systems • Studying the behavior and the performance of the developed algorithms under OSCER’s distributed memory supercomputers Boomer and Topdawg.
The programming model used was SPMD (Single Program Multiple Data). • Platforms explored: • PVM under a small in-house distributed network. • MPI under OSCER’s Boomer and Topdawg. • MPI under a small in-house BCCD network for local testing and debugging.
Dynamic Scheduling with Vertical Partitioning using Independent Path Scheduler
Figure 3: Performance of a typical task system as a function of the required number of processors (regardless of the number of the tasks and their processing times)
Lessons learned? • Today’s supercomputers are tomorrow’s desk-top computers. • Early involvement in supercomputing education and application development is the key to training tomorrow’s scientists and engineers.