Hardware monitors for dynamic page migration

TitleHardware monitors for dynamic page migration
Publication TypeJournal Articles
Year of Publication2008
AuthorsTikir MM, Hollingsworth J
JournalJournal of Parallel and Distributed Computing
Pagination1186 - 1200
Date Published2008/09//
ISBN Number0743-7315
KeywordsAddress translation counters, cc-NUMA systems, Dynamic page migration, Full system simulation, Hardware performance monitors, High performance computing, Multiprocessor systems, OpenMP applications, Runtime optimization

In this paper, we first introduce a profile-driven online page migration scheme and investigate its impact on the performance of multithreaded applications. We use centralized lightweight, inexpensive plug-in hardware monitors to profile the memory access behavior of an application, and then migrate pages to memory local to the most frequently accessing processor. We also investigate the use of several other potential sources of data gathered from hardware monitors and compare their effectiveness to using data from centralized hardware monitors. In particular, we investigate the effectiveness of using cache miss profiles, Translation Lookaside Buffer (TLB) miss profiles and the content of the on-chip TLBs using the valid bit information. Moreover, we also introduce a modest hardware feature, called Address Translation Counters (ATC), and compare its effectiveness with other sources of hardware profiles.Using the Dyninst runtime instrumentation combined with hardware monitors, we were able to add page migration capabilities to a Sun Fire 6800 server without having to modify the operating system kernel, or to re-compile application programs. Our dynamic page migration scheme reduced the total number of non-local memory accesses of applications by up to 90% and improved the execution times up to 16%. We also conducted a simulation based study and demonstrated that cache miss profiles gathered from on-chip CPU monitors, which are typically available in current microprocessors, can be effectively used to guide dynamic page migrations in applications.