Chapter 1-Introduction
Chapter 1-Introduction
Concept Example
Single server for all users-mostly for security
Centralized services
reasons
Centralized data A single on-line telephone book
Doing routing based on complete
Centralized algorithms
information
examples of scalability limitations
Scaling Techniques
how to solve scaling problems
the problem is mainly performance, and arises as a result
of limitations in the capacity of servers and networks (for
geographical scalability)
three possible solutions: hiding communication latencies,
distribution, and replication
UNIVERSITY OF GONDAR DEPARTMENT OF COMPUTER SCIENCE 13
a. Hide Communication Latencies
try to avoid waiting for responses to remote service
requests
let the requester do other useful job
i.e., construct requesting applications that use only
asynchronous communication instead of synchronous
communication; when a reply arrives the application is
interrupted
good for batch processing and parallel applications but
not for interactive applications
for interactive applications, move part of the job to the
client to reduce communication; e.g. filling a form and
checking the entries
group the two operations into one transaction; either both are
carried out or neither
we need a way to roll back when a transaction is not completed
UNIVERSITY OF GONDAR DEPARTMENT OF COMPUTER SCIENCE
properties of transactions, often referred to as ACID
1.Atomic: to the outside world, the transaction happens indivisibly; a
transaction either happens completely or not at all; intermediate
states are not seen by other processes
2.Consistent: the transaction does not violate system invariants; e.g.,
in an internal transfer in a bank, the amount of money in the bank
must be the same as it was before the transfer (the law of
conservation of money); this may be violated for a brief period of
time, but not seen to other processes
3.Isolated or Serializable: concurrent transactions do not interfere with
each other; if two or more transactions are running at the same time,
the final result must look as though all transactions run sequentially
in some order
4.Durable: once a transaction commits, the changes are permanent;
see later in Chapter 8 -Fault Tolerance