A common approach to improve memory access in NUMA machines exploits operating system (OS) page protection mechanisms to induce faults to determine which pages are accessed by what thread, so as to move the thread and its working-set of pages to the same NUMA node. However, existing proposals do not fully fit the requirements of truly multi-thread applications with non-partitioned accesses to virtual pages. In fact, these proposals exploit (induced) faults on a same page-table for all the threads of a same process to determine the access pattern. Hence, the fault by one thread (and the consequent re-opening of the access to the corresponding page) would mask those by other threads on the same page. This may lead to inaccuracy in the estimation of the working-set of individual threads. We overcome this drawback by presenting a lightweight operating system support for Linux, referred to as multi-view address space, explicitly targeting accuracy of per-thread working-set estimation in truly multi-thread applications with non-partitioned accesses, and an associated thread/data migration policy. Our solution is fully transparent to user-space code. It is embedded in a Linux/x86_64 module that installs any required modification to the original kernel image by solely relying on dynamic patching. A motivated case study in the context of HPC is also presented for an assessment of our proposal.

OS-Based NUMA Optimization: Tackling the Case of Truly Multi-thread Applications with Non-partitioned Virtual Page Accesses / Gennaro, Ilaria Di; Pellegrini, Alessandro; Quaglia, Francesco. - STAMPA. - (2016), pp. 291-300. (Intervento presentato al convegno 16th IEEE/ACM International Symposium on Cluster, Cloud, and Grid Computing, CCGrid 2016 tenutosi a Cartagena de Indias; Colombia) [10.1109/CCGrid.2016.91].

OS-Based NUMA Optimization: Tackling the Case of Truly Multi-thread Applications with Non-partitioned Virtual Page Accesses

Gennaro, Ilaria Di
;
PELLEGRINI, ALESSANDRO;QUAGLIA, Francesco
2016

Abstract

A common approach to improve memory access in NUMA machines exploits operating system (OS) page protection mechanisms to induce faults to determine which pages are accessed by what thread, so as to move the thread and its working-set of pages to the same NUMA node. However, existing proposals do not fully fit the requirements of truly multi-thread applications with non-partitioned accesses to virtual pages. In fact, these proposals exploit (induced) faults on a same page-table for all the threads of a same process to determine the access pattern. Hence, the fault by one thread (and the consequent re-opening of the access to the corresponding page) would mask those by other threads on the same page. This may lead to inaccuracy in the estimation of the working-set of individual threads. We overcome this drawback by presenting a lightweight operating system support for Linux, referred to as multi-view address space, explicitly targeting accuracy of per-thread working-set estimation in truly multi-thread applications with non-partitioned accesses, and an associated thread/data migration policy. Our solution is fully transparent to user-space code. It is embedded in a Linux/x86_64 module that installs any required modification to the original kernel image by solely relying on dynamic patching. A motivated case study in the context of HPC is also presented for an assessment of our proposal.
2016
16th IEEE/ACM International Symposium on Cluster, Cloud, and Grid Computing, CCGrid 2016
memory access tracing; multi-threading; NUMA architectures; performance optimization; working set estimation
04 Pubblicazione in atti di convegno::04b Atto di convegno in volume
OS-Based NUMA Optimization: Tackling the Case of Truly Multi-thread Applications with Non-partitioned Virtual Page Accesses / Gennaro, Ilaria Di; Pellegrini, Alessandro; Quaglia, Francesco. - STAMPA. - (2016), pp. 291-300. (Intervento presentato al convegno 16th IEEE/ACM International Symposium on Cluster, Cloud, and Grid Computing, CCGrid 2016 tenutosi a Cartagena de Indias; Colombia) [10.1109/CCGrid.2016.91].
File allegati a questo prodotto
File Dimensione Formato  
DiGennaro_Postprint_OS-Based-NUMA_2016.pdf

accesso aperto

Note: https://ieeexplore.ieee.org/document/7515701
Tipologia: Documento in Post-print (versione successiva alla peer review e accettata per la pubblicazione)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 302.18 kB
Formato Adobe PDF
302.18 kB Adobe PDF
DiGennaro_OS-Based-NUMA_2016.pdf

solo gestori archivio

Tipologia: Versione editoriale (versione pubblicata con il layout dell'editore)
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 322.19 kB
Formato Adobe PDF
322.19 kB Adobe PDF   Contatta l'autore
DiGennaro_Frontespizio-indice_OS-Based-NUMA_2016.pdf

solo gestori archivio

Tipologia: Altro materiale allegato
Licenza: Tutti i diritti riservati (All rights reserved)
Dimensione 616.88 kB
Formato Adobe PDF
616.88 kB Adobe PDF   Contatta l'autore

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11573/931686
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 16
  • ???jsp.display-item.citation.isi??? 11
social impact