Do video game consoles make good cluster nodes?

Print Friendly, PDF & Email

Back in 2003, the National Center for Supercomputer Applications (NCSA) built a cluster using PlayStation 2. The benefit of this set-up, according to the investigators, is that the PS2 has two vector processors alongside the CPU. This means that the PS2 is both cheaper and more powerful than traditional uniprocessor computers.

A quick look at the set-up, however, demonstrates that building the cluster was not easy. The investigators had to install hard drives and ethernet cards, not to mention build a Linux image for the system. Furthermore, they had to contend with programming vector units in an environment that only sports 32 MB of memory. Despite these limitations, the machine can perform matrix computations at 1 GFLOP per node.

The NCSA’s work inspired others to build clusters with Xbox, though this console requires various hacks to boot Linux, such as mod chips or buffer overflow exploits.

Given these setups, there has been some interest in building a cluster of PlayStation 3 when the device debuts in November 2006. The PS3 CPU is IBM’s Cell Broadband Engine (Cell BE), which has nine cores. One core, known as “Power Processor Element” (PPE)—based on the POWER architecture—will act as a controller for the other eight cores, known as “Synergistic Processing Elements” (SPEs). Of the eight SPEs, only seven are ever active; the remaining one is for redundancy, which means that a core may fail but the entire system will continue to function.

In addition to Cell, the PS3 boasts an additional GPU, NVIDIA’s Reality Synthesizer (RSX). This chip is based on the GeForce graphics card.

To complement the processing capabilities, the PS3 has 256 MB of Rambus XDR memory, plus an additional 256 MB of VRAM. To top all of this off, the PS3 includes a gigabit ethernet interface and a hard drive with Linux pre-installed.

With this setup, it’s only a mater of time before a zealous hacker builds a cluster using this console. But how suitable really is the PlayStation 3 for a technical or enterprise computer?

First off, programming the Cell is very different from programming regular uniprocessors because of the inherent level of concurrency required to maximize efficient utilization. One may wonder whether software tools may eventually become available for Cell, such as IBM’s own X10 language. So far there appear to be no announcements in this area.

Secondly, the PS3 does not natively support low-latency networks such as InfiniBand, which automatically invalidates it as a candidate for certain computing applications that require numerous small message transfers. There may yet be a means of expanding the console to include commodity offload cards, though again there have been no announcements in this space.

Thirdly, and perhaps most importantly for larger configurations, it is extremely unlikely that Sony will provide any service support for a cluster configuration at all. Thus, businesses will be unable to call upon the vendor should the product experience troubles.

Given these issues, it thus seems unlikely that the PlayStation 3 will make an adequate cluster node. If someone does want to build a cluster using the Cell, Mercury Computer Systems offers a 1U Dual Cell-Based Server with PCI Express expansion slots. Here’s hoping for X10 on Cell.