graph

Rescale offers several price options for running your HPC simulations: On Demand, Low Priority, and Prepaid.  This article will show an analysis of compute usage to determine when getting a prepaid plan makes sense from a cost standpoint.

Our Prepaid price plan provides a long term reservation for Rescale cores at the lowest cost per hour, in exchange for paying for all the hours up-front for the reservation.  Prepaid cores are a great way to lower your hardware costs IF you have high enough utilization. In the following, we will answer 2 questions:

  • How high does my utilization need to be for a particular core type in order for Prepaid to save me money?
  • Given some schedule of core usage, how many Prepaid cores should I buy to minimize my total hardware costs?

Prepaid cost savings by utilization

The first question is calculated by solving this equation:

Cost savings = Utilization * Total reservation hours * Priceon-demand – Total reservation hours * Priceprepaid

The Prepaid price option offers two time periods to choose from. Users can prepay cores for 1 year or 3 years. So in the case of our popular Nickel core type (which has a 3 year Prepaid cost of $0.04/core/hour), the break-even point where cost savings = 0 is:

Utilization = $0.04 per hour Prepaid / $0.15 per hour On Demand =~ 27%

If your average utilization of a Nickel core is above 27%, Prepaid will save you money compared to On Demand rates.  If your average utilization over a year is 50%, you are saving $482 per year per core using the Prepaid option over a three year term, instead of On Demand.

Pre-pay how much for a given job forecast?

The above calculation is simple but you may not have a target utilization in mind. Instead, you may have a forecast of all the compute jobs you are planning to run, often based on historical usage. How do we take a schedule of jobs and determine the optimal number of Prepaid cores to buy?

As before, we calculate something similar:

Prepaid savings(x cores Prepaid) = All On Demand cost – (Prepaid cost(x) + Residual On Demand cost(x))

All On Demand cost is the total core hours for all your jobs over the Prepaid period, multiplied by the On Demand core price.

Prepaid cost is just the Prepaid cost for x cores.

Residual On Demand cost is the tricky one to calculate. We need to derive the additional On Demand core hours needed, while maximizing utilization of our Prepaid cores.

To calculate the residual core hours, we need to look at the number of cores running per unit time, and then only consider the cores that are not Prepaid. Visually, we are packing core use time intervals from the bottom up and slicing out the bottom x cores across jobs in time (which are using Prepaid cores) and then just calculating the cost of the rest.

cores_uncut

The above figure does not take into account that core time intervals will not always either be entirely overlapping or disjoint. The intervals really need to be cut up into smaller disjoint intervals and then we fill from the bottom with these interval parts.

cores_cut

Next, we just count up the cores for each time slice, missing slices implicitly have zero cores.

cores_aggregate

Here we have completely covered our reservation period with disjoint intervals. Next, we can subtract off the Prepaid count, for example if we have 2 Prepaid cores, we get these residual core intervals.

cores_aggregate_prepaid

From these intervals, we then sum the product of the intervals lengths and core counts to get our residual core hours.

Let’s look at how to do this same analysis programmatically. Our inputs are:

  • Schedule of compute jobs, which is a list of partially overlapping (start_time, end_time, core_count) tuples
  • Start of the prepaid reservation period
  • End of the prepaid reservation period
  • Number of prepaid cores

Most of the complexity here is hiding in chop_and_aggregate. Let’s look at an implementation of this. We start at reservation_start and step forward in time, keeping track of the intervals that are currently open. When an interval opens or closes, we create a new disjoint interval with the current core count between the last 2 time boundaries..

Putting this all together, you can multiply the residual core hours by the On Demand price and get your cost savings.  You can even use calculate_residual_core_hours with zero prepaid cores to (inefficiently) get the all-on-demand cost:

From here, you could do a binary search over the number of prepaid_cores to find your optimal savings. As an optimization, the disjoint_intervals only need to be calculated once and for all the different Prepaid core calculations.

Additional details

The above explanation is simplified from our real Prepaid option:

Different core types

You might use multiple core types (e.g. Marble & Nickel) across jobs that you typically run. In that case, you would separate your jobs by core type and perform the above analysis once for each core type batch. You would end up with the optimal number of Prepaid cores of each type. Note that in some situations, this might yield wasted capacity and could end up being more expensive than running on fewer core types, even if it means you are running on more powerful cores than are needed for a particular job.

We plan to soon release a Prepaid core calculator that will make recommendations based on your previous Rescale usage, doing the above analysis for you!

This article was written by Mark Whitney.

enterprise-cloud

Implementing hybrid and pure-play cloud based HPC in order to maintain a competitive edge has become essential for organizations. In an interview with CIO Review, Joris Poort, CEO of Rescale Inc. gives his views on the industry dynamics driving the CIOs and IT professionals to shift from deploying on-premise HPC clusters to an agile IT environment with scalable, secure, and elastic cloud HPC resources.

The forces driving simulation/HPC in the cloud

Simulation driven design has become an indispensable tool for product development. Across all industries, simulation is driving a paradigm shift from traditional physical test and design to virtual prototyping, design space explorations and optimizations that evaluate what-if scenarios and trade off studies. As a result, organizations are running engineering simulations that are far more comprehensive and accurate, driving innovation and competitive advantage. The dramatically increasing and highly variable user demand for simulation presents a daunting challenge for traditional IT systems that cannot provision peak demand, resulting in delays and bottlenecks. Providing state-of-the-art HPC resources that carry the computing horsepower and scalability while remaining elastic and flexible are key to deliver on these new IT demands.

Key evaluation factors to choose a cloud provider

Global reach, best-in-class hardware, application availability, on-demand licensing, security, support, cost, administrative functions for IT, tools to integrate with the existing computing infrastructure and easy of use are all important aspects when choosing a robust enterprise HPC cloud provider. Rescale’s HPC cloud platform is natively built for the cloud and designed with these considerations in mind to efficiently deploy to Fortune 500 IT organizations. Its disruptive technology is transforming fixed-cost capital infrastructure into agile project-based operating expense. Rescale has the largest hardware footprint in the industry with an infrastructure network of over 30 of the most advanced data centers worldwide, as well as the most extensive simulation software selection (120+ software packages, 9 out of 10 top CAE vendors) including Siemens PLM, CD-adapco, Dassault Systemes, MSC Software, ANSYS, and many others.

Rescale—Ensuring safe operations in the cloud environment

Rescale has built the leading security solution for cloud HPC. The company invests heavily in the security and resiliency of every component within the Rescale ecosystem. As a result, Rescale complies with the strictest industry standards such as ITAR compliance for US export controlled activities and SOC 2, as well as end-to-end data encryption, cluster isolation, kernel encryption, data center security and independent external security audits.

Providing a powerful simulation platform to the engineers and scientists

Through a unique set of deployment tools, Rescale supports public, private cloud as well as hybrid on-premise/cloud deployment. Simulation customers can easily port their applications to or programmatically burst their compute jobs onto the Rescale cloud simulation platform to tap into the immense global infrastructure network, including collaboration, visualization and scheduler integration tools that are built into the platform. Rescale supports native integrations and deployments with all commercial schedulers.

Rescale’s enterprise platform includes administrative IT tools that provide controls for administrators to implement security policies, manage user account settings, and configure permissions, budgets, and privileges.

The future to HPC cloud service providers

There are challenges that must be addressed when adding cloud HPC into an enterprise IT organization – especially on total cost of ownership benefits and security model that must be directly addressed and understood. Providing a sound business model and helping application providers make the transition from annual licenses to on-demand software offerings is another critical effort. Rescale facilitates, promotes and works closely with the application providers to introduce on-demand licensing.

This article was written by Rescale.