Distributed Systems

Cards (37)

  • Presenters
    • Prof. Oyelade Jelili
    • Mr. Henry Ogbu
    • Miss Nathaniel Jemimah
    • Mr. Okuoyo Otavie
  • Outline
    • Distributed Systems
    • Client Server Model
    • Cluster computing systems
    • Grid computing systems
    • Design Issues in OS
  • Distributed System
    A computer system that consists of multiple computers or nodes that are connected through communication networks or links
  • Distributed System
    A Network of computers that can exchange information with each other through Message-passing
  • Distributed System
    Enables computers to coordinate their activities and share the system's resources so that users perceive the system as a single, integrated computing facility
  • Types of Distributed Systems
    • Client/Server Systems
    • Peer-to-Peer Systems
    • Middleware
    • Three-tier
    • N-tier(Multi-tier)
  • Client-server system
    The most basic communication method where the client sends input to the server and the server replies to the client with an output
  • Client
    A computer (Node) capable of receiving information or using a particular service from the service providers (Servers)
  • Servers
    A remote computer that provides information (data) or access to particular services
  • Client-server model
    Partitions tasks or workloads between a resource or service provider, called servers, and service requesters called clients
  • Working Principle of Client-Server Model
    1. Client requests a service
    2. Server performs that service
    3. Server synchronizes and manages access to the resource
    4. Server responds to client requests with either data or status information
    5. Client programs handle user interactions and often request data or initiate some data modification on behalf of a user
  • Advantages of Client-Server Model
    • Centralized system with all data in a single place
    • Cost efficiency requires less maintenance cost and Data recovery is possible
    • The capacity of the Client and Servers can be changed separately
  • Disadvantages of Client-Server Model
    • Clients are prone to viruses, Trojans, and worms if present in the Server or uploaded into the Server
    • Servers are prone to Denial of Service (DOS) attacks
    • Data packets may be spoofed or modified during transmission
    • Phishing or capturing login credentials or other useful information of the user are common and MITM(Man in the Middle) attacks are common
  • Peer-to-Peer System

    A distributed systems where equal nodes, called peers simultaneously act as both client and servers
  • Middleware
    An application that sits between two separate applications and provides service to both
  • Middleware
    Works as a base for different interoperability applications running on different operating systems
  • Three-tier
    An architectural pattern that separates an application into three interconnected tiers: Presentation Layer, Application Layer, and Data Layer
  • Tier 1: Presentation Layer

    Handles user input and output, displays data to user
  • Tier 2: Application Layer

    Processes data and performs calculations, contains the application's business logic
  • Tier 3: Data Layer
    Stores and retrieves data, manages data access and persistence
    1. tier (Multi-tier)

    A software architecture pattern that extends the three-tier architecture by adding additional tiers, each with a specific responsibility
  • Typical N-tier architecture tiers
    • Presentation Layer (User Interface)
    • Application Layer (Business Logic)
    • Business Logic (Domain Logic)
    • Data Access Layer (Data Storage)
    • Data storage layer (Database)
  • Characteristics of Distributed System
    • Resource Sharing
    • Concurrency
    • Scalability
    • Transparency
  • Challenges of Distributed Systems
    • Network latency
    • Distributed coordination
    • Data consistency
  • Distributed Computing System
    Used in performance computation which requires high computing
  • Cluster Computing
    A collection of connected computers that work together as a unit to perform operations together, functioning in a single system
  • Advantages of Cluster Computing
    • High Performance
    • Easy to manage
    • Scalable
    • Expandability
    • Availability
    • Flexibility
    • Cost-effectiveness
    • Distributed applications
  • Disadvantages of Cluster Computing
    • High cost
    • Fault finding problem
    • More space needed
    • Increased infrastructure needed
    • Challenging to provide adequate security
  • Applications of Cluster Computing
    • Web applications functionalities
    • Flexible to allocate small data tasks
    • Solve complex computational problems
    • Weather modeling
    • Earthquake, Nuclear, Simulation, and tornado forecast
  • Grid Computing
    A network of homogenous and heterogenous computer working together over a long distance to perform a task
  • Grid Computing
    Computers in a grid contribute their unused processing resources to grid computing network, each node behaves independently and manages its resources independently
  • Advantages of Grid Computing
    • Can solve bigger and more complex problems in a shorter time frame
    • Easier collaboration with other organizations
    • Better use of existing equipment
    • Existing hardware is used to the fullest
  • Disadvantages of Grid Computing
    • Grid software and standards continue to evolve
    • Getting started learning curve
    • Non-interactive job submission
    • May need a fast connection between computer resources
    • Licensing on many servers can be prohibitive for some applications
  • Applications of Grid Computing
    • Organizations that develop grid standards and practices
    • Works as a middleware solution for connecting different businesses
    • Solution-based solution that can meet computing, data, and network needs
  • There are a few steps to follow to interacts with the servers of a client
  • Efficiency
    Most I/O devices slow compared to main memory (and the CPU), use of multiprogramming allows for some processes to be waiting on I/O while another process executes, often I/O still cannot keep up with processor speed so swapping may used to bring in additional Ready processes, more I/O operations, optimise I/O efficiency especially Disk & Network I/O
  • The quest for generality/uniformity
    Ideally, handle all I/O devices in the same way; Both in the OS and in user applications, problem is diversity of I/O devices, especially different access methods and vastly different data rates, generality often compromises efficiency, hide most of the details of device I/O in lower-level routines so that processes and upper levels see devices in general terms such as read, write, open, close, lock, unlock