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
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
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.
Oh man, seems the folks in St. Petersburg have a lot of fun in their development department. Amazing what a (12) Pocket PC(s) can do already today.