PMCTrack: Delivering Performance Monitoring Counter Support to the OS Scheduler

Autores
Saez, Juan Carlos; Pousa, Adrián; Rodriíguez-Rodriíguez, R.; Castro, F.; Prieto-Matias, Manuel
Año de publicación
2017
Idioma
inglés
Tipo de recurso
artículo
Estado
versión enviada
Descripción
Hardware performance monitoring counters (PMCs) have proven effective in characterizing application performance. Because PMCs can only be accessed directly at the OS privilege level, kernel-level tools must be developed to enable the end-user and userspace programs to access PMCs. A large body of work has demonstrated that the OS can perform effective runtime optimizations in multicore systems by leveraging performance-counter data. Special attention has been paid to optimizations in the OS scheduler. While existing performance monitoring tools greatly simplify the collection of PMC application data from userspace, they do not provide an architecture-agnostic kernel-level mechanism that is capable of exposing high-level PMC metrics to OS components, such as the scheduler. As a result, the implementation of PMC-based OS scheduling schemes is typically tied to specific processor models. To address this shortcoming we presentPMCTrack, a novel tool for the Linux kernel that provides a simple architecture-independent mechanism that makes it possible for the OS scheduler to access per-thread PMC data. Despite being an OS-oriented tool, PMCTrack still allows the gathering of monitoring data from userspace, enabling kernel developers to carry out the necessary offline analysis and debugging to assist them during the scheduler design process. In addition, the tool provides both the OS and the user-space PMCTrack components with other insightful metrics available in modern processors and which are not directly exposed as PMCs, such as cache occupancy or energy consumption. This information is also of great value when it comes to analyzing the potential benefits of novel scheduling policies on real systems. In this paper, we analyze different case studies that demonstrate the flexibility, simplicity and powerful features of PMCTrack.
Materia
Ciencias de la Información y Bioinformática
performance monitoring counters
PMCTrack
OS scheduling
Linux kernel
asymmetric multicore
energy efficiency
cache monitoring
Intel CMT
Nivel de accesibilidad
acceso abierto
Condiciones de uso
http://creativecommons.org/licenses/by/4.0/
Repositorio
CIC Digital (CICBA)
Institución
Comisión de Investigaciones Científicas de la Provincia de Buenos Aires
OAI Identificador
oai:digital.cic.gba.gob.ar:11746/8547

id CICBA_7b65666fb504178829a6c8659393f511
oai_identifier_str oai:digital.cic.gba.gob.ar:11746/8547
network_acronym_str CICBA
repository_id_str 9441
network_name_str CIC Digital (CICBA)
spelling PMCTrack: Delivering Performance Monitoring Counter Support to the OS SchedulerSaez, Juan CarlosPousa, AdriánRodriíguez-Rodriíguez, R.Castro, F.Prieto-Matias, ManuelCiencias de la Información y Bioinformáticaperformance monitoring countersPMCTrackOS schedulingLinux kernelasymmetric multicoreenergy efficiencycache monitoringIntel CMTHardware performance monitoring counters (PMCs) have proven effective in characterizing application performance. Because PMCs can only be accessed directly at the OS privilege level, kernel-level tools must be developed to enable the end-user and userspace programs to access PMCs. A large body of work has demonstrated that the OS can perform effective runtime optimizations in multicore systems by leveraging performance-counter data. Special attention has been paid to optimizations in the OS scheduler. While existing performance monitoring tools greatly simplify the collection of PMC application data from userspace, they do not provide an architecture-agnostic kernel-level mechanism that is capable of exposing high-level PMC metrics to OS components, such as the scheduler. As a result, the implementation of PMC-based OS scheduling schemes is typically tied to specific processor models. To address this shortcoming we present<em>PMCTrack</em>, a novel tool for the Linux kernel that provides a simple architecture-independent mechanism that makes it possible for the OS scheduler to access per-thread PMC data. Despite being an OS-oriented tool, PMCTrack still allows the gathering of monitoring data from userspace, enabling kernel developers to carry out the necessary offline analysis and debugging to assist them during the scheduler design process. In addition, the tool provides both the OS and the user-space PMCTrack components with other insightful metrics available in modern processors and which are not directly exposed as PMCs, such as cache occupancy or energy consumption. This information is also of great value when it comes to analyzing the potential benefits of novel scheduling policies on real systems. In this paper, we analyze different case studies that demonstrate the flexibility, simplicity and powerful features of PMCTrack.2017info:eu-repo/semantics/articleinfo:eu-repo/semantics/submittedVersionhttp://purl.org/coar/resource_type/c_6501info:ar-repo/semantics/articuloapplication/pdfhttps://digital.cic.gba.gob.ar/handle/11746/8547enginfo:eu-repo/semantics/altIdentifier/doi/10.1093/comjnl/bxw065info:eu-repo/semantics/openAccesshttp://creativecommons.org/licenses/by/4.0/reponame:CIC Digital (CICBA)instname:Comisión de Investigaciones Científicas de la Provincia de Buenos Airesinstacron:CICBA2025-10-16T09:27:09Zoai:digital.cic.gba.gob.ar:11746/8547Institucionalhttp://digital.cic.gba.gob.arOrganismo científico-tecnológicoNo correspondehttp://digital.cic.gba.gob.ar/oai/snrdmarisa.degiusti@sedici.unlp.edu.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:94412025-10-16 09:27:09.479CIC Digital (CICBA) - Comisión de Investigaciones Científicas de la Provincia de Buenos Airesfalse
dc.title.none.fl_str_mv PMCTrack: Delivering Performance Monitoring Counter Support to the OS Scheduler
title PMCTrack: Delivering Performance Monitoring Counter Support to the OS Scheduler
spellingShingle PMCTrack: Delivering Performance Monitoring Counter Support to the OS Scheduler
Saez, Juan Carlos
Ciencias de la Información y Bioinformática
performance monitoring counters
PMCTrack
OS scheduling
Linux kernel
asymmetric multicore
energy efficiency
cache monitoring
Intel CMT
title_short PMCTrack: Delivering Performance Monitoring Counter Support to the OS Scheduler
title_full PMCTrack: Delivering Performance Monitoring Counter Support to the OS Scheduler
title_fullStr PMCTrack: Delivering Performance Monitoring Counter Support to the OS Scheduler
title_full_unstemmed PMCTrack: Delivering Performance Monitoring Counter Support to the OS Scheduler
title_sort PMCTrack: Delivering Performance Monitoring Counter Support to the OS Scheduler
dc.creator.none.fl_str_mv Saez, Juan Carlos
Pousa, Adrián
Rodriíguez-Rodriíguez, R.
Castro, F.
Prieto-Matias, Manuel
author Saez, Juan Carlos
author_facet Saez, Juan Carlos
Pousa, Adrián
Rodriíguez-Rodriíguez, R.
Castro, F.
Prieto-Matias, Manuel
author_role author
author2 Pousa, Adrián
Rodriíguez-Rodriíguez, R.
Castro, F.
Prieto-Matias, Manuel
author2_role author
author
author
author
dc.subject.none.fl_str_mv Ciencias de la Información y Bioinformática
performance monitoring counters
PMCTrack
OS scheduling
Linux kernel
asymmetric multicore
energy efficiency
cache monitoring
Intel CMT
topic Ciencias de la Información y Bioinformática
performance monitoring counters
PMCTrack
OS scheduling
Linux kernel
asymmetric multicore
energy efficiency
cache monitoring
Intel CMT
dc.description.none.fl_txt_mv Hardware performance monitoring counters (PMCs) have proven effective in characterizing application performance. Because PMCs can only be accessed directly at the OS privilege level, kernel-level tools must be developed to enable the end-user and userspace programs to access PMCs. A large body of work has demonstrated that the OS can perform effective runtime optimizations in multicore systems by leveraging performance-counter data. Special attention has been paid to optimizations in the OS scheduler. While existing performance monitoring tools greatly simplify the collection of PMC application data from userspace, they do not provide an architecture-agnostic kernel-level mechanism that is capable of exposing high-level PMC metrics to OS components, such as the scheduler. As a result, the implementation of PMC-based OS scheduling schemes is typically tied to specific processor models. To address this shortcoming we present<em>PMCTrack</em>, a novel tool for the Linux kernel that provides a simple architecture-independent mechanism that makes it possible for the OS scheduler to access per-thread PMC data. Despite being an OS-oriented tool, PMCTrack still allows the gathering of monitoring data from userspace, enabling kernel developers to carry out the necessary offline analysis and debugging to assist them during the scheduler design process. In addition, the tool provides both the OS and the user-space PMCTrack components with other insightful metrics available in modern processors and which are not directly exposed as PMCs, such as cache occupancy or energy consumption. This information is also of great value when it comes to analyzing the potential benefits of novel scheduling policies on real systems. In this paper, we analyze different case studies that demonstrate the flexibility, simplicity and powerful features of PMCTrack.
description Hardware performance monitoring counters (PMCs) have proven effective in characterizing application performance. Because PMCs can only be accessed directly at the OS privilege level, kernel-level tools must be developed to enable the end-user and userspace programs to access PMCs. A large body of work has demonstrated that the OS can perform effective runtime optimizations in multicore systems by leveraging performance-counter data. Special attention has been paid to optimizations in the OS scheduler. While existing performance monitoring tools greatly simplify the collection of PMC application data from userspace, they do not provide an architecture-agnostic kernel-level mechanism that is capable of exposing high-level PMC metrics to OS components, such as the scheduler. As a result, the implementation of PMC-based OS scheduling schemes is typically tied to specific processor models. To address this shortcoming we present<em>PMCTrack</em>, a novel tool for the Linux kernel that provides a simple architecture-independent mechanism that makes it possible for the OS scheduler to access per-thread PMC data. Despite being an OS-oriented tool, PMCTrack still allows the gathering of monitoring data from userspace, enabling kernel developers to carry out the necessary offline analysis and debugging to assist them during the scheduler design process. In addition, the tool provides both the OS and the user-space PMCTrack components with other insightful metrics available in modern processors and which are not directly exposed as PMCs, such as cache occupancy or energy consumption. This information is also of great value when it comes to analyzing the potential benefits of novel scheduling policies on real systems. In this paper, we analyze different case studies that demonstrate the flexibility, simplicity and powerful features of PMCTrack.
publishDate 2017
dc.date.none.fl_str_mv 2017
dc.type.none.fl_str_mv info:eu-repo/semantics/article
info:eu-repo/semantics/submittedVersion
http://purl.org/coar/resource_type/c_6501
info:ar-repo/semantics/articulo
format article
status_str submittedVersion
dc.identifier.none.fl_str_mv https://digital.cic.gba.gob.ar/handle/11746/8547
url https://digital.cic.gba.gob.ar/handle/11746/8547
dc.language.none.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv info:eu-repo/semantics/altIdentifier/doi/10.1093/comjnl/bxw065
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
http://creativecommons.org/licenses/by/4.0/
eu_rights_str_mv openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by/4.0/
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:CIC Digital (CICBA)
instname:Comisión de Investigaciones Científicas de la Provincia de Buenos Aires
instacron:CICBA
reponame_str CIC Digital (CICBA)
collection CIC Digital (CICBA)
instname_str Comisión de Investigaciones Científicas de la Provincia de Buenos Aires
instacron_str CICBA
institution CICBA
repository.name.fl_str_mv CIC Digital (CICBA) - Comisión de Investigaciones Científicas de la Provincia de Buenos Aires
repository.mail.fl_str_mv marisa.degiusti@sedici.unlp.edu.ar
_version_ 1846142615733403648
score 12.712165