The feeling is less like an ending than just another starting point.
― Chuck Palahniuk
This is another reply to my critique of our modernization program for codes, which is really creating a whole new generation of legacy codes. This is proposing a solution to this that is the acceptance of the inevitable.
The path toward better performance in modeling and simulation has focused to an unhealthy degree on hardware for the past quarter century. This focus has been driven to a very large degree by a reliance on Moore’s law. It is a rather pathetic risk avoidance strategy. Moore’s law is the not really a law, but rather an empirical observation that computing power (or other equivalent measures) is growing at roughly a rate of doubling every 18 months. This observation has held since 1965 although its demise is now rapidly upon us. The reality is that Moore’s law has held for far longer than it ever could have been expected to hold, and its demise is probably overdue.
For microprocessors, Moore’s law died around 2007, and now only lives via increasing reliance upon parallelism (i.e., lots of processors). Getting the performance out of such massive parallelism is enormously difficult and practically unachievable for an increasingly large span of methods, procedures and algorithms. Our lack of getting the advertised performance out of computers has been a large and growing problem systematically ignored for the same quarter century. It is papered over by measuring performance by a benchmark that has virtually no resemblance of any useful application and is basically immaterial to real progress.
We can almost be certain that Moore’s law will be completely and unequivocally dead by 2020. For most of us its death has already been a fact of life for nearly a decade. Its death during the last decade was actually a good thing, and benefited the computing industry. They stopped trying to sell us new computers every year and unleashed the immense power of mobile computing and unparalleled connectivity. Could it actually be a good thing for scientific computing? Could its demise actually unleash innovation and positive change that we are denying ourselves?
What if the death of Moore’s law is actually an opportunity and not a problem? What if accepting the death of Moore’s law is a virtue that the high performance computing community is denying itself? What might be gained through embracing this reality?
Each of these questions can be answered in a deeply affirmative way, but requires a rather complete and well-structured alteration in our current path. The opportunity relies upon the recognition that activities in modeling and simulation that have been under-emphasized for decades provide even greater benefits than advances in hardware. During the quarter century of reliance on hardware for advancing modeling and simulation we have failed to get the benefits of these other activities. These neglected activities are modeling, solution methods and algorithms. Each of these activities entails far higher risk than relying upon hardware, but also produce far greater benefits when breakthroughs are made. I’m a believer in humanity’s capacity for creation and the inevitability of progress if we remove the artificial barriers to creation we have placed upon ourselves.
The reasons for not emphasizing these other opportunities can be chalked up to the tendency to avoid high-risk work in favor of low risk work with seeming guarantees. Such guarantees come from Moore’s law hence the systematic over-reliance on its returns. Advances in models, methods and algorithms tend to be extremely episodic and require many outright failures with the breakthroughs happening in unpredictable ways. The breakthroughs also depend upon creative, innovative work, which is difficult to manage in the manner of the project management techniques so popular today. So under the spell of Moore’s law, why take the chance of having to explain research failures when you can bet on a sure thing?
If we look at the lost opportunities and performance from our failure to invest in these areas, we can easily see how much has been sacrificed. In a nutshell we have (in all probability) lost as much performance (and likely more) as Moore’s law could have given us. If we acknowledge that Moore’s law’s gains are actually not seen in real applications, we have lost an even greater level. Our lack of taste for failure and unpredictable research outcomes is costing us a huge amount of capability. More troublingly, the outcomes from research in each of these areas can actually enable things that are completely different in character than the legacy applications. There are wonderful things we can’t do today because of the lack of courage and vision. Instead the hardware path we are on almost assures that the applications only evolve in incremental, non-revolutionary ways.
If we finally accept that Moore’s law is dead, can we finally stop shooting ourselves in the foot? Can we start to support these activities with a proven track record and undeniable benefits? If we do not, the attempts to utilize the hardware to produce exascale computers will siphon all the energy from the system. The starvation of effort toward models, methods and algorithms will only grow. The gulf between what we might have produced and what we actually have will only grow larger and more extreme. This is an archetypical opportunity cost. Moreover we need to admit to ourselves that for any application we really care about, the term exascale is complete bullshit. If the press release says we have an exascale computer, for an actual application of real interest we might have one-hundredth of that speed. This might actually be optimistic.
To make matters worse, the imbalance in research and effort is poisoning the future. The hardware path has laid waste to an entire generation of modeling-simulation scientists who might have been able to conduct groundbreaking work. Instead they have been marshaled into the foolhardy hardware path. The only reasons for choosing hardware are the belief that it is easier to fund and yields guaranteed (lower) returns. Our management needs to stop embracing this low bar and begin to practices an effective management of the future. The depth of my worry is that we do not have the capacity to manage a creative environment in manner that accepts the failure necessary for success. We have become completely addicted to the “easy” progress of Moore’s law, and forgotten how to do hard work.
Perhaps the end of Moore’s law for real can provide the scientific computing community with a much needed crisis. I believe that the way out of the crisis is simple and easy. The path has been trod before, but we have lost the ability to walk it. We need to allow if not encourage risk and failure in forgotten areas of endeavor. We need to balance the work appropriately realizing the value of each activity, and focus on the work where we have need and opportunity. A quarter century of reduced effort in models, methods and algorithms probably means that efforts will yield an avalanche of breakthroughs if only the effort is marshaled. To unleash this creative tsunami, the steady march toward exascale needs to halt because it swallows all effort. We are creating computers so completely ill-suited to scientific computation that simply using them is catastrophic to every other aspect of computing.
Another more beneficial aspect of changing our perspective and accepting Moore’s law’s death is how we compute. Just as the death of Moore’s law in processors unleashed computing into the mobile market and an era of massive innovation in use of computing, the same can happen for scientific computing. We only need to change the perspective. Today the way we use computing is stuck in the past. The way computing is managed is stuck in the past. Scientists and engineers still solve their problems as they did 25 years ago, and the exascale focus does little to push forward. We still exist in the mainframe era with binding policies from the IT departments choking innovation and progress.
A pessimist sees the difficulty in every opportunity; an optimist sees the opportunity in every difficulty.
― Winston S. Churchill