In the blitz of news around the International Supercomputing Conference in Dresden last month, HP revealed its multicore optimization program for high performance computing applications. HP, like every HPC computer vendor, is looking for ways to make multicore technology live up to its potential.
While x86 dual-core technology is already pervasive in the industry, quad-core processors are about to become the new standard for server nodes. And the chip vendor roadmaps are pointing to octa-core and beyond.
With AMD’s commitment to deliver their quad-core Opterons next month, both x86 vendors will now be two generations beyond single-core technology. In a sense, the introduction of quad-core technology singals the end of the single-core era. While customers were able to buy single-core x86 Xeon and Opteron processors when dual-core was the latest and greatest, as soon as quad-core becomes the new standard, single-core processors will be phased out. At that point, no one will be able to ignore the reality of “Moore’s Cores.”
Unfortunately, as core counts ratchet up, keeping those additional transistors busy becomes increasingly difficult. And keeping a lid on power use means that for some product lines, processor clock speeds are actually decreasing. So software that does not take advantage of additional cores may actually run slower than it did on older hardware. This puts pressure on manufacturers like HP, who need to offer compelling reasons for customers to upgrade their systems.
Which brings us to HP’s Multicore Optimization Program. According to Ed Turkel, manager of HP’s Product and Technology Group for the HPC Division, the program is designed to bring together a variety of products and technologies for application development on multicore-based systems. These technologies include in-house products, software tools from their partners and other technologies developed in collaboration with some of HP’s customers. Right now the program is more of a framework for what’s to come. Over time, HP expects to announce specific new products to fulfill the program’s objectives and move the HPC ecosystem forward.
Currently, HP relies on its ProLiant DL140 and DL145 servers to form the basis of the the company’s HPC cluster offerings. The DL140 is the Intel Xeon-based system; the DL145 is the AMD Opteron one. HP also offers its own version of MPI (HPMPI). HPMPI specifically optimizes for multicore by implementing CPU binding — mapping new threads to on-processor cores whenever possible, in order to take advantage of cache and the relatively speedy on-chip communication. As core counts rise past two, this feature will become even more crititcal, providing an SMP-like functionality via MPI. Along the same lines, HP has also provided multicore awareness in application scheduling. The company has tweaked Lawrence Livermore’s open source Simple Linux Utility for Resource Management (SLURM) so that when processes are scheduled, they are preferentially placed on the same processor.
HP relies mostly on their partners to provide HPC software development tools. Intel and The Portland Group offer x86 compilers, while TotalView Technologies provides debugging and analysis tools. At this point, HP is only a reseller of this software, but a complete, integrated tool suite that incorporates third-party tools is in the works. According to Turkel, HP expects to announce a product sometime around the 2007 Supercomputing Conference (SC07) in November. He says they are especially interested in offering performance characterization and optimization tools. The company has developed some of this technology in-house and has been running trials with a few select customers. HP also has their own implementation of Unified Parallel C (UPC) that they would like to see become a more important platform for HPC development.
The end game for all this is better multicore performance on the applications themselves. Today most HPC software is cluster-aware, but many HPC codes — some 20 or 30 years old — are still in single-core mode. When users ugrade their systems with new multicore hardware, they expect to see their application run faster. This is what happened in the past when increases in processor clock speeds automatically sped up the software. But to get that same performance boost on multicore processors requires that the applications become parallelized.
That creates some cultural challenges for the independent software vendors (ISVs). In general, customers expect better application performance from every software upgrade, but don’t necessarily expect to pay for the privilege. They are much more willing to pay for additional features. In the past this has encouraged ISVs to focus their development resources on feature enhancements rather than performance boosting.
Turkel says that because of customer expectations, he believes application providers are going to be under more pressure to focus on performance than they have been in the past. And HP intends to ease this transition by helping ISVs make their applications multicore-capable. Turkel notes that because HP has such a large share of the HPC cluster market (about a third), they’ve been able to maintain strong relationships with key ISVs and develop a lot of expertise within their ISV engineering team.
One issue that is complicating the transition to multicore software is the way software is purchased. A lot of ISVs license their products based on the number of threads used. Increasing the thread count to take advantage of additional cores makes the software more expensive for end-users. If performance increases are to be realized, ISVs and users are going to be forced to work through the licensing issues.
One possible way to sidestep the multicore licensing issue is with accelerators. General-purpose GPUs, FPGAs, and ClearSpeed boards can be used to provide a lot of computational density with relatively few cores (or at least few licensable units). The challenge here is that heterogenoeous processors add yet another layer of software complexity beyond clustering and scalar multicore. This has not dissuaded HP from getting involved. With both AMD and Intel offering a way to attach third party processors, via Torrenza and Geneseo, respectively, HP has a lot of options on how to exploit heterogeneous processors in their current product lineup.
Regarding accelerators, Turkel says, “[T]here’s been a lot more noise than heat. But we’re seeing the whole ecosystem for accelerators starting to come to fruition…. There is this affinity between multicore and accelerators that is going to become more and more important over time.” He says that HP has been working on acceleration stategies behind the scenes for over a year and we should expect some announcements in this area at SC07.
Right now HP’s multicore optimization program is focused on the company’s HPC offerings. Like other hardware vendors, HP sees high performance computing as a technology incubator for the rest of the IT market. Thus, they consider HPC as a strategic part of their overall product development approach. Technology that started with HPC often gets broadly adopted throughout the rest of the industry. Clusters, high-performance interconnects and workload management tools are all mainstream enterprise technologies today that grew up in HPC.
“Multicore is going to be exactly the same thing,” says Turkel. “Right now, the commerical side hasn’t quite caught on to the the fact that there’s an issue here. But they’re going to hit that wall too.”