Redeploying unmodified consumer smartphones in a datacenter environment would be hazardous and inefficient. Smartphones’ compute elements are wrapped in components that aren’t needed in the server context — display, battery, chassis, and peripheral hardware like cameras. In addition to taking up valuable space, some components, such as batteries, contain materials not rated for a datacenter environment.
Prior to deployment, smartphones must be processed to remove all but the motherboard, which contains the core compute functionality. Note that the motherboard is responsible for the largest fraction of embodied carbon (approximately 50% based on internal carbon footprinting assessments), so this effort targets the most impactful components.
The Android operating system (OS) is already based on Linux, but the mobile-oriented Android userspace must be replaced with a general-purpose Linux distro. Updating the OS doesn't just get programmability; it also switches off many of the protections that are important for consumer devices, but unnecessary for cloud computing. For example, phones have a “low memory killer” daemon, which throttles memory-hungry applications.
The challenge of orchestrating jobs across the large number of devices that are needed to meet the performance of a traditional server — SPEC benchmarking results indicate that 25-50 phones equate to a modern server — is addressed by the use of containerized applications managed by Kubernetes. The phones are organized into self-managing clusters of 25-50 devices.