Press Releases - Press Information - Spb Software House
Spb Software House Home Page
ABOUT CONTACT US PRESS
Smartphone SoftwareDownload Spb Pocket PC SoftwareUniThemesEnterprise Solutions for Pocket PCTechnical Support

Spb Software House Assembles the First Pocket PC "Supercomputer" Ever

This is what the Pocket PC cluster looks like. The rack shown here contains eleven Pocket PC devices that acted as nodes of the supercomputer. You can also see the infrared ports of the devices transmitting and receiving data.

More images...

As a part of our continuing research at Spb Software House, we have assembled and tested a computing cluster based on Pocket PC devices. Twelve Pocket PC devices have been joined in a cluster to perform distributed calculations - the devices share the load of a complex calculation. The concept was to compare the performance of several Pocket PC devices linked into a cluster with the performance of a typical Pentium II-class desktop computer.

The research we constantly carry out is focused on the Pocket PC platform, its possible uses and its abilities. As part of this research, we have created Spb Benchmark, a tool that is intended to measure the performance of various Pocket PC devices and compare them with one another. During our work on Spb Benchmark, we became curious about how a Pocket PC would compare with an average desktop system. Thus, the idea to build a small Pocket PC-based supercomputer was born.

We did not have any plans on using Pocket PCs for actual calculations; instead, we wanted to see if it was possible to use Pocket PCs in distributed computing and measure the performance of the platform in this area. Although there is no practical application for this technology at the present time, we're optimistic that one will present itself eventually. Distributed computing is just starting to have practical applications in the desktop world, so we feel this will trickle down to the mobile devices world eventually. After all, history has many examples of ideas that have not seemed to be of any importance at the time they were born, but became very useful afterwards.

The "3n + 1" Problem

The "3n + 1" problem involves starting with a particular integer n, and repeatedly performing the following operation:

If (n is even) divide n by 2;
Else multiply n by 3, and add 1.

For example, starting with the number 6, we get the following series:

6, 3, 10, 5, 16, 8, 4, 2, 1, 4, 2, 1...

The 4,2,1 loop repeats over and over, so it's usually convenient to terminate the process once it is entered. All numbers tested so far eventually hit this loop, although it has not been proven that all numbers do.

Why a cluster? It is obvious that a single Pocket PC device cannot be compared to a desktop PC since the latter was designed around the idea of being plugged into an electrical socket - power consumption is not an issue on a desktop PC. However, if we could unite a number of Pocket PC devices and make them act as a single computer, we could reach a certain level of performance, high enough to be compared to those of a "big" computer. Therefore, we have created a cluster of twelve Pocket PC devices.

The idea is quite simple: there are eleven Pocket PCs that act as nodes of the cluster, and these devices actually perform all the calculations. There is one additional device that is controlling the others, giving them small pieces of information to process, and collecting the results of each node's calculations. Our cluster was solving the "3n + 1" problem - it is a well-known mathematic problem that has not been solved yet. It is simple enough and very suitable for parallel calculations. We tried neither to solve this problem nor to achieve any significant results - we just wanted to see how a cluster of Pocket PCs would do that.

The Pocket PCs communicate with each other via IrDA using built-in infrared ports. Of course, communication via infrared is quite slow, but the problem we were "solving" did not require much communication between the nodes and the controlling Pocket PC. We could use Bluetooth or TCP/IP communication instead, but every Pocket PC has an infrared port and we did not want to involve any additional hardware.

It turns out that even a small cluster consisting of twelve nodes is still slower than a mainstream Pentium II-class desktop PC. However, the performance of Pocket PC devices is quite enough to deal with simple problems and their most important benefit is mobility. This makes Pocket PC platform very promising if used in distributed systems dealing with such problems as positioning and measurement.

However, stellar performance is not the point that one can expect from a distributed system based on Pocket PC devices. We have already received some comments from high-performance computing specialists that are very enthusiastic about further development on distributed computing based on mobile devices.

Mikhail Chalabine from Programming Environments Laboratory at Linköping University, Sweden, commented: «Let us remember about the mobility Pocket PCs provide. A great deal of research has been done in the area of ad-hoc networking, and we see this project as an attempt to extend these with the idea of building dynamic clusters on the fly, where no spatial boundaries exist for distributed computations.

We envision such systems as more localized analogue to the large computational GRIDs. We believe there are tasks for such dynamic architectures and we expect the first steps by Spb Software House to contribute this particular direction of High Performance Computing development, bringing new issues into the sharper focus.»

About Spb Software House

Spb Software House is a software development company, specializing mainly in Windows Mobile software for Pocket PCs. Founded in 1999, the company offers advanced software solutions for use in a wide range of applications.