Practical scalability assesment for parallel scientific numerical applications
📝 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.