API for Performance Monitoring in Embedded Multicore Systems

Hardware Performance Counters (HPCs) are special registers available in the most modern processors that can be used to monitor shared hardware resources in multicore processors. Specifically for embedded real-time applications running on a multicore processor, such shared resources can affect their performance and cause deadline misses. This paper presents a hardware performance counter interface designed to embedded systems. The use of the interface is demonstrated through a benchmark that shares data between two threads executing in different cores of a multicore processor. As a result, the operating system can obtain an accurate view of software's behavior.

[1]  Antônio Augusto Fröhlich,et al.  Operating Systems Portability: 8 bits and beyond , 2006, 2006 IEEE Conference on Emerging Technologies and Factory Automation.

[2]  Alexandra Fedorova,et al.  Addressing shared resource contention in multicore processors via scheduling , 2010, ASPLOS XV.

[3]  The Performance Implications of Locality Information Usage in Shared-Memory . . . , 1996 .

[4]  R. Wilhelm,et al.  Predictability Considerations in the Design of Multi-Core Embedded Systems ∗ , 2010 .

[5]  Antônio Augusto Fröhlich,et al.  Application oriented operating systems , 2001 .

[6]  Robert Tappan Morris,et al.  An Analysis of Linux Scalability to Many Cores , 2010, OSDI.

[7]  Boris Weissman,et al.  Performance counters and state sharing annotations: a unified approach to thread locality , 1998, ASPLOS VIII.

[8]  Antônio Augusto Fröhlich,et al.  Hardware Mediators: A Portability Artifact for Component-Based Systems , 2004, EUC.

[9]  Min Zhou,et al.  Experiences and lessons learned with a portable interface to hardware performance counters , 2003, Proceedings International Parallel and Distributed Processing Symposium.

[10]  M. Caccamo,et al.  Using Multicore Architectures in Cyber-Physical Systems , 2011 .

[11]  Michael Stumm,et al.  Thread clustering: sharing-aware scheduling on SMP-CMP-SMT multiprocessors , 2007, EuroSys '07.

[12]  James H. Anderson,et al.  On the Design and Implementation of a Cache-Aware Multicore Real-Time Scheduler , 2009, 2009 21st Euromicro Conference on Real-Time Systems.