Practical scalability assesment for parallel scientific numerical applications

Reading time: 5 minute
...

📝 Abstract

The concept of scalability analysis of numerical parallel applications has been revisited, with the specific goals defined for the performance estimation of research applications. A series of Community Climate Model System (CCSM) numerical simulations were used to test the several MPI implementations, determine optimal use of the system resources, and their scalability. The scaling capacity and model throughput performance metrics for $N$ cores showed a log-linear behavior approximated by a power fit in the form of $C(N)=bN^a $, where $a$ and $b$ are two empirical constants. Different metrics yielded identical power coefficients ( $a$), but different dimensionality coefficients ( $b$). This model was consistent except for the large numbers of N. The power fit approach appears to be very useful for scalability estimates, especially when no serial testing is possible. Scalability analysis of additional scientific application has been conducted in the similar way to validate the robustness of the power fit approach.

💡 Analysis

The concept of scalability analysis of numerical parallel applications has been revisited, with the specific goals defined for the performance estimation of research applications. A series of Community Climate Model System (CCSM) numerical simulations were used to test the several MPI implementations, determine optimal use of the system resources, and their scalability. The scaling capacity and model throughput performance metrics for $N$ cores showed a log-linear behavior approximated by a power fit in the form of $C(N)=bN^a $, where $a$ and $b$ are two empirical constants. Different metrics yielded identical power coefficients ( $a$), but different dimensionality coefficients ( $b$). This model was consistent except for the large numbers of N. The power fit approach appears to be very useful for scalability estimates, especially when no serial testing is possible. Scalability analysis of additional scientific application has been conducted in the similar way to validate the robustness of the power fit approach.

📄 Content

11/ 2016 1 Practical scalability assesment for parallel scientific numerical applications Natalie Perlin1,2,3, Joel P. Zysman2, Ben P. Kirtman1,2 1 - Rosenstiel School of Marine and Atmospheric Sciences, University of Miami, Miami, FL, 33149 2 - Center of Computational Science, University of Miami, Coral Gables, FL, 33146 3 - nperlin@rsmas.miami.edu

Abstract—The concept of scalability analysis of numerical parallel applications has been revisited, with the specific goals defined for the performance estimation of research applications. A series of Community Climate Model System (CCSM) numerical simulations were used to test the several MPI implementations, determine optimal use of the system resources, and their scalability. The scaling capacity and model throughput performance metrics for N cores showed a log-linear behavior approximated by a power fit in the form of C(N)=b∙N a, where a and b are two empirical constants. Different metrics yielded identical power coefficients (a), but different dimensionality coefficients (b). This model was consistent except for the large numbers of N. The power fit approach appears to be very useful for scalability estimates, especially when no serial testing is possible. Scalability analysis of additional scientific application has been conducted in the similar way to validate the robustness of the power fit approach. Keywords— scalability analysis; performance analysis; parallel computer applications; scientific numerical modeling I. INTRODUCTION
The multi-processor and multi-core era in computer technology and advancements in interconnection networks brought new challenges for software development, opening the possibility of using multiple hardware resources by the same application in parallel. Software performance is no longer dependent only on computer power and CPU speed, but rather on combined efficiency of the given system from both hardware and software perspectives. What became crucial for the performance was effective parallelization of the numerical code, resource management and workload distribution between the processors, interprocessor communications, data access and availability for the processing units, and similar procedures involved in the workflow. This qualitative progress in computing made many earlier out-of-reach numerical scientific problems doable and enabled further scientific advancement and exploration. New opportunities that emerged for businesses, the banking industry, medical services, brought new radical networking and teleconferencing solutions, stimulated technological and software advancements in the area of scientific computing as well. As a consequence of the new commercial opportunities, software development rapidly shifted towards multi-processor applications, multiple-access databases, and advanced communication strategies between the resources. Performance evaluation of such parallel systems became a challenging task, and new ways to quantify and justify the use of additional resources were explored. New terms such as “performance metrics”, “scalability”, “efficiency”, “speedup”, scale-up” emerged, followed by numerous studies to find more rigorous and wider definitions to determine methods and tools for their quantitative evaluations [1]-[12]. Out of all new terms, the term scalability is likely the most controversial (see, for example, [5], [13]-[16]; and others), which may likely be attributed to different performance goals relevant for the parallel application systems in various spheres. As an example, the business and networking system may need to ensure system stability with the increasing load; commercial application has to assess performance gain a to justify additional hardware resources; or scientific numerical application resource usage needs to be estimated prior to launching a series of experiments. As a wider general definition, scalability is the ability of the system or network to efficiently integrate more resources to accommodate greater workload, increase the output or productivity of the system, or enhance its reliability, in proportion to the added resources.
Our current study aims to define specific objectives of performance evaluation in the area of parallel scientific computing, in attempt to determine the optimal use of the available resources. The existing evaluation methods and scalability models are reviewed, and a new empirical model of scalability assessment is suggested to help meeting these objectives.
II. KEY TERMINOLOGY IN PERFORMANCE EVALUATION
A. Performance Metrics
A parallel system involves multi-level parallelism, i.e., a combination of multi-core or multi-processor computer architecture, parallel software algorithms implementations, and interprocessor communication tools such as threading and message-passing. A variety of metrics have been developed to assist in evaluating the performa

This content is AI-processed based on ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut