0% found this document useful (0 votes)
57 views47 pages

Chapter 1

Uploaded by

habtamu molla
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
57 views47 pages

Chapter 1

Uploaded by

habtamu molla
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 47

Debark University

Department of Information Technology


Course Title: Introduction to Distributed System
Course Code: ITec3102
BY:
Habtamu Molla
[email protected]

Debark, Ethiopia

1 11/13/2024
Chapter one
Introduction to Distributed Systems

2 11/13/2024
Contents
 Definition of Distributed System
 Goals of Distributed Systems
 Types of Distributed Systems

3 11/13/2024
Definition of Distributed System
 A distributed system is collection of independent computers that appears to its
users as a single coherent system.
 Distributed systems are often organized by means of a layer of software.
 It is logically placed between a higher-level layer consisting of users and
applications, and a layer under is consisting of operating system and basic
communication facilities, as shown in Fig 1.
 Accordingly, such a distributed system is sometimes called middleware.
 Middleware is software that usually referred as the OS of distributed systems
Example middleware service
 Remote Procedure Call (RPC) : allows an application to invoke a function
that is implemented and executed on a remote computer as if it was locally
available.

4 11/13/2024
Definition of Distributed System …

 Figure shows four networked computers and three applications, of which B is distributed
across computers 2 and 3. Each application is offered the same interface.
 The distributed system provides the means for components of a single distributed
application to communicate with each other but also to let different applications
communicate.
 At the same time, it hides, as best and reasonable as possible, the differences in
hardware and operating systems from each application.

5 11/13/2024
Example of Distributed System …
 Examples: Automatic Banking (Teller Machine) Systems

6 11/13/2024
Example of Distributed System …
 Examples: Network of Workstations

7 11/13/2024
Example of Distributed System …
 Examples: Others

8 11/13/2024
Related Concepts: Parallel Systems

9 11/13/2024
Related Concepts: Centralized System

10 11/13/2024
Advantage and Disadvantage of Distributed Systems

11 11/13/2024
Goals of Distributed Systems
There are 4 goals that should be met to make building a distributed system
worth the effort.
 Resource Accessibility: Easy to access and share resource
 Distribution Transparency: Hide the fact that resources are distributed
across the network
 Openness: The system should offer services according to standard rules
that describe their syntax and semantics
 Extensible: easy to add / replace components
 Scalability: Size scalable, geographically scalable, administratively
scalable

12 11/13/2024
Resource sharing/accessibility
 An important goal of distributed system is to make it easy for users(and
applications) to access and share remote resources.
 Resources can be virtually anything
 Typical examples, storage facilities, data, files, services, and networks
 Benefits
 Economic: It is cheaper to have a single high-end reliable storage facility
be shared than having to buy and maintain storage for each user separately.
 Encourage collaboration and exchange of information
 allowed geographically dispersed people work together by means of
groupware software such as
 Collaborative editing, teleconferencing, and so on
 Bit Torrent – allows users to share files across the Internet
 Challenges of resource sharing is Security
 E.g. email spam, DOS attacks
13 11/13/2024
Distribution Transparency
 DS hide the fact that its processes and resources are physically
distributed across multiple computers
 DS that is able to present itself to users and applications as if it
were only a single computer system is said to be transparent
 That is, invisible, to end users and applications.
 The concept of transparency can be applied to several aspects of a
distributed system.
 The most important ones are shown on the next slide.

14 11/13/2024
Types of Transparency in a Distributed System

15 11/13/2024
Openness
 An open distributed system is essentially a system that offers components that
can easily be used by, or integrated into other systems.
 It often consists of component that originate from somewhere as well
 How?
 Components obey to standard rules that describe the syntax and semantics
of what services those components have to offer
 Define services through Interfaces using interface definition
language(IDL)
 It captures only the syntax of services like function name, parameter,
return type etc
 Semantics (what those services do) specified in natural language

16 11/13/2024
Openness
 By openness we want to achieve
 Interoperability
 Implementations from different manufacturers can work together by just
relying on the standard rules
 Portability
 Applications from one distributed system can be executed on another
distributed system that implements the same interface
 Extensibility
 Easy to add or replaces components in the system
 Flexibility
 Easy to modify/customize the system/component to a specific need
 Flexibility is achieved by separating policy from mechanism

17 11/13/2024
Scalability
 Scalability is the ability of a system, network, or process to handle a growing
amount of work in a capable manner(with no significant loss of performance)
 Measured in three dimensions
 Size scalable
 Can easily add more users or resources to the system
 Geographically scalable
 Can easily handle users and resources that may lie far apart
 Administratively scalable
 Can easily managed even if it spans many independent administrative
organizations
 Observation
 Most systems account only for size scalability
 Often solved by : multiple powerful servers operating independently in
parallel
18 11/13/2024
Scalability: Scaling Techniques
1. Hiding Communication Latencies
 To achieve geographical scalability
 Asynchronous communication
 Shipping Code

2. Distribution
 Distribution involves taking a component, splitting it into smaller parts, and
subsequently spreading those parts across the system.
 An excellent example of distribution is the Internet Domain Name System (DNS). The
DNS name space is hierarchically organized into a tree of domains, which are divided
into nonoverlapping zones.
3. Replication
 scalability problems often appear in the form of performance degradation, it is generally
a good idea to actually replicate components across a distributed system. Replication not
only increases availability, but also helps to balance the load between components
leading to better performance.
 Caching: Special forming of replication
19 11/13/2024
Types of Distributed Systems
 Three types of distributed systems
 High performance distributed computing systems
 Distributed information systems
 Distributed systems for pervasive computing

20 11/13/2024
Distributed Computing Systems
 Used for high performance computing tasks
 Types of distributed computing systems
 Cluster computing systems
 Grid computing systems
 Cloud computing systems

21 11/13/2024
Cluster Computing Systems
 In virtually all cases, cluster computing is used for parallel programming in
which a single (compute intensive) program is run in parallel on multiple
machines.
 A typical cluster system consists of a collection of compute nodes that are
controlled and accessed by means of a single master node.
 Nodes are connected through a LAN.
 Nodes are essentially homogeneous (Same OS, near-identical hardware )
 The master node typically handles
 The allocation of nodes to a particular parallel program,
 Maintains a batch queue of submitted jobs, and
 Provides an interface for the users of the system.

22 11/13/2024
Cluster Computing Systems
 General configuration of Linux-based cluster called Beowulf

 Figure. An example of a cluster computing system.

23 11/13/2024
Grid Computing Systems
 In contrast to cluster computing, grid computing
 Have a high degree of heterogeneity
 Dispersed across several organizations
 Can easily span a wide-area network
 The goal is to bring users and resources from different organizations together to allow
collaboration among them
 Establish Virtual Organization (VO)
 Members belong to the same VO has access to the resources that are provided to
that VO
 Focus of the software design for grid computing
 Providing access to resources from different administrative domain to only those
users that belong to a specific VO
 Typically, resources are
 Compute servers (including supercomputers, cluster computers),
 Storage facilities and Databases.

24
 Networked telescopes, sensors, etc 11/13/2024
Grid Computing Systems
 The issues in grid computing is architectural issue.
 An architecture initially proposed by Foster et al. [2001] is shown
below, which still forms the basis for many grid computing
systems.

25 11/13/2024
Grid Computing Systems
 Fabric layer
 Provides interfaces to local resources at a specific site.
 These interfaces are tailored to allow sharing of resources within a virtual
organization.
 Typically, they will provide functions for querying the state and
capabilities of a resource, along with functions for actual resource
management (e.g., locking resources).
 Connectivity layer
 Consists of communication protocols for supporting grid transactions that
span the usage of multiple resources.
 For example, protocols are needed to transfer data between resources, or to
simply access a resource from a remote location.
 In addition, the connectivity layer will contain security protocols to
authenticate users and resources.

26 11/13/2024
Grid Computing Systems
 Resource layer
 Responsible for managing a single resource.
 It uses the functions provided by the connectivity layer and calls directly
the interfaces made available by the fabric layer.
 Collective layer
 It deals with handling access to multiple resources and typically consists of
services for resource discovery, allocation and scheduling of tasks onto
multiple resources, data replication, and so on.
 Application layer
 Consists of the applications that operate within a virtual organization and
which make use of the grid computing environment.
 Note:
 Typically, the collective, connectivity, and resource layer form the heart of
what could be called a grid middleware layer
27 11/13/2024
Cloud computing
 Provides computing services and resources (hardware and
software) over a network/internet
 Cloud computing is based upon the concept of utility computing
 Customers shall pay only based on a pay-per-use model
 It is characterized by an easily usable and accessible pool
of virtualized resources
 It is scalable as users can get more resources if more work
needs to be done

28 11/13/2024
Cloud computing
 In practice, clouds are organized into four layers
 Hardware – contains resources customers never get to see directly.
 Infrastructure - Employs virtualization techniques to provide customers
virtual storage and computing resources
 Platform – provides API for developing Apps(Kodular for android apps),
Storage
 Application – Actual applications like suite of apps shipped with OSes

29 11/13/2024
Cloud computing
 Cloud-computing providers offer these layers to their customers through various
interfaces
 Command-line, Tools Programming interface and web interface)
 Cloud computing providers offer their services according to three fundamental
models(Three service models)
 Infrastructure as a service (IaaS)
 Covering hardware and infrastructure layer
 Basic infrastructure like storage
 Platform as a service (PaaS)
 Covering the platform layer
 Database, web servers
 Software as a service (SaaS)
 Covering application layer
 Software that the clients need like text processor

30 11/13/2024
Advantages of Cloud Computing
 Trade capital expense for variable expense
 Instead of having to invest heavily in data centers and servers before you know how
you’re going to use them,
 You can pay only when you consume computing resources, and
 Pay only for how much you consume.
 Benefit from massive economies of scale
 By using cloud computing, you can achieve a lower variable cost than you can get on
your own.
 Because usage from hundreds of thousands of customers is aggregated in the cloud,
providers such as AWS can achieve higher economies of scale, which translates into
lower pay as-you-go prices.
 Stop guessing capacity
 Eliminate guessing on your infrastructure capacity needs.
 When you make a capacity decision prior to deploying an application, you often end up
either sitting on expensive idle resources or dealing with limited capacity.
 With cloud computing, these problems go away. You can access as much or as little
capacity as you need, and scale up and down as required with only a few minutes’
31 11/13/2024
notice.
Advantages of Cloud Computing
 Increase speed and agility
 In a cloud computing environment, new IT resources are only a click away, which
means that you reduce the time to make those resources available to your developers
from weeks to just minutes.
 This results in a dramatic increase in agility for the organization, since the cost and time
it takes to experiment and develop is significantly lower.
 Stop spending money running and maintaining data centers
 Focus on projects that differentiate your business, not the infrastructure.
 Cloud computing lets you focus on your own customers, rather than on the heavy lifting
of racking, stacking, and powering servers.
 Go global in minutes
 Easily deploy your application in multiple regions around the world with just a few
clicks.
 This means you can provide lower latency and a better experience for your customers at
minimal cost.

32 11/13/2024
Issues of cloud computing
 Cloud computing is becoming so popular and common
 It allows organizations to outsource their IT infrastructure:
hardware and software
 Certainly a serious alternative to maintaining huge local
infrastructures
 However, it has certain issues to resolve
 Provider lock-in,
 Security and privacy issues, and
 Dependency on the availability of services

33 11/13/2024
Distributed Information Systems
 Enterprises might already have multiple networked information
systems
 One that makes its services available to remote clients.
 Example a University might have Registrar system, HRM
system etc….
 However, integrating applications into enterprise wide
information system was painful
 Middleware is the solution
 Applications can be integrated at different levels
 Database level
 That results in Distributed Transaction Processing
 Application level
34  Enterprise Application Integration (EAI) 11/13/2024
Distributed transaction processing
 Operations on a database are usually carried out in the form of transactions.
 A nested transaction is constructed from a number of sub-transactions
 The sub transactions could run in parallel on different machines to gain
performance

Application integration at database level is


co-ordinated by transaction processing
monitoring (TP Monitor)

35 11/13/2024
Distributed transaction processing
Transaction Processing Monitor (TP monitor)
 TP monitor is a middle ware
 Its main task is to allow application to access multiple
servers/databases
 Clients combine requests for (different) servers; send that off;
collect responses, and present a coherent result to the user.

36 11/13/2024
Distributed transaction processing

37 11/13/2024
Transaction processing System

38 11/13/2024
Enterprise Application Integration
 For applications decoupled from the databases they were built upon, facilities
were needed to integrate applications independent from their databases.
 The Idea here is application’s component can directly communicate with
one another.
 Inter application communication leads to different communication models
 Remote procedure call or Remote Method Invocation
 Requests are sent through local procedure call, packaged as message,
processed and result returned as message from call.
 The disadvantage is that both caller and callee must be up and running
at the time of communication
 Message Oriented Middleware (MOM) (Publish/Subscribe model)
 Messages are sent to logical contact point (published), and forwarded to
subscribed applications

39 11/13/2024
Enterprise Application Integration
 Middleware as a communication facilitator in enterprise application integration.

40 11/13/2024
Distributed Pervasive System
 The distributed systems discussed so far are largely characterized by their
stability: nodes are fixed and have a more or less permanent and high-quality
connection to a network. But
 Pervasive systems as its name suggests, pervasive systems are intended to
naturally merge into our environment.
 The separation between users and system components is much more
indistinct.
 There is often no single dedicated interface, such as a screen/keyboard
combination.
 Uses sensors and actuators
 Examples include smart homes, IoT networks, and pervasive computing
environments that integrate sensors and actuators to deliver intelligent services
and automation.

41 11/13/2024
Distributed Pervasive System

42 11/13/2024
Distributed Pervasive System: Examples

43 11/13/2024
Distributed Pervasive System: Examples

44 11/13/2024
Distributed Pervasive System: Examples

45 11/13/2024
i o n!
te nt
r a t
y o u
s fo r
a nk
Th

46 11/13/2024
Quiz-1(5%)
1. List and define goals of Distributed System?
2. List and define types of Distributed computing System?
3. List and explain the scaling techniques?
4. List and explain the Transaction properties?
5. List and explain the cloud service model?

47 11/13/2024

You might also like