Redefining our needs: permacomputing and vernacular computing

Robert Engels
Data & AI Masters
8 min readMar 23, 2022

--

Intro

Anyone taking seriously the fact that we live on a planet with finite resources will appreciate the increasing focus on sustainability in computing. This is not to mean the use of computing to become sustainable, which is a goal on its own, but merely the idea that in our digital world we should not kill a fly with a CO2-elephant gun.

To give you an idea of why we are concerned: take a look at a state-of-the-art transformer algorithm as typically used in natural language processing and computer vision. It is reported that such a transformer algorithm emits 50 percent of its total training released CO2 solely to achieve only a final decrease of 0.3 percent of the word error rate[1]. The CO2 footprint does not at all justify the precision gained. Through that, it is definitely also legitimate to question the relevance of current “proof-of-work” based blockchain calculations (e.g., bitcoin and the like) in the discussion on green and sustainable IT.

Such cases, and many others like it, show how unthoughtful computing resources can be wasted. Part of the issue lies in the fact that development of AI algorithms lacks an ROI analysis that measures the improvement against the energy expended. Machine Learning-based algorithm development focusses on speed and size, but its energy consumption is currently unbounded. And why should the developers think about it at all? Algorithms are developed by organizations that have collected an abundance of data from which to learn all possible patterns. They have built scalable, distributed hardware ecosystems to design, develop, and sell “generic” all-purpose algorithms for Deep Learning and other uses to perform highly energy-consuming training sessions on all possible kinds of data. And because there is no real transparency on costs in terms of sustainability and energy consumption, users cannot make informed choices. And let’s be honest, the value of hyperscalers is in the amount of data they collect, and the competitive advantage lies in using this data to build models that are difficult to recreate by their competitors.

https://www.researchgate.net/publication/342643762_New_perspectives_on_internet_electricity_use_in_2030

We see that IT energy consumption exponentially increased over the last 20 years and the outlook for 2030 are not great. (See table). An increasing number of people will get connected to digital services, increasing the footprint of computation. But that is not all.

There is consensus amongst scientists that, as we are headed for an environmental catastrophe, we need to turn back to more sustainability in society. If you’re a technology optimist, you might say that there are many developments underway which may help out in the coming 50 years, like nuclear fusion (clean energy), CO2reversal technology, sustainability through renewable energy sources, and the like. But, especially in the IT sector, the focus is still on development and usage of technology “no-matter-what,” and less on “what do we actually need?”

On a global scale, we are creating data ecosystems for many organizations, enterprises, and communities, all of which use the Internet for transfer, storage, analysis, improvements, transformation, and analyzing data. Missing is often the upfront definition of principles for energy usage, including a clear data-storage strategy, data governance, archiving strategy, and computation strategies. Some data doubles in size many times through duplication for various pre-processing tasks, and many of these duplicates are by-products which reside on live disks, consuming energy without ever being used (data graveyards). Other data is analyzed over and over again, as many algorithms are still non-incremental, meaning they will rerun their analyses or model training over all of the data as new data arrives or parts of the data are changed.

There is much energy involved in these tasks related to the processing of data, model learning, and model execution.

Needed: Innovative ways of thinking

The concept of permaculture was proposed in the early 1970s as a guide for setting larger perspectives on the sustainability of human activity for life on earth [2][3]. From this holistic concept of permaculture comes the idea of permacomputing. Aiming at providing a holistic view on computing in modern society, we must learn to balance computing resources between human needs, technical possibilities, and fair distribution of inventions with the availability and sustainability of energy, minerals, water, mining, production, transport, and resource distribution.

An important concept in permacomputing is that of frugal computing, basically stating that one should consider all resources as precious and finite. This leads by questions like “Do I really need this computer power now or can I wait until there is cheaper, more sustainable, surplus resources available?” and “How can I use the power or resource I get as efficiently as possible?”

While the concept of frugality already provides good guidance in finding ways to restrict wasteful use of energy and resources, the second concept in permacomputing is “salvage computing,” i.e. using energy and materials which are already produced, so you do not mine or produce new resources for your need. Limiting oneself in this respect really requires a renaissance in our thinking about computing, as we are very much used to getting what we want, even if we do not need it. It will transform ways of working and will also require new methods and systems to support it.

Lastly, there is the very interesting topic of “collapse computing,” a way of dealing with resources that are already produced to be refactored and reused — utilizing what has survived the collapse of industrial production.

Vernacular computing, in addition to the above, is the idea of solving local needs with local resources, be they material, cognitive, or economic. Local computing needs should wherever possible be solved with local computing. Local capabilities should to a larger degree define what type of hardware and software should be used, as such increases the chances to enable local support. This concept is easily related to sociological trends in rural areas, where self-support is crucial. It also correlates neatly with current developments in edge- and fog computing, computing which can be done on micro- and mini-scale on-site and close to on-site. Due to the smaller scale for this type of computing, it is also easier to make edge and fog computing locally self-supporting and sustainable, while not having to transport all data through the (energy consuming) internet for centralized processing and storage.

Is this realistic in the short run?

Clearly, a major change in thinking needs a major sense of urgency. It is not difficult to see that we live in a time when energy depletion will increase the costs of using energy, something which affects the whole economy. Therefore, one of the most important triggers for adaptation seems to be available. Based on the above, here’s what we can do:

  • Make IT operations much more aware of energy consumption and footprint. Reflect real costs better. This holds for internet, cloud, bitcoin, gaming, social media, IoT, 4/5G, etc.
  • Build new systems which automatically decrease bandwidth for tasks that do not require bandwidth. Some tasks are not time-sensitive and can be performed at the most sustainable times. Other tasks are luxuries which can be avoided. Gaming in full resolution on the newest hardware can be seen as an unsustainable luxury, for example, as is using bitcoin for personal revenue while not ensuring the use of sustainable computing. We have so far given such considerations little space in our world.
  • Reuse: define new ways to share and reuse the results of energy-consuming calculations, such as algorithms like the ones used for bitcoin, GPT-3, and energy-intensive Deep Learning tasks. Invest and investigate transfer learning, where a pre-calculated foundational model can be shared unlimited times, saving the energy for the same number of recalculations while ensuring the possibility of tuning the model to very specific tasks based on local data.
  • Buy instead of build: with more pre-trained machine learning models becoming available, buying off-the-shelf can be a much more sustainable option, especially given the scarcity of data-science specialists who can custom-build these models themselves.
  • Localize. In the tradition of vernacular computing, one can offload the centralized computing with local, edge-based computing services. Decentralized as they are, they will not need the vast energy infrastructure of cloud computing centers and could instead use renewable energy sources. Such infrastructure can be combined with federated learning approaches to distribute the responsibility for learning, but also for making the processing sustainable.
  • Improvement and efficiency. Do not use more energy for upgraded tasks; try to make newer algorithms more efficient.

One of the most effective changes for introducing sustainability in your current way of working will be the clear definition of principles and strategies on sustainability for your projects.

  • Computation strategies. Use the power that suffices, instead of the power you can get. Use efficient algorithms. Hyperbolic improvements create a lot of CO2 for very little gain. Calculate your pain point and avoid long tails. Compute the delta instead of the whole model, focus on strategies from transfer learning and explore possibilities for federated learning.
  • Data storage and archiving strategy. Where to store: local/cloud, HDD/SDD, live/offline archive? An HDD/SDD or even a tape on a shelf uses no energy. Do you need all the storage to be “live” or is there data you simply do not want to lose but will seldom use? Find data centers supporting such storage.
  • Data governance. Ensure long-rec where needed and use smart data governance to prevent data graveyards and data waste where possible.

Positive approaches such as SolarPunk are a reaction to some of the dystopian messaging around this whole subject. It bases servers on reusable components, set up around the world in a sustainable manner. Sunlight (and eventually wind) defines which servers are available to perform tasks, and there are no external energy sources used.

Becoming sustainable in ICT is going to be an interesting, but not impossible, exercise. Many ideas from frameworks like permaculture can be adapted for the greater good in global computing.

Computing and data storage should increasingly see resources as finite and precious, with smart algorithms taking advantage of renewable energy abundance while downscaling when energy is non-renewable or “dirty.”

Becoming more informed about the possibilities to balance local computing with global computing will allow for a better spread of energy consumption and increase chances for renewable energy to drive larger parts of infrastructures.

The biggest change, however, will have to take place in the ways we work and think, as we have been comfortable with using (and getting!) the energy and computing power we like. Realizing that less can be more in computing is not only necessary but will also help us build much smarter computing ecosystems and new ways of working in ICT and many other areas of society.

[1] Parcollet, T., & Ravanelli, M. (2021). The Energy and Carbon Footprint of Training End-to-End Speech Recognizers.

[2] Mollison, B. & Holmgren, D. (1978). Permaculture One: A Perennial Agriculture for Human Settlements.

[3] Holmgren, D. (2002). Permaculture: Principles & Pathways Beyond Sustainability.

[4] Ville-Matias Heikkilä (2020). Permacomputing. http://viznut.fi/texts-en/permacomputing.html

--

--

Robert Engels
Data & AI Masters

Broad interest in topics like Semantics, Knowledge Representation, Reasoning, Machine Learning and putting it together in intelligeable ways.