IBM, Sony, and Toshiba have jointly ported Linux to the Cell processor, and hope to merge their patches into the next major Linux kernel release, 2.6.13. The port includes a 64-bit PowerPC Linux kernel, and a filesystem enabling the kernel to exploit the chip's multiple independent vector processing units.
IBM's developerWorks has published a detailed, technical article about the port.
Spufs: The Cell Synergistic Processing Unit as a virtual file system
The Cell processor is expected to power Sony's Playstation 3, rumored to be slated for worldwide rollout in March of 2006. However, the chip's co-creators said in December of last year, when they first revealed architectural details, that workstations -- not Playstations -- represented the chip's initial target market.
Like so many new chips being introduced these days, the Cell processor has a multi-core design. However, it does not support SMP (symmetric multiprocessing). Instead, it has a primary 64-bit PowerPC core clocked up to 4GHz, and augmented by multiple independent vector processors called Synergistic Processing Units (SPUs).
According to the developerWorks article, Linux ports readily to the Cell, since Linux has long supported 64-bit PowerPC chips such as those used in Apple Power Macintoshes and IBM's pSeries line of 4- to 16-way enterprise servers. However, taking advantage of the SPUs required additional work.
The Cell team has "done the groundwork" for a Linux kernel port, the developerWorks article says, including porting Linux to the Cell's primary PowerPC core. True to the Linux way of looking at everything as a file, the team also created a virtual filesystem called Spufs (Synergistic processing unit filesystem) that abstracts SPU resources, enabling the Linux kernel to load program binaries into an SPU, transfer memory between an SPU program and a Linux userspace application, and synchronize execution.
While most applications do not immediately run better on Cell, there is a lot of potential to port performance-critical applications to use library code running on an SPU for better performance.
The current set of kernel patches is based on the latest 2.6.xx snapshot kernel, and is maintained by the The IBM LTC (Linux Technology Center) team in Böblingen (Germany) hopes to integrate most of this into the 2.6.13 kernel release, so it will become part of upcoming distribution releases.
200409 200412 200501 200502 200503 200504 200505 200506 200507 200508 200509 200510 200511 200512 200601 200602 200603 200604 200605 200606 200607 200608 200609 200610 200611 200612 200701 200702 200703 200704 200705 200707 200708 200709 200710 200711 200712 200801 200802 200803 200804 200805 200806 200807 200808 200809 200810 200811 200812 200901 200902 200903 200904 200905 200906 200907 200908 200909 200912 201001 201002 201003 201004 201007 201009 201011 201102
Subscribe to Posts [Atom]