3 of 6Image
Sitting in just four small lego racks the Pi cloud may be one of the few cloud platforms that you can carry under your arm.
"One of the great things about the Pi cloud is that it's portable. We can literally pick a chunk of it up and take it directly into lectures to do live demos," said Dr David White, of the University's School of Computing Science, adding the platform is used to teach about software deployment and networking.
"To do something like this using x86 nodes would be much more expensive but we would also be restricted to putting it in a machine room and at that point you've lost the hands-on teaching aspect and the portability.
"The main purpose is to build something that is logically similar and not computationally similar. Obviously pound for pound and watt for watt you'd be much better off building an x86 cluster if you wanted to do computation."
The cloud platform primary purpose is as a teaching tool. Some of the students were tasked with helping to build the infrastructure as part of their final year project for master's degrees. Other students have been carrying out research projects, programming in Python to build RESTful web interfaces to control routers, as well as developing tools to investigate what's going on in the system.
The Raspberry Pi cloud gives students a better understanding of the workings of cloud platforms than the software models the university was previously using.
"The Pi cloud gives student the opportunity to build and change the infrastructure or change the networking in a way we can't do without having physical access to a datacentre," said White.
The platform's network is configured to mimic that of a cloud platform, with top of rack switches connected to the 14 Pi boards in each lego rack.
The university is also running OpenFlow software on the routers and switches to virtualise the network layer. Using OpenFlow has allowed Mac address-based routing, rather than IP-based, which makes it easier to migrate virtual containers between racks.
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.