Some thoughts on Moore’s Law

I am a pretty avid follower of technological progress, particularly advances in computer technology (hell, I got a BSc focusing on digital electronics and microfabrication out of pure interest). The overarching trend of this phenomenon is called Moore’s Law, an oft-misunderstood “law.”  Simply put, it is an industry-wide self-set goal to double the complexity (ie. number of transistors) of an integrated circuit at a given price point every 2 or so years.  This has held remarkably steady for several decades now.

If we take Moore’s Law as an axiom in our argument, since it is at present a valid observational law, some interesting things happen.  For the sake of this discussion, the actual doubling time is largely irrelevant, so long as some doubling does in fact occur.  This is because a doubling can be represented as 2^{t / t_0} where t_0 is the time for one doubling.  For simplicity, I’ll normalize t_0 (that is set it equal to 1 in some system of time units).

When we look at the pattern of the integer powers of 2, we find

2^0 = 1 \\ 2^1 = 2 \\ 2^2 = 4 \\ 2^3 = 8 \\ 2^4 = 16 \\ \mbox{...}

After a bit of thinking, you might notice that any given power of 2 is almost equal to the sum of all the preceding powers of 2:

2^i \approx \displaystyle\sum_{j=0}^{i-1} 2^j

with a difference from truth being just 1.  Eg) 2^4 \approx 2^0 + 2^1 + 2^2 + 2^3 = 1 + 2 + 4 + 8 = 15.  If this observation holds true for all 2^i then we arrive at an interesting result: Each doubling is equivalent to all previous doublings combined (if you’ll forgive an error of 1, which for i = 7 is already less than 1% error).

Since time can be considered continuous for human lengths of time (but is it fact ultimately continuous or discrete?), we might like to more formally show this result using integrals:

\displaystyle\int_0^t 2^t \mbox{d}t = \frac{2^t - 1}{\log 2} \\ \displaystyle\int_0^t 2^{t+1} \mbox{d}t = \frac{2(2^t - 1)}{\log 2}.

If we divide the latter by the former, we’ll clearly get a value of 2, as expected.

This effect is quite astounding.  Beginning from wherever you set your t=0, (say 1971) any computer and computational device you buy will in essence have the aggregate power of all its ancestral devices in a line combined.  What are the ramifications of this for computationally intense projects like SETI, Folding@Home, or the Blue Brain Project (years one and two)?  In my own experience, every time I’ve built a new computer for the last decade or so I’ve given it a run around Folding@Home and each time it vastly outpaced my previous efforts.  What would be the effect if everybody thought “Ah what the hell, no sense doing any computational work on it since my computer in two years will be far, far more useful.”  That mindset could conceivably persist until computational performance stops doubling, if it ever were to take hold which I somewhat doubt.  It is interesting to think that all the work volunteers were doing for distributive computing projects just a few years ago is now essentially negligible compared to present work.

This entry was posted in Technology. Bookmark the permalink.