LRR-TUM-Logo Department of Informatics
Technische Universität München
Informatik X: Rechnertechnik und Rechnerorganisation / Parallelrechnerarchitektur
Prof. Dr. Arndt Bode , Prof. Dr. Hans Michael Gerndt
abakus50x50.gif
 Home  | Addresses  | Staff  | Research  | Lectures 
Search 

Driver software used within the SMiLE project



Dolphin's Interconnect Resource Manager

Dolphin, as the manufacturer of SCI, provides a NIC driver of their SCI cards, which they call Interconnect Resource Manager (IRM). This driver, which is available for many platforms, allows the secure setup of SCI mappings to allow user-level communication. The driver also provides support for DMA and remote interrupts and provides basic fault-tolerance and hot-plug mechanisms.

In order to be able to support a global virtual memory across the whole cluster, it was necessary to extend the given driver. This extension enables the SCI-VM software to map remote memory at a much finer granularity and with much less overhead by allowing the SCI-VM to address the NIC hardware directly without interfering with the normal operation of driver software. This implementation will soon be available in the standard distribution of the NIC driver.

For more information on this driver and available platforms, please check Dolphin's website.


The SMiLE driver

For the SMiLE adapter an own driver has been developed. More information on this will be available soon ...


The SISCI API for the user level programmer

All three of the above drivers are committed to provide a common API, the so called SISCI API, to the user level programmer effectively hiding any hardware differences. This API has been defined within the SISCI project (hence the name) and provides the user with easy to use functions for setting up and managing shared memory segments. It also provides DMA and remote interrupt capabilities.

For more information on this API and available platforms, please check Dolphin's website.


The SMiLE Monitor driver and user-level API

For the SMiLE hardware monitor an own driver and a special user level API have been developed.

Data directly gathered by the hardware monitor is purely based on physical addresses, low-level, and fine--grained. In order to prevent the necessity to actually store the complete transaction information for later processing and to enable an efficient on-line analysis of the observed data, the hardware monitor enables a sophisticated real--time analysis of the acquired data.

This analysis has been done by a low-level software infrastructure which comprises a driver and an interface (called C-API), performing a complete data handling process. Raw data is first read and delivered to an intermediate buffer in order to release space in the ring buffer for continuous monitoring. From there, individual information such as source and destination IDs, transaction types, as well as memory addresses is extracted and sorted into a hist tree using page number as the index. Based on the hist tree, the C-API transforms the low-level monitoring information to a higher-level and more readable form at e.g. page, region, and node granularity.

The result are so--called memory access histograms which show the number of memory accesses across the complete virtual address space of an application's working set separated with respect to target node IDs. These histograms give the user a first and direct overview of the real memory access behavior of the target application and form the base for tools to tune the programs towards a better performance.


Back to SMiLE homepage

Questions, suggestions, ideas, criticism ?
Don't hesitate to send us an eMail!

(none) Webmaster