@InProceedings{Dimmich07, title = "{U}sing occam-pi {P}rimitives with the {C}ell {B}roadband {E}ngine", author= "Dimmich, Damian J.", editor= "McEwan, Alistair A. and Schneider, Steve and Ifill, Wilson and Welch, Peter H.", pages = "507--508", booktitle= "{C}ommunicating {P}rocess {A}rchitectures 2007", isbn= "978-1-58603-767-3", year= "2007", month= "jul", abstract= "The Cell Broadband Engine has a unique non-heterogeneous archi- tecture, consisting of an on-chip network of one general purpose PowerPC pro- cessor (the PPU), and eight dedicated vector processing units (the SPUs). These processors are interconnected by a high speed ring bus, enabling the use of different logical network topologies. When programming the Cell Broadband Engine using languages such as C, a developer is faced with a number of chal- lenges. For instance, parallel execution and synchronisation between proces- sors, as well as concurrency on individual processors, must be explicitly, and carefully, managed. It is our belief that languages explicitly supporting concur- rency are able to offer much better abstractions for programming architectures such as the Cell Broadband Engine. Support for running occam- programs on the Cell Broadband Engine has existed in the Transterpreter for some time. This support has however not featured efficient inter-processor communication and barrier synchronisation, or automatic deadlock detection. We discuss some of the changes required to the occam- scheduler to support these features on the Cell Broadband Engine. The underlying on-chip communication and synchronisation mechanisms are explored in the development of these new scheduling algorithms. Benchmarks of the communications performance are provided, as well as a discussion of how to use the occam- language to distribute a program onto a Cell Broadband Engine\&\#8217;s processors. The Transterpreter runtime, which already has support for the Cell Broadband Engine, is used as the platform for these experiments. The Transterpreter can be found at www.transterpreter.org." }