Topics in Parallel and Distributed Computing: Introducing Algorithms, Programming, and Performance within Undergraduate Curricula∗yz Chapter 11 – Scheduling in Parallel and Distributed Computing Systems Srishti Srivastava1 and Ioana Banicescu2 1University of Southern Indiana,
[email protected] 2Mississippi State University,
[email protected] ∗How to cite this book: Prasad, Gupta, Rosenberg, Sussman, and Weems. Topics in Parallel and Distributed Computing: Enhancing the Undergraduate Curriculum: Per- formance, Concurrency, and Programming on Modern Platforms, Springer International Publishing, 2018, ISBN : 978-3-319-93108-1, Pages: 337. yFree preprint version of this book: https://grid.cs.gsu.edu/~tcpp/ curriculum/?q=cder_book_2 zFree preprint version of volume one: https://grid.cs.gsu.edu/~tcpp/ curriculum/?q=cedr_book Abstract ∗ Recent advancements in computing technology have increased the complexity of computational systems and their ability to solve larger and more complex sci- entific problems. Scientific applications express solutions to complex scientific problems, which often are data-parallel and contain large loops. The execution of such applications in parallel and distributed computing (PDC) environments is computationally intensive and exhibits an irregular behavior, in general due to variations of algorithmic and systemic nature. A parallel and distributed system has a set of defined policies for the use of its computational resources. Distribu- tion of input data onto the PDC resources is dependent on these defined policies. To reduce the overall performance degradation, mapping applications tasks onto PDC resources requires parallelism detection in the application, partitioning of the problem into tasks, distribution of tasks onto parallel and distributed process- ing resources, and scheduling the task execution on the allocated resources.