=Paper= {{Paper |id=Vol-3742/short1 |storemode=property |title=Analyzing specifics of scalability laws for proper modeling of a system’s throughput |pdfUrl=https://ceur-ws.org/Vol-3742/short1.pdf |volume=Vol-3742 |authors=Volodymyr Kuharsky,Dmytro Mykhalyk,Yuri Humen |dblpUrl=https://dblp.org/rec/conf/citi2/KuharskyMH24 }} ==Analyzing specifics of scalability laws for proper modeling of a system’s throughput== https://ceur-ws.org/Vol-3742/short1.pdf
                                Analyzing specifics of scalability laws for proper modeling
                                of a system’s throughput
                                Volodymyr Kuharsky 1,†, Dmytro Mykhalyk1,*,†, Yuri Humen1,†
                                1 Ternopil Ivan Puluj National Technical University, Ruska str. 56, Ternopil 46001, Ukraine



                                                Abstract
                                                The article revisits scalability laws to refine system throughput modeling practices. Amdahl’s
                                                Law, Gustafson’s Law, and the Universal Scalability Law are critically analyzed: considering their
                                                individual merits and limitations in capturing the essence of system scalability. With theoretical
                                                insights and empirical data, this research provides practical guidelines for selecting the most
                                                suitable scalability model to ensure accurate and effective modeling of system throughput in
                                                diverse computing environments.

                                                Keywords
                                                Scalability, throughput, speedup factor, Amdahl’s Law, Universal Scalability Law, coherence,
                                crosstalk, serial 1



                                1. Introduction
                                In today's world, there are a vast number of artificial systems designed to make our lives
                                easier, more efficient, more safe, more entertaining, etc. Most of them are designed with
                                performance in mind to meet the constantly growing demands of their users. The ability of
                                a particular system to handle a growing amount of work or its potential to accommodate
                                growth defines scalability.
                                   Scalability is crucial in system design for a few reasons:
                                     • Growth handling. A properly scalable product should handle the increasing number
                                        of users.
                                     • Improve performance. A properly scalable product should degrade performance
                                        more gradually.
                                     • Optimize costs. A properly scalable product should save business investment in
                                        hardware to operate according to the load.
                                   Highly scalable systems are crucial components of cloud computing, search engines,
                                container orchestration platforms, and more. These systems play a key role in addressing
                                complex challenges across various industries. For instance, researchers use scalable


                                CITI’2024: 2nd International Workshop on Computer Information Technologies in Industry 4.0, June 12–14, 2024,
                                Ternopil, Ukraine
                                ∗ Corresponding author.
                                † These authors contributed equally.

                                   volodymyr_kukharskyy@tntu.edu.ua.(V. Kuharsky); d.mykhalyk@gmail.com (D. Mykhalyk); h_yuri@ukr.net
                                (Y. Humen)
                                    0009-0009-6937-9526 (V. Kuharsky); 0000-0001-9032-695X (D. Mykhalyk); 0000-0002-5975-4355 (Y.
                                Humen)
                                           © 2024 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).




CEUR
                  ceur-ws.org
Workshop      ISSN 1613-0073
Proceedings
computer simulations to tackle issues such as natural gas dehydration for use as a motor
fuel [1] and to study problems related to gas transport in solids and the diffusion of benzene
using scalable computer modeling [2]. Let's dive behind the meaning of the “scalability
laws” to understand better what they are and what they offer in the system’s throughput
modeling.

2. Main Part
   So, what are the scalability laws? Unfortunately, in terms of combining computational
power, 1 + 1 does not equal 2. It could be some sort of cost-effective for batch work, but this
combination was not effective for OLTP (Online transaction processing) and other real-time
computations.[3]
   Gene Amdahl made an early attempt to quantify the speedup factor – a number that
shows how much additional performance a system will get by adding more computational
units to that system to battle the increasing load.[1] Later became known as Amdahl’s Law.
He simplistically assumed that a fraction of p of the program’s execution time was infinitely
parallelizable with no overhead, while the remaining fraction, 1 – p, is totally sequential.[4]

                                               1                                   (1)
                                𝑆(𝑁) =        𝑝
                                    (1 − 𝑝) +
                                              𝑁
  where S – speedup factor, N – number of computational units, and p – a fraction of the
work that can be parallelized.
Figure 1: Visualization of the speedup increase for parallelizable work using Amdahl’s Law

   Figure 1 shows how drastically the speedup factor can degrade if there is even an
insignificant amount of serial work in the system’s load. The X-axis contains numbers of
several computational units dedicated to the workload. The Y-axis shows how much of the
potential increase of computational speed for the number of computational units dedicated
to the workload. In a linear(ideal) scaling scenario a speedup factor should increase
proportionally to the number of computational units, but Figure 1 has already shown how
far we are from that situation to happen.
   The situation can get much worse if we continue to add more and more computational
units to our system. For 128 of the total computational units, our speedup starts to flatten
up in Figure 2.
Figure 2: Visualization of the speedup increase at 128 computational units.

   As you can see here, the function of S is monotonically increasing and bound on the upper
side to the fraction of workload that cannot be parallelized, so the following is true:
                                                1                                        (2)
                                 lim 𝑆(𝑁) =
                                𝑁→∞            1−𝑝
   While Amdahl’s law is good for theoretical reasoning about peak performance it has its
shortcomings. It assumes that the problem size remains the same when utilizing more cores
to execute the application. It has no maximum that shows its lack of ability to model the real
system behavior with retrograde speedup.[6]
   Neil Gunther proposed a slightly different approach to scalability quantification. His
model not only uses the serial penalty but also introduces a coherence or crosstalk penalty
which results in delays for data to become consistent during the execution for
multiprocessor environments. Gunther’s Law later became known as the Universal
Scalability Law. It can be described as follows:

                                             𝑁                                    (3)
                       𝑆(𝑁) =                              ,
                               1 + 𝛼(𝑁 − 1) + 𝛽𝑁(𝑁 − 1)
   where N – number of computational units,  - fraction between 0 and 1 represents a
serial penalty in the workload,  - a fraction between 0 and 1, represents a coherence
penalty in the workload.
  In application throughput modeling N can represent the number of active users for
maximum throughput increase.
Figure 3: USL visualization with 0.1 percent of coherence penalty.

    If =0, then equation (3) simplifies to the well-known Amdahl’s Law[5]:
                                                𝑁                                          (4)
                                  𝑆(𝑁) =
                                          1 + 𝛼(𝑁 − 1)
    If both coefficients are 0, then we should observe linear scalability for N processors, but
it is pure theoretical observation.
    As you can see in Figure 3 Universal scalability law has its performance peak followed by
a decrease in actual system throughput. This is possible because of the coherence penalty,
which stacks fast for workloads with high numbers of parallelism.
    In terms of capacity planning, [7] USL has a sufficient number of parameters for
predicting the effects of concurrency, contention, and coherency delay, but it can’t be super
precise because the scalability of any particular system should be considered in light of
many factors simultaneously.
    Another approach was proposed by Dr. John Gustafson to overcome the pessimistic
results of Amdahl’s Law speedup dependence from a serial delay as described in (2). Instead
of fixing the parallelizable part of the workload, it fixes the running time.[8] In other words,
it answers the following question: How much of the execution time would this problem have
taken if it ran on a serial processor instead of a multicore or multiprocessor system?[9]
Gustafson’s observations show more generally that the serial fraction of the workload does
not theoretically limit parallel speed enhancement. Algebraically it can be described as
follows:
                               𝑆(𝑁) = 𝑁 − 𝛼(𝑁 − 1),                                        (5)
   where S – scaled speedup over N number of computational units,  - a fraction between
0 and 1 representing the serial part of the workload.




Figure 4: Visualization of Gustafson-Barsis Law [6]

   Later, [10] J. Gustafson summarized his work: “The model is not a contradiction of
Amdahl's law as some have stated, but an observation that Amdahl's assumptions don't
match the way people use parallel processors. People scale their problems to match the
power available, in contrast to Amdahl's assumption that the problem is always the same
no matter how capable the computer.”
   Figure 4 shows how parallel processing can reduce the execution time.
   Even after Gustafson’s Law provided a more optimistic perspective on parallel
computing compared to Amdahl’s Law it omits the complexities of modern software design
and can poorly predict scaled speedup for algorithms with nonlinear runtimes.[11]

3. Results discussion
After careful analysis of the three proposed laws in this article, the authors advise using the
Universal Scalability Law for scalability predictions of real-world systems. Because neither
Amdahl’s Law nor Gustafson-Barsis Law takes into account the coherence penalty that is
almost inevitable in today’s multicore and multiprocessor world and, at the same time, the
most significant part of the USL equation that will kick diminishing returns early on for
throughput scaling that can lead to overall performance degradation.
   To achieve better results in throughput modeling using USL, try to use measurement data
for throughput and concurrency obtained from stable workloads. USL works best for
constant workloads with no variability. Still, the authors admit that obtaining such
measurements can sometimes be unrealistic because of the significant complexities in the
design and function of real-world applications.

4. Conclusions
All three models can model the capacity of the system throughput. Amdahl’s Law provides
a straightforward way to estimate the maximum achievable throughput by considering the
proportion of the workload that can be parallelized but completely ignores parallel
crosstalk which is inevitable in modern applications.
    Gustafson’s Law recognizes the potential for adjusting the problem size to fully utilize
additional resources, which can lead to higher system throughput in parallel environments,
but also ignores the parallel crosstalk, which can result in more theoretical throughput
values.
    Universal Scalability Law accounts for saturation effects that may occur as system
resources are increased, providing insights into the maximum achievable throughput and
the diminishing returns of adding more resources, more practical than the first two but has
a cost of additional complexity and more experienced researchers when determining
coefficients for an actual system.
    In summary, each law has its strengths and weaknesses, and the choice of model
depends on the specific characteristics of the system being analyzed and the level of detail
required in the analysis.

References
   [1] Petryk M., Khimitch A., Petryk M.M., Fraissard J. Experimental and computer
       simulation studies of dehydration on microporous adsorbent of natural gas used as
       motor        fuel.     Fuel.       Vol.     239,      1324–1330               (2019)
       https://doi.org/10.1016/j.fuel.2018.10.134
   [2] Petryk M., Leclerc S., Canet D., Fraissard J. Modeling of gas transport in a
       microporous solid using a sclice selection procedure: Application to the diffusion of
       benzene in ZSM5. Catalysis Today. Vol. 139, Issue 3, 234-240 (2008)
       https://doi.org/10.1016/j.cattod.2008.05.034
   [3] T. Critchley High Performance IT Services 1st edition. Auerbach Publications 2016
   [4] Mark D. Hill, Michael R. Marty Amdahl’s Law in the Multicore Era
       URL:https://static.googleusercontent.com/media/research.google.com/en//pubs
       /archive/34400.pdf
   [5] Neil J. Gunther A New Interpretation of Amdahl’s Law and Geometric Scaling
       https://doi.org/10.48550/arXiv.cs/0210017
   [6] C. Poola, R. Saxena On Extending Amdahl’s Law to Learn Computer Performance
       URL: https://arxiv.org/abs/2110.07822
[7] B. Shwartz, E. Fortune Forecasting MySQL Scalability with Universal Scalability Law
    URL:https://www.percona.com/sites/default/files/white-paper-forecasting-
    mysql-scalability.pdf
[8] J. Gustafson Gustafson’s Law, (2011) ResearchGate.net. doi: 10.1007/978-0-387-
    09766-4_78
[9] J.         Gustafson        Reevaluating       Amdahl’s        Law          (1988).
    URL:http://www.johngustafson.net/pubs/pub13/amdahl.pdf
[10]        J.           Gustafson           Gustafson’s          Law.             URL:
    http://www.johngustafson.net/glaw.html
[11]        L. Snyder Type Architectures, shared memory, and the corollary of modest
    potential (1986) doi: 10.1146/annurev.cs.01.060186.001445