parallel distributed computer
play

Parallel & Distributed Computer Systems Chapter 01: Distributed - PowerPoint PPT Presentation

Parallel & Distributed Computer Systems Chapter 01: Distributed Systems by Dr. Aymen AKREMI, Ph.D Email: amakremi@uqu.edu.sa Course Material Web site: http://www.amansystem.com/?c=people/akremi/DPS 1 Outline Defining distributed


  1. Parallel & Distributed Computer Systems Chapter 01: Distributed Systems by Dr. Aymen AKREMI, Ph.D Email: amakremi@uqu.edu.sa Course Material Web site: http://www.amansystem.com/?c=people/akremi/DPS 1

  2. Outline  Defining distributed system  Why distribution?  Examples of distributed systems  Distributed system characteristics  Middleware positioning  Goals and challenges of distributed systems  Type of distributed systems 2

  3. Definition of a Distributed System A distributed system is a collection of independent computers that appears to its users as a single coherent system or as a single system  Features:  No shared memory – message-based communication  Each runs its own local OS  Heterogeneity  Ideal: to present a single-system image:  The distributed system “ looks like ” a single computer rather than a collection of separate computers. 3

  4. Why distributed systems  Sharing of information and systems  Possibility to add component improves  Availability, reliability, fault tolerance, performance, scalability 4

  5. Examples of distributed systems(1)  The internet:  Net of nets  Global access to “ everybody ” (data, service, other … )  Enormous size (open ended)  No single authority  Hardware resources (reduce costs)  Data resources (shared usage of information)  Service resources (search engines, computers-supported cooperative working)  Service vs. server (node or process) 5

  6. Examples of distributed systems(2)  Mobile and ubiquitous computing:  Portable devices  Laptops  Handheld devices  Wearable devices  Devices embedded in applications  Mobile computing  Location-aware computing  Ubiquitous computing, pervasive computing 6

  7. Distributed systems characteristics  To present a single-system image:  Hide internal organization, communication details  Provide uniform interface  Easily expandable  Adding new computers is hidden from users  Continuous availability  Failures in one component can be covered by other components  Partitioned or replicated data:  Increased performance, reliability, fault tolerance  No global Clock  Nodes in networks have different and independent clock  Supported by middleware 7

  8. Middleware positioning “ Middleware is a class of software technologies designed to help manage the complexity and heterogeneity inherent in distributed systems. It is defined as a layer of software above the operating system but below the application program that provides a common programming abstraction across a distributed system ” 8

  9. Role of Middleware (MW) (1)  In some early research systems: MW tried to provide the illusion that a collection of separate machines was a single computer.  E.g. NOW project: GLUNIX middleware  Today:  clustering software allows independent computers to work together closely  MW also supports seamless access to remote services, doesn ’ t try to look like a general-purpose OS  Examples of MW:  CORBA (Common Object Request Broker Architecture)  DCOM (Distributed Component Object Management  RMI (Remote Method Invocation)  SOAP (Simple Object Access Protocol) 9

  10. Role of Middleware (MW) (2)  All of the previous examples support communication across a network:  They provide protocols that allow a program running on one kind of computer, using one kind of operating system, to call a program running on another computer with a different operating system  The communicating programs must be running the same middleware. 10

  11. Goals and challenges of distributed systems

  12. Goals of distributed systems Resource Accessibility (sharing) 1) Distribution Transparency 2) Openness 3) Scalability 4) Security 5) System design accessibility 6) 12

  13. Resource sharing  Support user access to remote resources (printers, data files, web pages, CPU cycles) and the fair sharing of the resources  Economics of sharing expensive resources  Performance enhancement – due to multiple processors; also due to ease of collaboration and info exchange  Groupware: tools to support collaboration  Resource sharing introduces several challenges:  Naming  Access control  Security  Availability  Mutual exclusion of users, fairness  Consistency in some cases 13

  14. Distribution transparency  Software hides some of the details of the distribution of system resources.  Makes the system more user friendly.  A distributed system that appears to its users & applications to be a single computer system is said to be transparent .  Users & apps should be able to access remote resources in the same way they access local resources.  The users should be unaware of where the services are located and also the transferring from a local machine to a remote one should also be transparent.  Transparency has several dimensions. 14

  15. Type of transparencies 15

  16. Challenges for transparencies  Replication and migration cause need for ensuring consistency and distributed decision-making  Failure modes  Concurrency  heterogeneity 16

  17. Omission and arbitrary failures 17

  18. Timing failures 18

  19. Failure Handling  More components => increased fault rate  Increased possibilities  More redundancy => more possibilities for faults tolerance  No centralized control => no fatal failure  Issues  Detecting failures  Masking failures  Recovery from failures  T olerating failures  Redundancy 19

  20. Concurrency  Concurrency: users and applications should be able to access shared data or objects without interference between each other.  Several simultaneous users=> integrity of data  Mutual exclusion  Synchronization  Replicated data: consistency of information?  Update  Failure  Clock  User interface  Partitioned data: how to determine the state of the system?  Order of messages?  There is no global clock! 20

  21. Heterogeneity  Heterogeneity of  Networks ‘  Computer hardware  Operating systems  Programming language  Implementation of different developers  Portability, interoperability  Mobile code, adaptability (applets, agents)  Middleware  Degree of transparency? Latency? Location based services? 21

  22. Openness  An open distributed system “… offers services according to standard rules that describe the syntax and semantics of those services. ” In other words, the interfaces to the system are clearly specified and freely available .  Compare to network protocols  Not proprietary  Interface Definition/Description Languages (IDL): used to describe the interfaces between software components, usually in a distributed system  Definitions are language & machine independent  Support communication between systems using different OS/programming languages; e.g. a C++ program running on Windows communicates with a Java program running on UNIX  Communication is usually RPC-based. 22

  23. Examples of IDLs  IDL: Interface Description Language  The original  WSDL: Web Services Description Language  Provides machine-readable descriptions of the services  OMG IDL: used for RPC in CORBA  OMG – Object Management Group  … 23

  24. Open systems support …  Interoperability : the ability of two different systems or applications to work together  A process that needs a service should be able to talk to any process that provides the service.  Multiple implementations of the same service may be provided, as long as the interface is maintained  Portability : an application designed to run on one distributed system can run on another system which implements the same interface.  Extensibility : Easy to add new components, features 24

  25. Scalability(1)  The system will remain effective when there is a significant increase in:  Number of resources  Number of users  The architecture and the implementation must allow it  The algorithms must be efficient under the circumstances to be expected  Example: the internet 25

  26. Scalability (2)  Controlling the cost of physical resources  Controlling performance loss  Preventing software resources running out  Avoiding performance bottlenecks  Mechanisms (implement functions)& Policies (how to use the mechanisms)  Scaling solutions  Asynchronous communication, decreased messaging  Caching (all sorts of hierarchical memories: data is closer to the user => no wait/ assumes rather stable data!)  Distribution i.e. partitioning of tasks or information (domains) (e.g., DNS) 26

  27. Security  Security: confidentiality, integrity, availability  Vulnerable components  Channels (links <-> end-to-end paths)  Eavesdropping, Denial of service  Tampering, replying, masquerading  Processes (clients, services, outsiders)  Server: client ’ s identity, client ’ s server identity  Unauthorized access (insecure access model)  Unauthorized information flow (insecure flow model)  Threats  Information leakage  Integrity violation  Denial of service  Illegitimate usage 27

Recommend


More recommend