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
- Institución
- Comisión de Investigaciones Científicas de la Provincia de Buenos Aires
- OAI Identificador
- oai:digital.cic.gba.gob.ar:11746/8547
Ver los metadatos del registro completo
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 |