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
Contributing commentator, Andrew Jones, offers a break in the news cycle with an assessment of what the national "size matters" contest means for the U.S. and other nations...
Today at the International Supercomputing Conference in Leipzing, Germany, Jack Dongarra presented on a proposed benchmark that could carry a bit more weight than its older Linpack companion. The high performance conjugate gradient (HPCG) concept takes into account new architectures for new applications, while shedding the floating point....
Not content to let the Tianhe-2 announcement ride alone, Intel rolled out a series of announcements around its Knights Corner and Xeon Phi products--all of which are aimed at adding some options and variety for a wider base of potential users across the HPC spectrum. Today at the International Supercomputing Conference, the company's Raj....
Jun 18, 2013 |
The world's largest supercomputers, like Tianhe-2, are great at traditional, compute-intensive HPC workloads, such as simulating atomic decay or modeling tornados. But data-intensive applications--such as mining big data sets for connections--is a different sort of workload, and runs best on a different sort of computer.
Jun 18, 2013 |
Researchers are finding innovative uses for Gordon, the 285 teraflop supercomputer housed at the San Diego Supercomputer Center (SDSC) that has a unique Flash-based storage system. Since going online, researchers have put the incredibly fast I/O to use on a wide variety of workloads, ranging from chemistry to political science.
Jun 17, 2013 |
The advent of low-power mobile processors and cloud delivery models is changing the economics of computing. But just as an economy car is good at different things than a full size truck, an HPC workload still has certain computing demands that neither the fastest smartphone nor the most elastic cloud cluster can fulfill.
Jun 14, 2013 |
For all the progress we've made in IT over the last 50 years, there's one area of life that has steadfastly eluded the grasp of computers: understanding human language. Now, researchers at the Texas Advanced Computing Center (TACC) are utilizing a Hadoop cluster on its Longhorn supercomputer to move the state of the art of language processing a little bit further.
Jun 13, 2013 |
Titan, the Cray XK7 at the Oak Ridge National Lab that debuted last fall as the fastest supercomputer in the world with 17.59 petaflops of sustained computing power, will rely on its previous LINPACK test for the upcoming edition of the Top 500 list.
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.
Join HPCwire Editor Nicole Hemsoth and Dr. David Bader from Georgia Tech as they take center stage on opening night at Atlanta's first Big Data Kick Off Week, filmed in front of a live audience. Nicole and David look at the evolution of HPC, today's big data challenges, discuss real world solutions, and reveal their predictions. Exactly what does the future holds for HPC?
Join our webinar to learn how IT managers can migrate to a more resilient, flexible and scalable solution that grows with the data center. Mellanox VMS is future-proof, efficient and brings significant CAPEX and OPEX savings. The VMS is available today.