One Man’s Trash Is Another Man’s Compute Cluster
The old phones in your junk drawer can rival the performance of traditional cloud-based resources, and are environmentally friendly to boot.
With 97% of Americans, and around six billion people worldwide, owning smartphones now, it is no wonder why it seems like everyone around is staring at a screen all day. And many of those smartphone users are pining after the next model as soon as it is announced. One and a half billion smartphones are sold each year to accommodate this demand, with the previous models being ditched after just a year or two. And what happens to all of those old phones? Most people simply stuff them away in a junk drawer, never to be seen again.
Just because a newer model was released with a better camera and a few other bells and whistles, it does not mean that the older phone is obsolete. On the contrary, even smartphones manufactured ten years ago can still handle many modern compute workloads. Putting those smartphones back in service, not as phones, but as compute devices, not only saves money, but also avoids the negative environmental consequences of unnecessarily manufacturing new devices.
A team of computer scientists at the University of California San Diego have recently demonstrated how a cloudlet can be developed with older smartphones that is capable of running large, end-to-end microservice-based applications. In the course of this work, they also realized that present metrics for calculating the carbon costs of computing do not take into consideration the impact of continued service of older devices. To remedy this situation, they developed a performance metric called Computational Carbon Intensity that balances continued use of older devices with the performance improvements of newer machines.
A small cluster of ten Pixel 3A smartphones manufactured in 2019 was built. The stock Android OS was replaced with Ubuntu Touch, which provides a more desktop computer-like experience. A few additional modules were added to allow for the installation of Docker, which makes it easier to deploy services to the cloudlet. Running in Docker Swarm mode, microservices can be distributed between the smartphones over Wi-Fi. The DeathStarBench suite was also installed to assess the performance of the cluster, and to compare it with traditional cloud-based computing resources.
A pair of end-to-end applications that are included with the DeathStarBench suite were executed on the smartphones, and also on EC2 C5 instances in Amazon Web Services (AWS). This instance type is pitched as providing “cost-effective high performance” for “advanced compute-intensive workloads.” The question to be answered, then, is if a smartphone cluster can also handle “advanced compute-intensive workloads,” but even more cost effectively.
A series of experiments were conducted, and the smartphone cluster was found to be very comparable in performance to what was seen with the AWS instances. In some cases, the phones even outperformed the traditional compute resources. This is especially significant when considering that the team estimates that the cost of operating the smartphone cluster for three years would be about $1,000, whereas the cloud services would cost over $40,000 over that same time period.
The researchers note that if just 10% of the devices discarded in the previous five years were repurposed, we would have 75 million new compute nodes. And those devices would often have very fast, efficient processors, uninterruptible power supplies, wireless communications modules, and a variety of sensors. Maybe this is a good time to have a look through your junk drawer.