When I look back at the way that infrastructures have evolved, it becomes painfully obvious how organizations running high performance computing (HPC) infrastructures have sacrificed the easy and all-inclusive management platforms found in mainframe and symmetric multiprocessor (SMP) environments for the best-of-breed components of highly scalable and cost-effective grid and cluster computing models. Naturally, this has resulted in a world where open source and commercial components are assembled “by hand,” with each certified individually and production support required from multiple, unrelated vendors. Not surprisingly, these challenges have paved the way for cluster and grid management products that fully integrate components in a packaged HPC management platform. Rather than building your own management platform, it might just be easier to look at an “all-in-one” solution that covers the entire lifecycle of application development — providing a cheaper and more responsive HPC environment.
In my experience, one of the first problems that pops up around independent software components is in application development. Developers have to understand the minute details of the grid and cluster environment where their applications are deployed. For example, developing an application using message passing interface (MPI) typically requires a lot of specialized code to make it work well on the target environment. By providing an easier, more complete approach, developers won’t have to worry about the mechanics of the production cluster – instead it’s handled by integrating with hardware platforms, monitoring, and provisioning tools – and they can instead focus on the application business logic.
Once an application is ready to move into production, it’s the IT departments that are forced to work with several independent – and often manual – tools and processes to get the application up and running. Once the application is in production, I’ve noticed that there is often significant time and effort wasted with non-intuitive monitoring and alerting systems, ineffective troubleshooting tools and scattered vendor support. But with a fully-integrated platform for managing HPC applications, IT gains a single management interface to effectively deal with these issues. This — ensures application problems are detected early and resolved quickly and results in better service to the application teams.
My advice to organizations looking to have their HPC infrastructures perform at optimized levels is to consider several aspects and capabilities of an end-to-end HPC management platform during the evaluation process, particularly since success often hinges on partnerships and integration capabilities.
Here are some of the questions an organization should consider when evaluating an HPC management platform:
- How well is the platform designed and customized for the major HPC vendors’ server, network and storage platforms?
- Is it integrated with major HPC software vendor commercial applications?
- Can you run both Linux and Windows applications in the same grid, where servers can be repurposed between OS environments on demand?
- Does the software platform provide a truly universal web portal for cluster provisioning, workload management, MPI, monitoring and reporting?
Just asking a few pointed questions should help determine which type of HPC management platform is right for a particular HPC scenario, be it a build-your-own system with multiple manual components to manage and monitor, or an “all-in-one platform” that improves cost-to-performance ratio.