This past July, the second annual HPC Users Conference
) was held in Washington, DC. The conference is co-sponsored by The Council on Competitiveness (see sidebar), the Defense Advanced Research Projects Agency (DARPA), the U.S. Department of Energy, National Nuclear Security Administration, and Office of Science, and the National Science Foundation. The Council on Competitiveness has identified high-performance computing (HPC) as a key competitive factor for the future. As they rightly state, “If we are to outcompete, we must out-compute.”
Aside from a one day meeting with interesting speakers, the Council on Competitiveness and DARPA also sponsor surveys of the HPC industry. The surveys are done by IDC, and normally you would pay a non-trivial amount of cash for the survey results. Fortunately, though, the survey results are freely available. (URLs are given below.)
HPC Use in Industry
*“High performance computing is essential to business survival.” Nearly 100 percent of the survey respondents indicated that HPC tools are indispensable, stating that they would either not exist as a viable business or be able to effectively compete in the global marketplace without HPC tools.
*“Companies are realizing a range of financial and business benefits from HPC.” Strategic competitive benefits included gains such as shortened product development cycles, faster time-to-market, and reduced costs, all of which combine to significantly improve a company’s bottom line.
*“Business and technical barriers are inhibiting the use of supercomputing.” The lack of human capital is the largest factor preventing more aggressive use of HPC. There is a lack of computational scientists. Also, budget constraints prevent companies from being able to hire these in-demand scientists.
*“Dramatically more powerful and easier-to-use-computers could add billions to the bottom line.” Survey respondents suggested that bottom line improvements from tens of millions to billions of dollars could be realized from more powerful and easier-to-use HPC systems.
The results also indicated that clustering methods (vendors and in-house systems) represent the majority (39 percent) of the HPC systems surveyed. These findings represent a challenge to everyone in the market: for those dealing with clusters, the lack of people and software is often obvious.
The Tale of Independent Software Vendors
*“The business model for HPC-specific application software has all but evaporated in the last decade.” ISVs typically cannot afford to spend the time and money needed to rewrite their applications software.
*“ISV applications are important for improving and maintaining U.S.business competitiveness, but they can exploit only a fraction of the available problem solving power of todays high-performance computers.” For example, few ISVs applications today can take advantage of more than 128 processors.
*“For many applications, the ISV knows how to improve scalability, but has no plans to do so.” There seems to be no solid business case to reward the improvement of HPC software.
*“The open-source software community isn’t — now nor ever — a significant source of new application software for HPC.” Most ISVs need to pursue profitable growth.
Well, after reading this, I’m just about ready to join the Geek Squad. The bottom line seems to be that improving HPC applications for cluster architectures is just not in the cards, unless someone is willing to pay heavily for it. “Congratulations on your new ‘Top 500’ hardware. Too bad there isn’t any software for it.”
Buddy, Can You Spare Ten Million?
I don’t want to get off on another rant here, but this survey seems to indicate that many of the ISVs in the HPC market are ready to stand in the corporate welfare line. The argument seems to be, “Our customers need this software to be competitive, but the market isn’t big enough to warrant the hard work of improving scalability, so someone help us out here, please.” In other words, “Buddy, can you spare ten million or two?”
Looking further at the findings of this year’s study, I also get a bit confused. The observation, “The business model for HPC-specific application software has all but evaporated,” is a pretty strong statement. I envision a once vibrant lake that is now but a few small puddles. Bad news, indeed.
But, then when talking about open source, the survey indicates that “Most ISVs need to pursue profitable growth and can ill afford investments of time and money that are unlikely to contribute to this goal”. Looks like to me that is exactly what has been going on in HPC-ISV pond. So why the dig at open source?
Before I propose part of a solution that does not include large amounts of tax dollars, I want to a address a misunderstanding that keeps surfacing in the corporate world. Open source software is not free as in beer. It never was, and never will be.
“What?”, you say, “I can download MM5 (http://www.mmm.ucar.edu/mm5
, a production quality weather modeling software) right now for no cost.” Well, go right ahead, but I ask you to keep track of the time it takes you to build it, figure out how to use it, test it, and finally, use it as part of your everyday research. Take that amount of time and multiply it by how much your time is worth to your employer. This amount of money is how much that free software costs your organization. If you work as a graduate student, you’re slave labor and the cost is almost free. On the other hand, if you work in a corporate environment, then you are a real expense and I’d guess that the cost of MM5 has now gone from almost free to five digits. In addition, your organization may find it more economical to outsource much of the support for MM5 and let you get back to predicting the weather.
Now, in using MM5, you may also find a bug or suggest an improvement. (Since you have the source code, you can even make improvements or customize the software.) Some things may make the code more robust or work better. You can then feed these improvements back to authors, which will probably get added to the next version– along with many others from users like you. So the cost for the software is your time, or your mind share as it were, and your reward is to control your destiny. A barter of sorts, no cash, no lawyers, no convoluted license agreements, just a mutually beneficial relationship. Give a little, get a lot.
What’s an ISV To Do?
Let’s move on to the bigger question. What on earth are these ISVs to do? I have a suggestion. How about open source? I can hear the screaming already, “What? Give it away for free? How will we make any money? I cannot make any money doing that.”
Well, Mr. and Ms. ISV, according to the survey, you’re not really making that much money as it stands now and updating your software seems out the question. If you think the government is going to rain money and refill your lake, you might want to be picture something more the size of a pond (or maybe just a puddle). You may find it helpful to re-read the preceding paragraphs and remember that “freely available” does not mean someone is going to come take your desk and chair. It really means that a lot more people will be using, discussing, and installing your software. And, presumably, a lot more people will be seeking support, so you may need some extra chairs.
Still not convinced? The survey indicated that 82.75 percent of the respondents were willing to develop partnerships to improve applications. The most helpful types of partners were cited as other code developers (25.25), government labs (24.8 percent), universities (21.9 percent), buyers (17.8 percent), and investors (10.3 percent).
Did you feel the clue stick just hit your head?
Here’s my prediction: at some point, the government is going to help out this desperate lot. But before that happens, there will be a few who go the open source route. Those pioneers will see their market share increase rather quickly (more than any multi-million dollar marking campaign could have done), will enjoy a vibrant user community in both research and academia (think of it as Apple seeding the school systems with free computers), and will experience a real demand for support and consulting. (After all, end-users really don’t want to write/fix MPI code.)
The companies that choose open source will find that their applications grow and adapt to whatever computer architectures the future brings. In the end, each open source company will get paid by customers to do what it does best: understand, support, and improve its application.
Other companies? They’ll keep their fingers cross, expecting (hoping) the goverment to refill the lake before their private market evaporates. And we all know how well that works.