For the last few decades we have had great increases in performance. Since going to “off-the-shelf components” and riding on the tails of increasing processor improvements along with ever greater number of chips and cores some have come to realize that this can’t go on forever.
We have filled up a number of ever-bigger rooms with racks and racks until we have come face to face with having to own your own power company just for the power needed to run these complexes. On another front I would have expected more concerns about the high cost of these high-end systems.
It also seems that others are raising doubts because recently there has been a lot questions, concerns, discussions, comments, articles about the problems, and enough concerns about the way forward to even provide extra funding, but few seem to looking at root issues and saying that moving forward things need to change.
We have been lucky to ride the train so far, much longer and further than those of us would have ever imaged. But, now it has become ever harder and more costly to keep the train going. So lets take a deeper look at the road traveled. About 20 years ago the HPC train switched paths from custom processors and custom systems to off-the-shelf processors and systems. It has been a good and fruitful ride.
I think it would be very wise to notice that recently most of the speed improvement has come from the parallel side. I (we) was always highly focused on the serial side. At this point maybe I should say something about myself. I was fortunate to have worked with Seymour Cray for many years. So, the we, I am referring to, is my involvement and experience with Seymour and Seymour’s machines. Seymour was never in any race and not really concerned about what someone else may be doing or not doing, but always interested in exploring and pushing serial speed on real workloads. We were mainly focused on serial speed because it kept things simple and made systems easier to use, easier to program, with less overhead and higher system efficiencies.
Few may have ever talked to Seymour about serial speed vs. parallel speed, but I can tell you that Seymour was always quite aware and disciplined himself to stay focused on serial speed improvements. He felt he could contribute more, add more value, was personally more challenging, and he very much like to work on, enjoyed working on serial improvements.
Although, he would never admit it, he also knew that he was the “king” of serial speed. Just a side comment, Seymour was also interested in exploring the far end of parallel processors and we had a running prototype parallel machine that had a design goal of 30,000,000 processors, but that is quite another story. Getting back to this topic we were really always highly focused on serial speed with the “Cray’s.” Over the last 20 odd years the current off-the-shelf path has relied on serial speed improvements but ever more increasingly on greater and greater parallel speed improvements. Parallel speed improvements has, naturally, associated with it higher overhead and power costs along with lower system efficiencies and now ever higher costs to get into the top of the list.
So to get large cost effective improvements I think that we now need to re-focus back to serial speed improvements. I believe that by addressing serial speed improvements that speed improvements of 50X+ can be achieved because we were addressing root level changes that could lead to these kinds of improvements. This quickly leads one to a startling conclusion that memory can’t keep up, does not work and becomes the big elephant in the room. So you really need to look at how memory is used and really the only way to see it is to wipe the slate clean and get rid of memory. In order to think about it you need first get rid of it and start again fresh. Very few may be up to the task of starting fresh with a blank sheet. This is a rather hard task and not as simple as one may think.
While Seymour always preferred blank paper pads with faint light blue lines and number 2 pencils, at a time, it seemed, everyone started using computers and in some cases even “Cray” Super Computers to design the “next” machine. Einstein never needed or used a computer for his theories and I would guess that Peter Higgs didn’t use one either. Giant leaps and great things seem to come from very simple root ideas. Also can-do-positive attitudes play a most, maybe the most important part, even over seemingly impossible tasks.
The memory model currently used is largely based on a 70-year-old model. Oh, if you can wake up the guys that came up with the model, that were in the farm house/barn in Princeton at the time, they would be quite amazed at the great strides and progress but in very short order they would be able to program today’s machines – so in some ways things really haven’t changed much. Other areas will need to be addressed and changed, but memory is the first and most looming problem. Because these changes are deeper root issues they should be hidden from users and even and from most of the vast layers of existing software. Funny you may think that this is new but most was tried and used years ago, but never commercialized and sometimes discarded because of lack of the-then-current available technology.
Well, yes I do believe that by addressing some deep root issues that over time large serial speed improvements can be achieved, but to use them you will quickly come to the several conclusions including that you must deal with new ways to see and use memory and all that this implies. To achieve very large improvements, I think, the focus needs to be on very several very fundamental and root changes and then apply all the parallel knowledge and improvements made over the last 20 years. Now here, I believe, may be a bigger problem. In the US we have been blessed with chip and system vendors that have been able to supply ever-increasing speeds and lots of chips and cores so we have been glued to that path but others may be unencumbered, highly motivated and more able to do something new and different.
Although they may operate under different set of rules and have additional other problems they do not have as much invested in existing ideas, enterprises, hard plant and equipment; and may be less locked in and may be more willing to change pathways. So I am concerned with our current shortsighted attitude and lack of “Americanism” in keeping the leadership local.