Nothing Special   »   [go: up one dir, main page]

Cs 422 - Distributed Computing: Why Should We Be Interested?

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

CS 422 – DISTRIBUTED COMPUTING

@ https://myclass.myvirtuallearning.org

Why should we be interested?


• Huge amounts of computing are now distributed...
• A few years ago, Intel threw its hands up in the air: couldn’t
increase GHz much more without CPU temperatures reaching
solar levels
• Moore’s Law
• As a result, we have Multi-core and GPUs.
• Home desktop computers has become a parallel/distributed
system. In a decade, it may have 128 cores.
• That thing called the Internet…
• Users can sync their calendar with google, which they can access
on their desktop using a browser
• Most things are distributed, and more each day
Why do we need distributed systems?
• Geographically distributed environment
• Speed
• Resource sharing
• Fault tolerance

Examples of distributed systems /


applications of distributed computing
• Intranets, Internet, WWW, email.
• Telecommunication networks: Telephone networks and Cellular networks.
• Network of branch office computers -Information system to handle
automatic processing of orders,
• Real-time process control: Aircraft control systems,
• Electronic banking,
• Airline reservation systems,
• Sensor networks,
• Mobile and Pervasive Computing systems.
Distributed Computing
In their book “Distributed Systems”, Maarten van Steen and Andrew S.
Tanenbaum defined Distributed Systems as

“a collection of autonomous computing elements that appears


to its users as a single coherent system”

According to ionos.com

“The term distributed computing describes a digital


infrastructure in which a network of computers solves pending
computational tasks. Despite being physically separated, these
autonomous computers work together closely in a process
where the work is divvied up”
A blog at www.ridge.co explains

“A distributed system is a collection of multiple physically


separated servers and data storage that reside in different
systems worldwide. These components can collaborate,
communicate, and work together to achieve the same
objective, giving an illusion of being a single, unified system
with powerful computing capabilities.”

The definitions present two characteristics..


1. Collection of computing elements
• They could be hardware device or a software process
• Sometimes referred to as a node
• Nodes can be members of a group
• Open group
• Closed group
The definitions present two characteristics..
2. Single coherent system
• The thought that users are dealing with one single system
• Nodes operates the same, no matter
• where, when, and how interaction between a user and the
system takes place.
• Bringing us to the interpretation that these nodes need to
collaborate and communicate

Design Goals
• Support resource sharing
• Storage facilities, peripherals, data, files, networks, services
• Transparent distribution
Transparency Description
Access Hide differences in data representation and how an object is accessed
Location Hide where an object is located
Relocation Hide that an object may be moved to another location while in use
Migration Hide that an object may move to another location
Replication Hide that an object is replicated
Concurrency Hide that an object may be shared by several independent users
Failure Hide the failure and recovery of an object
Design Goals
• Being open
• Interoperability
• Different file system by different OS
• The role of interfaces
• Composability
• Extensibility
• Example. Caching of browsers
Storage Where is data to be cached? Typically, there will be an in-memory cache next to storage on disk.
Exemption When the cache fills up, which data is to be removed so that newly fetched pages can be stored?
Sharing Does each browser make use of a private cache, or is a cache to be shared among browsers of
different users?
Refreshing When does a browser check if cached data is still up-to-date?

Design Goals
• Being scalable
1. Size scalability
• A familiar scenario
• A service is implemented on a single machine can provide bottlenecks
• Computational capacity
• Storage capacity and I/O transfer rate
• Network between user and provider
2. Geographical scalability
3. Administrative scalability
Fallacies of Distributed Computing
• The network is reliable
• Latency is zero
• Bandwidth is infinite
• The network is secure
• Topology doesn’t change
• There is one administrator
• Transport cost is zero
• The network is homogeneous

You might also like