Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Fundamentals Ds

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 38

 A distributed system is a software system

in which components located on


networked
computers communicate and coordinate
their actions by passing messages.
 The components interact with each other
in order to achieve a common goal.
Distributed system
principle
 A distributed system consists of a
collection of autonomous computers,
connected through a network and
distribution middleware,
 which enables computers to coordinate
their activities and to share the
resources of the system, so that users
perceive the system as a single,
integrated computing facility.
Characteristics of a centralised
system.
 One component with non-autonomous
parts.
 Component shared by users all the time.
 All resources accessible.
 Software runs in a single process.
 Single Point of control.
 Single Point of failure.
Distributed System
Characteristics.
 Multiple autonomous components
 Components are not shared by all users
 Resources may not be accessible
 Software runs in concurrent processes on
different processors
 Multiple Points of control
 Multiple Points of failure
Examples of distributed
systems.
 telecommunication networks:
 telephone networks and cellular networks,
 computer networks such as the Internet,
 wireless sensor networks.
 distributed databases and distributed
database management systems.
 distributed information processing systems
such as banking systems and airline
reservation systems;
Design Goals.
 Resource Sharing
 Openness
 Concurrency
 Scalability
 Fault Tolerance
 Transparency
Resource Sharing.
 Ability to use any hardware, software or data
anywhere in the system.
 Resource manager controls access, provides
naming scheme and controls concurrency.
 Resource sharing model (e.g. client/server or
object-based) describing how.
Openess
 Openness is concerned with extensions and
improvements of distributed systems.
 Detailed interfaces of components need to
be published.
 New components have to be integrated with
existing components.
 Differences in data representation of
interface types on different processors (of
different vendors) have to be resolved.
Concurrency
 Components in distributed systems are
executed in concurrent processes.
 Integrity of the system may be violated if
concurrent updates are not coordinated.
o Lost updates
o Inconsistent analysis
Scalability
 Adaption of distributed systems to
• accommodate more users
• respond faster (this is the hard one)
 Usually done by adding more and/or
faster processors.
 Components should not need to be
changed when scale of a system
increases.
 Design components to be scalable.
Fault Tolerance.
 Hardware, software and networks fail!
 Distributed systems must maintain
availability even at low levels of
hardware/software/network reliability.
 Fault tolerance is achieved by
• recovery
• redundancy
Transparency.
 Distributed systems should be perceived by
users and application programmers as a
whole rather than as a collection of
cooperating components.
 Transparency has different dimensions that
were identified by ANSA.
 These represent various properties that
distributed systems should have.
Types of Transparency
 Access Transparency.
 Enables local and remote information
objects to be accessed using identical
operations.
 Example: File system operations in NFS.
Navigation in the Web, SQL Queries.
Location Transparency.
 Enables information objects to be
accessed without knowledge of their
location.
 Example.
File system operations in NFS
Pages in the Web
Tables in distributed databases
Concurrency Transparency
 Enables several processes to operate
concurrently using shared information
objects without interference between
them.
 Example:
 Automatic teller machine network
 Database management system
Replication Transparency
 Enables multiple instances of information
objects to be used to increase reliability and
performance without knowledge of the
replicas by users or application programs.
 Example:
 Distributed DBMS
 Mirroring Web Pages.
Failure Transparency
 Enables the concealment of faults
 Allows users and applications to complete
their tasks despite the failure of other
components.
 Example:
 Database Management System
Migration Transparency
 Allows the movement of information
objects within a system without affecting
the operations of users or application
programs.
 Examples.
 Web pages.
Performance Transparency.
 Allows the system to be reconfigured to
improve performance as loads vary.
Scaling Transparency
 Allows the system and applications to
expand in scale without change to the
system structure or the application
algorithms.
Being open
 Another important goal of distributed systems
is openness.
 An open distributed system is essentially a
system that offers components that can easily
be used by, or integrated into other systems.
 At the same time, an open distributed system
itself will often consist of components that
originate from elsewhere this include,
Interoperability, composability, and
extensibility.
Being scalable.
 Ability to add more nodes to a distributed
system.
 Scalability can be of three dimensions.
 Size scalability.
 Geographic scalability.
 Administrative scalability.
Being scalable.
 Size scalability.
 system can be scalable with respect to its size,
meaning that we can easily add more users and
resources to the system without any noticeable loss
of performance.
 Geographic scalability.
 A geographically scalable system is one in which
the users and resources may lie far apart, but the
fact that communication delays may be significant
is hardly noticed.
Being scalable.
 Administrative scalability:
 An administratively scalable system is
one that
can still be easily managed even if it
spans many independent administrative
organizations.
Pitfalls of a Dos.
 Distributed systems differ from traditional
software because components are dispersed
across a network.
 developing a distributed system is a formidable
task.
 there are so many issues to consider at the same
time that it seems that only complexity can
be the result. This include.
 The network is reliable
 The network is secure
 The network is homogeneous
 The topology does not change
 Latency is zero
 Bandwidth is infinite
 Transport cost is zero
 There is one administrator
Types of Distributed
Systems.
 High performance Distributed computing.
 Distributed information systems.
 Pervasive systems.
Advantages of Distributed
Systems
 Improved Performance:
 Parallel processing, in which tasks are
split up and carried out simultaneously by
several nodes, is possible with distributed
systems. Comparatively to a single,
centralised system, this results in quicker
execution times and better performance.
 Load Balancing:
 Load balancing strategies can be used in
distributed systems to divide the
workload among nodes in a fair manner.
 As a result, resources are used to their
full potential and performance is
enhanced.
 Data Replication and Data Locality:
 Replication of data across several nodes
is a common technique used in
distributed systems.
 This raises data availability and lowers
the possibility of data loss or non-
availability as a result of node failures.
 Redundancy and Disaster Recovery:
 Redundancy and disaster recovery
capabilities can be offered by distributed
systems.
 The system is better able to recover from
errors or disasters when data and tasks
are replicated.
 Flexibility and Modularity:
 Distributed systems allow for freedom in
design and modularity. It is possible to
build the system up of microservices or
loosely linked components, which makes
it simpler to create, deploy, and manage.
 Geographic Distribution and
Reduced Latency:
 Data and services can be placed closer to
end consumers because of distributed
systems' ability to span several different
geographic regions.
 The system can lower latency and speed
up reaction times by putting nodes in
various areas.
 Resource sharing:
 istributed systems allow multiple users
and programmers to share resources.
Computing resources, such as processing
power, memory, and storage, can be
efficiently utilized and shared across the
system, resulting in resource allocation
optimization.
 Flexibility and extensibility:
 Distributed systems allow for the addition
or removal of nodes without affecting the
overall system.
 Increased data availability:
 Distributed systems can replicate and
spread data across numerous nodes,
boosting data availability and
accessibility.
 Collaboration and coordination:
 Multiple people or entities can collaborate
and coordinate using distributed systems.
 They serve as a platform for sharing
resources, communicating, and
synchronizing tasks, facilitating effective
teamwork.
 Enhanced security:
 Distributed systems provide increased
security capabilities by utilizing
distributed security techniques.
 Increased reliability:
 Distributed systems are less prone to full
failures or data loss when data is
duplicated across numerous nodes.
Disadvantages
 Increased communication overhead:
 Higher latency:
 Increased development and
maintenance complexity:
 Network dependency:
 Cost and complexity of
infrastructure:
 Consistency and data integrity
 Dependency on network stability:
 Complexity of failure handling:

You might also like