The pressure to reduce the cost of doing business is an unrelenting theme for most companies and IT departments. IT managers and administrators have more choices today than the traditional “one size fits all” notion when it comes to HPC environments. Many in the HPC community are closely evaluating not just whether HPC workloads are appropriate for cloud environments, but how to best leverage cloud computing to be meet their organization’s needs.
A business case for HPC clouds
A cloud infrastructure allows organizations to respond to user demands in minutes rather than weeks. HPC infrastructure can be shared, and the required computing resources needed to support an application are either already present or can be rapidly incorporated into the cloud pool. Cloud management software enables internal and external resources to be provisioned on the fly, rather than being requisitioned, purchased, installed and configured – a time consuming and expensive process. By removing or streamlining entrenched silos, organizations can benefit from an inflexible legacy infrastructure to one that responds to new business or user needs in real time.
Automation, self-service and the delivery of application services put control in the hands of the IT managers and administrators — they are able to more efficiently balance all their resources to meet the constantly changing demands of application users. The users can then request the precise resources they need for a specific application with the confidence they will get it quickly. The bottom line for the organization is faster delivery of HPC services, which speeds up time to results and, in the business world, allows the company to be more competitive.
Building a Private HPC Cloud at DuPont
DuPont is building a dynamic, multi-disciplined R&D computing platform using a hybrid private cloud-cluster infrastructure model. This new model allows the DuPont computing group to save administrative cost, reduce capital investments, simplify and consolidate the overall infrastructure while simultaneously meeting client requirements for a highly dynamic, diverse environment.
View this recent webcast which addresses the requirements, challenges and architectural decisions made in the implementation of this computing platform at DuPont.
Architectural design: public, private or hybrid?
Cloud computing can take various forms, leading to the current confusion about how to define the term. The two major types of clouds are public and private clouds
Private clouds are used by organizations to pool internal IT resources for shared use and to increase overall resource utilization. A key benefit of implementing a private cloud is that control and security can be handled internally. Departments can negotiate pricing contracts with internal IT based on their requirements or skip billing altogether when the cloud is treated as a shared resource.
Private clouds also allow organizations to have greater visibility and control over mission critical service level agreements (SLAs). In addition, they support IT’s obligation to oversee fundamental corporate requirements including governance, compliance, business continuity, cost reduction, and risk management.
The value of a private cloud management platform is independent of location and ownership of the resources. In addition to using internal data center resources, a private cloud may also incorporate resources from external public clouds. Known as cloud bursting, this hybrid model can help an organization avoid the need of provisioning for peak aggregate resource demands.
A hybrid approach can be very advantageous for HPC environments because it can provide the extra power boost needed to complete a workload whose requirement is larger than the available resources in the local datacenter. In particular, a cloud bursting approach should be considered for the following:
- When local job pend time estimates for a job get very large.
- When local time elapsed run time is large. A corollary to this condition is when the job can be parallelized, but there are insufficient resources locally to run the job quickly—then cloud bursting the job may return results to users sooner than allowing the job to run on insufficient resources.
- When the job’s data transfer requirements into and out of the cloud are small.
- If it is a parallel job, then it is appropriate only when latency sensitivity for performance is low.
With public clouds, a service provider makes computational, storage, and other IT resources available over the Internet to customers that range from individuals to organizations as diverse as enterprises, government, and academia. Public clouds provide capital and operating expense reductions by allowing customers to pay for use instead of owning assets. In addition, they can provide a potentially wider range of hardware, scalability and expertise than may be available in-house.
Public clouds are located outside the corporate firewall and are managed by a 3rd party hosting provider. These clouds have their own set of services that may not meet the internal needs of an organization. They are generalized compute platforms that are designed to handle generic types of user demand, often in the form of a limited selection of virtual machines. While this is sufficient for some individuals and applications, such public clouds may unsuitable for HPC applications where the performance impact is simply too large. However, the only way for an organization to know whether or not external resources are appropriate is to benchmark cloud resources against their internal system.
To add an additional layer of complexity, not all IaaS (Infrastructure as a Service) providers are created equal. IBM has developed a whitepaper that evaluates the merits and challenges of public clouds from both a qualitative and quantitative standpoint, contrasting three separate IaaS providers against specific criteria important to HPC users. To compare the IaaS providers, IBM ran benchmarks that were representative of the types of application workloads used by most HPC users. The paper is designed for architects or data center managers considering the use of public cloud infrastructure to augment their HPC environments. It includes guidance on how to evaluate key include factors such as pure performance, reliability and instantiation speed.
Business barriers to building a cloud
In addition to architectural implications, there are some business barriers to consider when thinking about whether cloud will fit into an HPC environment, such as:
- Security and Intellectual Property –The data in the cloud very often represents core intellectual property for the commercial enterprise. The possibility that commercial competitors could be using the same shared computing resource should not be ignored.
- Licensing – Most commercial enterprises employ third-party software from an ISV to run or manage their HPC simulations. With each of these applications comes a legal agreement describing where the application can be executed, and often these agreements restrict applications to a customer’s site. If legal issues are not barriers then licenses being consumed in the cloud and locally in a datacenter offer technical challenges for keeping the licenses available to all application instances that require them.
- Data Movement – Until an organization adopts cloud computing and abandons their own datacenters, models for simulations (or methods for creating them) and results must be transferred between the cloud provider and the customer’s datacenter. This is complicated, however, as Internet bandwidth is very limited for transferring large files, and for most IaaS providers, all data moved in and out of the cloud is a “for charge” service by the gigabyte.
- Pricing Model – The pay-per-use model often sounds very enticing to customers because prices are based on an hour of compute time. However, for long term usage public cloud prices are typically two to three times more expensive than owning the hardware and maintaining it yourself over the course of two years. Companies should strategically balance when it is advantageous to use the public cloud versus local servers.
HPC users can now move beyond the “one size fits all” notion when it comes to HPC environments. There are still lots of choices available to HPC users today, and one of those choices is cloud computing. Under the right conditions with the right management software, the cloud can be very useful for HPC applications.
IBM Platform Computing solutions for HPC Cloud are designed to transform static computing resources into flexible, high performance clouds that can be shared, remotely managed and easily provisioned. For more information, visit ibm.com/platformcomputing or contact us at firstname.lastname@example.org.