Resource Planning for Parallel Processing in the Cloud

Before the emergence of commercial cloud computing, interests in parallel algorithm analysis have been mostly academic. When computing and communication resources are charged by hours, cost effective parallel processing would become a required skill. This paper reports a resource planning study using a method derived from classical program time complexity analysis, we call Timing Models. Unlike existing qualitative performance analysis methods, a Timing Model uses application instrumented capacity measures to capture the quantitative dependencies between a computer program (sequential or parallel) and its processing environments. For applications planning to use commercial clouds, this tool is ideally suited for choosing the most cost-effective configuration. The contribution of the proposed tool is its ability to explore multiple dimensions of a program quantitatively to gain non-trivial insights. This paper uses a simple matrix multiplication application to illustrate the modeling, program instrumentation and performance prediction processes. Since cloud vender do offer HPC hardware resources, we use Amazon EC2 as the target processing environments. The computing and communication models are not only useful in choosing the processing platform but also for understanding the resource usage bills. Comparisons between predicted and actual resource usages show that poor processing granularity wastes resources. Prediction errors are minimized near the optimal number of processors.

[1]  Abdallah Khreishah,et al.  Program Scalability Analysis for HPC Cloud: Applying Amdahl's Law to NAS Benchmarks , 2012, 2012 SC Companion: High Performance Computing, Networking Storage and Analysis.

[2]  Yuan Shi A distributed programming model and its applications to computation intensive problems for heterogeneous environments , 2008 .

[3]  Abdallah Khreishah,et al.  Natural HPC substrate: Exploitation of mixed multicore CPU and GPUs , 2011, 2011 International Conference on High Performance Computing & Simulation.

[4]  John L. Gustafson,et al.  Reevaluating Amdahl's law , 1988, CACM.

[5]  Yuan Shi,et al.  Timing Models and Local Stopping Criteria for Asynchronous Iterative Algorithms , 1999, J. Parallel Distributed Comput..

[6]  Allan Gottlieb,et al.  Highly parallel computing (2. ed.) , 1994 .

[7]  Allan Gottlieb,et al.  Highly parallel computing , 1989, Benjamin/Cummings Series in computer science and engineering.

[8]  G. Amdhal,et al.  Validity of the single processor approach to achieving large scale computing capabilities , 1967, AFIPS '67 (Spring).

[9]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[10]  Andre B. Bondi,et al.  Characteristics of scalability and their impact on performance , 2000, WOSP '00.

[11]  Horacio González-Vélez,et al.  Parallel Computational Modelling of Inelastic Neutron Scattering in Multi-node and Multi-core Architectures , 2010, 2010 IEEE 12th International Conference on High Performance Computing and Communications (HPCC).

[12]  David S. Rosenblum,et al.  A framework for modelling and analysis of software systems scalability , 2006, ICSE.

[13]  A. Turing On Computable Numbers, with an Application to the Entscheidungsproblem. , 1937 .