1 / 28

Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

www.dis.uniroma1.it/~midlab. Distributed Systems Corso di Laurea Specialistica in Ingegneria Informatica AA 2006/2007 Introduction. Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi. A definition.

yuri
Download Presentation

Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

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.

E N D

Presentation Transcript


  1. www.dis.uniroma1.it/~midlab Distributed SystemsCorso di Laurea Specialistica in Ingegneria InformaticaAA 2006/2007Introduction Prof. Roberto Baldoni Ing. Alessia Milani Ing. Leonardo Querzoni Ing. Silvia Bonomi

  2. A definition • A distributed system is a set of spatially separate entities, each of these with a certain computational power that are able to communicate and to coordinate among themselves for reaching a common goal

  3. Primary Goal: sharing data/resources Problems • Synchronization • Coordination

  4. Coordination has to be implemented taking into account the following conditions that deviates from centralized systems: • Temporal and spatial concurrency • No global Clock • Failures • Unpredictable latencies These limitations restrict, for example, the set of coordination problems we can be solve in a distributed setting

  5. Distributed Systems Examples intranet internet But also..... Service Oriented Architectures Overlay Networks Grid P2P Pervasive Systems&Ubiquitous Computing sistema mobile

  6. Pervasive Systems Internet everywhere One-persons Many computers Mobility ……….. How can I keep consistent my mailbox???

  7. Heterogeneity Openess Security Scalability Fault Tolerance Concurrency Transparency Characteristics..and Challenges

  8. Heterogeneity • Networks • Hardware • Operating Systems • Programming Languages • Implementations from different Developers Soluzioni • Middleware (from RPC to Service oriented Architectures) • Mobile code and Virtual Machine

  9. Openess • Capability of a system to be extended and re-implemented • Necessary condition, set of documents with software interfaces • Interface Definition Language (it describes the syntax and the semantic of a service/component, available functions/services, input parameters, exceptions, etc) • Problem: semantic description of a service. • A specification of a service/componet is well-formed if it is : • Complete. A specification is complete if everything related to the implementation has been specified. If something has not been specified, the designer needs to add implementation dependent details. • Neutral. A specification is neutral is it does not offer any detail on a possible implementation

  10. Openess (ii) • Interoperability. The capability of two systems to cooperate by using services/components specified by a common standard • Portability. The capability if a service/component implemented on a distributed system A to work on a system B without doing any modification • Flexibility. The capacity of a system to configure/ orchestrate components developed by various programmers • Add-on Features. The capacity of a distributed system of adding components/services and be integrating in a running system

  11. Openess (iii) • Other recent capabilities: • Evolvability. The capacity of a system to evolve in time for example leaving active two different version of the same service. • Self-* (self organization, self management, self healing etc). The capacity of a system to reconfigure, to manage itself without uman intervention • The number of independent software developers make very complex the development of a distributed platform • Examples: • RFC for internet • JBoss for J2EE platform

  12. Security • Confidenziality (protection against the interception of data from unauthorized users) • Integrity (protection against data alteration) • Availability (protection against the interference in the access to a resource)

  13. Date Web servers Computers 188 0 1979, Dec. 1989, July 130,000 0 1999, July 56,218,000 5,560,866 Scalability • A system is scalable if it remains running with adequate performance even if the number of “users” grow up of orders of magnitude • Centralization is against scalability : • Service (single service for all users) • Data (single data structure for all processes) Computers connected to the internet

  14. Scalability (ii) • It becomes necessary using: • Service Replication • Coordination Problems • Data Replication • Consistency Problems • Distributed Algorithms • No node has the current state of the whole system • Nodes base their decisions on data they own • A failure of a node should not compromize the goal of the algorithm • Geographical Scalability

  15. eGov envelop P2P SIP What is a large-scale distributed system? Internet-scale Applications Scalable Consistency-based Applications Enterprise Data Centers Scalable QoS based Applications Cooperative Information Systems First Open Workshop Budapest 21-3-2007

  16. Failure Management • Failure detection • Example: Checksum detects a corrupted packet • Failure masking • Example: message retransmission • Tolerating Failures • Example: intrusion tolerant systems • Failure Recovery • Example: completing long running computation • Redoundancy • Example: DNS

  17. Concurrency • Multiple access to shared resources • If clients invokes concurrently read and write methods on a shared variable • Which value returns each read? • Coordination • Synchronization

  18. Transparency • Access: allow to access remote and local resources with the same operations • Location: allows to access resources without knowing their physical location • Concurrency: allows a set of processes to run concurrently on shared resources without interfering among themselves • Failures: allow to mask failures in order that users can complete remaining requested operations • Mobility: allows to move resources and users without influencing operation issued by users • Performance: allow system reconfiguration changing the load • Performance of a solution based on a distributed system not always improve with respect to a solution based on a centralized system.

  19. Layering hw and sw

  20. Interaction Models client/server peer-to-peer

  21. Interaction Models • Interaction models impact on scalability, availability, cost, security performances • Eg. client/server with replicated services: availability, scalability performance: replication imposes an extra work for maintaining consistency despite replica crashes

  22. Web proxy server

  23. Web applets

  24. Thin clients and compute servers Compute server Network computer or PC Application network Thin Process Client

  25. Music service Alarm gateway service Internet Hotel wireless network Discovery service Camera TV/PC Guests Laptop PDA devices Spontaneous networking in a hotel

  26. Real-time ordering of events

  27. Processes and channels

  28. Middleware: problems to face • Heterogeneity:OS, clock speeds, data representation, memory, architecture HW • Local Asynchrony: load on a noad, diffeent OW, Interrupts • Lack of global knowledge: knowledge propagates through messages whose messages whose propagation times will be much slower than time taken by the execution of an internal event • Network Asyncrony: propagation times of message can be unpredictable. • Failures of nodes or network partitions. • Lack of a global order of events This limits the set of problems that can be solved through deterministic algorithms on some distributed systems

More Related