0% found this document useful (0 votes)
2 views

PDC Lecture 3

Scalability refers to a system's ability to handle increased workloads by adding resources, and can be measured in various dimensions such as physical, administrative, functional, geographic, generation, and heterogeneous scalability. The document also discusses the concepts of horizontal and vertical scaling, the challenges associated with scalability, and Amdahl's Law, which predicts the theoretical speedup of a task based on resource improvements. Amdahl's Law emphasizes the limitations of parallelization in computing, illustrating that not all parts of a task can benefit from speedup, thus affecting overall performance.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

PDC Lecture 3

Scalability refers to a system's ability to handle increased workloads by adding resources, and can be measured in various dimensions such as physical, administrative, functional, geographic, generation, and heterogeneous scalability. The document also discusses the concepts of horizontal and vertical scaling, the challenges associated with scalability, and Amdahl's Law, which predicts the theoretical speedup of a task based on resource improvements. Amdahl's Law emphasizes the limitations of parallelization in computing, illustrating that not all parts of a task can benefit from speedup, thus affecting overall performance.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 31

Scalability

Speed up &
Amdhal’s Law
Week 3
Scalability

 Scalability is the property of a system to handle a growing amount


of work by adding resources to the system.

 A system is described as scalable if it will remain effective when


there is a significant increase in the number of resources and the
number of users
Scalability (dimensions)

 Scalability of a system can be measured along the following

different dimensions:

1. Physical Scalability/ Load Scalability: a system can be scalable

with respect to its size, meaning that we can easily add/ remove

more users and resources to the system.

2. Administrative scalability: The ability for an increasing number of

organizations or users to access a system.


Scalability (dimensions)

3. Functional scalability: The ability to enhance the system by adding

new functionality without disrupting existing activities.

4. Geographic scalability: The ability to maintain effectiveness during

expansion from a local area to a larger region.


Scalability (dimensions)

5. Generation scalability: The ability of a system to scale by adopting

new generations of components.

6. Heterogeneous scalability: is the ability to adopt components from

different vendors.
Scalability: Scale out (Horizontal) & Scale
up (Vertical)

 Resources fall into two broad categories: horizontal and vertical.

 Scaling horizontally: (out/in) means adding more nodes to (or

removing nodes from) a system, such as adding a new computer to

a distributed software application.


Scalability: Scale out (Horizontal) & Scale
up (Vertical)

 An example might involve scaling out (to increase) from one web

server to three.

 Exploiting this scalability requires software for efficient resource

management and maintenance.


Scalability: Scale out (Horizontal) & Scale
up (Vertical)

 Scaling vertically: (up/down) means adding resources to (or

removing resources from) a single node, typically involving the

addition of CPUs, memory or storage to a single computer.


Scalability: Scale out (Horizontal) & Scale
up (Vertical)

 Larger numbers of elements increases management complexity,

more sophisticated programming to allocate tasks among

resources and handle issues such as throughput and latency across

nodes.
Scalability: Issues

 The design of scalable distributed systems presents the following


challenges:

 Controlling the cost of physical resources: As the demand for a


resource grows, it should be possible to extend the system, at
reasonable cost, to meet it; Return on Investment (ROI).
Scalability: Issues

 It must be possible to add server computers to avoid the


performance bottleneck that would arise if a single file server had to
handle all file access requests.

 For example, if a single file server can support 20 users, then two
such servers should be able to support 40 users. Although that
sounds an obvious goal, it is not necessarily easy to achieve in
practice.
Scalability: Issues

 Controlling the performance loss: Consider the management of a


set of data whose size is proportional to the number of users or
resources in the system.

 As we know algorithms have advantages and disadvantages.

 So, we should use such algorithms which may support Scaling up/
Scaling out, to prevent performance loss.
Scalability: Issues

 If we scale up our system from 32 bit to 64 bit, but we are using old
32 bit algorithms (software),  performance loss.

 Algorithm (software) is a finite set of instructions, when we execute


these instruction in a sequence our problem get solved.
Scalability: Issues

 Preventing software resources running out: An example of lack of


scalability is shown by the numbers used as Internet (IP) addresses
(computer addresses in the Internet).

 In the late 1970s, it was decided to use 32 bits for this purpose, the
supply of available Internet addresses is running out.
Scalability: Issues

 For this reason, a new version of the protocol with 128-bit Internet
addresses is being adopted, and this will require modifications to
many software components.
Scalability: Issues

 Avoiding performance bottlenecks: In general, algorithms should be


decentralized to avoid having performance bottlenecks.

 The term “bottleneck” refers to both an overloaded network and


the state of a computing device in which one component is unable
to keep pace with the rest of the system, thus slowing down
overall performance.
Scalability: Issues

 So balance in all the computing components is much necessary.

 For example, we normally install SSD’s rather than HDD, for quick
response from secondary storage devices, and so on.
Amdhal’s Law

 Amdahl's law is a formula which gives the theoretical speedup in


latency of the execution of a task at fixed workload that can be
expected of a system whose resources are improved (scalability).

 It is named after computer scientist Gene Amdahl, and was


presented at the AFIPS Spring Joint Computer Conference in 1967.

 Amdahl's law is often used in parallel computing to predict the


theoretical speedup when using multiple processors.
Amdhal’s Law
 Amdahl's law can be formulated in the following way:

• where

• Slatency is the theoretical speedup of the execution of the whole task;

• s is the speedup of the part of the task that benefits from improved system resources;

• p is the proportion of execution time that the part benefiting from improved resources
originally occupied.
Amdhal’s Law

 For example, if a program needs 20 hours using a single processor


core, and a particular part of the program which takes one hour to
execute cannot be parallelized.

 While the remaining 19 hours [19/20=0.95] (p = 0.95) 95% of


execution time can be parallelized.

 But 0.05 (1 hour) 5% part of the program can’t be parallelized.


Amdhal’s Law

 Then regardless of how many processors are devoted to a

parallelized execution of this program, the minimum execution time

cannot be less than that critical one hour.

 In the previous example 95% portion of process is subject to speed

up, p will be 0.95 (p=0.95), and the portion which will get benefit of

speed up twice of original then s=2.


Amdhal’s Law

 So by using Amdhal’s law overall speed up will be:

 Formula: S= 1/ (1-p)+(p/s)

 By putting values: S= 1/(1-0.95)+(0.95/2)

 So the speed up (S): S= 1/ (0.05)+(0.475)  1/ 0.525  1.907


Speedup and Amdhal’s Law
Exercise:
 Let's say you have a program that consists of two parts: Part A,
which takes up 40% of the total execution time and can be
parallelized, and Part B, which takes up the remaining 60% of
the time and cannot be parallelized.
 If you parallelize Part A so that it runs 3 times faster, what is the
overall speedup you can achieve for the entire program?
Solution:
 p = 40 % = 0.4
 S=3

1
 Speedup =
1−0.4 +0.4/3

1
 Speedup =
0.6+0.1333

1
 Speedup =
0.7333

 Speedup ≈ 1.362

You might also like