Personal tools

Difference between revisions of "Linux Driver for fine-grain and low overhead access to on-chip performance counters"

From iis-projects

Jump to: navigation, search
(Created page with "630px|thumb ==Short Description== In recent years, energy-efficiency is becoming a key challenge in the High Performance Computing (H...")
 
Line 12: Line 12:
  
 
===Prerequisites===
 
===Prerequisites===
*Good knowledge of C and C++ programming.
+
*Experience on writing Linux Device Drivers (kernel-level development).
*Good computer architecture and real-time system background.
+
*Good knowledge of C.
*Good knowledge of control systems.
+
*Knowledge of the Linux Operating System architecture
  
 
===Character===
 
===Character===
: 40% Theory
+
: 20% Theory
: 40% Implementation
+
: 50% Implementation
: 20% Testing
+
: 30% Testing
  
 
===Professor===
 
===Professor===

Revision as of 18:30, 7 September 2016

On-chip performance counters.png

Short Description

In recent years, energy-efficiency is becoming a key challenge in the High Performance Computing (HPC) domain. Indeed, while the demand for more powerful supercomputers is constantly increasing, integrated computing architectures are facing power/thermal challenges that are limiting the performance benefits of technology scaling. Optimizing for energy efficiency requires methods of correlating the application execution with fine-grain power measurements as well as architectural events. Current processors like Intel processors embeds performance counters to monitor online the energy consumption and other architectural parameters. However the software libraries which wraps these performance counters becomes bulky and lead to significant overheads when accessed with high-frequency to track fast workload variations. Currently HPC infrastructure monitoring system samples these values with periods above the seconds to limit this overhead. However most of this overhead is linked to traversing the user-space to kernel space interface more than the direct access to the counter. The Linux O.S. has already an IO subsystem which allows to efficiently move time traces from the kernel space to the user-space by implementing SWf as well as poll and interrupt methods. However this is only used to interface with external monitors and not with the internal per-core architectural performance counters.

Goal of this Project → Implementation and testing of a Linux Device Driver for handling the architectural performance counters as an IO device. This project allows the student to get practical experience with the Linux Kernel Programming, the IO Linux Subsystem widely used in Linux Based SoCs for handling the ADCs and on the use of architectural performance counters.

Status: Available

Looking for 1 Master Students (Semester Project)
Supervision: Antonio Libri, Andrea Bartolini

Prerequisites

  • Experience on writing Linux Device Drivers (kernel-level development).
  • Good knowledge of C.
  • Knowledge of the Linux Operating System architecture

Character

20% Theory
50% Implementation
30% Testing

Professor

Luca Benini

↑ top

Detailed Task Description

Practical Details

↑ top