1 / 30


Overview. Distributed systems. Layers. Communication is logically on the application layer Only that has to be considered except for speed, reliability, security and cost Error correction (and security) might (will) be on application layer, but is usually also on lower layers.

Télécharger la présentation


An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.


Presentation Transcript

  1. Overview Distributed systems

  2. Layers • Communication is logically on the application layer • Only that has to be considered • except for speed, reliability, security and cost • Error correction (and security) might (will) be on application layer, but is usually also on lower layers

  3. Client-Server and Peer-to-Peer Server always on; Client and Peers not P2P: Skype, BitTorrent; IM: partly, messages yes, setup+addr. not

  4. Problems • No throughput guaranties: • problems with bandwidth-sensitive application, like many multimedia applications • some may use adaptive coding techniques (reducing quality) to match available throughput • No timing (delay or jitter) guaranties • problems for real-time streaming multimedia • like telephony, multi-layer games, teleconferencing • no solution for this except special networks • non-real time streaming multimedia (like a movie replay) can buffer at the receiver • No security • this can be cured by SSL(secure socket layer) • also by network layer security methods

  5. Distributed systems • A collection of independent computers • that appears to its users (people or programs) • as a single coherent system.

  6. Goals: sharing, transparent • making resources accessible • economics: printers, storage systems, supercomputers • information exchange: mail, audio, video • collaboration: groupware, videoconferencing, virtual organizations • distribution transparency

  7. Goals: openness • Openness • offer services according standard rules • describing syntax and semantics of services • computer networks: protocols • distributed systems: interfaces described in an IDL (Interface Definition Language) • to achieve interoperability and portability • extensible: add new components or replace existing • collection of relatively small component • separate policies and mechanism

  8. Goals: scalable • size: easily add more users and resources • geographically: increasing distances • administration: easy to manage if it increases limitations • decentralized algorithm: • no machine has complete information about the system state • each machines makes decisions based only on local information • failure of one machine does not ruin the algorithm • no implicit assumption a global clock exists

  9. Distributing Computing Systems • Cluster Computing Systems: high performance computing

  10. Grid Computing Systems • high degree of heterogeneity: resource from different organizations are brought together in a virtual organization.

  11. Distributed Information Systems • Transaction Processing System • Atomic: To the outside world, the transaction happens indivisibly. • Consistent: The transaction does not violate system invariants. • Isolated: Concurrent transactions do not interfere with each other. • Durable: Once a transaction commits, the changes are permanent.

  12. Nested Transaction

  13. TP monitor

  14. Distributed Pervasive Systems • consisting of mobile and embedded computing devices • small, battery-powered, mobile, wireless connections

  15. Sensor Networks

  16. Important topics • architecture: software and system • processes: treads, virtual machines, client-server organization, code migration • communication: layered protocols, Remote Procedure Calls, Message Passing Interface • naming: names, identifiers, addresses • synchronization: (logical) clocks, mutual exclusion, election algorithms • consistency and replication • fault tolerance • security

  17. Architecture (1) • layered • object-based • data-centered • event-based

  18. Architecture (2) Processes communicate through a common (passive or active) repository. Events may carry data Publish/subscribe systems Loosely coupled processes

  19. Application layering Using an Internet search engine • user-interface • processing • data

  20. Alternative client-server organization Thin - fat clients easier – difficult to manage application and database on different servers Vertical distribution: placing logically different components on different machines

  21. Peer-to-peer systems Horizontal distribution: client or server physically split up in equivalent parts, operating on its own share of the data set Distributed Hash Tables data items with key k mapped on node with id: smallest id >= k

  22. Collaborative Distributed Systems • for a node to join often a client-server scheme is used • an example is BitTorrent • a Tracker keeps an account of active nodes (currently downloading some file) having (chunks of) the requested file • the client node becomes than active, providing also (chunks of) files

  23. Processes and treads • a way to do more things at the same time • illusion that each one has it own virtual CPU • used in clients (e.g. browser to start downloading parts of a website at the same time) and servers

  24. Virtual Machines • not only virtualization of CPU but also of other resources • many different OS’s working concurrently on 1 machine • old technique from the 1960’s

  25. Process virtual machine • same OS, different runtime-systems (with applications)

  26. Virtual machine manager V i r t u a l Applications Applications Applications Guest OS(Windows NT) Guest OS(Windows 2000) Guest OS(Windows 2003) Virtual Machine Virtual Machine Virtual Machine P h y s i c a l Virtual Machine Manager Host Operating System System Hardware • multiple different OS’s concurrently on same hardware

  27. Virtual private servers • bridge the gap between shared web hosting services and dedicated hosting services • also for workstations • examples VMware, VirtualPC

  28. Communication • send and receive over TCP streams using socket interface for networks • message passing, higher level of abstraction • representation of integers, floats, structures, etc • usable for shared memory communication and high-speed interconnect busses on parallel machines • RPC, Remote Procedure Call

  29. Naming • Names are used to refer to entities (anything that can be operated on) • The naming system may be itself be implemented in a distributed fashion. • We need to resolve a name to the entity it refers to. • How to organize a human friendly name system? E.g. files systems, World Wide Web • How to locate from a name the entity it refers to in a way that is independent of their current location. • How to resolve names by means of entity attributes? • Internets Domain Name System as an example

  30. Synchronization • Synchronization of distributed processes is more difficult than that of processes in uni/multi-processor systems. • using physical clocks on systems is not accurate enough, need for logical clocks • distributed global states • distributed mutual exclusion • the bully election algorithm

More Related