Programming the CELL-BE using CSP

Kenneth Skovhede, Morten N Larsen, Brian Vinter

Abstract

The current trend in processor design seems to focus on using multiple cores, similar to a cluster-on-a-chip model. These processors are generally fast and power efficient, but due to their highly parallel nature, they are notoriously difficult to program for most scientists. One such processor is the CELL broadband engine (CELL-BE) which is known for its high performance, but also for a complex programming model which makes it difficult to exploit the architecture to its full potential. To address this difficulty, this paper proposes to change the programming model to use the principles of CSP design, thus making it simpler to program the CELL-BE and avoid livelocks, deadlocks and race conditions. The CSP model described here comprises a thread library for the synergistic processing elements (SPEs) and a simple channel based communication interface. To examine the scalability of the implementation, experiments are performed with both scientific computational cores and synthetic workloads. The implemented CSP model has a simple API and is shown to scale well for problems with significant computational requirements.

Original languageEnglish
Title of host publicationCertified Associate Programmer
Number of pages16
Publication date2011
Pages55-70
Publication statusPublished - 2011

Fingerprint

Dive into the research topics of 'Programming the CELL-BE using CSP'. Together they form a unique fingerprint.

Cite this