f7095ee2fe04c01b660fe8b254b7f741.ppt
- Количество слайдов: 25
Distributed Systems – intro Prof. Leonardo Mostarda University of Camerino Prof. Leonardo Mostarda-- Camerino, 1
Who am I? z Prof. Leonardo Mostarda y Born in Poggio Bustone y Lived for the last 8 years in London 2
Who am I? z Degree + Ph. D. at University of L’Aquila y Cooperating with the Ericsson research lab. z Consultancy: Fiat, Ericson, Nokia, … z Post Doc European Space Agency (ESA): y GALELEO satellite system applied to security z Research associate: Imperial College London y Ubival project with Oxford and Cambridge z Prof. Middlesex University London z My research interests: Security, Distributed Systems and wireless sensor networks y HP and IBM research labs and INRIA are using my system 3
Module Outline (provisional) z z z z INTRODUCTION ARCHITECTURES PROCESSES COMMUNICATION NAMING SYNCHRONIZATION CONSISTENCY AND REPLICATION FAULT TOLERANCE SECURITY DISTRIBUTED OBJECT-BASED SYSTEMS DISTRIBUTED FILE SYSTEMS DISTRIBUTED WEB-BASED SYSTEMS DISTRIBUTED COORDINATION-BASED SYSTEMS
Activity Plans Recommended Text Book • Tanenbaum, and Maarten van Steen, Distributed Systems, Principles and Paradigms, 2 nd Ed. Coulouris, J. , Dollimore, J. , and Kindberg, T. DISTRIBUTED SYSTEMS: CONCEPTS AND DESIGN, 4 th Ed. Lecture 3 hours per week; Seminar 2 hours per week; Review Questions and Exercises Labs 2 hours every, programming, and implementation. Assessment Unseen exam, Oral exam Lab project on selected areas
Outline z. Basic definitions z. Goals when implementing a distributed system y. Sharing y. Transparency y. Openness y. Scalability z. Scalability techniques
Definition of a Distributed System: z “A collection of independent computers that appears to its users as a single coherent system. ” Tanenbaum & Van Steen. z “A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable” Leslie Lamport z “A distributed system is an application that executes a collection of protocols to coordinate the actions of multiple processes on a network, such that all components cooperate together to perform a single or small set of related tasks. ” Google University Code
Definition of a Distributed System A distributed system is organised as a middleware. The middleware layer extends over multiple machines and offer each application the same interface.
Goals z 4 goals you should met to make the implementation of a distributed system worth: y y Sharing Transparency Openness Scalability Prof. Leonardo Mostarda-- Camerino, 9
Sharing z Users should be able to access easily remote resources z Cost effective: y it is cheaper to share a printer instead of buying one for each user. y Costly resources such as supercomputers and high performance storage systems should be shared z Easier to collaborate: y Mail, file sharing, Groupware software
Sharing z Do you see any disadvantages in sharing? SECURITY?
Sharing Is a stand alone computer secure?
Transparency in a Distributed System z A transparent distributed system presents itself to users and applications as if it were running on a single computer. z We need to hide where the processes and resources are physically distributed across multiple computers z Let us have a look what kinds of transparency we have and whether is always required.
Transparency in a Distributed System Different forms of transparency in a distributed systems (ISO, 1995)
Degree of Transparency z. Can we always achieve a high degree of transparency? u Communication delays Replicas updating u Masking a transient server failure u
Openness z In an open distributed systems service are specified according to standard rules that describe both syntax and semantic. y Interface Description Language (IDL) for syntax y Natural language for semantic z Specifications should be complete and neutral in order to allow Interoperability and Portability z flexibility is also important that is how easy is to add and replace components Prof. Leonardo Mostarda-- Camerino, 16
Scalability z “A distributed system is scalable when it improves is performance after adding resources” z “Scalability is the ability of a system, network, or process, to handle growing amounts of work in a graceful manner or its ability to be enlarged to accommodate that growth” z Scalability is very hard to achieve
Scalability Problems DNS
Scaling Techniques (1): hiding communication The difference between letting (a) a server or (b) a client check forms as they are being filled.
Scaling Techniques (2): distribution An example of dividing the DNS name space into zones.
Scaling Techniques (3): replication z. Cache z. Replica Any problem? Inconsistency
Checking the learning outcomes z. Define a distributed systems z. Define y. Sharing y. Transparency y. Openness y. Scalability z. What is the difference between caching and replica?
Summary z. Basic definitions z. Goals when implementing a distributed system y. Sharing y. Transparency y. Openness y. Scalability z. Scalability techniques
Questions? Prof. Leonardo Mostarda-- Camerino, 24
15 minutes pause Prof. Leonardo Mostarda-- Camerino, 25
f7095ee2fe04c01b660fe8b254b7f741.ppt