Back to Basics: Software Obsolescence

November 05, 2024

Blog

Back to Basics: Software Obsolescence

In our last article in this series, we focused on how our hardware becomes obsolete, both intentionally and by nature of industry expansion. To round out our obsolescence trilogy, we’re going to shift focus to the software side of things.

 

Welcome to Back to Basics, a series where we’re going to be reviewing basic engineering concepts that may require a more complex explanation than a quick Google search could provide.

We’ve spoken about how Moore’s Law has accurately applied to the last 40-50 years of hardware innovation, bringing us from a couple thousand transistors to multi core chips with billions of transistors. In an ecosystem where computers are consistently getting more powerful, our software has grown almost equally in capability.

The key word here, unfortunately, is almost. As time has gone on, the hardware landscape has changed, moving from a single core format to multi core, resulting in a need for differently written software.

Let’s pause here for a minute. What is a core? 

Software Slowdown

To put things simply, a core is a part of a CPU that can crunch numbers. A single core computer processes all of its data through one place, in one constant string of computations. To make our computers more powerful, hardware designers have implemented a simple strategy: instead of making all of the data go through one core, they split it between multiple computing cores.

Now that we have that out of the way, let’s get back to software. While our hardware has taken this multi-lane approach to computing, software developers have to choose to break up the instructions that they write in such a way that they can utilize the hardware’s multiple cores. This takes time and effort, and in some cases, just isn’t feasible.

While this underutilization of hardware seems like a bad thing, there’s an upside. In this series we’ve been very concerned with how fast our tech becomes obsolete. With this software slowdown, there is hope that our hardware will start lasting longer while the software catches up.

This does not necessarily mean that software doesn’t contribute to obsolescence. Software has its own lifespan, where it lasts as long as the developers supporting it. Oftentimes, software becomes outdated for the hardware it’s running on, meaning that it needs to be updated by the developer to take advantage of the current hardware.

Additionally, it can often be economically difficult to continue to support software on older hardware, meaning that the hardware becomes obsolete as less and less software is supported on it.

A key thing to remember with obsolescence, as we close out this series, is that it all comes down to what’s economically viable. From planned obsolescence creating value out of thin air, to Moore’s Law charting a financially stable doubling rate, to software versioning – each is built around whether our tech can make money.

Check out some more Back to Basics:

Learning a New Language, Software Edition (Obviously)

Software Language Essentials

Back to Basics: Getting Connected to IoT

Back to Basics: AI Edition

https://embeddedcomputing.com/technology/debug-and-test/back-to-basics-moores-law-and-hardware-obsolescence 

Categories
Software & OS