About three years ago, Nimbix presented a paper at the annual technical meeting for the Society of HPC Professionals in Houston, TX. In the presentation, we discussed how production theory in economics can be used to study the ways in which new technologies, such as cloud computing and accelerators, are impacting the production process in High Performance Computing. This is an increasingly important topic because as we work to solve ever more complex problems to improve our world, we must continually refine our HPC processing environments to be more productive and more efficient than ever.
To begin, from basic economics we recall that production is the process of converting inputs to outputs and measured as the rate of output over time. The total product curve of a production process defines the maximum output possible for that given process. In HPC, it’s a question of how much data we can process per unit of time.
If we consider the data processed in high performance computing as an output of a production process which has economic benefit to its producers, we can analyze its factors of production to determine how they impact output and productivity. The basic factors of production are: Land, Labor, Machinery, Capital Stock, and Human Capital. There are both Fixed Factors of Production – factors that are not easily changed over the short run, and Variable Factors of Production – factors whose usage rate can be changed easily. Over the long run, all factors can be changed, but in the short run, for HPC implementations, most factors are fixed.
So what are the factors of production for an HPC Production Process? Consider these inputs and resources:
=> Software Applications (Machinery)=> Computer Systems (Machinery)=> Data (Raw Material) => Workload Inputs=> Datacenter space (Land)=> HPC/Application Expertise (Human Capital)=> IT Staff (Labor)=> Power (Raw Material)
The challenge in increasing output for an HPC production process is growing the capacity of data that can be processed as well as improving the computational efficiency of the machines and applications doing the work. We have to increase throughput while lowering capital costs and power.
With the growing adoption of cloud and accelerated hardware platforms, we can review the potential impact on an HPC production process. Cloud computing infrastructure and accelerator-based computing platforms can be taken as alternative inputs, accompanied by other necessary inputs (power, space, labor) and benchmarked to understand their effect on output. With analysis, we can construct models to evaluate the merits of alternative computing paradigms in HPC applications.
If clouds and accelerators are considered as technologies applied to the production process, there are tangible effects on both inputs and outputs. Clouds, for example, can transform relatively fixed factors of production over the short run into variable ones while also potentially reducing labor costs. Accelerators can produce higher output while minimizing energy consumption and physical space requirements. For example, if a graphics processor (GPU) can speed up a molecular dynamics simulation by an order of magnitude while consuming less space and power, an HPC production process designed to handle these workloads might produce more output per unit time with GPUs versus without.
To conclude, in order to solve the world’s most complex problems using HPC, we can apply economic principles from production theory to guide decision making. Studying how new technologies can impact fixed or variable factors of HPC production will help us build more efficient HPC environments. And, there is a compelling case to be made that clouds and accelerators will boost productivity of an HPC production process.