October, 2008
by Reg Harbeck
Niels Bohr once famously observed that you never understand quantum mechanics, you just get used to it. Interestingly, that's true of a lot of things in the world we live in - we observe a phenomenon, describe how it behaves, and get used to it without ever truly understanding it.
A good example of this is Moore's Law, originated by Gordon Moore, co-founder of Intel. This "law" is taken to suggest that the amount of available storage and computing capacity doubles for a given frame of reference every 1.5 years. And we've come to take it for granted without seriously planning for what will happen when we reach its limitations - perhaps particularly because we never really understood why it worked so well in the first place.
Now, the very organizations that have made this law work so well are beginning to warn us that we are approaching its upper limits. What will that mean for us, in a world where we've gotten used to just adding more storage, memory and CPU capacity to solve every performance problem?
One of the beauties of the human mind is that it doesn't tend to let facts get in the way of a good generalization. So it is with Moore's Law, coined by Intel co-founder Gordon Moore in 1965, who observed that transistor density on integrated circuits seemed to double every 12 months, though he later adjusted it to 24 months (see http://en.wikipedia.org/wiki/Moore's_law for more details). From that humble beginning, this "law" is now applied to the exponential growth of everything from disk storage capacity to network bandwidth, though it never seems to be phrased in a sufficiently exact manner to be easily challenged with the facts.
Be that as it may, clearly Gordon Moore came up with a relevant observation, and it would be hard to deny that the capacity of all things IT (with the possible exception of software performance) for a given cost and size has grown exponentially since 1965. Most people would believe that that they have experienced something close to a doubling every 18 to 24 months.
One need look no further than such sources as Wikipedia to get a complete run-down on the nature and history of Moore's Law and related observations, so this paper will not dig further into such matters. It is relevant to give a cursory review of why Moore's Law and its relatives may not last forever, so that subject will be discussed, along with some projections as to when the law might wind down. The main focus of this paper will be to consider the implications when this apparently exponential curve suddenly begins to wane. What impact will this have on IT and society? What strategies can we anticipate and employ to effectively deal with such a new reality?
There's a famous Isaac Asimov story ("The Last Question", November, 1956, Science Fiction Quarterly, and several anthologies since) in which a massive computer designed to solve all of humanity's problems very slowly gets smaller and smaller while getting more powerful. Having been written before the "discovery" of Moore's Law, this story takes the approach that each order-of-magnitude reduction in the size of the computer takes an eon. The computer continues to reduce in size while increasing in power, until, at the end of time, it has no physical dimensions at all, existing entirely in hyperspace. During the story, the "last question" is asked several times as history unfolds: is it possible to violate entropy and survive beyond the otherwise inevitable winding down of the universe? (To learn Asimov's proposed answer, read the entire story at http://www.multivax.com/last_question.html.)
This story suggests two ideas that are very attractive to our current mindset: that computers can continue to grow more powerful indefinitely while taking less space, and that apparently inviolable limitations can be overcome.
Perhaps modern or future physicists will indeed find a way to move computing power outside the confines of the physical universe - in which case, all bets are off. However, for the time being, we're limited to what appears to be a finite universe. In fact, it is believed that there are only 1080 atoms in the entire universe based on available data (see http://en.wikipedia.org/wiki/Observable_universe). Of those, there are less than 1.3 x 1050 of them readily available to us - that being the approximate number of atoms on Earth (see http://wiki.answers.com/Q/How_many_atoms_are_there_on_earth). And that assumes that every smallest bit of matter on earth can be used to store data - which is a great stretch of imagination, indeed. A more reasonable number would be a tiny fraction of that amount, based on the matter available within a few miles of the earth's surface which could be turned into computing components.
In any case, it is clearly finite.
Now, let's approach it from the other side and see what Moore's Law, as it is popularly understood, projects about how much memory we'll have at current rates. Right now, the average home computer is just reaching four gigabytes (4 x 109 bytes) of memory. Some have surpassed this value and some won't get there for a few more years, so it makes a good approximation.
Projecting on the most currently popular version of Moore's Law - that available storage per price and space doubles every 1.5 years - we see that it goes up 4 times in 3 years, 8 times in 4.5 years, 16 times in 6 years, 32 times in 7.5 years, 64 times in 9 years, 128 times in 10.5 years, 256 times in 12 years, 512 times in 13.5 years and 1024 times in 15 years.
In other words, we would expect to see approximately a thousand-fold increase in available storage every 15 years.
That means that by 2018, the average home computer should have four terabytes (1012 bytes) of memory. Let's follow the trend: 2028 - four petabytes (1015), 2038 - four exabytes (1018), 2048 - four zettabytes (1021) , 2058 - four yottabytes (1024)... hold on... there's no word for a thousand yottabytes! (Check it out!) Sounds ominous...
Of course, that's just home PC's (assuming that such creatures still exist in 2058). But what about the total amount of computer storage on earth? According to http://en.wikipedia.org/wiki/Yottabyte, all the world's computers stored 160 exabytes in 2006, which, if Moore's Law applies here, projects backwards to 10 exabytes in 2000, then forward to 10 zettabytes by 2016 and 10 yottabytes by 2026.
Granted, that's just an arbitrary limitation. But think about it - we're not even prepared to deal with what to call the amount of storage we'd theoretically have world wide by 2036. And that's only 28 years away (remembering that Time Magazine named the personal computer "Man of the Year" for 1982, which was a scant 26 years in the past - see http://www.time.com/time/covers/0,16641,19830103,00.html; of course, back then, everyone was still using two digits to represent the year in their computer programs...).
Enough theoretical projections - what are the practical issues opposing this apparently inexorable increase in capacity?
The first is that most businesslike of all issues: profit margin. According to http://en.wikipedia.org/wiki/Image:Economics_of_Moore%27s_Law.JPG, the profit margin for producing ever more high-capacity devices is rapidly reducing on a curve with a limit of zero. In order, then, to make newer devices profitable, it will be necessary to sell larger and larger quantities of them, but there's a finite number of consumers on this planet. And, given current economic conditions, the profitability of producing ever denser components may end sooner than we think.
What it comes down to, then, is that everything we currently know points to a limit in the ability of computers to continue to grow their capacity and shrink their size exponentially. So, whether it begins to manifest within the next decade as some are predicting, or winds up another few decades down the line, it's not too early to start thinking about appropriate strategies for success beginning today.
All of these projections are useless, of course, unless some insight can be gained about how to effectively respond to them. Ideally, this can lead to some effective strategies that could be applied in one or more likely eventualities.
Dividing possible outcomes into the following three scenarios will offer an opportunity to consider matters further:
The first scenario is mainly relevant as a sounding board for strategies that are calculated to take advantage of the other two. It would seem unwise to bet the farm on Moore's Law winding down, without taking into account that we still don't know if and when it will happen. So a solid strategy needs to be viable in the context of Status Quo as well.
The second scenario seems most likely over time, and has many possible ways that it could play out, particularly depending on how everyone responds to (or plans for) it.
In addition, even if Moore's Law were to keep chugging along from a technical perspective, current electrical energy limitations may factor in to lead to this scenario.
The third possible set of circumstances can actually be seen, not only as a "worst case scenario" but also as a temporary setback. Just like a stock market crash, which may drive people to despair at the time, it could well be the foundation of a bounce back in a new direction. Strategies calculated to benefit in the second scenario may easily be ones that ride this third case out and go on to future success most readily.
Given all that, let's move forward with projecting based on the Gentle Winding Down vision of the future.
What are the forces that have kept Moore's Law operating for these past few decades? First and foremost, demand, which pays the way for the development of better technologies. The next force is scientific research and engineering advancement, discovering new and better ways to manufacture ever denser components. Third of all, and in many ways creating a feedback loop to the other two, there are the applications and their data which soak up all the capacity that is created.
As an old computer joke, often phrased as one of the laws of computing, goes as follows: Any given program will expand to fill all available memory.
In fact, that is the one area where Moore's Law does not seem to have operated - yet. Just think of your PC. As it has grown faster and had more memory and storage added, has boot time been reduced? Not noticeably in most cases - indeed, it may seem to have increased.
And so, first with documents, then music, then movies, the data that applications use become larger and larger, driving the density of memory and storage, and the speed of processors. What application will make the next larger demand on computing capacity? It remains to be seen.
One could draw a connection between computing resources used by applications (and their users) and energy usage. Just as modern conveniences, appliances, and even computers have demanded more and more energy, so modern applications have required more and more resources. Likewise, just as one of the most important underused sources of electrical power is savings through efficiency, there may be significant capacity in modern applications to be optimized for memory, storage and processor usage.
This, of course, hearkens back to the early days of computing - not a bad time to consider as we think through the implications of reaching a ceiling. Back then, code was written as close to the bare metal as possible, by people with real limitations in available resources as their motivators for coding efficiently.
Today, much code is written in very high-level languages, often by people with little or no familiarity with the underlying architecture and behavior of the computers they're coding for. Then, it's used by users who may have no grasp at all of how to use these applications efficiently.
All of which leaves us in what could be termed "The Era of Bloatware."
How would people tend to behave in response to a gentle winding down scenario, given these factors? They might begin by looking for efficiencies, such as greater optimization, greater compression, more efficient algorithms, and more careful usage practices. However, re-architecting something that is already established, while taking into account the established context in which it is expected to operate, can be much more challenging that writing something new to replace it, whereby old rules and expectations could be ignored in favor of a new paradigm. Anything, then, that has not held tightly to the principles of frugality and responsibility may be expected to see competitive upstarts emerge to replace it.
To summarize what has been said so far: Moore's Law has never actually been a fixed target, and is subject to ongoing change, as is our response to it.
The good news is that, since we have no way of predicting if and how Moore's Law may morph or cease to operate, it probably makes sense to base any strategies on the assumption that some version of Moore's Law is likely to continue operating for the foreseeable future.
That said, we do find ourselves in a world where there are more and more computer resources to manage and fewer and fewer people to do so. Combine this with the decreasing enrolments in computing at educational institutions, and there's one more resource that may not expand to meet our needs: computing technologists. Yet the demands on computing resources seem set to outstrip available resources, whether or not Moore's Law keeps going. And they will certainly do so if it winds down. Add to that creeping complexity, which makes it harder and harder to manage what's already there, and two themes re-emerge from the mists of past human experience: simplicity and responsibility.
Simplicity, that great human drive that turns an effectively infinite universe into manageable pieces, has always served us well. Now, as computing reaches a level of organic complexity that exceeds the grasp of most or all of those tasked with managing it, it looks like a layer of simplicity in the form of management systems is a good answer.
Responsibility, on the other hand, means thinking our plans and decisions through to their logical consequences, and choosing architectures and directions that don't make rash implicit assumptions about the unlimited availability of resources and ease of managing them.
Unsurprisingly, these have been the same strategies that the most successful individuals and organizations have always applied. So, if we have gone off on some sort of spending binge, bringing in more and more computing capacity without reference to responsible, simple management of them, this is easily as good a time as any to reexamine the state of our environment and start planning again, instead of just following the path of least resistance.
No emergencies then, just good old fashion common sense. And there's always room for that to be more common.