Home >Documents >1 Fundamentals of Distributed Systems. Jim Gray Researcher Microsoft Corp. [email protected] Prof. Andreas...

1 Fundamentals of Distributed Systems. Jim Gray Researcher Microsoft Corp. [email protected] Prof. Andreas...

Date post:27-Mar-2015
Category:
View:213 times
Download:0 times
Share this document with a friend
Transcript:
  • Slide 1

1 Fundamentals of Distributed Systems. Jim Gray Researcher Microsoft Corp. [email protected] Prof. Andreas Reuter Professor U. Stuttgart [email protected] Slide 2 2 Outline Concepts and Terminology Why Distributed Why Distributed Distributed data & objects Distributed data & objects Distributed execution Distributed execution Three tier architectures Three tier architectures Transaction concepts Transaction concepts Goal: What you need to know to understand Microsoft Transaction Server (or CORBA or ) Slide 3 3 Whats a Distributed System? Centralized: Centralized: everything in one place everything in one place stand-alone PC or Mainframe stand-alone PC or Mainframe Distributed: Distributed: some parts remote some parts remote distributed users distributed users distributed execution distributed execution distributed data distributed data Slide 4 4 Why Distribute? No best organization No best organization Companies constantly swing between Companies constantly swing between Centralized: focus, control, economy Centralized: focus, control, economy Decentralized: adaptive, responsive, competitive Decentralized: adaptive, responsive, competitive Why distribute? Why distribute? reflect organization or application structure reflect organization or application structure empower users / producers empower users / producers improve service (response / availability) improve service (response / availability) distributed load distributed load use PC technology (economics) use PC technology (economics) Slide 5 5 What Should Be Distributed? Users and User Interface Users and User Interface Thin client Thin client Processing Processing Trim client Trim client Data Data Fat client Fat client Will discuss tradeoffs later Will discuss tradeoffs later Database Business Objects workflow Presentation Slide 6 6 Transparency in Distributed Systems Make distributed system as easy to use and manage as a centralized system Make distributed system as easy to use and manage as a centralized system Give a Single-System Image Give a Single-System Image Location transparency: Location transparency: hide fact that object is remote hide fact that object is remote hide fact that object has moved hide fact that object has moved hide fact that object is partitioned or replicated hide fact that object is partitioned or replicated Name doesnt change if object is replicated, partitioned or moved. Name doesnt change if object is replicated, partitioned or moved. Slide 7 7 Naming- The basics Objects have Objects have Globally Unique Identifier (GUIDs) Globally Unique Identifier (GUIDs) location(s) = address(es) location(s) = address(es) name(s) name(s) addresses can change addresses can change objects can have many names objects can have many names Names are context dependent: Names are context dependent: (Jim @ KGB Jim @ CIA) (Jim @ KGB Jim @ CIA) Many naming systems Many naming systems UNC: \\node\device\dir\dir\dir\object UNC: \\node\device\dir\dir\dir\object Internet: http://node.domain.root/dir/dir/dir/object Internet: http://node.domain.root/dir/dir/dir/object LDAP: ldap://ldap.domain.root/o=org,c=US,cn=dir LDAP: ldap://ldap.domain.root/o=org,c=US,cn=dir guid Jim Address James Slide 8 8 Name Servers in Distributed Systems Name servers translate names + context to address (+ GUID) Name servers translate names + context to address (+ GUID) Name servers are partitioned (subtrees of name space) Name servers are partitioned (subtrees of name space) Name servers replicate root of name tree Name servers replicate root of name tree Name servers form a hierarchy Name servers form a hierarchy Distributed data from hell: Distributed data from hell: high read traffic high read traffic high reliability & availability high reliability & availability autonomy autonomy root North South Southern names Northern names root Slide 9 9 Autonomy in Distributed Systems Owner of site (or node, or application, or database) Wants to control it Owner of site (or node, or application, or database) Wants to control it If my part is working, must be able to access & manage it (reorganize, upgrade, add user,) If my part is working, must be able to access & manage it (reorganize, upgrade, add user,) Autonomy is Autonomy is Essential Essential Difficult to implement. Difficult to implement. Conflicts with global consistency Conflicts with global consistency examples: naming, authentication, admin examples: naming, authentication, admin Slide 10 10 Security The Basics Authentication server subject + Authenticator => (Yes + token) | No Authentication server subject + Authenticator => (Yes + token) | No Security matrix: Security matrix: who can do what to whom who can do what to whom Access control list is column of matrix Access control list is column of matrix who is authenticated ID who is authenticated ID In a distributed system, who and what and whom are distributed objects In a distributed system, who and what and whom are distributed objects subject Object Permissions Slide 11 11 Security in Distributed Systems Security domain: nodes with a shared security server. Security domain: nodes with a shared security server. Security domains can have trust relationships: Security domains can have trust relationships: A trusts B: A believes B when it says this is [email protected] A trusts B: A believes B when it says this is [email protected] Security domains form a hierarchy. Security domains form a hierarchy. Delegation: passing authority to a server when A asks B to do something (e.g. print a file, read a database) B may need As authority Delegation: passing authority to a server when A asks B to do something (e.g. print a file, read a database) B may need As authority Autonomy requires: Autonomy requires: each node is an authenticator each node is an authenticator each node does own security checks each node does own security checks Internet Today: Internet Today: no trust among domains (fire walls, many passwords) no trust among domains (fire walls, many passwords) trust based on digital signatures trust based on digital signatures Slide 12 12 Clusters The Ideal Distributed System. Cluster is distributed system BUT single Cluster is distributed system BUT single location location manager manager security policy security policy relatively homogeneous relatively homogeneous communications is communications is high bandwidth high bandwidth low latency low latency low error rate low error rate Clusters use distributed system techniques for load distribution storage execution growth fault tolerance Slide 13 13 Cluster: Shared What? Shared Memory Multiprocessor Shared Memory Multiprocessor Multiple processors, one memory Multiple processors, one memory all devices are local all devices are local DEC or SGI or Sequent 16x nodes DEC or SGI or Sequent 16x nodes Shared Disk Cluster Shared Disk Cluster an array of nodes an array of nodes all shared common disks all shared common disks VAXcluster + Oracle VAXcluster + Oracle Shared Nothing Cluster Shared Nothing Cluster each device local to a node each device local to a node ownership may change ownership may change Tandem, SP2, Wolfpack Tandem, SP2, Wolfpack Slide 14 14 Outline Concepts and Terminology Why Distribute Why Distribute Distributed data & objects Distributed data & objects Partitioned Partitioned Replicated Replicated Distributed execution Distributed execution Three tier architectures Three tier architectures Transaction concepts Transaction concepts Slide 15 15 Partitioned Data Break file into disjoint groups Exploit data access locality Exploit data access locality Put data near consumer Put data near consumer Less network traffic Less network traffic Better response time Better response time Better availability Better availability Owner controls data autonomy Owner controls data autonomy Spread Load Spread Load data or traffic may exceed single store data or traffic may exceed single store Orders N.A. S.A. Europe Asia Slide 16 16 How to Partition Data? How to Partition How to Partition by attribute or by attribute or random or random or by source or by source or by use by use Problem: to find it must have Problem: to find it must have Directory (replicated) or Directory (replicated) or Algorithm Algorithm Encourages attribute-based partitioning Encourages attribute-based partitioning N.A. S.A. Europe Asia Slide 17 17 Replicated Data Place fragment at many sites Pros: Pros: +Improves availability +Disconnected (mobile) operation +Distributes load +Reads are cheaper Cons: Cons: N times more updates N times more updates N times more storage N times more storage Placement strategies: Placement strategies: Dynamic: cache on demand Dynamic: cache on demand Static: place specific Static: place specific Catalog Slide 18 18 Updating Replicated Data When a replica is updated, how do changes propagate? When a replica is updated, how do changes propagate? Master copy, many slave copies (SQL Server) Master copy, many slave copies (SQL Server) always know the correct value (master) always know the correct value (master) change propagation can be change propagation can be transactional transactional as soon as possible as soon as possible periodic periodic on demand on demand Symmetric, and anytime (Access) Symmetric, and anytime (Access) allows mobile (disconnected) updates allows mobile (disconnected) updates updates propagated ASAP, periodic, on demand updates propagated ASAP, periodic, on demand non-serializable non-serializable colliding updates must be reconciled. colliding updates must be reconciled. hard to know real value hard to know real value Slide 19 19 Replication and Partitioning Compared Central Scaleup 2x more work Central Scaleup 2x more work Partition Scaleup 2x more work Partition Scaleup 2x more work Replication Scaleup 4x more work Replication Scaleup 4x more work Replication Slide 20 20 Outline Concepts and Terminology Why Distribute

Popular Tags:

Click here to load reader

Embed Size (px)
Recommended