Presented by :
Muhammad Assad
Waseem
7452
7451
Introduction
Motivation
Goal
Characteristics
Example of Applications
Advantages and Disadvantages
Issues and Challenges
Conclusion
Introduction
Definition
A
distributed system consists of multiple
autonomous computers that communicate
through a computer network.
Distributed computing utilizes a network of
many computers, each accomplishing a portion
of an overall task, to achieve a computational
result much more quickly than with a single
computer.
Distributed computing is any computing that
involves multiple computers remote from each
other that each have a role in a computation
problem or information processing.
Introduction
A distributed system is one in which hardware or
software components located at networked
computers communicate and coordinate their
actions only by message passing.
In the term distributed computing, the word
distributed means spread out across
space. Thus, distributed computing is an activity
performed on a spatially distributed system.
These networked computers may be in the same
room, same campus, same country, or in
different continents
Introduction
Agent
Agent
Cooperation
Agent
Cooperation
Distribution
Distribution
Cooperation
Distribution
Internet
Internet
Subscription
Agent
Distribution
Job Request
Resource
Management
Large-scale
Application
Motivation
Inherently distributed applications
Performance/cost
Resource sharing
Flexibility and extensibility
Availability and fault tolerance
Scalability
Network connectivity is increasing.
Combination of cheap processors often more costeffective than one expensive fast system.
Potential increase of reliability.
Goal
Making Resources Accessible
Data
sharing and device sharing
Distribution Transparency
Access,
location, migration, relocation, replication,
concurrency, failure
Communication
Make
human-to-human comm. easier. E.g.. :
electronic mail
Flexibility
Spread
the work load over the available machines in
the most cost effective way
To coordinate the use of shared resources
To solve large computational problem
Characteristics
Resource Sharing
Openness
Concurrency
Scalability
Fault Tolerance
Transparency
Architecture
Client-server
3-tier architecture
N-tier architecture
loose coupling, ortight coupling
Peer-to-peer
Space based
Application
Examples of commercial application :
Database
Management System
Distributed computing using mobile agents
Local intranet
Internet (World Wide Web)
JAVA Remote Method Invocation (RMI)
Distributed Computing Using Mobile Agents
Mobile agents can be wandering around in a network using
free resources for their own computations.
Local Intranet
A portion of Internet that is separately administered &
supports internal sharing of resources (file/storage systems
and printers) is called local intranet.
Internet
The Internet is a global system of interconnected computer
networks that use the standardized Internet Protocol Suite (TCP/IP).
JAVA RMI
Embedded in language Java:Object variant of remote procedure call
Adds naming compared with RPC (Remote Procedure Call)
Restricted to Java environments
RMI Architecture
Science
Life Sciences
Cryptography
Internet
Financial
Mathematics
Language
Art
Puzzles/Games
Miscellaneous
Distributed Human Project
Collaborative Knowledge Bases
Charity
Internet Gomez Distributed PEER Client
(peerReview)
Evaluatethe
performance of large websites to
find bottlenecks.
Life Sciences - Compute Against
Cancer(CAC)
Create
immediate impact in the lives of cancer
patients and their families today, while at the
same time empowering the research that will
result in improved therapies and perhaps even
the cure.
Collaborative Knowledge Bases Wikipedia
A
collaborative project to produce a complete
a free encyclopedia from scratch.
The encyclopedia is available in manynonEnglish languages.
Distributed Human Projects- Open Mind Indoor
Common Sense
Helpteach
indoor mobile robots to be
smarter. It will create a repository of
knowledge which will enable people to
create more intelligent mobile robots for
use in home and office environments.
Advantages
Economics:
Speed:
Some applications are inherently distributed. E.g., an ATMbanking application.
Reliability:
A distributed system may have more total computing power than
a mainframe.
Inherent distribution of applications:
Computers harnessed together give a better price/performance
ratio than mainframes.
If one machine crashes, the system as a whole can still survive if
you have multiple server machines and multiple storage devices
(redundancy).
Extensibility and Incremental Growth:
Possible to gradually scale up (in terms of processing power and
functionality) by adding more sources (both hardware and
software). This can be done without disruption to the rest of the
system.
Disadvantages
Complexity :
Network problem:
Lack of experience in designing, and implementing a
distributed system. E.g. which platform (hardware and
OS) to use, which language to use etc.
If the network underlying a distributed system saturates
or goes down, then the distributed system will be
effectively disabled thus negating most of the
advantages of the distributed system.
Security:
Security is a major hazard since easy access to data
means easy access to secret data as well.
Issues and Challenges
Heterogeneity of components : variety or differences that apply to computer
hardware, network, OS, programming language and
implementations by different developers.
All differences in representation must be deal with if
to do message exchange.
Example : different call for exchange message in UNIX
different from Windows.
Openness: System can be extended and re-implemented in
various ways.
Cannot be achieved unless the specification and
documentation are made available to software
developer.
The most challenge to designer is to tackle the
complexity of distributed system; design by different
people.
Issues and Challenges cont
Transparency: Aim
: make certain aspects of distribution are
invisible to the application programmer ; focus
on design of their particular application.
They not concern the locations and details of
how it operate, either replicated or migrated.
Failures can be presented to application
programmers in the form of exceptions must be
handled.
Issues and Challenges cont
Transparency: This
concept can be summarize as shown in this
Figure:
Issues and Challenges cont
Security: Security
for information resources in distributed
system have 3 components :
a. Confidentiality : protection against disclosure to
unauthorized individuals.
b. Integrity : protection against alteration/corruption
c. Availability : protection against interference with the
means to access the resources.
The
challenge is to send sensitive information
over Internet in a secure manner and to identify
a remote user or other agent correctly.
Issues and Challenges cont..
Scalability : Distributed
computing operates at many
different scales, ranging from small Intranet to
Internet.
A system is scalable if there is significant
increase in the number of resources and users.
The challenges is :
a. controlling the cost of physical resources.
b. controlling the performance loss.
c. preventing software resource running out.
d. avoiding performance bottlenecks.
Issues and Challenges cont
Failure Handling : Failures
in a distributed system are partial some
components fail while others can function.
Thats why handling the failures are difficult
a. Detecting failures : to manage the presence of failures
cannot be detected but may be suspected.
b. Masking failures : hiding failure not guaranteed in the
worst case.
Concurrency : Where
applications/services process concurrency,
it will effect a conflict in operations with one
another and produce inconsistence results.
Each resource must be designed to be safe in a
concurrent environment.
Conclusion
The concept of distributed computing is the most
efficient way to achieve the optimization.
Distributed computing is anywhere : intranet,
Internet or mobile ubiquitous computing (laptop,
PDAs, pagers, smart watches, hi-fi systems)
It deals with hardware and software systems, that
contain more than one processing / storage and
run in concurrently.
Main motivation factor is resource sharing; such as
files , printers, web pages or database records.
Grid computing and cloud computing are form of
distributed computing.