I find my life is a lot easier the lower I keep my expectations.
― Bill Watterson
I’ve been troubled a lot recently by the thought that things I’m working on are not terribly important, or worse yet not the right thing to be focusing on. Its not a very quieting thought to think that your life’s work is nigh on useless. So what the hell do I do? Something else?
My job is also bound to numerous personal responsibilities and the fates of my loved ones. I am left with a set of really horrible quandaries about my professional life. I can’t just pick up and leave, or at least do that and respect myself. My job is really well paying, but every day it becomes more of a job. The worst thing is the
overwhelming lack of intellectual honesty associated with the importance of the work I do. I’m working on projects with goals that are at odds with progress. We are spending careers and lives working on things that will not improve science, and engineering much less positively effect society as a whole.
I really believe that computational modeling is a boon to society and should be transformative if used properly. It needs capable and able computing to work well. All of this sounds great, but the efforts in this direction are slowing diverging from a path of success. In no aspect of the overall effort is this truer than high performance or scientific computing. We are on a path to squandering a massive amount of effort to achieve almost nothing of utility for solving actual problems in the so-called exascale initiative. The only exascale that will actually be achieved in on a meaningless benchmark, and the actual gains in computational modeling performance are fleeting and modest to the point of embarrassment. It is a marketing ploy masquerading as strategy and professional malpractice, or simply mass incompetence.
Strong language, you might say, but it’s at the core of much of my personal disquiet. I’m honest almost to a fault and the level of intellectual dishonesty in my work is implicitly at odds with my mostly held values. For the most part the impact is some degree of personal morale decline and definite feel of lacking inspiration and passion for work. I’ve been fortunate to live large portions of my life feeling deeply passionate and inspired by my work, but those positive feelings have waned considerably.
I’ve written about the shortcomings of our path in high performance computing a good bit. I discussed a fair bit the nature of modeling and simulation activities and their relationship to reality. For modeling and simulation to benefit society things in the real world need to be impacted by it. Ultimately, the current focus is on the parts of computing furthest from reality. Every bit of evidence is that the effort should be focused completely differently.
The only real mistake is the one from which we learn nothing.
― Henry Ford
The current program is a recreating the mistakes made twenty years ago in high performance computing in the original ASCI program. Perhaps the greatest sin is not learning anything from the mistakes made then. We have had twenty years of history and lessons learned that have been conspicuously ignored in the present time. This isn’t simply bad or stupid; it is absolutely the sins of being both unthinking and incompetent. We are going to waste entire careers and huge amounts of money in service of intellectually shallow efforts that could have been avoided by the slightest attention to history. To call what we do science when we haven’t bothered to learn the obvious lessons right in front of us is simply malpractice of the worst possible sort.
All of this is really servicing our aversion to risk. Real discovery and advances in science require risk, require failure and cannot be managed like building a bridge. It is an inherently error-prone and failure-driven exercise that requires leaps of faith in the ability of humanity to overcome the unknown. We must take risks and the bigger the risk, the bigger the potential reward. If we are unwilling to take risks and perhaps fail, we will achieve nothing. The current efforts are constructed to avoid failure at all cost. We will spend a lot to achieve very little.
In a deep way it makes a lot of sense to clearly state what the point of all this work is. Is it “pure” research where we simply look to expand knowledge? Are we trying to better deliver a certain product? How grounded in reality are the discoveries needed to advance? Is the whole thing focused on advancing the economics of computing? Are we powering other scientific efforts and viewing computing as an engine of discovery?
None of these questions really matter though, the current direction fails in every respect. I would answer that the current high performance-computing trajectory is not focused on success in answering any of these questions except for a near-term give-away to the computing industry (like so much of government spending, it is simply largess to the rich). Given the size of the computing industry, this emphasis is somewhere between silly and moronic. If we are interested in modeling and simulation for any purpose of scientific and engineering performance, the current trajectory is woefully sub-optimal. We are not working on the aspects of computing that impact reality in any focused manner. The only benefit of the current trajectory is using computers that are enormously wasteful with electricity and stupendously hard to use.
By seeking and blundering we learn.
― Johann Wolfgang von Goethe
We could do so much better with a little bit of thought, and probably spend far less money, or spend the same amount of money more intelligently. We need substantial work on the models we solve. The models we are working on today are largely identical to those we solved twenty years ago, but the questions being asked in engineering and science are far different. We need new models to answer these questions. We need to focus on algorithms for solving existing and new models. These algorithms are as or more effective than computing power in improving the efficiency of solution. Despite this, the amount of effort going into improving algorithms is trivial and fleeting. Instead we are focused on a bunch of activities that have almost no impact on the efficiency or quality of modeling and simulation.
The efforts today simply focus on computing power during a time where the increases in computing power are becoming increasingly challenged by the laws of physics. In a very real sense the community is addicted to Moore’s law, and the demise of Moore’s law threatens the risk adverse manner that progress has been easily achieved for twenty years. We need to return to a high risk, high payoffs research that once powered modeling and simulation, but the community eschews today. We are managed like we are building bridges and science is not like building a bridge at all. The management style for science today is so completely risk adverse that it systematically undermines the very engine that powers discovery (risk and failure).
Models will generally get worse with greater computing resources. If the model is wrong there is no amount of computing resources that can fix it. It will simply converge to a better wrong answer. If the model is answering the wrong question, the faster computer cannot force it to answer the right one. The only thing that can improve matter is a better or more appropriate model. Today working on better or more appropriate models receives little attention or resources instead we pour our efforts into faster computers. These faster computers are solving yesterday’s model faster and to more high fidelity wrong answers than ever before.
Most of our codes and efforts on the next generation of computers are simply rehashed versions of the codes of yesterday including the models solved. Despite overwhelming evidence of these models intrinsic shortcomings, we continue to pour effort in to solving these wrong models faster. In addition the models being solved are simply ill suited to the societal questions being addressed with modeling and simulation. A case in point is the simulation of extreme events (think 100 year floods, or failures of engineered products, or economic catastrophes). If the model is geared to solving the average behavior of a system, these extreme events cannot be directly simulated, only inferred empirically. These new models are necessary and need new math and new algorithms to solve them. We are failing to do this in a wholesale way.
Next the hierarchy of activities in modeling and simulation are algorithms (and methods). These algorithms allow the solution of the aforementioned models. The algorithm defines the efficiency, and character of the solution to models. These algorithms are the recipes for solution that computer science supports and the computers are built to work on. Despite their centrality and importance to the entire enterprise, the development of better algorithms receives almost no support.
A better algorithm will positively influence the solution of models on every single computer that employs it. Any algorithmic support today is oriented toward the very largest and most exotic computers with a focus on parallelism and efficiency of implementation. Issues such as accuracy and operational efficiency are simply not a focus. A large part of the reason for the current focus is the emphasis and difficulty of simply moving current algorithms to the exotic and difficult to use computing platforms being devised today. This emphasis is squeezing everything else out of existence, and reflects a misguided and intellectually empty view of what would make a difference.
There. I feel a little better having vented, but only a little.
Don’t mistake activity with achievement.
― John Wooden