Linux on the Cell Broadband Engine Architecture

A Presentation by Arnd Bergmann

Computers based on the Cell Broadband Engine Architecture have in the past been available only to a very small group of developers. They are now becoming vastly more popular, in the end of 2006 at least four companies (IBM, Sony, Mercury and Toshiba) are selling products, all of them designed to run Linux.

This presentation gives an overview of the available software stack for Cell, including tool chain, optimized libraries, simulators and distributions. The main focus will be on the implementation and interfaces of the kernel specific to the usage of the Synergistic Processing Units (SPUs). These are the main novelty of the Cell BE processor compared to other common CPUs.

A Cell BE processor has eight SPU cores, which autonomously execute application code in their own local memory of 256kb per SPU, while the operating system runs on another core implementing the PowerPC architecture. Linux uses a file system for interaction between user tasks running on the PowerPC core and those running on an SPU. This file system manages virtualizing the SPU resources as well as loading binaries compiled for the SPU instruction set
and communicating with them at run time.

On a higher-level abstraction, an operating system independent library is used to create threads running on an SPU and interact with them from a given process.

The presenter is maintaining the Cell BE platform code in the Linux kernel and has implemented a significant portion of that code.

Direct link to video