Date Posted: April 29, 2009
What is CellAttach?
Hybrid system architectures are gaining more and more traction within the IT industry. Coupling emerging multi-core platforms to commodity hardware will yield huge benefits in terms of computational throughput and system efficiency in future application designs. The Cell/B.E. processor architecture or (GP) GPUs as co-processor-like accelerators are targets for compute-bound workloads requiring many parallel compute units. Coupling the IBM PowerXCell 8i (the successor to the original Cell/B.E. processor as used in the Sony Playstation3) with standard x86 (-64) processors to build a hybrid system allows the acceleration of compute-intensive workloads.
CellAttach provides the Windows device drivers and a compiled application environment to offload the compute-intensive tasks to the IBM PowerXCell 8i processor. The host x86 processor is free to focus on the standard computation of the application such as display, input/output handling, and x86-only executables. This allows a much broader range of applications to run as compared to an IBM PowerXCell 8i-only environment. It enables a wide variety of x86 applications to be run on hybrid systems containing and making use of both processors.
Since the IBM PowerXCell 8i provides performance advantages in the range of 10- to 100-times for specific algorithms, it speeds up the algorithms encapsulated within a larger application.
The CellAttach package contains:
- The firmware required to be flashed to the Power Accelerator Card
- A Makefile to automatically build the GNU toolchain for the Cell/B.E. SPU
- The library libspe2 for algorithm offloading of certain functions
- The required drivers.
How does it work?
CellAttach provides the low-level software environment of the host system and the accelerator device, including a device driver for the Windows operating system needed to use such a configuration. Standard Cell/B.E.-based platforms will run the main application content on the PPE on top of Linux and the IBM SDK for the Cell/B.E. With CellAttach it is possible to run the main application content on a standard platform like a PC or workstation containing a Cell/B.E. PCIe adapter card such as mvXCell-8i from MatrixVision or GigaAccel 180 from Fixstars.
Detailed instructions on how to install and use CellAttach are included in a README file in the download zip file.
About the technology author(s)
Hartmut Penner was the lead firmware architect for the IBM BladeCenter QS21 and QS22 blades. Based on this experience he contributed to the success of the Los Alamos supercomputer breaking the 1 Petaflop/s barrier, and to the firmware for the IBM PowerXCell 8i Accelerator Board. Hartmut is currently working in the IBM Watson Reserach Center on future processor technologies.
Jan Kunigk is a firmware expert in the IBM Boeblingen development team and led the CellAttach team to get the initial version of CellAttach to work. He is currently working on firmware concepts for future hybrid system architectures.
Oliver Rettig was responsble as the hardware program manager for delivering the IBM BladeCenter QS21 and QS22 products to the market, as well as providing the QS22 components to the team who built the Los Alamos supercomputer. He currently works in business development for Cell/B.E. platforms, High Performance Computing, and System x platforms.
