A case for user-level dynamic page migration

  • Authors:
  • Dimitrios S. Nikolopoulos;Theodore S. Papatheodorou;Constantine D. Polychronopoulos;Jesús Labarta;Eduard Ayguadé

  • Affiliations:
  • Department of Computer Engineering and Informatics, University of Patras, Rion, 26 500, Patras, Greece;Department of Computer Engineering and Informatics, University of Patras, Rion, 26 500, Patras, Greece;Department of Electrical and Computer Engineering, University of Illinois at Urbana-Champaign, Urbana, IL;Department of Computer Architecture, Polytechnic University of Catalonia, c/Jordi Girona 1-3, Modul D6, 08034, Barcelona, Spain;Department of Computer Architecture, Polytechnic University of Catalonia, c/Jordi Girona 1-3, Modul D6, 08034, Barcelona, Spain

  • Venue:
  • Proceedings of the 14th international conference on Supercomputing
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents user-level dynamic page migration, a runtime technique which transparently enables parallel programs to tune their memory performance on distributed shared memory multiprocessors, with feedback obtained from dynamic monitoring of memory activity. Our technique exploits the iterative nature of parallel programs and information available to the program both at compile time and at runtime in order to improve the accuracy and the timeliness of page migrations, as well as amortize better the overhead, compared to page migration engines implemented in the operating system. We present an adaptive page migration algorithm based on a competitive and a predictive criterion. The competitive criterion is used to correct poor page placement decisions of the operating system, while the predictive criterion makes the algorithm responsive to scheduling events that necessitate immediate page migrations, such as preemptions and migrations of threads. We also present a new technique for preventing page pingpong and a mechanism for monitoring the performance of page migration algorithms at runtime and tuning their sensitive parameters accordingly. Our experimental evidence on a SGI Origin2000 shows that unmodified OpenMP codes linked with our runtime system for dynamic page migration are effectively immune to the page placement strategy of the operating system and the associated problems with data locality. Furthermore, our runtime system achieves solid performance improvements compared to the IRIX 6.5.5 page migration engine, for single parallel OpenMP codes and multiprogrammed workloads.