EEDC - Distributed Systems


Published on

Course: Execution Environments for Distributed Computing

1st Presentation (15min): Distributed Systems
Group 7

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • The two most representative definitions for us are the ones from Coulouris and Tanenbaum. A distributed system is a collection of independent components located in a network, communicate with each other via msg passing and appears to the users as a single computer.
  • The definitions can be verified in the picture. We have 3 different machines, connected to the same network and communicate via message passing in the middleware level.
  • Why do we need DS First of all, we can distribute the workload among the different machines. That way the performance is improved and tasks are completed faster
  • Usually, people argue about the differences between distributed and parallel systems. The same system may be characterized as “parallel” and “distributed” at the same time. A main difference is that in distributed systems, there is no need of a shared memory, since the nodes communicate via message passing. Another difference is that there is no homogeneity. A distributed system consists of different types of hardware and software.
  • Having a Distributed System, it means that we need to face several issues, like….blah blah blah We are explaining these challenges a bit more later on.
  • The first challenge we face is the need of different components to inter-operate. Differences are encountered between components in…
  • In a distributed system, there are multiple failures.
  • New resource-sharing services should be added and be available to be used by the clients
  • EEDC - Distributed Systems

    1. 1. Execution Environments for Distributed Computing Distributed Systems EEDC 34330 Master in Computer Architecture, Networks and Systems - CANS Homework number: 1 Group number: EEDC-7 Group members: Georgia Christodoulidou – [email_address] Ioanna Tsalouchidou – [email_address] Maria Stylianou – [email_address]
    2. 2. Contents <ul><li>Definitions </li></ul><ul><li>Need for DS </li></ul><ul><li>Characteristics </li></ul><ul><li>Trade-offs </li></ul><ul><li>Examples </li></ul><ul><li>Differentiation with parallel systems </li></ul><ul><li>Challenges </li></ul>
    3. 3. What is a Distributed System (DS)? <ul><li>No single definition for distributed systems </li></ul><ul><li>Two representative definitions: </li></ul><ul><ul><li>“ A system in which hardware and software components located at network computers communicate and coordinate their actions only by message passing.” ~ Coulouris </li></ul></ul><ul><ul><li>“ A distributed system is a collection of independent components that appear to the users of the system as a single computer.” ~ Tanenbaum </li></ul></ul>
    4. 4. What is a Distributed System (DS)?
    5. 5. Why do we need DS? <ul><li>Workload distribution among the nodes </li></ul><ul><li> Performance improved </li></ul><ul><li>Information distribution and sharing </li></ul><ul><li>Resource sharing </li></ul><ul><li>Reliability </li></ul><ul><li>Data Preservation & Replication </li></ul>
    6. 6. Characteristics of DS <ul><li>Concurrent execution </li></ul><ul><li>Message passing communication </li></ul><ul><li>Resource sharing </li></ul><ul><li>No global clock </li></ul><ul><li>Lack of knowledge of the global state of the DS by any single process </li></ul>
    7. 7. Trade-offs <ul><li>Communication via insecure network </li></ul><ul><li>Topology is not stable => Latency increases </li></ul><ul><li>Message loss </li></ul><ul><li>Bandwidth is limited </li></ul><ul><li>Multiple administrators => Difficult to manage the system </li></ul>
    8. 8. Examples of DS <ul><li>World Wide Web - www </li></ul><ul><li>Distributed File Systems - DFS </li></ul><ul><li>Database Systems </li></ul><ul><li>Distributed Operating Systems </li></ul>
    9. 9. Differentiation with Parallel Systems <ul><li>No need of shared memory </li></ul><ul><ul><li>Communication via message passing </li></ul></ul><ul><li>No need of homogeneity </li></ul><ul><ul><li>DS consists of different types of hardware and software. </li></ul></ul>
    10. 10. Challenges <ul><li>Heterogeneity </li></ul><ul><li>Distribution transparency </li></ul><ul><li>Fault tolerance </li></ul><ul><li>Scalability </li></ul><ul><li>Concurrency </li></ul><ul><li>Openness </li></ul><ul><li>Security </li></ul>
    11. 11. Challenges - Heterogeneity <ul><li>Inter-operation of the heterogeneous components </li></ul><ul><li>Differences between components in </li></ul><ul><ul><li>Operating systems </li></ul></ul><ul><ul><li>Hardware and Communication architectures </li></ul></ul><ul><ul><li>Programming languages </li></ul></ul><ul><ul><li>Software </li></ul></ul>
    12. 12. Challenges - Distribution Transparency <ul><li>The perception of the system as a whole and not as a collection of independent components </li></ul>
    13. 13. Challenges - Fault Tolerance, Scalability <ul><li>Fault Tolerance </li></ul><ul><li>Multiple failures </li></ul><ul><ul><li>Hardware </li></ul></ul><ul><ul><li>Software </li></ul></ul><ul><ul><li>Network </li></ul></ul><ul><li>Maintain availability despite failures! </li></ul><ul><li>Scalability </li></ul><ul><li>The system should remain effective, even with a significant increase </li></ul><ul><ul><li>in the number or resources </li></ul></ul><ul><ul><li>in the number of users </li></ul></ul>
    14. 14. Challenges - Concurrency, Openness <ul><li>Concurrency </li></ul><ul><li>Manage concurrent access to shared resources </li></ul><ul><ul><li>Scheduling </li></ul></ul><ul><ul><li>Dependencies </li></ul></ul><ul><ul><li>Deadlocks </li></ul></ul><ul><li>Openness </li></ul><ul><li>Possibility of new resource-sharing services to be added </li></ul><ul><ul><li>Available to be used by users </li></ul></ul>
    15. 15. Challenges - Security <ul><li>Resources should be used the way they are supposed to </li></ul><ul><li>Only authorized users should access the resources </li></ul><ul><li>Confidentiality </li></ul><ul><li>Integrity </li></ul><ul><li>Availability </li></ul><ul><li>Non-repudiation </li></ul>
    16. 16. Thank you! Questions?