Skip to content

Computers and Sustainability: An ever increasingly layered system

Computers are built in layers, to put it simply. A simple computer has a Basic Input-Output System (BIOS), which controls various low level functions to initialize the hardware when a system is powered on. Initialization means something like “to set it up for operation in a typical way”. This would include talking to the processor to identify what processor it is, the amount of RAM, so on and so forth. From there, the CPU executes instructions that make up the software. The processor, short for central processing unit, executes instructions in an order that is determined by the previous instruction. In this example, we are looking at the processor. Memory contents affect the instructions that the processor executes because they can be referenced. If a memory register becomes corrupt or is changed in value by an instruction, when the CPU calls that register it will see the value stored. There are other things like cache which determine how the CPU operates, but that is beyond the scope of this article.

With the advent of 3D graphics, graphics cards became increasingly 3D accelerated. In very early PCs, the hardware is typically all modular, so a graphics card was essential, which your choices of CGA, EGA, VGA, and so on. 3D accelerated cards were optimized in hardware for improving the rendering speed of a frame: an image then displayed on your monitor. GPU technology has advanced as CPU technology has advanced. GPUs serve the main function of graphics display. However, in modern GPUs they are capable of running software compiled for them to perform certain tasks to accelerate other functions than simple graphics rendering. This is the concept behind GPU computing. GPU computing works well because shaders, the hardware that performs part of a graphics rendering process, can execute other functions that graphics rendering. Tasks that work well with large numbers of threads executed in batches of hundreds to thousands can be accelerated. You experience this with lower latency times on your PC, and if you’re familiar with early PCs, you know how much more capable of multitasking they are. In low to midrange graphics performance, GPUs can be integrated into CPU packages, eliminating the need for a graphics card to be installed in a PCI slot.

The CPU is the first level in the hierarchy. The CPU controls the function of the GPU through software. The next phase in the evolution is the Neural Processing Unit (NPU). The NPU is what is used on modern AI CPUs to accelerate AI functionality, because AI is largely based on neural networks (an interconnection of the relationship between many things). In a previous post about modern advances in hardware technology, there is a real, measurable effect on just what the affects are of using un-optimised hardware on a huge demand for it’s resources. Technology will evolve to reduce costs and maintain a supply of computing resources that will ever increase as computing resource demand evolves too. While the NPU may not be layered above the GPU, it could certainly be placed next to it as the second level to the pyramid. The BIOS/UEFI would be outside of this pyramid and would communicate with both of the current layers. The NPU will accelerate these mathematical functions with ever evolving hardware to create a new ecosystem in computer engineering and computer science. The design of an NPU could be quite interesting to watch: separate memory from the GPU, both in hardware and software, NPU/GPU/CPU interaction to create new possibilities in the realm of computing, and so on.

With the exponential demand for computing, investing has increased demand for new things possible. The NPU is next in computer evolution. With system-on-a-chip becoming ever more impressive too, technology will evolve in new ways for low-cost computing. For high performance applications, NPU accelerators are possible in existing hardware where performance gains beyond GPUs are demanded.

Regardless, there needs to be a focus on new areas of technology and not just relying on what’s available to get the job done. There needs to be the realization that applications aren’t designed en-masse, and that people need to work together to create standards for hardware designed en-masse. En-masse means, to be used widely. An example of this would be the X86_64 and ARM CPU architectures. A CPU can have any architecture you design for it, but nobody will use it if they don’t know how to write code for it. The industry typically uses what’s known because they value reliability. There is a push for sustainability too. Biodegradable plastics, for example, to be obvious about it. That said…

There needs to be a push for computing sustainability. We have lost the focus that computers require one thing: time. However, during that time, they are performing a task. This task, to a computer, requires literal energy to perform. A task to a computer is like moving a muscle in your body. We, just like computers, are not 100% efficient. When we work, we get hot and sweat. Computers use energy and they too create heat, because although there task is very little, that task is performed very quickly over and over again. Modern computers perform many tasks in parallel, using even more energy.

The NPU optimizes power efficiency with hardware that optimizes the amount of energy used for neural processing. The only problem is, power demand won’t necessarily go down, because with evolving software will come increased performance demands, so there will be a push for more resources to make up for the more efficient and hence more available computing resources. In this example, we’re limited by power to keep things simple. However, cost would certainly be a factor, too, because if an NPU can be cheaper than a GPU, more of that computing resource will be available.

If we lose sight of sustainability in computing resources, at some point we’ll have no place to put computers. Computers take up space, too, and although you may recall the huge supercomputers of the past, modern clouds are just that. They still use resources, cost money to run. We all compete in the marketplace to use resources available to us. It’s not just about the whole “100 Million gallons of water a year” ad I saw from QTS yesterday during the Notre Dame game, and it’s also not about electricity. Technicians and Engineers might like it, but let’s face it, somehow technology is our culture. With the increasing complexity of the computer, there will eventual be a limit to how sophisticated it will get, because it will become TOO extreme a technology in its own right to understand. As it is, we stand on the giants of companies on an international scale that produce technology society now relies on.

What’s your definition of sustainability?

Leave a Reply