A Comparison of Programming Models for Multiprocessors with

A Comparison of Programming Models for Multiprocessors with...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: A Comparison of Programming Models for Multiprocessors with Explicitly Managed Memory Hierarchies Scott Schneider Jae-Seung Yeom Benjamin Rose John C. Linford Adrian Sandu Dimitrios S. Nikolopoulos * Department of Computer Science Virginia Tech Blacksburg, VA 24060, USA { scschnei, jyeom, bar234, jlinford, asandu, dsn } @cs.vt.edu Abstract On multiprocessors with explicitly managed memory hierarchies (EMM), software has the responsibility of moving data in and out of fast local memories. This task can be complex and error-prone even for expert programmers. Before we can allow compilers to handle the complexity for us, we must identify the abstractions that are general enough to allow us to write applications with reason- able effort, yet specific enough to exploit the vast on-chip memory bandwidth of EMM multi-processors. To this end, we compare two programming models against hand-tuned codes on the STI Cell, paying attention to programmability and performance. The first programming model, Sequoia, abstracts the memory hierarchy as private address spaces, each corresponding to a parallel task. The second, Cellgen, is a new framework which provides OpenMP-like semantics and the abstraction of a shared address spaces divided into private and shared data. We compare three applications pro- grammed using these models against their hand-optimized coun- terparts in terms of abstractions, programming complexity, and per- formance. Categories and Subject Descriptors D.1.3 [ Programming Tech- niques ]: Concurrent ProgrammingParallel programming; D.3.4 [ Programming Languages ]: Language ClassificationsConcurrent, distributed, and parallel languages General Terms Design, Languages Keywords Cell BE, Explicitly Managed Memory Hierarchies, Programming Models 1. Introduction Multi-core processors with explicitly managed memory hierar- chies have recently emerged as general-purpose high-performance computing platforms. Some of these processors, such as Cell and GPUs [5, 21], originated in the computing domains of games and * Also with the Institute of Computer Science, Foundation of Research and Technology Hellas (FORTH-ICS). Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. PPoPP09, February 1418, 2009, Raleigh, North Carolina, USA. Copyright c 2009 ACM 978-1-60558-397-6/09/02. . . $5.00 graphics. More recently, processor vendors for mainstream com- puting markets such as Intel and AMD introduced similar de- signs [24]. All of these processors have data-parallel components as accelerators. This acceleration is achieved through several to many scalar or SIMD cores, high on-chip bandwidth, and explicit data...
View Full Document

Page1 / 10

A Comparison of Programming Models for Multiprocessors with...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online