Digital technology is becoming an indispensable and crucial component of our lives, society and the environment. We present a framework for computing in the context of problems facing the planet. The framework has a number of goals: an optimal digital infrastructure, sensing and optimizing with a global world model, reliably predicting and reacting to our environment and providing digital alternatives to physical activities. This paper describes our vision in which data centres can scale power consumption in line with performance, run closer to the wire with reduced redundancy and behave as a ‘virtual battery’ dynamically using spare, or otherwise unusable, generation capacity from renewable sources. On a broader scale, we consider how global sensing might allow us to optimize our daily activities and lives. We highlight the issues and dilemmas inherent in the deployment of global sensing infrastructure and work towards our challenge of a personal energy meter as a tool for informing decisions and providing impetus for reducing the ecological footprint of our society.
Computing's great success has been its use as a general tool: from scientific computation on the first computers 60 years ago to the billions of computing devices pervading business and society today. Computing is now undergoing a shift from use as a general tool to existing as a fundamental resource built into our environment. Commonplace activities, such as Internet Web search, mobilize huge computing resources on our behalf. The size and scope of these activities would have seemed unobtainable a mere 10 years ago and yet we take this for granted, and even depend upon it, without realizing that we do so. Computing is becoming mandatory in our day-to-day lives.
Computing for the future of the planet is a framework for identifying ways to develop this technological resource so that computing can have a positive effect on our lives and the world (Hopper 2007). This framework is useful in identifying the problems to tackle with technology, for defining the scope of these problems and highlighting the potential impact of their solution. We believe that computing could provide alternatives to our current activities and, through availability of information and education, an impetus for changing our lifestyles. One might argue that a total shift from physical to digital seems unlikely in today's world, but for future generations this concept might seem as obvious as email is to us today.
We have identified four principal goals within the computing for the future of the planet framework. Our first goal considers an optimal digital infrastructure. Koomey (2006) estimated the energy consumption of servers in the USA to be growing at a rate of 15 per cent per year and to consume approximately 1.2 per cent of the total energy demand. This figure is a conservative representation of computing as a whole as it considers only the energy cost of using and cooling servers and omits network infrastructure, data storage and desktop systems. Furthermore, it is important to consider the entire life cycle cost of the machine. Williams (2004) found that the manufacturing phase of a desktop machine with a CRT monitor consumes an estimated 6400 MJ, which is 35 per cent of the energy used in its entire lifetime, if one assumes a typical case of 3 years of continuous operation. An optimal digital infrastructure maximizes the potential environmental benefits of computing by making efficient use of the energy consumed in manufacture, operation and disposal.
Second, we wish to sense and optimize the world around us with reference to a global world model. This model will inform us about the energy consumption and other effects of our activities on the natural environment. Efforts to reduce our ecological footprint will require detailed information to evaluate their success. Furthermore, through optimization, sensor information potentially allows us to minimize the energy consumption and footprint of our physical infrastructure. Sensing the planet requires a global network of data sources and means for sharing and trading data within it.
Our third goal is to predict and react to future events in the natural systems around us by modelling their behaviour. Scientists continue to strive to improve the accuracy of these models by refining the physical models and incorporating new systems within them. Computing has a role to play in helping to provide guarantees about the correctness of these models. This considers both the accuracy of the concept with which we model a physical process and the errors embodied in the implementation of this concept. The accuracy of the physical-process aspect of a model might be examined with visualization tools that monitor the evolution of the modelled state. This may help to identify the shortcomings in the models and decide the required level of modelling fidelity. Implementation reliability might be approached using the same theoretical correctness techniques that have already been used to improve the security of the software. The traditional role of computing as an execution platform for these models will continue to be important and must grow in performance to service the increasing demands of higher fidelity models and also to accommodate any new overheads incurred by correctness checking.
Finally, we are interested in the possible benefit of digital alternatives to our physical activities. Examples of this include electronic versions of printed newspapers, music downloads and digital music players rather than physical CDs and online shopping as opposed to visiting the high street or supermarket. It is not clear whether the impact of these digital options is substantially lower than their physical alternatives. For example, Reichart & Hischier (2002) showed that reading the news online is only more efficient than a printed newspaper if one considers that a large portion of the printed version is unwanted and unread. This is due to the overheads of manufacturing computers and operating the Internet, some proportion of which must be assigned to the online option. Similarly, the positive impacts of information and communication technology, such as improved transport efficiency, also have negative effects through the encouragement of more travel (Hilty et al. 2006). However, as we continue to integrate computing into our lives, the number and the scope of possible applications of a generalized computing resource is likely to continue to grow. Sensor information and measurement of the infrastructure could allow us to encourage and pursue those alternatives that reduce our impact on the world. People in the developing world often live in resource-impoverished environments, so a physical to digital paradigm shift has the potential to enable activities that were hitherto prohibitively expensive, and to support development while minimizing its impact. We seek to unlock the methods of wealth creation in the virtual world.
In this paper, we discuss our goals of an optimal digital infrastructure and global sensing. In §2, we describe the concept of adaptive data centres and show how system-level optimizations of power consumption might be achieved. In §3, we consider the requirements and research needs of a global sensor system. We describe our aspiration of a personal energy meter (PEM) in §4 and its possible impact on data collection and creating impetus for change. Our remaining goals considering modelling and a shift from physical to digital will be reported in a companion paper.
The uncertainty in predictions about future consumption levels is usually accommodated by the consideration of a number of different scenarios. The quantitative and qualitative estimates we present in this paper regarding the potential benefits of new technology consider a scenario much like the world of today. However, there is the potential for an unbounded upside to our visions. For example, sensor information and modelling the world might unlock new levels of understanding about our natural environment. This might identify actions we can take now for huge positive long-term effects. Alternatively, a massive shift of activity from physical to digital would amortize the cost of the infrastructure to an insignificant amount giving ongoing economic growth and development without incurring ecological costs. Technology has provoked massive paradigm shifts in society throughout history and it could do so again.
2. An optimal digital infrastructure
The data centre is playing an increasingly prominent role in modern computing architectures. As the size and scope of computing activities increase, so do requirements for reliability and availability. Furthermore, as computing becomes mandatory, our requirements for availability will increase further. In this section, we consider methods for reducing overheads in high-availability data centres and for optimizing the energy efficiency of our computing resources themselves.
(a) Provisioning appropriate availability
Many modern data centres achieve dependability by building on high-reliability utility services. This is reflected in the traditional tiering system for data centres (Pitt Turner et al. 2008) that describe system architecture approaches for engineering availability. Figure 1a depicts a basic tier I design that incorporates battery storage and an uninterruptible power supply to provide continued power in the event of mains failure. Increasing levels of redundancy are added to this design culminating in fault-tolerant tier IV architectures shown in figure 1b, which can tolerate a mechanical fault in any aspect of the system without affecting service. The increased availability of these architectures comes at the cost of increased redundancy. The additional support infrastructure increases the impact of construction, operation and maintenance of the entire centre. In a classical tier IV infrastructure, every watt delivered to a server typically costs an additional watt in the support infrastructure. This gives a situation where the majority of the support infrastructure is not contributing to normal operation and exists only to cope with faults when they occur.
The approach taken in recovery-oriented computing (ROC) is to improve the system's recovery from failure and therefore reduces its impact (Patterson et al. 2002). Our goal in this respect is to decrease the restart time of services from the currently commonplace 4 hours (Pitt Turner et al. 2008). This might be achieved by providing software-level support to recover and reconnect resources on startup and also by developing high-level tools to understand the interdependency between services. This means we can tolerate a reduction in redundancy, and hence an efficiency improvement, without sacrificing availability.
Fault recovery is possible only if the fault can be detected and not all faults are obvious and easy to detect. Sentient computing (Hopper 1999) systems make use of wide-scale tracking systems, support middleware and small battery-powered mobile devices. In this scenario, faults are common but hard to locate or identify. Our technique of validation uses consistency checking for locating the source of an error in these complex interdependent systems (Rice 2007) by backtracking through computation blocks, checking that the output values are consistent with the input values. Validation can determine when and where faults occur and often incurs only a small overhead compared with the original computation.
Data centres are conventionally provisioned to provide a constant level of service to all applications. Instead, we envision an adaptive data centre that can exploit those situations where heterogeneity exists in the required service levels. Such a system might operate with low overheads through reduced redundancy but maintain service levels by prudently routing resources to where they are most important under fault conditions. An adaptive data-centre design would require a number of independent service systems, the sum of which is sufficient to support a fully active centre. When one of these systems fails, an adaptation strategy can be determined by using a knowledge base containing the resource demands of physical hardware and details of the contractual level of service required by every system. A scheduling system applies this knowledge base to the current fault situation to determine the best allocation of remaining resources to minimize the disruption and the cost of the failure. Dependency analysis between services can be exploited to determine the repercussions of shutting a component down and to cascade shutdowns to components that are rendered inoperable. This knowledge base can also be augmented with expected failure rates of the components in the data centre to estimate the overall service level and the cost of operation. One scheme for interpreting these agreements and producing an optimal assignment is to choose a target state from the space of possible options and develop an adaption plan to reach it. Administrators will require operational guarantees about the stability of the control loop, and the choice of the target state is likely to require a heuristic search due to the number of possible options available.
An initial example of this approach is to provide reliability guarantees at the software level. The Google File System and MapReduce frameworks are just two systems that are designed to provide reliable operation over an unreliable infrastructure. This approach needs to be extended to adapt to capacity reductions in the power and cooling systems in the data centre as well as failure of individual servers.
(b) Energy-efficient computing
We now examine the power consumption of server machines themselves with the goal of energy-proportional computing (Barroso & Hölzle 2007) in which server energy use scales with the amount of work done. In this section, we describe how an adaptive data centre might meet this goal.
The SPECpower benchmark tracks the relationship between power and performance under an example workload. Figure 2 shows some examples for the systems running different generations of the Intel Xeon processor. Despite large variation in both maximum power and the shape of the curve on the graph, we see that each of the machines shown consumes more than 50 per cent of its maximum consumption when idle. The contribution of idle power is even more significant because server utilization is commonly less than 50 per cent (Barroso & Hölzle 2007). The constant presence of the machine's idle power means that this results in significant wasted energy. Indeed, Fan et al. (2007) demonstrated that total energy savings of at least 50 per cent would be available given a large reduction in this idle power.
Strategies for reducing idle power can be extended to the point of switching off idle machines while fully using those which are active. Load concentration (Pinheiro et al. 2003) is a technique in which incoming jobs are directed to a minimal number of busy machines allowing the idle remainder to save power. This approach can be successful (energy consumption is potentially reduced by 30–80%) but requires specific capabilities from the server applications.
The recent resurgence in operating system virtualization provides a platform for a pool of machines to support a number of network services. In quiet periods, multiple services can run on one machine. As demand increases, additional machines can be added to the pool and the services repartitioned across them. Xen is an example of virtualization technology introduced by Barham et al. (2003), which partitions a single physical machine between multiple guest operating systems. A simple example of a Xen cluster architecture will contain a number of physical servers supporting some number of virtual guest operating systems running with a storage area network (SAN). In a configuration such as this (where a guest's storage is always available from the SAN), Xen's live-migration system can move an active guest between two physical servers with only 250 ms of external down time and a total elapsed time of the order of 60 s when using a 1 Gbit s−1 network (Clark et al. 2005). It is possible with this set-up to get close to the ideal of energy-proportional computing when considering the energy use of the entire cluster. Figure 3 shows how power–performance curves scale for clusters of five machines and considers each of the three system types in figure 2. The black line shows the optimal power consumption for each utilization level. The grey lines show variation achievable in power consumption without switching the machines on or off. Moving along a grey line in the graph is rapid, whereas a movement between lines requires switching machines on or off, with associated domain migration times and startup/shutdown times for the physical hardware. Compared with a single machine, these clusters waste a much smaller proportion of their maximum power consumption as idle power. The maximum power consumption of each machine remains important, but as the cluster size increases the particular shape of the power scaling curve becomes less and less significant. Cole (2003) argued that power cycling a machine does not have a significant detrimental effect on its operating lifetime. Other authors note a 2 per cent increase in failure rate of hard drives, but only on drives older than 2 years (Pinheiro et al. 2007).
The workloads considered up to this point have been interactive workloads. They are characterized by a requirement for high availability and good response time to requests. However, there is also a significant class of non-interactive computation jobs. Particular examples include data indexing for search engines and main-stream high-performance computing tasks such as simulation batch jobs or executing climate models. This class of jobs closely resembles the workloads of centralized, mainframe-style computing infrastructure of previous years. We can exploit the flexibility in execution of these delay-tolerant computing tasks to modulate the resource demand of our computing infrastructure. An existing example of this approach is power capping where intelligent scheduling and power management is used to remove transient peaks in data-centre power demand (Fan et al. 2007).
There is a growing global impetus for the integration of large-scale renewable energy sources, wind power in particular, into the electricity grid. One of the major issues when integrating renewable energy is that of grid stability: the power output of a wind farm depends on meteorological conditions rather than conforming to a schedule that meets demand. Flexible load management of computing demand can also help in this case: unused peaks in production can be absorbed by increasing computation rates and troughs in production can be mitigated by reducing computation or shutting machines down. This is similar to dynamic demand control of consumer refrigerators, which has been shown to be beneficial for grid stability (Short et al. 2007).
Modern data centres prioritize proximity to a source of plentiful electrical power. This reflects the economy that it is cheaper to transmit data over large distances than power. Currently, these sites target sources of reliable, stable energy supply, but an adaptive data centre, capable of adjusting demand in response to external factors, makes this approach possible for renewable sources such as wind, tidal and solar. Furthermore, sites for renewable energy tend to be remote, and providing high-capacity power connections is difficult and expensive. Moving our data centres to these sources of power helps alleviate this problem by using the power locally and potentially consuming energy that would otherwise be lost.
Constructing more efficient batteries and energy storage is a continuing engineering challenge. Adaptive data centres allow computing to contribute as a ‘virtual battery’ by selectively varying power consumption in response to the availability of surplus generation capacity. To exploit this capability fully, our management systems must understand the demands of executing jobs. Computation jobs that have flexibility in their required completion times or that are amenable to interruption may well migrate around the world, tracking the generation of surplus power. Further work into the particular parameters of such a system is necessary to discover the optimum granularity for scheduling jobs and partitioning tasks. A latency map of the world would provide a useful analysis tool by showing the estimated completion time for a job depending on the targeted location for performing the computation. Ultimately, our goal is to combine the concept of computing acting as a virtual battery with that of turning off all infrastructures (servers, networks, workstations and terminals) not being used for a useful end purpose.
3. The world model
Sensor-driven applications conventionally operate with reference to a world model, which is kept up to date with information collected from sensors. This world model may help us not only in discovering the impacts of our activities on the world around us but also in optimizing our use of energy and other resources in the existing infrastructure (Addlesee et al. 2001).
Careful consideration must be made as to the types of sensing and data processing deployed in a global sensor system. One concern is that the energy consumption and environmental footprint of the sensors themselves is minimized. Sensor networks have particular processing properties that make them amenable to low-power computation: data arrive often at a regular rate and computation is inherently parallel, covering data from many sources. SpotCore is an architecture that exploits these features with a specially designed instruction set and explicit hardware support for parallelism. Eyole-Monono et al. (2007) demonstrated reductions in execution time and power using this platform. Careful planning of the sensor deployment and communication network will be required in order to ensure low-energy usage. The development of next-generation mobile phone networks might well be focused on energy-efficient data collection and dissemination in addition to traditional demands for bandwidth and increased coverage.
A sensor might operate from a fixed position within the infrastructure or it might be mobile. Traditionally, static sensors have been deployed in order to exploit abundant power and communication support. An example of this occurs in the road networks of our cities where induction loop sensors are embedded in the road to detect vehicles at traffic lights. These sensors are capable of maintaining estimates of traffic queues and movements across junctions and are commonly used to improve the efficiency of the road network. More recently, improvements in technology have meant that the use of mobile sensors has become feasible. The Sentient Van project, for example, is investigating the potential for vehicle-based sensing (Davies et al. 2006a). Sensing of traffic and travel conditions by vehicles themselves benefits from the observation that areas of high usage for which detailed sensor data are required are naturally areas with a high density of vehicles and hence sensors. Interpretation of these sensor readings requires accurate location information (most often collected from an on-board GPS unit) and up-to-date maps of the road network. Maintaining these maps is an ever-increasing burden on map makers. One solution to this problem is to collect movement traces from vehicles in the road network and post-process these traces to maintain our maps automatically. Davies et al. (2006b) described an algorithm for both automatic construction of a map and automatic comparison between maps to discover topology changes. Technology such as this improves the efficiency of transportation by allowing changes to the road network to be rapidly disseminated to drivers.
As a further option for sensing, we consider data reports by humans acting as sensors. Using people as a source of sensor data has a number of benefits over conventional sensing: we are numerous and growing in number and we are self-maintaining, self-repairing and autonomous. Reports from human sensors might be qualitative; examples include local reports of illegal logging in the Brazilian rainforest, or villagers in developing worlds reporting on access to water supplies and perceived water quality. Quantitative reports are also possible from mobile sensors carried by individuals. The OpenStreetMap project (http://www.openstreetmap.org) is an example of this where volunteers edit and annotate GPS location traces with the aim of providing an open map resource to the world. Mechanisms for improving the reliability of reported data might include voting systems that gain confidence from combining multiple reports and incentive or reputation systems that increase the value (for the reporter) of a reliable report.
Data from the deployed sensor network must now be stored and processed. Balazinska et al. (2007) described their activities dealing with global-scale sensor data. They identified the need for regridding data in order to cast points to a common reference frame to permit comparison and processing between datasets, and also the difficulties in representing the uncertainty in data readings and interpreting their significance. The TIME project (Bacon et al. 2008) is constructing an open middleware for disseminating data about Cambridge's transport system. High-level descriptions of sensors are used to allow applications to interpret data without requiring tight coupling to the particular sensor instance or type.
The storage requirements for global sensing are large but quantifiable. For example, to store a single byte of sensor data for every square metre of land on the Earth requires approximately 150 TB. This discounts not only possible reductions such as compression and sparse data representation but also additional costs such as error-control coding, indexing and data about the oceans.
A centralized collection of data, particularly from human sensors, creates concerns for privacy and security. Conventionally, these problems are dealt with through access control and data-dissemination policies. An alternative approach is to distribute the storage of data. This approach combined with anonymization of data can provide an alternative for much of the complexity introduced through policy and access control. A prominent example arises from the proposed introduction of congestion charging on the UK's roads. A centralized system would inevitably collect data concerning the movements of cars within the network. However, this is not the only option. Harle & Beresford (2005) provided operating details for a system that permits peers to monitor their own compliance and so avoids the construction of a central database. The fundamental dilemmas posed by data collection technology (Gilbert et al. 2007) are highlighted by our considerations of energy and efficiency. A centralized database lends itself to fast and efficient processing with minimal communication costs, whereas distributed storage of data can make the system less vulnerable to privacy violation at the cost of increased overhead. Concepts such as reciprocity can make this trade-off more flexible by providing individuals with the details of people processing their data.
The demand requirements for processing sensor data will vary significantly depending on the application and incoming requests for information. It is also likely that our computing resources will experience significant variation due to both changes in adaptive data centres and ongoing development of infrastructure. Davies et al. (2008) described task assignment in which the tasks within a computing job can be automatically assigned to a network of computing nodes. Arbitrary cost functions can be applied to this technique, producing assignments that optimize performance, power consumption or privacy. Technology such as this allows programmers to write a software in a high-level language that is automatically compiled for optimal execution on the currently available distributed resources.
An example goal of our sensing vision is the provision of a real-time data map of the world. A transportation layer on the map might show congestion on our roads and the movement and availability of public transport. An energy layer might show the state of the electricity grid indicating demand and generation levels. A water layer might show flows (and leaks) in our distribution system. Raw data sources for such a service might range from aerial imagery for observing road use or crowds in public areas to embedded sensors for recovering location information or measuring water flow and grid frequency. Collected knowledge about building types and energy use might provide an infrared map of residential heat loss. This example is instructive when considering the capabilities required for sensing and post-processing data. Considering a country such as the UK, we need to collect consumption data from 25 million homes and 33 million registered vehicles, and monitor the use of 45 GW of electricity and 1 million litres of water per second. Data delivery must occur in a timely fashion to a centralized database while preserving privacy and authenticity. Some data sources such as bus locations or electricity demand require frequent updates, while longer timescales might be acceptable for environmental measurements such as reservoir levels. Accommodating these needs will require appropriate communication protocols and processing nodes for managing sensor data. Finally, the collected information must be presented on demand and archived for future analysis, and so support for requesting data and an interface that permits low-cost long-term archival and indexing is likely to be a further requirement.
4. Personal energy meters
Huge imbalances currently exist between the environmental footprint of individuals in different countries. The footprint of Western Europe is more than double its own biocapacity and over two and a half times the globally sustainable average footprint (figure 4). Lowering the environmental footprint of our lives is a key challenge for the future of the planet. We envisage a PEM that collects information about an individual's daily consumption (direct and indirect). Individualized breakdowns of the energy costs of travel, heating, water usage and transportation of food will help us target areas for reduction in our environmental footprint. A PEM will work symbiotically with the global world model, which must feature energy as a first-class type. Data from personal activities will be uploaded to the world model and data on the energy profile of devices and footprints of consumer goods will be downloaded to complement personal energy estimates. The data collected will not only provide useful information for analysing consumption patterns but also have the potential to help individuals identify alternatives to their current activities. For example, analysis of a commuter's PEM trace might highlight public transport routes or potential for car sharing. Rising fuel prices might make these alternatives increasingly appealing.
The energy footprint of people in the developing world is steadily growing towards our own. However, the lack of legacy infrastructure and habits can be viewed as a potential opportunity to achieve an increased standard of living without incurring current developed-world footprints. For example, in many countries, the mobile telephone network has completely supplanted any wide-scale deployment of a fixed line system and provides communications with lower infrastructure costs and reduced environmental impact. Monitoring energy demand reported from PEMs might highlight further opportunities for technologies with similar benefits.
The design and implementation of PEMs embodies many challenges. Effective communication with the planetary world model must be maintained in order to provide up-to-date estimates of energy consumption. Explicit support for caching of data by publishing expected trends or validity periods for values will help to minimize this overhead. Integration of the meter itself with a mobile phone will help to minimize the energy overhead of using a PEM and also provides wide-scale communication ability. Real-time event delivery from infrastructure sensors might also exploit short-range communication techniques—the PEM in your pocket might interact directly with a measurement device in the water main or the gas main as required. Finally, PEM technology might exploit the explosive growth of social networking to allow users to share and compare consumption patterns and alternatives, thus providing support for changing lifestyles and impetus for change.
Many aspects of computing for the future of the planet framework are congruent with the existing grand challenges as expressed by the National Academy of Engineering (http://www.engineeringchallenges.org/) and the UK Computing Research Committee (Hoare & Milner 2004). These include considerations of future energy supply, the environmental impact of modern agriculture and the improvement of urban infrastructure. The computing for the future of the planet framework gives dimensions to these problems: the size and scale of a planetary world model, though daunting, are bounded; and the factors affecting the energy consumption and impact of our activities, though many, are finite. Most importantly, this framework targets research at the world in which we live outside of computing, helping to identify problems and challenges, inform their solutions and maximize their positive impact.
We have identified four specific research goals: an optimal digital infrastructure; sensing and optimizing with the global world model; environmental prediction and reaction with reliable modelling; and shifting from physical to digital activities. An optimal digital infrastructure would provide us with an effective and efficient computing resource upon which we can analyse collected sensor information, model and predict future events and potentially facilitate a shift from profligate physical activities to digital alternatives. This paper has discussed the computer science and other problems we have identified when considering system-scale power consumption for low-power computing and deploying global sensor networks.
Given the immeasurable changes undergone by computing, and caused by computing, in the last 60 years, we ask what changes we might see over the next 60 years. Computing for the future of the planet expresses the goal that computer technology becomes an indispensable and crucial component of our lives, society and the environment.
We gratefully acknowledge the help of Alastair Beresford for his continued input, comments and feedback; Anthony Hylick and Sherif Akoush for their thoughts on server- and system-level power consumption; Jonathan Davies and David Cottingham for their useful feedback and corrections; Mbou Eyole-Monono for his contributions regarding low-power sensing; Rob Mullens for pointers on SPECpower; Ripduman Sohan for discussion on file systems and other system issues; Alan Mycroft for numerous insights and suggestions; Robert Harle and Frank Stajano for their help in the formation of our framework; and our other colleagues in the Computer Laboratory for their contributions and thoughts.
One contribution of 19 to a Discussion Meeting Issue ‘From computers to ubiquitous computing, by 2020’.
- © 2008 The Royal Society