Summary: Developing an awareness of the environmental impacts of computing infrastructures and network ecosystems.
Description:
In everyday information work, we rarely take a moment to consider the vast and varied resources our data infrastructures consume, even as we perform the most basic computational task. The work of most library, archive, and information professionals relies on networked computing resources, and so an interrogation of relations between information practices and the Anthropocene must include a discussion of how these resources are inscribed in the world. Across disciplines, information professionals are concerned with the implementation and optimization of systems, but the downstream effects and externalities of that work are often given mere lip service or are not considered. This is especially true in software engineering, a kind of work which supports other information practices by building infrastructure. In software engineering the symbolic abstractions that happen across different levels of the software stack serve to distance a computer user or programmer from the impact they have on material reality—especially when it comes to energy consumption.
Concern for computational resources and algorithmic execution speed have been formalized as optimization metrics within the discipline of computer science, but why not directly deal with energy consumption as well? To address this question, we might examine Julie Cohn’s article, “Data, Power, and Conservation,” which historicizes the infrastructural growth of the US electrical grid. As economies of scale enable energy to be distributed and more widely used, there is a strange moment where awareness of a resource’s availability increases demand for it. This produces a feedback effect, driving down energy costs further and increasing consumption. By analogy, we might examine this equilibrium within the computer system itself—as computers get more powerful, we expect faster results delivered to the user, perhaps at the expense of resource usage (memory, CPU cycles, GPU cycles, or disk space consumed). Computers are more efficient but demand more energy.
Since writing software enables other users to perform complex tasks with simplicity, we must also consider the compounding effects software tools instantiate when in the hands of hundreds of millions (or even billions) of users. But part of the reason energy estimation is such a thorny problem relates to interdependency and individuation within computer systems. You can’t google something unless Google has first indexed the information, storing it in their data centers, and the energy consumption of googling something is multiplied across all the searches done in a given day. It is hard to look at the energy consumption of one computer or mobile device without decoupling it from the interconnected technologies that make it possible to perform a task—for example, the sheer number of different component parts in information retrieval is challenging to comprehend.
The collection of articles in this module shares some conceptual frameworks for considering energy consumption across different parts of information infrastructure, possibly allowing us to piece together alternating lenses or conceptual models for viewing power consumption. With Zakarya et al. (2017)’s work, we can scale ideas from Cohn up further and look at energy use across the datacenter. In Strubell et al. (2019), we can compare the C02 cost of model training at scale within the domain of natural language processing. With Pereira et al. (2017), we can interrogate the energy efficiency of particular programming languages. Finally, Aslan et al (2018) and Coroama (2014) give us tools for estimating the energy a website might consume.
Readings:
Aslan, Joshua, Kieren Mayers, Jonathan G. Koomey, and Chris France. 2018. “Electricity Intensity of Internet Data Transmission: Untangling the Estimates: Electricity Intensity of Data Transmission.” Journal of Industrial Ecology 22 (4): 785–98. https://doi.org/10.1111/jiec.12630.
Cohn, Julie. “Data, Power, and Conservation: The Early Turn to Information Technologies to Manage Energy Resources,” Information & Culture: A Journal of History 52, no. 3 (July 20, 2017): 334–61, https://doi.org/10.1353/lac.2017.0013.
Coroama, Vlad C., and Lorenz M. Hilty. 2014. “Assessing Internet Energy Intensity: A Review of Methods and Results.” Environmental Impact Assessment Review 45 (February): 63–68. https://doi.org/10.1016/j.eiar.2013.12.004.
Strubell, Emma, Ananya Ganesh, and Andrew McCallum. 2019. “Energy and Policy Considerations for Deep Learning in NLP.” ArXiv:1906.02243 [Cs], June. http://arxiv.org/abs/1906.02243.
Pereira, Rui, Marco Couto, Francisco Ribeiro, Rui Rua, Jácome Cunha, João Paulo Fernandes, and João Saraiva. 2017. “Energy Efficiency across Programming Languages: How Do Energy, Time, and Memory Relate?” In Proceedings of the 10th ACM SIGPLAN International Conference on Software Language Engineering – SLE 2017, 256–67. Vancouver, BC, Canada: ACM Press. https://doi.org/10.1145/3136014.3136031.
Zakarya, Muhammad, and Lee Gillam. 2017. “Energy Efficient Computing, Clusters, Grids and Clouds: A Taxonomy and Survey.” Sustainable Computing: Informatics and Systems 14 (June): 13–33. https://doi.org/10.1016/j.suscom.2017.03.002.
Discussion Questions:
- As we map a computer system in order to better understand the power it consumes, we might want to start by focusing on the affordances it provides to users. Which technologies and resources are essential for us to perform basic computing tasks (for example, writing an essay or analyzing a spreadsheet)? Which seem ancillary to this process?
- Should we include the supply chain or acquisition of materials (like rare earth metals) in the process of estimating energy consumption of ICT systems? Why or why not?
- From a systems design perspective, consider the different structural forces that reify the notion that the internet (or other computational technologies) is immaterial. How might we use training in design, pedagogical techniques, or other practices to address this discursive claim?
Exercise: Estimating Energy & System Mapping
Part 1: System Mapping: Pick one of the following tasks (or choose your own). Think about to what degree different parts of the system consume energy, and sketch out the flows of energy within the system. What are the inputs and outputs? Whose control are these resources under?
- Load a spreadsheet with several hundred rows, filter by a particular attribute, and perform a simple mathematical operation (+ – / or *)
- Perform a system update on the OS of your choice (macOS, Windows, or Linux)
- Serve a website to 10/100/1000 users
Part 2: Energy Consumption Calculation: Apply your mapping of the system by estimating how much energy each component uses. Which parts require the most energy? The least? You might use the metrics outlined in the preceding documents as a basis or guideline (or some of your own devising), and explain your reasoning. For some ideas: you can be highly detailed regarding the technology and software stack used (“I know that this cloud company uses Google BigQuery and Python, which results in XYZ joules per second consumption”), focus on regional geography (“Netflix’s data center is in Colorado, which uses hydroelectric and solar energy, suggesting XYZ kg of C02 in emissions as compared to coal power”), or something entirely different.
Part 3: Reflection/Redesign: Based on your results from parts 2 & 3, which actor do you think has the greatest leverage point to change the system? How would you convince that person/group/entity to alter their power consumption? What rhetorical techniques would you use? Is policy the easiest way to address this issue, or the hardest?