Migratory Trash Clouds

Reliable cloud computing is too expensive, as evidenced by a simple look at a bill from all of the cloud instances spun up to generate the data for this year’s ASPLOS submission. The last several decades of Moore’s law have yielded chips with exponential performance increases and costs dropping annually, but the need for more computation has arguably outpaced the improvement in cost per dollar, especially with the commoditization of computing at the warehouse-scale [1]. A major cost behind commoditized computing at warehousescale is power management, distribution, and storage. Cooling and power distribution add 50% to 100% to the cost of operating servers [12, 13]. Moreover, servers require maintenance of both their software and their hardware, which add additional cost in peoples’ time and hardware components that need replacing. Often, the goal of all of this cooling, power distribution, maintenance, and hardware is to provide uptime, which translates to availability and reliability for customers. We observe that availability and reliability are often not important and we advocate for jettisoning power system, hardware, and software support for both. Instead, we propose a model of commoditized computing that is opportunistic, unreliable, and sometimes unavailable, but incurs little of the cost associated with conventional commodity bulk computing solutions. We present a design for a computing system that implements this model using a geodistributed collection of low-reliability clusters of discarded, then reclaimed hardware (e.g., old smartphones), powered through harvested renewable energy sources, like the sun. Repurposing outdated hardware minimizes the upfront cost of the computing system and reduces the environmental impact of the discarded goods. Using a re-newable power supply minimizes recurring operating costs, however presents the challenge of computing on an intermittently-powered processor. To ensure forward progress and guard against unrecoverable data corruption due to arbitrary power failures, the runtime software will leverage existing techniques for interruptible computation, such as two-phase commit [7], logging [14], and programming techniques from intermittent computing [10, 3, 11, 2, 4]. Each cluster is (sporadically) connected to other clusters and potentially to the Internet. Inputs and outputs for the computation on the cluster are transmitted either directly to individual nodes via their existing cellular modems, or through a percluster gateway with a specialized radio (e.g., LoRa [5]). Low power, long range communication [5] between clusters allows workloads to migrate to clusters with greater energy availabilty. To eliminate the high energy cost of high-bandwith communication, however, the workload can follow energy availability not by migrating to a different cluster but by physically moving the cluster itself towards the energy source. We envision mobile clusters as a payload aboard a perpetually aloft, longhaul solar drone glider. The drone can be programmed to fly above the clouds and follow the sun, providing best-effort continuous availability for the cluster. Migratory Trash Clouds provides a best-effort guarantee to Figure 1: Migratory Trash Clouds components