Scheduling parallel program tasks onto arbitrary target machines
Journal of Parallel and Distributed Computing - Special issue: software tools for parallel programming and visualization
Task scheduling in parallel and distributed systems
Task scheduling in parallel and distributed systems
Using MPI: portable parallel programming with the message-passing interface
Using MPI: portable parallel programming with the message-passing interface
IBM Systems Journal
Hi-index | 0.00 |
This paper addresses the problem of scheduling MPI tasks on the processing nodes of an MPI environment. We introduce a static scheduling system, in which program requirements are gathered, dependencies among the tasks are figured out, the computing environment is characterized, and a task assignment is generated. We introduce a tool, called the sniffer, which utilizes MPI to benchmark an existing computing environment. The sniffer collects information regarding the network performance, the power of the processing nodes, and the system load in general. We also present a scheduling system, which heuristically produces an allocation of MPI tasks onto processing nodes. The objective is to minimize the total completion time of the MPI program. The scheduling system uses program characterization in terms of processing, communication, synchronization, and dependencies; and the environment information collected by the sniffer to make scheduling decisions.