Improving the Scalability of Parallel Jobs by adding Parallel Awareness to the Operating System

  • Authors:
  • Terry Jones;Shawn Dawson;Rob Neely;William Tuel;Larry Brenner;Jeffrey Fier;Robert Blackmore;Patrick Caffrey;Brian Maskell;Paul Tomlinson;Mark Roberts

  • Affiliations:
  • Lawrence Livermore National Laboratory, Livermore, CA;Lawrence Livermore National Laboratory, Livermore, CA;Lawrence Livermore National Laboratory, Livermore, CA;International Business Machines Corporation, Armonk, NY;International Business Machines Corporation, Armonk, NY;International Business Machines Corporation, Armonk, NY;International Business Machines Corporation, Armonk, NY;International Business Machines Corporation, Armonk, NY;Atomic Weapons Establishment, Aldermaston Reading, UK;Atomic Weapons Establishment, Aldermaston Reading, UK;Atomic Weapons Establishment, Aldermaston Reading, UK

  • Venue:
  • Proceedings of the 2003 ACM/IEEE conference on Supercomputing
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

A parallel application benefits from scheduling policies that include a global perspective of the application's process working set. As the interactions among cooperating processes increase, mechanisms to ameliorate waiting within one or more of the processes become more important. In particular, collective operations such as barriers and reductions are extremely sensitive to even usually harmless events such as context switches among members of the process working set. For the last 18 months, we have been researching the impact of random short-lived interruptions such as timer-decrement processing and periodic daemon activity, and developing strategies to minimize their impact on large processor-count SPMD bulk-synchronous programming styles. We present a novel co-scheduling scheme for improving performance of fine-grain collective activities such as barriers and reductions, describe an implementation consisting of operating system kernel modifications and run-time system, and present a set of empirical results comparing the technique with traditional operating system scheduling. Our results indicate a speedup of over 300% on synchronizing collectives.