James Reinders, a software engineering veteran of Intel, ponders the critical role that software plays in keeping Moore’s Law relevant and important.
Moore’s Law recently turned 50 years old, and many have used the milestone to tout its virtues, highlight the positive results that stem from it, as well as advance suggestions on what the future dividends will be and boldly project the date for its purportedly inevitable demise.
Moore’s Law is an observation that has undoubtedly inspired us to innovate to the pace it predicts. It has challenged us to do so. Therefore, I think of it as Moore’s drumbeat.
The software industry both benefits from the drumbeat’s pace for improving hardware, and has to innovate to keep up with the pace of the drumbeat.
It is fascinating how software benefits from Moore’s Law. As a software engineer, I know that we write today’s software, do the engineering and science that is possible now, and enable the Internet connected world we enjoy, only because we have benefited from the pace of hardware innovation set by Moore’s drumbeat.
It is equally fascinating to ponder the role that software has in keeping Moore’s Law relevant.
Moore’s Law has led to so many transistors that parallel computing became inevitable about a decade ago. Parallel computing is a shift that calls upon software to heed the drumbeat more than ever. The shift to parallelism, born from Moore’s Law, needs software to keep the drumbeat alive.
Today, parallelism is key in every dimension of computing.
But not long ago, most computers in the world could only do one thing at a time. Parallelism, the ability to do multiple things at once, is a newcomer to mainstream computing — born in the last 15 years. Multitasking windows became widespread after Windows XP introduced it in 2001. Linux became solid for symmetric multiprocessing, or SMP, with the 2.6 kernel in 2004. And, the first multicore processors appeared about 10 years ago. Contemporary with all these was the Internet surfacing in everyone’s lives and the emerging concept of cloud computing.
Parallel programming has been advanced by standards and open source projects including OpenMP, Intel Threading Building Blocks, C, C++ and Fortran parallel constructs. These capabilities help software developers to harness the rapid rise in core counts in processors, or CPUs. Graphical processing units, also known as GPUs, and programmable logic, called FPGAs, are also growing in capabilities and increasingly dependent on software. These helped give rise to the OpenCL standard. Cloud computing depends very much on parallel computing, while it is also a form of parallel computing itself. Hardware is becoming more diverse and making demands on software more than ever. Everything is moving to the drumbeat.
What innovations in software are needed to continue to support Moore’s Law? That’s a powerful question; I believe parallel programming, cloud computing, graphical programming and using programmable logic will be key. What else will arise? Without continued software innovation, Moore’s Law could be reduced to a curiosity instead of the marvel it is today.
What are your thoughts? Which science fiction predictions about future technology should come true?
After 50 years, Moore’s drumbeat looks to software innovation more than ever to translate Moore’s Law into real improvements in our lives.
What about the often-speculated or projected death of Moore’s Law? I have quipped that, with each day that passes, we are probably one day closer to its death, however Moore’s Law is not dying right now. It still sets a drumbeat that is a little faster than we think we can go. In fact, in my field of work, high performance computing a.k.a. “supercomputers,” that innovative spirit and hunger for more computing power works at a pace faster than the drumbeat of Moore’s Law — one that has a pretty consistent pace of doubling performance annually.
The world is not slowing down its hunger for innovation, reducing the scale of its problems, or slowing the pace of innovation. Setting an ambitious drumbeat is how Moore’s Law matters for us all. It is the drumbeat that helps us be our best; it helps rally us to the challenge to march at its ambitious pace. It is how we do our best to avoid being outpaced and left behind. We should all hope that Moore’s drumbeat continues forever, even if eventually Moore’s Law does not.
We all benefit from a drumbeat that urges us to do more than we thought we could. Software makes the march worthwhile. Today, software is a critical factor in keeping the drumbeat-driven hardware relevant. Will software, one day, be called upon to keep the drumbeat and innovation alive by itself?
James Reinders is chief evangelist, Intel’s software products.