chapter 1 Flashcards
what is a distributed system?
is a piece of software that ensures a collection of independent computers appear as a single coherent system to users.
what are the 2 aspects of a DS?
- independent computers
- middleware ; allows systems to communicate and manage data
what are the goals of a distributed system?
- resource sharing
- transparency
- openness
- scalability
what is relocation transparency?
DS hides possible object mov’t to a different location while in use
what is access transparency?
DS hides data representation & invocation mechanisms
list the types of distribution transparency.
- access
- location
- relocation
- migration
- concurrency
- replication - obj replication
- failure
what do we mean by openness of a DS?
a systems ability to interact with services provided by a different system no matter the underlying environment.
what should a system do to be considered open?
- conform to well defined interfaces
- support application portability
- easily interoperate
DS should be _______________ to achieve openness?
independent from heterogeneous underlying environments [ platform, hardware & languages ]
what policies need to be supported to implement openness?
- level of consistency for client-cached data
- level of secrecy during communication
- QoS to follow when there’s a difference in bandwidth
- operations allowed to be performed
what policies need to be supported to implement openness?
- level of consistency for client-cached data
- level of secrecy during communication
- QoS to follow when there’s a difference in bandwidth
- operations allowed to be performed
what is scalability
the ability to handle increased workload without adding new resources
what are the 3 components of scalability?
- size scalability: number of users
- geographic scalability: distance between nodes
- administrative scalability: number of admin domains
what are the techniques for scaling?
- hiding communication latencies
- distribution
- replication / caching
what scaling technique makes use of asynchronous communication?
hiding communication latencies
what is the problem when using hiding latencies scaling technique?
there are applications that can not make use of asynchronous communication
how does distribution, from scaling techniques work?
it splits data into smaller parts and spreads them across the system.
give examples of systems that use distribution techniques.
- DNS: decentralized naming service
- Java applets
- WWW
how does replication / caching work?
by making copies of data available on different machines
give examples of caching & replication
- web & file caching
- mirrored websites & replicated servers
what scaling technique leads to inconsistencies?
caching / replication
what are the drawbacks of caching / replication?
- multiple copies lead to inconsistencies
- requires global synchronization
- global synchronization makes large-scale solutions impossible
tolerating inconsistencies is application independent.
False
many distributed systems are needlessly complex.
True
what are the false assumptions associated with DSs.
- reliable network
- secure network
- homogenous network
- 0 latency
- 0 transport cost
- 1 admin
- infinite bandwidth
- unchanging topology
list types of DSs.
- distributed pervasive system
- distributed information system
- distributed computing system
distribute PIC
many distributed systems are configured for ____________?
hight performance computing
what are the 2 subgroups of distributed computing systems?
- cluster computing
- grid computing
explain cluster computing.
refers to a group of homogeneous computers [ hardware and OS ] connected through a LAN and each managed by a single node
what is grid computing?
is a heterogeneous federation of computers where every computer may have a different hardware, software and network organization.
which subgroup of computing DS can easily span a wide area network?
grid computing
how does cluster computing handle tasks?
each node works on similar tasks, by dedicating to them as a single unit
how does grid computing handle tasks?
each task is divided into independent subtasks which are assigned to d/t machines.
what is cloud computing?
refers to storing and accessing data on remote servers hosted on the internet
what is cloud computing?
refers to storing and accessing data on remote servers hosted on the internet
what are the distinct layers in cloud computing?
- hardware
- application
- platform
- infrastructure
what does the platform layer of cloud computing perform?
provides higher level abstraction for storage
what does the hardware layer of cloud computing perform?
provides cooling systems, processors, routers …
what does the application layer of cloud computing perform?
provides actual apps [ text processor, spreadsheet ]
what does the infrastructure layer of cloud computing perform?
allocation and management of virtual storage
the vast amount of distributed system in use today are originally ____________ ?
traditional info systems that now integrate legacy systems
the vast amount of distributed system in use today are originally ____________ ?
traditional info systems that now integrate legacy systems
what is an example of a distributed info system?
transaction processing system
what operation does a transaction processing system perform?
- begin_transaction
- end_transaction
- abort _ transaction
- read
- write
which transaction operation tries to commit new values after terminating?
end_transaction
which transaction operation tries to restore old values after terminating?
abort_transaction
define a transaction.
a transaction is a collection of operations performed on an object that satisfies ACID properties.
mebeten ACID.
- atomicity
- consistency
- isolation
- durability
what do we mean by atomicity property?
- all operations either succeed or fail. if a transaction fails, state of the object will be restored
what do we mean by the consistency property?
- invariants that held true before transaction, will hold true after. but may be violated in intermediate stages.
- example - money in bank
what do we mean by the isolation property?
- concurrent transaction do not interfere with each other. they appear to run sequentially.
what do we mean by the durability property?
after a transaction commits its effects are permanent.
how is data in transaction handled?
distributed across servers as sub transaction with the Nested Transaction as a parent
what is a ( transaction processing ) TP monitor?
is a program that manages the execution of a transaction from 1 stage to the next
what is the problem with a TP monitor?
- it doesn’t allow applications to communicate directly with each other since it doesn’t separate applications from their databases.
how do applications exchange information in the case of TP monitors?
- by means of request / reply behavior
what is communication middleware?
is a software that allows inter application communication, there by overcoming the drawbacks of TP monitors.
give examples of communication middleware.
- remote procedure call
- remote method invocation
- message oriented middleware
what is an RPC?
- is an interprocess technique that allows applications to communicate with each other by doing local procedure calls.
what is an RMI?
- is basically the same as RPC but operates on objects instead of applications
what is the drawback with RPC and RMI?
- caller and callee both need to be running
- caller and callee need to know hoe to refer to each other
what is MOM?
provides mechanisms for applications to asynchronously exchange messages using message queue software
what is a distributed pervasive system?
is the emerging next-generation of distributed systems characterized by being small, mobile, battery powered and embedded in larger systems.
what are the requirements for a distributed pervasive system [ DPS ]?
- contextual changes
- ad hoc composition
- default sharing
what is meant by contextual change in DPS?
- a device must be aware to changes in it’s environment.
- eg : a network may be lost because user is moving, in this case the device should automatically connect to another network
what is meant by Ad hoc composition in DPS?
- d/t devices [ nodes ] in a pervasive system may be used d/tly by d/t users and hence REQUIRE ease of configuration.
what is meant by default sharing in DPS?
- nodes join a system to provide / access information, hence requires simple configuration
give examples of a DPS?
- home network [ pc, tv ]
- personal electronics that monitor a person [ motion sensor watch ]