290 likes | 312 Views
Transparency In Distributed Systems Hiremath,Naveen nhiremath1@student.gsu.edu. 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 ?.
E N D
Transparency In Distributed Systems Hiremath,Naveen nhiremath1@student.gsu.edu
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 Workstations Local Area Network WAN Gateway Servers
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 Transparency Local and remote resources are accessed using identical operations • Location Transparency Users 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 Transparency Applications should be able to complete their task despite failures occurring in certain parts of the system
Goals Contd... • Replication Transparency The 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 Transparency Load 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) Transparency Can expand in scale(incremental growth) without change to system's structure or application algorithms • Persistence Transparency Hide whether a (software)resource is in memory or on disk[R. Chow]
Goals Contd... • Parallelism Transparency This permits parallel activities without users knowing how,where, and when these activities are carried out by the systems • Revision Transparency This 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 DNS lookup Resource ID(IP number,port number,pathname) 168.50.23.1 6666 gosolar/index.html Network address Socket ARP lookup file 2:37:6a:1:d0:4a Web Server Web Server
CONTD... • DNS Lookup can be • Iterative Name Servers NS1 Client NS2 NS3 A client iteratively contacts name servers NS1-NS3 in order to resolve a name
CONTD... • Recursive server-controlled 2 NS1 1 NS2 Client 4 5 3 NS3
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