Visit additional Tabor Communication Publications
July 27, 2007
In this week's issue, PGI's Michael Wolfe writes a thoughtful piece about our changing attitudes towards high-end computing productivity and how it relates to compilers and software in general. Wolfe highlights some of the difficulties of defining productivity and the limitations of those attempts. Reading the article got me to thinking about a topic that is often missing from the discussion: how computing productivity fits into our overall goals of increasing value. The assumption is that increased productivity will automatically give us better computing systems via some trickle-down effect. But we may be disappointed.
Wolfe himself alludes to this when he questions the utility of increasing productivity at the expense of performance. "We may measure productivity as performance/cost, but we don't get true high productivity by simply reducing the denominator faster than we reduce the numerator," he says. In essence he's implying that productivity, at least in the narrow definition of the term, is not the end game.
Let's say we find a great new programming language that makes it easy to churn out a low-performing atmospheric modeling application. What's the point? The cost saved in producing the software will be lost if slower execution prevents it from predicting weather events in a timely manner. In addition, the new language may not have the tool support or portability of a less productive language, which threatens the longevity of applications developed with it. It seems fairly obvious that increasing productivity for its own sake won't necessarily lead to practical outcomes. (The same sort of disconnect occurs when economists talk about maximizing the efficiencies of the market, ignoring the fact that the point of economies is to maximize the financial well-being of actual people.)
So what is the end game for high-end computing, or any computing, for that matter? Let's simply call it "usefulness" -- the attribute of how much value can be derived from a computing system over its lifetime. Now I suppose we could try to merge usefulness into the definition of productivity, but that seems like a bit of a semantic stretch. Usefulness has to do with how practical something is, not just how efficiently it operates. In business-speak they talk about return on investment (ROI), which is the ratio of money lost or gained in relation the the money invested. This might be a decent starting point for measuring usefulness. But I suspect a larger perspective is required.
On its best days, the government actively looks for ways to seek out useful solutions for the people it represents. That's why the feds are funding DARPA's High Productivity Computing Systems (HPCS) program. The goal of this effort is to produce a new generation of economically viable HPC systems for government and industry by 2010. Even though productivity is HPCS's middle name (literally), I'm hoping that the people involved in the program will not lose sight of the goal of creating practical systems.
While commercial organizations tend to act in their own self interest, they usually have a bigger role to play than the government in producing useful computing systems. Since customers generally demand practical solutions, vendors are focused on accommodating them. In today's environment, users require that computing systems be more than just technically sound and inexpensive. They want to be assured that what they buy is well-supported, and if possible, not dependent upon the control of a single vendor. This encourages companies to form consortiums, establish standards, and contribute intellectual property to the community.
A recent example of the latter is Intel's release of their Threading Building Blocks (TBB) library into the open source community, which I write about in this week's issue. The TBB library can be used to develop C++ applications for multicore environments using high-level task parallelism. By avoiding having to program and debug low-level thread and lock management, developers should realize increased productivity. And according to Intel, the performance of TBB is as good or better than most hand-coded versions of parallel programming.
But even though the TBB software offered both performance and productivity, users wanted more. They told Intel they would like the software to run everywhere, not just on x86 processors, and not necessarily just on Linux, Windows and Mac OS. Users expressed that they would also rather not be dependent upon Intel to maintain this library over the lifetime of their applications. They weren't worried that Intel would disappear, just that the company might decide to pull the plug on the software at an inopportune time. From a business standpoint, Intel is very interested in getting the TBB software into the multicore ecosystem, but would rather not be bothered with implementing each OS and processor port.
Open source was the logical answer to make this software truly useful. Although TBB is currently only suited for low-end HPC today (it scales up to a few dozen cores), now that the software is available to the open source community, it is more likely to attract the attention of developers with bigger things in mind.
I suppose it seems a little premature to be talking about high usefulness computing as a successor to high productivity computing. We don't yet have a good grasp on how to measure and improve productivity. I'm certainly not advocating we stop looking at how to make our software processes and hardware systems more efficient. And I'm not changing the publication to HUCwire anytime soon. But I think it is worthwhile to keep in mind that increasing productivity is just a means to an end, not an end unto itself.
As always, comments about HPCwire are welcomed and encouraged. Write to me, Michael Feldman, at firstname.lastname@example.org.
Posted by Michael Feldman - July 26, 2007 @ 9:00 PM, Pacific Daylight Time
Michael Feldman is the editor of HPCwire.
No Recent Blog Comments
In quieter times, sounding the bell of funding big science with big systems tends to resonate further than when ears are already burning with sour economic and national security news. For exascale's future, however, the time could be ripe to instill some sense of urgency....
In a recent solicitation, the NSF laid out needs for furthering its scientific and engineering infrastructure with new tools to go beyond top performance, Having already delivered systems like Stampede and Blue Waters, they're turning an eye to solving data-intensive challenges. We spoke with the agency's Irene Qualters and Barry Schneider about..
Large-scale, worldwide scientific initiatives rely on some cloud-based system to both coordinate efforts and manage computational efforts at peak times that cannot be contained within the combined in-house HPC resources. Last week at Google I/O, Brookhaven National Lab’s Sergey Panitkin discussed the role of the Google Compute Engine in providing computational support to ATLAS, a detector of high-energy particles at the Large Hadron Collider (LHC).
May 23, 2013 |
The study of climate change is one of those scientific problems where it is almost essential to model the entire Earth to attain accurate results and make worthwhile predictions. In an attempt to make climate science more accessible to smaller research facilities, NASA introduced what they call ‘Climate in a Box,’ a system they note acts as a desktop supercomputer.
May 22, 2013 |
At some point in the not-too-distant future, building powerful, miniature computing systems will be considered a hobby for high schoolers, just as robotics or even Lego-building are today. That could be made possible through recent advancements made with the Raspberry Pi computers.
May 16, 2013 |
When it comes to cloud, long distances mean unacceptably high latencies. Researchers from the University of Bonn in Germany examined those latency issues of doing CFD modeling in the cloud by utilizing a common CFD and its utilization in HPC instance types including both CPU and GPU cores of Amazon EC2.
May 15, 2013 |
Supercomputers at the Department of Energy’s National Energy Research Scientific Computing Center (NERSC) have worked on important computational problems such as collapse of the atomic state, the optimization of chemical catalysts, and now modeling popping bubbles.
May 10, 2013 |
Program provides cash awards up to $10,000 for the best open-source end-user applications deployed on 100G network.
05/10/2013 | Cleversafe, Cray, DDN, NetApp, & Panasas | From Wall Street to Hollywood, drug discovery to homeland security, companies and organizations of all sizes and stripes are coming face to face with the challenges – and opportunities – afforded by Big Data. Before anyone can utilize these extraordinary data repositories, however, they must first harness and manage their data stores, and do so utilizing technologies that underscore affordability, security, and scalability.
04/15/2013 | Bull | “50% of HPC users say their largest jobs scale to 120 cores or less.” How about yours? Are your codes ready to take advantage of today’s and tomorrow’s ultra-parallel HPC systems? Download this White Paper by Analysts Intersect360 Research to see what Bull and Intel’s Center for Excellence in Parallel Programming can do for your codes.
In this demonstration of SGI DMF ZeroWatt disk solution, Dr. Eng Lim Goh, SGI CTO, discusses a function of SGI DMF software to reduce costs and power consumption in an exascale (Big Data) storage datacenter.
The Cray CS300-AC cluster supercomputer offers energy efficient, air-cooled design based on modular, industry-standard platforms featuring the latest processor and network technologies and a wide range of datacenter cooling requirements.