5 of 6Image
Work building the Pi platform began in September last year. The platform has four Lego racks, each containing 14 Model B Pi boards. The boards are powered by USB hubs, and linked by Netgear ethernet switches and various routers. An attached x86 box acts as a software repository and a control node.
The Pi cloud's virtual layer is based on LinuX Containers (LXC). LXC provide a way of running multiple Linux systems on a single Linux kernel. Each container or system has its own file system, as well as process and network space, but is not a full virtual machine. LXC was chosen due to its lightweight memory footprint being a good fit for the Pi's 512MB of RAM.
Each Pi can host three containers running Debian Wheezy, making a total of 168 containers. Students have been experimenting running light HTTP web servers, benchmarking tools and other software inside the containers.
The array of weedy, lower power Arm chips in the Pi cluster has similarities with the architecture of microservers beginning to find their way into datacentres, said White.
"Energy efficiency is a big issue in cloud right now. Perhaps Arm is going to have more of a say in cloud infrastructure in the future and this is an example of running a Pi cloud off a single plug socket."
Eventually White hopes to scale the platform to 1,000 Pi boards, so as to better represent the architectures of platforms run by the likes of Amazon Web Services.
"We've got 56 nodes now, I'd love to see a Pi cloud with 1,000. The nice thing about going up to that scale is it would allow us to have much higher volumes on our network and more complex architectures. We don't have multiple clusters interacting at the moment which we would really like to see," he said.
"If you're using a simulator to teach or just letting students use AWS you don't realise the practical and technical issues that these big providers have to solve, the low level hacking that's involved in making these things run well. Moving it to a larger scale might expose further issues, such as network bottlenecks."
As well as running a cloud platform on the cluster the researchers are also experimenting using it to run Hadoop natively.
The project has been supported by the university's Learning and Teaching Development Fund. More information on the Raspberry Pi Cloud project is available here.