You are on page 1of 19

Semester Ganjil 2018/2019 , Fakultas Teknologi Industri, Jurusan Teknik Informatika.

Introduction to Distributed Computing


Interoperability IFA-307 (Lec-2)

Lisa Kristiana S.T., M.T., Ph.D

Institut Teknologi Nasional, Fakultas Teknologi Industri


Jurusan Teknik Informatika,
Program Sarjana Informatika
lisa@itenas.ac.id
Course Description
This course covers general introductory concepts
in the design and implementation of distributed
systems, covering all the major branches such as
Cloud Computing, Grid Computing, Cluster
Computing, Supercomputing, and Many-core
Computing.
Definition of a Distributed System
• A distributed system is a collection of
independent computers that appears to its
users as a single coherent system.... or ...as a
single system.
Example of Distributed Systems
• Internets
• Intranets
• Mobile and ubiquitous computing
• Bit Torrent
Internets
• net of nets: global access to “everybody”,
(data, service, other actor; open ended)
• communication types
– interrogation, announcement, stream
– data, audio, video
• enormous size (open ended)
• no single authority

https://pinncomp.com/it-solutions/it-networking-infrastructure/
Intranets
• a single authority
• protected access: a
firewall or total
isolation
• may be worldwide
• typical services:
– infrastructure services:
file service, name service
– application services
Internet or Intranet?

https://www.quora.com
Mobile and ubiquitous computing
• Portable devices
– laptops
– handheld devices
– wearable devices
– devices embedded in appliances
• Mobile computing
• Location-aware computing
• Ubiquitous computing, pervasive
computing
• Example : Mobile Ad Hoc – https://www.slideshare.net/OMAN1991/ubiquit
Networks and Resource Sharing ous-computing-54512589

and the Web


Mobile Ad-hoc Network
Resource Sharing and the Web
• Hardware resources (reduce
costs)
• Data resources (shared usage
of information)
• Service resources
– search engines
– computer-supported
cooperative working
• Service vs. server (node or
process )
Distributed Application
• one single “system”
• one or several autonomous
subsystems
• a collection of processors =>
parallel processing => increased
performance, reliability, fault
tolerance
• partitioned or replicated data =>
increased performance,
reliability, fault tolerance
• Dependable systems, grid
systems, enterprise systems
https://www.safaribooksonline.com/library/view/managing-using/0596002114/ch08s01s02.html
History of distributed systems (1)
• RPC by Birel &Nelson -84
• network operating systems, distributed operating systems,
distributed computing environments in mid-1990; middleware
referred to relational databases
• Distributed operating systems – ”single computer”
• Distributed process management
– process lifecycle, inter-process communication, RPC, messaging
• Distributed resource management
– resource reservation and locking, deadlock detection
• Distributed services
– distributed file systems, distributed memory, hierarchical global naming
History of distributed systems (2)
• late 1990’s distribution middleware well-known
– generic, with distributed services
– supports standard transport protocols and provides
standard API
– available for multiple hardware, protocol stacks,
operating systems
– e.g., DCE, COM, CORBA
• present middlewares for
– multimedia, realtime computing, telecom
– ecommerce, adaptive / ubiquitous systems
Key Characteristic of Distributed Systems

• Resource Sharing
• Openness
• Concurrency
• Scalability
• Reliability
• Transparence
Challenges in Developing Distributed Systems

• Unreliable Network
• Insecure Network
• Finite Bandwidth
• Heterogeneous Network
• Frequently Network/Topology Changes
• Transport Cost
• Multiple Administrations
• Latency
Goals of Distributed Systems
• Resources are accessible
• Distribution transparency
• Openness
• Scalability
• Security
• System design requirements
Challenges for Making Resources Accessible

• Naming
• Access control
• Security
• Availability
• Performance
• Mutual exclusion of users, fairness
• Consistency in some cases
Model for Resource sharing
• Client-server resource model
– Server processes act as resource managers, and
offer services (collection of procedures)
– Client processes send requests to servers
• Object-based resource model
– Any entity in a process is modeled as an object
with a message based interface that provides
access to its operations
– Any shared resource is modeled as an object
Question?

You might also like