The Leading Source for Global News and Information Covering the Ecosystem of High Productivity Computing
From the Editor | Main Blog Index
February 09, 2007
Much of the bleeding edge work that goes on in the global high performance computing community takes place in federally funded supercomputing centers and laboratories around the world. These are the places destined to get the first petascale supercomputers, where grand challenge applications can be pushed to their grandest limits. But now that high performance computing is firmly entrenched in all types of organizations -- commercial, academic and government -- it's safe to say that mainstream HPC is much more common than high-end supercomputing.
This democratization of supercomputing means cluster computing machines have become the de facto HPC architecture for people without deep pockets, i.e., most of the world. This is the reason the cluster model has become the dominant force shaping the industry, and the reason why the number of departmental and workgroup cluster systems are growing at double-digit rates. Since the way people use capability supercomputers is rather different from the way they use cluster computing, this dichotomy tends to split the HPC community in a variety of ways. One of the most important ways this manifests itself is the different ways HPC software is developed.
The legacy applications and libraries of high performance computing are almost entirely written in Fortran or C, with MPI thrown in to provide the parallelism. This level of technology almost always requires a software engineer to be in the room when any non-trivial application is developed. This is a workable arrangement for supercomputing centers and the national labs; programmers can be sequestered on demand. In this environment, plenty of time is devoted to squeeze the last bit of performance from the application. Such are the advantages of federally funded enterprises (at least when they're properly funded).
Once you leave the rarified atmosphere of supercomputing centers and national labs, the situation changes. As I've implied in previous articles on the subject, not every department or workgroup is going to be able to afford their very own software engineer. It's a simple numbers game. So if these groups are planning to develop their own applications, rather than just using someone else's, then another programming model must be considered.
One promising development is the emergence of high-level parallel languages like UPC (Universal Parallel C), CAF (Co-Array Fortran), and Titanium (parallel Java). Also in process is the development of the High Productivity Computing Systems (HPCS) language being pursued with DARPA money. Currently there are three HPCS languages: Chapel, X10, and Fortress. Eventually DARPA will whittle these down to one. In general though, this entire group represents third generation languages (3GLs) with built-in constructs for parallelism.
By increasing the level of abstraction for parallelism, these languages promise to increase productivity for HPC development. But by themselves, they won't be able to deliver high performance computing to the small developer.
Why not?
Because they are high-level languages in name only. The term is applied to any language that rises above the abstraction of assembly code. This includes all 3GLs like C/C++, Fortran, Java, etc. To be honest, true high-level programming languages don't exist yet. I mean this in the same sense that high-level human languages don't exist either. Is Mandarin high-level? Certainly not to me. All these "new" parallel programming languages will still be dependent on software engineers.
There are other programming models that may come to play a very important role in high performance computing. They fall under the general categories of domain specific languages (DSLs) and fourth generation languages (4GLs). As compared to a general-purpose language, DSLs attempt to be expressive for a specific subject matter or domain, while 4GLs emphasize higher level of abstraction. For both types, the execution model is often interactive, rather than compiled. Much of this technology is built on 3GLs, making use of both the older language environments and 3GL libraries.
In practice, the features of these DSLs and 4GLs overlap quite a bit, and are often just referred to as "very high-level languages". Because these languages target rather large domains and usually provide greater abstraction, they are accessible to a wider audience. Specifically, they are targeted to people without formal computer science training.
Example of these languages include MATLAB for scientific and mathematical computing; SQL for database applications; and Excel for financial and other numerical business applications. Today, all three of these have parallelized variants. The MathWorks and Interactive Supercomputing (ISC) have their own versions of a parallel-enabled MATLAB. In this week's issue we discuss ISC's version with Bill Blake, the new CEO. Parallel versions of SQL have been developed by a number of vendors. For example, both Microsoft and Oracle have built platforms that can distribute SQL database queries across multiple machines. Finally, Microsoft is combining an Excel Services front end with Microsoft Windows Computer Cluster Server 2003 to parallelize spreadsheet computations. A prototype was demonstrated at the SIA (Securities Industry Association) Technology Management Conference last June.
While parallel programming languages like UPC may help increase productivity for the HPC elite, my money is on the parallelized versions of the DSLs/4GLs to help spread HPC to the masses. At least until we get to the 5GLs.
-----
As always, comments about HPCwire are welcomed and encouraged. Write to me, Michael Feldman, at editor@hpcwire.com.
Posted by Michael Feldman - February 9 @ 12:00AM
PSSC Labs PowerWulf Clusters Custom Configured HPC Solutions for Your Needs and Budget
PSSC Labs stands for Professional Service, Super Computers. Our mission bring a superior level of service and support to the HPC community.
FREE Download: "Going Parallel - An Implementation Guide"
Breakthrough performance for MATLAB®, Python and other desktop apps... Get 100X speedups, with less than 10% of the development time. Focus is on enabling familiar desktop tools to virtually execute on parallel servers, clusters, and grids.
Michael Feldman is the editor of HPCwire.
Niche CPUs by voqk
kilowatts per hour? by markhahn
multicore programming paradigms by voqk
Re: It's the End of the World as We Know It? by mikeb
The missing link by icehawk
Actually, they're both right by JohnWest
Education and HPC by $user.username
Dinosaur HPC by $user.username
Re: Anticipating the Fall: Application Performance Has Chased Multicore's Speed Right Over a Cliff by tuccillo
Re: Anticipating the Fall: Application Performance Has Chased Multicore's Speed Right Over a Cliff by $user.username
Re: Anticipating the Fall: Application Performance Has Chased Multicore's Speed Right Over a Cliff by $user.username
Innovation and $ by $user.username
Innovation vs innovation by $user.username
Innovation by $user.username
changes in the HPC market by $user.username
The size and diversity of the HPC market in the United States supports a varied set of system providers and integrators. But in Europe, and the United Kingdom in particular, the market has a different shape.
Read More...
PRACE to evaluate petaflops prototypes; Acadamic roundtable discusses the computing industry's talent pool; and WRF benchmark data are released. John West recaps those stories and more in our weekly wrap-up.
Read More...
Since the first patent was issued for a Venetian statue in 1471, 60 million patents have been awarded around the world, with four million patents actively in force today worldwide. And 800,000 new inventions are registered every year. While the data is public, current search tools are inconvenient and inadequate to the needs of professionals. Semantic supercomputing techniques are helping researchers tackle this difficult challenge.
Read More...
Sep 05 | Uppsala University | Swedish researchers are revealing that "intelligent" computer-based methods for classifying patient samples is worthless when it comes to practical problems. Read more...
Sep 03 | Telegraph.co.uk | A new form of three dimensional scans could revolutionise brain surgery within a year, doctors claim. Read more...
Sep 03 | Linux Magazine | In HPC, most attention is paid to utilization and performance, rather than service availability and problem notification. This article focuses on the latter Read more...
Sep 03 | Nature News | What does it take to store bytes by the tens of thousands of trillions? Read more...
Sep 01 | Delaware Online | In the world of supercomputer-powered science, speed is everything, and an open road can lead to the promised land. Read more...
Sep 05 | | The excellent scalability features of Linux, in addition to robust security and performance makes it an excellent choice for server systems, especially in the high performance computing area.
Sep 01 | | The paper outlines the basic steps and tools involved in the process of migrating a desktop application to a parallel environment.
Jun 05 | | As pressure increases on the upstream seismic processing community to deliver ever-higher levels of productivity and efficiency, a new generation of storage solutions will be required that allow the maximum utilisation of high-performance computing (HPC) Linux cluster resources, together with the minimum of management overhead.
BlueArc's Titan architecture represents an evolutionary step in file servers by creating a hardware-based file system that can scale bandwidth, IOPS, and overall data capacity well beyond conventional software-based devices. With its ability to virtualize a massive storage pool of up to four usable petabytes of tiered storage, Titan can scale with growing data requirements, offering a competitive advantage for businesses, researchers, or other enterprises seeking to better manage data growth while still ensuring optimal performance.
Today, HPC organizations are requiring substantially more floating point performance to solve real-world problems. In this podcast, Ben Bennett, ClearSpeed General Manager, discusses how acceleration technology can improve the overall performance of standard x86-based systems...