Scalable System Design
Scalable System Design
on
Presented by:
Md. Hasan Ansari
MSCS/071/655
Inroduction
2
measure scalability:
maximum number of simultaneous users supported by
the system or
maximum transactions processed per unit of time by the
system.
many reasons
Optimize Algorithm
Add Hardware
Introduce Parallelism
Optimize Decentralization
Control Shared Resources
Optimize Algorithm
7
Optimize Algorithm
8
If code walkthrough does not help, then certain tools can be used
end result same but complete the same task in a shorter duration.
Known Uses: Running time of Insertion sort is O (n*n), while
that of Quick sort is O(n lg n). Hence, quick sort scales better
with n as compared to insertion sort as depicted in the Figure 4.
Optimize Algorithm
9
Add Hardware
10
which are becoming scarce for the system. The scarce hardware
resources can be identified by using resource monitoring tools
(like prstat/top).
Once the scarce hardware resources are identified, the next step
Add Hardware
11
Known Uses:
Adding RAM to the existing machine incase it is
Introduce Parallelism
12
Introduce Parallelism
13
Introduce Parallelism
14
Introduce Parallelism
15
scalability)
- Or, a system can have mix of both of the above
Introduce Parallelism
16
Known Uses:
Apache-Tomcat cluster having multiple Tomcat
References
21
Andrew S. Tenanbaum.
http://en.wikipedia.org/wiki/Scalability
22
Thanks
Queries?