distributed systems - kursused€¦ · centralized system, with n processors makes computing n...

Post on 10-May-2020

5 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1/13

Artjom Lind (artjom.lind@ut.ee)11.09.2013https://courses.cs.ut.ee/2013/hs

Hajussüsteemid

MTAT.08.024 

DistributedSystemsFeatures of Distributed Systems

2/13

Artjom Lind (artjom.lind@ut.ee)11.09.2013https://courses.cs.ut.ee/2013/hs

Features

● Sharing resources● Openness● Parallelism● Scalability● Fail-safity● Transparency

3/13

Artjom Lind (artjom.lind@ut.ee)11.09.2013https://courses.cs.ut.ee/2013/hs

Sharing Resources

● What is resources ?● Hardware

– Not every single resource is for sharing● Data

– Databases– Proprietary software– Software production– Collaboration

4/13

Artjom Lind (artjom.lind@ut.ee)11.09.2013https://courses.cs.ut.ee/2013/hs

Sharing Resources

● Different resources are handled in different ways, there are however some generic requirements:

– Namespace for identification– Name translation to network address– Synchronization of multiple access

5/13

Artjom Lind (artjom.lind@ut.ee)11.09.2013https://courses.cs.ut.ee/2013/hs

Client-Server

● Server is sharing resources● Clients demand resources● Service – abstract entity, which is powered by multiple

processes● Resource names are usually server specific● Client is demanding services and server is indicates

services● Example: WWW● Disadvantages of Client-Server model

– Not all resources can be shared with this model– Non-effective for internal sharing

6/13

Artjom Lind (artjom.lind@ut.ee)11.09.2013https://courses.cs.ut.ee/2013/hs

Distributed objects

● Objects (resources)– Unique identifier– Objects can migrate over network

● Object users● Messaging between objects

– Responses are optional● Disadvantages of object model

7/13

Artjom Lind (artjom.lind@ut.ee)11.09.2013https://courses.cs.ut.ee/2013/hs

Openness

● Hardware openness– Adding new devices, compatibility– Hardware API specification

● Software openness– Adding new features, new services, communication with

other software– Open API and protocol

● Open system can contain hardware of software of different vendors

● Each component can be exchange according to interface● Validation – check if component is complaint according

to the standards

8/13

Artjom Lind (artjom.lind@ut.ee)11.09.2013https://courses.cs.ut.ee/2013/hs

Parallelism

● Centralized system, with n processors makes computing n times faster (in ideal case)

● Distributed system, with m single-process machines gives also m times faster computations but all processes run in different machines

● Users running the same program simultaneously● Many server processes work in parallel for serving

different client requests● Drawbacks of parallelism (synchronization)

9/13

Artjom Lind (artjom.lind@ut.ee)11.09.2013https://courses.cs.ut.ee/2013/hs

Scalability

● Distributed systems design should allow to extend the system in future

● Extending system not affecting the software● System has to remain stable even with big

number of attached components● Scalability is measured by performance of one

single processor (overall performance / number of processors)

● Design doesn't allow services to be unavailable

10/13

Artjom Lind (artjom.lind@ut.ee)11.09.2013https://courses.cs.ut.ee/2013/hs

Scalability affecting factors

● Centralized services – one central server● Centralized data – one central database● Centralized algorithms – decision making

based on all data

11/13

Artjom Lind (artjom.lind@ut.ee)11.09.2013https://courses.cs.ut.ee/2013/hs

Scalability of algorithms

● Requirements:– Each single machine doesn't rely on all data

in distributed system– Decision is made based on local information

only– Failure of one machine does not block all

the others– Absence of global synchronization clock

12/13

Artjom Lind (artjom.lind@ut.ee)11.09.2013https://courses.cs.ut.ee/2013/hs

Scalability methods

● Asynchronous communication in order to maintain geographic scalability

● Replication, Caching● Vertical scalability – different nodes for

different layers in the system● Horizontal scalability – many nodes in on

particular layer of the service

13/13

Artjom Lind (artjom.lind@ut.ee)11.09.2013https://courses.cs.ut.ee/2013/hs

top related