A brief overview about Distributed Systems Group A4 Chris Sun Bryan Maden Min Fang
Why we need distributed system? Computers become cheaper More computers exist Share resourcesConnected together
Centralized v.s. Distributed systems Mainframes Computer clusters
Characteristics A collection of independent computers connected through networks.
Characteristics Providing a single coherent system to users. hiding the difference between computers and the communications.
Characteristics Easy to expand and scale. Replacing, add, and delete components
Characteristics Middleware An additional layer of software to hide the heterogeneity of underlying platforms from applications
Middleware
Characteristics Data flow control is more important than computing. I/O bound task
Characteristics Not proper for tasks of large computing. A single computer is more efficient for computing. Problem division and solution combination
Characteristics LAN or WAN
Goals Connecting Transparency Open Scalable
Connecting Easy to share resource Economics
Transparency Hide difference in data representation and how a resource is accessed Access
Transparency Hide where a resource is located Location Logic Name
Transparency Hide that a resource may move to another location Migration
Transparency Hide that a resource may be moved to another location while in use Relocation
Transparency Hide that a resource is replicated Replication
Transparency Hide that a resource may be shared by several competitive users Concurrency Locking
Transparency Hide the failure and recovery of a resource Failure
Transparency Hide whether a (software) resource is in memory or on disk Persistence
Open Offer services according to standard rules that describe the system and semantics of those services Protocol and IDL
Open Flexible Separating policy and mechanism Rich set of parameters Increase complexity
Scalable Size Geography Administration
Scalable Decentralization DataServicesAlgorithms
Scalable Techniques AsyncDistributedReplicate DNS zonesCache
Hardware types
Multiprocessor A single physical address space shared by all CPUs
Multiprocessor Bus Coherent Overloaded
Multiprocessor Cache 90% hit rate 512K~1M
Multiprocessor Crossbar N2N2
Multiprocessor Omega N/2log 2 N
Multicomputer Each machine has its own private memory
Multicomputer Homogeneous OSNetworkMemory Parallel
Multicomputer Bus Ethernet 25~100 nodes
Multicomputer Switch MeshHypercube
Multicomputer Hypercube Dimension = N # Node = 2 N # Link = k2 k-1
Multicomputer Physical routing distance Hamming distance
Types of Architectures Bus Fully Connected Ring 2D –Grid –Torus HyperCube Fully connected
2D - Grid Grid or mesh –Matrix –Switches are connected to many other switches but only one processor. Switch Processor
2D - Torus Each column is a ring Each row is a ring. More connections – more communication. Switch Processor
Bandwidth Bisection Bandwidth –Separate network into two halves. –Sum the bandwidth of the lines crossing the imaginary dividing line. Examples: –Bus has Bisection Bandwidth of one since only one connection between nodes. –Grid = 4 –Torus = 8
Fault Tolerance The bigger the bandwidth the better the fault tolerance. Bus network has low fault tolerance. –When the bus is down, the communication is down. Fully connected network has highest fault tolerance. –Also most expensive. (messaging, hardware)
Leads to … Grid networks are starting to be developed to share processors and act as a single unit. Applications in Gaming, workplace. –Users have more computing power at less cost. –Users in one time zone can use grid in other time zone where those users are asleep. Continual use of computing power.
References Computer Architecture – A Quantitative Approach. Second Edition, Hennessy & Patterson, Morgan Kaufmann, 1996.
The End