Javascript must be enabled to continue!
Programming Heterogeneous Clusters with Accelerators Using Object-Based Programming
View through CrossRef
Heterogeneous clusters that include accelerators have become more common in the realm of high performance computing because of the high GFlop/s rates such clusters are capable of achieving. However, heterogeneous clusters are typically considered hard to program as they usually require programmers to interleave architecture-specific code within application code. We have extended the Charm++ programming model and runtime system to support heterogeneous clusters (with host cores that differ in their architecture) that include accelerators. We are currently focusing on clusters that include commodity processors, Cell processors, and Larrabee devices. When our extensions are used to develop code, the resulting code is portable between various homogeneous and heterogeneous clusters that may or may not include accelerators. Using a simple example molecular dynamics (MD) code, we demonstrate our programming model extensions and runtime system modifications on a heterogeneous cluster comprised of Xeon and Cell processors. Even though there is no architecture-specific code in the example MD program, it is able to successfully make use of three core types, each with a different ISA (Xeon, PPE, SPE), three SIMD instruction extensions (SSE, AltiVec/VMX and the SPE's SIMD instructions), and two memory models (cache hierarchies and scratchpad memories) in a single execution. Our programming model extensions abstract away hardware complexities while our runtime system modifications automatically adjust application data to account for architectural differences between the various cores.
Title: Programming Heterogeneous Clusters with Accelerators Using Object-Based Programming
Description:
Heterogeneous clusters that include accelerators have become more common in the realm of high performance computing because of the high GFlop/s rates such clusters are capable of achieving.
However, heterogeneous clusters are typically considered hard to program as they usually require programmers to interleave architecture-specific code within application code.
We have extended the Charm++ programming model and runtime system to support heterogeneous clusters (with host cores that differ in their architecture) that include accelerators.
We are currently focusing on clusters that include commodity processors, Cell processors, and Larrabee devices.
When our extensions are used to develop code, the resulting code is portable between various homogeneous and heterogeneous clusters that may or may not include accelerators.
Using a simple example molecular dynamics (MD) code, we demonstrate our programming model extensions and runtime system modifications on a heterogeneous cluster comprised of Xeon and Cell processors.
Even though there is no architecture-specific code in the example MD program, it is able to successfully make use of three core types, each with a different ISA (Xeon, PPE, SPE), three SIMD instruction extensions (SSE, AltiVec/VMX and the SPE's SIMD instructions), and two memory models (cache hierarchies and scratchpad memories) in a single execution.
Our programming model extensions abstract away hardware complexities while our runtime system modifications automatically adjust application data to account for architectural differences between the various cores.
Related Results
Characterization and control of wet-mix sprayed concrete with accelerators
Characterization and control of wet-mix sprayed concrete with accelerators
The development of the wet-mix system and the use of the sprayed concrete as a part of the new Austrian tunnelling method (NATM) marked an increase in the use and in the structural...
Entrepreneurial finance models for born-global SMEs in Nigeria
Entrepreneurial finance models for born-global SMEs in Nigeria
The main aim of this research is to critically analyse the impact of entrepreneurial finance models (EFM) on the outcome and performance of Born-global Small and Medium Enterprises...
Electrostatic Accelerators
Electrostatic Accelerators
Abstract
The article contains sections titled:
Introduction
Types of Electrostatic Accelerators
...
Depth-aware salient object segmentation
Depth-aware salient object segmentation
Object segmentation is an important task which is widely employed in many computer vision applications such as object detection, tracking, recognition, and ret...
IDCUP Algorithm to Classifying Arbitrary Shapes and Densities for Center-based Clustering Performance Analysis
IDCUP Algorithm to Classifying Arbitrary Shapes and Densities for Center-based Clustering Performance Analysis
Aim/Purpose: The clustering techniques are normally considered to determine the significant and meaningful subclasses purposed in datasets. It is an unsupervised type of Machine Le...
Contour Tracking
Contour Tracking
Abstract
Object tracking is a fundamental problem in computer vision. It is generally required as a preprocessing step that is used to perform motion‐based object recogni...
Introducing object-oriented programming into the computer science curriculum
Introducing object-oriented programming into the computer science curriculum
In recent years, object-oriented programming languages and object-oriented program design have become increasingly popular. Dialects of many popular programming languages are now a...
Symptom clusters in patients receiving chemotherapy: A systematic review
Symptom clusters in patients receiving chemotherapy: A systematic review
Background and purposeSince 2001, symptom cluster research has grown considerably. However, because multiple methodological considerations remain, ongoing synthesis of the literatu...


