This week Intel unveiled its upmarket version of its Cluster Studio offering aimed at performance-minded MPI application developers. Called Cluster Studio XE, the jazzed-up developer suite adds Intel analysis tools to make it easier for programmers to optimize and tune codes for maximum performance. It also includes the latest compilers, runtimes, and MPI library to keep pace with the new developments in parallel programming.
Intel Cluster Studio, which used to be sold as Cluster Toolkit, includes the same set of C/C++ and Fortran compilers as Intel’s Parallel Studio product, but also comes with MPI support for HPC cluster programmers. These include Intel’s own MPI library and the Trace Analyzer and Collector. The latter is used for visualizing MPI communications and load balancing to help developers test and tune their cluster applications
In addition, Cluster Studio includes the usual Intel smorgasbord of its parallel language frameworks, including Cilk Plus, Threading Building Blocks (TBB), OpenCL, and OpenMP. The only significant tool missing in the suite is a debugger. But since the Intel tools are compatible with Rogue Waves’s TotalView debugger as well as Allinea’s DDT, developers needn’t go without.
The big additions to the XE version of Cluster studio are a couple of performance tools: VTune Amplifier XE and Inspector XE, both of which operate in the shared memory environment at the node level. One might wonder why node-level tools have been included in the cluster toolset at all, but according to James Reinders, who directs Intel’s software group, more and more cluster codes are moving toward a hybrid MPI/OpenMP (distributed/shared memory) programming model, which makes the multithreaded behavior in the node level critical to performance. Reinders says that as the compute nodes have gotten fatter, it’s more important know what’s going on inside the nodes.
The trend he’s referring to is the increasing number of cores one can obtain in single node. Using the latest x86 chips, even a standard dual-socket box can house 16 cores (32 threads) with the new Xeon E5 chip or 32 cores in the case of AMD’s Opteron 6200. And if Intel has it’s way, HPC nodes will soon come equipped with its upcoming Many Integrated Core (MIC) coprocessors, which will triple or perhaps quadruple that core count. Whether its MICs, GPUs, or just straight CPUs, core counts appear to be on an upward trajectory that will be expanding the waistline of HPC nodes for the foreseeable future. “It’s like an obesity epidemic in computers,” says Reinders.
In a nutshell, that’s the rationale for including the shared-memory tools. For example, VTune Amplifier XE, which already comes standard in the Parallel Studio XE suite, enables developers to look at thread behavior on the nodes. The tool allows them to pinpoint bottlenecks due to idle cores or non-optimal cache usage. It also finds hotspots where the code is spending large amounts of time.
The second tool included in Cluster Studio XE is Inspector XE (formerly known as Thread Checker), which, again is directed at optimized application execution on the node, in this case, checking for thread and memory correctness. Specifically, Inspector can find instances of memory leaks, race conditions and potential deadlocks. This is not so much a performance issue as one of application robustness, enabling developers to detect latent errors in the code, even when the defect is not apparent in most runtime scenarios.
Although Both VTune Amplifier and Inspector XE operate at the node level, each has been extended to work in an distributed MPI model. Essentially, the tools collect their data at the node level, but the results are aggregated and organized on based on MPI rank (process ID), which allows the developers to see the analysis in context to the overall operation of the program.
Of course, if the programmer wanted to do this type of analysis before, he could have purchased the standalone tools separately and extracted the data on a node-by-node basis. But that’s a rather painful process once you get beyond a handful of servers. According to Reinders, users wanted to visualize the behavior in these nodes as part of the whole picture across the cluster.
At the same time that nodes are getting fatter, the number of nodes is still increasing. This is reflected in the TOP500 computers’ aggregate performance, which is growing at twice the rate of Moore’s Law. To keep pace with the growth of scale-out clusters, Intel engineers have been busy tweaking their MPI library.
According to Reinders, their latest MPI library, version 4.0, can now scale beyond 90,000 processes, which is quite a bit better than was supported just a year ago. The better scaling is the result of enhancements to MPICH2, which is used as a foundation for Intel’s MPI offering, as well as some custom tuning.
Intel also claims industry-leading performance for its latest library. According to latency tests for a 96-process application running on a 8-node machine, the Intel implementation delivers better performance than other leading MPI libraries, such as Microsoft MPI 3.2, Platform MPI 8.1.1, MVAPICH 1.6, and OpenMPI 1.5.4.
The differences tended to be largest when compared to the open source OpenMPI package. In one case, the Intel implementation was 2.6 times as fast. “OpenMPI is very popular and I think a lot of users don’t understand how much performance they’re giving up by not going to one of the commercial MPI libraries,” says Reinders. Intel’s MPI library is also fabric independent, making it a popular choice with ISVs, who want to minimize the number of shipping binaries corresponding to each interconnect fabric they support.
Like all of Intel’s parallel tool suites, Cluster Studio XE is designed to work across its own multicore x86 CPU products as well as those of AMD’s. The company is now in the process of extending these tools to support manycore, and for Intel that means their upcoming Many Integrated Core (MIC) product. Reinders says almost all these tools have versions that support the MIC prototype (Knights Ferry) today, although some of the MPI tools are not as fully developed as they are for the compilers and runtimes. When they do launch the production Knights Corner MIC product a year or so from now, all of these parallel tools will support the manycore architecture in a more or less transparent fashion.
Cluster Studio XE is sold by developer seat, and is priced according to OS support: $2,849 for the Window version; $2,499 for the Linux one. Those prices are $1,000 more per seat than the vanilla Cluster Studio without the performance tools. Of course, Intel would love upsell all their customers to the XE level, but Reinders admits that not all developers will want or need this extra functionality. In general, only the performance gurus who perform code tuning across the application will be interested in the premier XE package. Says Reinders: “Those people need to have these tools in their hands, and I think they’ll find great results with them.”