Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
1/13
Artjom Lind ([email protected])11.09.2013https://courses.cs.ut.ee/2013/hs
Hajussüsteemid
MTAT.08.024
DistributedSystemsFeatures of Distributed Systems
2/13
Artjom Lind ([email protected])11.09.2013https://courses.cs.ut.ee/2013/hs
Features
● Sharing resources● Openness● Parallelism● Scalability● Fail-safity● Transparency
3/13
Artjom Lind ([email protected])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 ([email protected])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 ([email protected])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 ([email protected])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 ([email protected])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 ([email protected])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 ([email protected])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 ([email protected])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 ([email protected])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 ([email protected])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 ([email protected])11.09.2013https://courses.cs.ut.ee/2013/hs