transparency in distributed systems hiremath,naveen [email protected]

28
Transparency In Distributed Systems Hiremath,Naveen [email protected]

Upload: iris-hawkins

Post on 03-Jan-2016

218 views

Category:

Documents


1 download

TRANSCRIPT

Transparency In

Distributed Systems

Hiremath,[email protected]

OUTLINE

➲What is a Distributed System?➲Why D.S.?➲Design Issues of D.S.➲Transparency in a D.S.➲Transparency Goals➲Degree of Transparency➲Case Study

What is a Distributed System ?

➲A distributed system is a collection of autonomous computers linked by a computer network that appear to the users of the system as a single computer

An Example

Local Area Network

Workstations

Servers

WAN Gateway

What is a Distributed System ?

(Alternate take)

“A distributed system is a system in which I can’t do my work because some computer that I’ve never even heard of has failed.”

Leslie Lamport, Microsoft Research (ex DEC)

Why Distributed System ?

➲Allows collaboration,information exchange irrespective of geographical location(banking,reservation systems)

➲Doing tasks faster by doing them in parallel

➲Avoiding a single point of failure

Continued...

➲ Incremental Growth➲Facilitates human to human

communication➲Economics[J. Wein]

Disadvantages of

Distributed Systems

➲Difficulties of developing distributed software

➲Networking Problems➲Security problems[B. Karp, S.

Hailes]

Design Issues of Distributed Systems

➲Heterogeneity➲Openness➲Security➲Reliability and fault tolerance➲Scalability➲Concurrency➲Achieving Transparency[A. S.

Tanenbaum]

Transparency In a Distributed System

➲Definition: Concealment from the user and the application programmer of the separation of components in a distributed system, so that the system is perceived as a whole than rather as a collection of independent components.

Transparency Goals

➲How to achieve the single system image?

➲How to “fool” everyone into thinking that the collection of machines is a “simple” computer ?

Goals Contd...

➲Access TransparencyLocal and remote resources are

accessed using identical operations

➲Location TransparencyUsers cannot tell where hardware and

software resources(files,CPU's) are located; the name of the resource shouldn't encode the location of the resource

Goals Contd...

➲Migration(Mobility) Transparency

Resources should be free to move from one location to another without having their names changed

➲Failure TransparencyApplications should be able to complete

their task despite failures occurring in certain parts of the system

Goals Contd...

➲Replication TransparencyThe system is free to make additional

copies of files and other resources(for purpose of performance and/or reliability), without the users noticing. Example: several copies of a file; at a certain request that copy is accessed which is closest to the client

Goals Contd...➲Concurrency Transparency

The users will not notice the existence of other users in the system(even if they access the same resources)

➲Performance TransparencyLoad variation should not lead to

performance degradation. This could be achieved by automatic reconfiguration as response to changes of the load

Goals Contd...

➲Scaling(Size) TransparencyCan expand in scale(incremental growth)

without change to system's structure or application algorithms

➲Persistence TransparencyHide whether a (software)resource is in

memory or on disk[R. Chow]

Goals Contd...

➲Parallelism TransparencyThis permits parallel activities without

users knowing how,where, and when these activities are carried out by the systems

➲Revision TransparencyThis refers to the vertical growth of

systems as opposed to the horizontal growth as in scalable transparency. Revision of softwares not visible to users [B. Karp,2006]

Degree of Transparency

➲Distribution transparency is generally preferable, but not always a good idea:

● It is undesirable to hide the location of the printer from its users

CONTD...

● Need for trade-off between a high degree of transparency and the performance of a system

● It is impossible to hide the fact that Mother Nature will not allow it to send a message from one process in Atlanta to the other in Beijing in less than approximately 35 ms

Case Study:Internet Naming Service

➲How name things and find things in a distributed system?

➲How to build one?

Lets evaluate this with respect to Transparency

Role of Names & Name Services

➲Resources are accessed using identifier or reference● An identifier can be stored in

variables and retrieved from tables quickly

● Identifier includes or can be transformed to an address for an object e.g. NFS file handle,CORBA object reference

CASE STUDY CONTD...

● A name is a human-readable value(usually a string) which can be resolved to an identifier or an address● Internet domain name, file

path name● e.g. www.gsu.edu,

/etc/passwd

CASE STUDY CONTD...

➲Names are preferable to identifiers because● The binding of the named

resource to a physical location is deferred and can be changed

● They are more meaningful to users

Resource access using a URL

www.gsu.edu:6666/gosolar/index.html

168.50.23.1 6666 gosolar/index.html

Web Server

Network address Socket

2:37:6a:1:d0:4a

file

Web Server

ARP lookup

DNS lookup

Resource ID(IP number,port number,pathname)

CONTD...

➲DNS Lookup can be ● Iterative

NS1

NS2

NS3

Client

Name Servers

A client iteratively contacts name servers NS1-NS3 in order to resolve a name

CONTD...● Recursive server-controlled

Client

NS2

NS3

NS1

12

3

45

References

[1]A. S. Tanenbaum, “Distributed Operating Systems”,Prentice Hall, pp.22-25.

[2]R. Chow,T. Johnson, “Distributed Operating Systems & Algorithms”, Addison Weley, pp.29-32.

[3]J. Wein, “Parallel & Distributed Systems”[4]B. Karp, “RPC & Transparency”,UCL

Computer Science,2006[5]Y. Lu,”Distributed Operating Systems”,UNL[6]J. Holliday,”Distributed Computing”,SCU[7]B. Karp, S. Hailes,”Distributed Systems &

Security:An Introduction,UCL Computer Science,2006

References CONTD...

[8]P. Eles, “Distributed Systems”, IDA, Linkopings University

[9]Advanced Distributed Systems,School of Computing, Napier University

[10]P. Boulet,”Distributed Systems,Fundamental Concepts”,TIIR,2006