Supercomputers and Scheduling: Applying a New Tool to an Old Problem Farideh Samadzadeh, Ph.D.
description
Transcript of Supercomputers and Scheduling: Applying a New Tool to an Old Problem Farideh Samadzadeh, Ph.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
Static scheduling using
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.