Shared Flashcard Set

Details

Comp2005 - Lecture 1 - Introduction
Alejandro Saucedo - Comp2005 Lecture 1 FlashCard Set
42
Computer Science
Undergraduate 2
05/17/2013

Additional Computer Science Flashcards

 


 

Cards

Term
What is message passing?
Definition
A form of communication used in parallel computing, object-oriented programming and interprocess communication
Term
What are the basic characteristics of Distributed Systems?
Definition
  • Concurrency and Coordination
  • Lack of global clock (Difficult to synchronize clocks)
  • Components can fail independently, leaving other components still running
Term
What is resource sharing?
Definition
A device or piece of information on a computer that can be remotely accessed from another computer
Term
What are some application domains for Distributed Systems?
Definition
  • Finance and eCommerce
  • Information society
  • Healthcare
  • Transport and logistics
  • Science
  • Environment
Term
What are some trends in Distributed Systems?
Definition
  • Pervasive networking
  • Mobile commputing
  • Cloud Computing
Term
What are some characteristics of pervasive networking?
Definition
  • Internet connects many computer networks of different types
  • Devices can be connected at any time and any place
  • Internet protocols used as common means of communication
  • Enables services like WWW, email, etc
  • Intranets
Term
What are some characteristics of Mobile computing
Definition
  • Portable computing devices as part of distributed systems
  • Access to resources while on the move
  • Context-aware computing
Term
What are some characteristics of Cloud Computing?
Definition
  • Share storage and computing power with networked computers
  • Cluster computers provide single integrated storage or high-performace computing
Term
Show a simple code example of file transfer between Client and Server
Definition
[image]
Term
Show an example code of a file transfer between client and server where the client processes the reply asynchronously and the server processes the request concurrently
Definition
[image]
Term
What are some issues that arise in some distributed systems?
Definition
  • Synchronous or Asynchronous?
  • Stateful or stateless?
  • Can survive component failure?
  • How does one application know that anotherone exists or is still running?

 

Term
(Very) basic difference between asynchronous and synchronous?
Definition
  • Asynchronous messages are sent off without any confirmation that they have arrived
  • Synchronous - sender does not proceed until receiver has received
Term
What does it mean for an application to be stateless in a file transfer for example?
Definition
  • Server remembers where the file store is and which request it has outstanding, but doesn't remember previous communications. If it fails and recovers, some requests will be lost
  • Client remembers which files it is waiting for
Term
What does it mean for an application to be stateful in a file transfer for example?
Definition
  • Saves its entire state so that it can be restored in case of event failure
Term
How does an application come to know that another exists or is still running?
Definition
Naming
Term
What are some challenges in distributed systems?
Definition
  • Heterogeneity
  • Openness
  • Security
  • Scalability
  • Failure handling
  • Concurrency
  • Transparency
Term
What are some characteristics of Heterogenity issues in Distributed Systems?
Definition
  • Difference in networks, hardware, operating systems, programming languages, implementations, etc
  • Internet protocols mask difference in networks
  • Middleware provides progarmming abstraction and masks other differences
Term
What are some characteristics of Openness issues in Distributed Systems?
Definition
  • Degree to which new resource-sharing components can be integrated
    • Needs component interfaces to be published
    • Needs uniform comunication mechanism
Term
What are some characteristics of Security issues in Distributed Systems?
Definition
  • Need to ensure confidentiality, integrity and availability of information
  • Denial of service attacks
  • Security of mobile code
Term
What are some characteristics of Sacalability issues in Distributed Systems?
Definition
  • System must remain effective when number of users and resources increases significantly
  • QUantity of resources needed should be O(Number of users)
  • Algorithm performance should scale well with number of users and resources
  • Distributed algorithms should be decentralised to avoid performance bottleneck
Term
What are some characteristics of Failure Handling issues in Distributed Systems?
Definition
  • Partial failures make handling failures difficult
  • Need technique for detecting failures
  • Need technique for masking failures
  • Need technique for recovering from failures
Term
What are some characteristics of Concurrency issues in Distributed Systems?
Definition

Must provide concurrent access to shared resources, while maintaining data consistency 

 

(Needs synchronised accesss to obects representing shared resources)

Term
What are some characteristics of Transparency issues in Distributed Systems?
Definition
  • Separation of components must be hidden from application programmers
    • Access: Local and remote resources accessed using identical operations
    • Location: Resources accessed without knowledge of physical location
    • Concurrency: No interface between concurrent processes
    • Replication: Duplication of resources should not be visible
    • Failure: Allow tasks to be completed in spite of failures of components
    • Mobility: Resources can be moved without affecting operation
    • Performance: Support system reconfiguration to improve performance
    • Scaling: allow system to expand without changing structure or algorithms
Term
What are some key aspects of architectural models of Distributed Systems?
Definition
  • Communicating entities
  • Communication paradigm
  • Roles of specific entities
  • How are entities mapped onto the physical distributed infrastructure
Term
What are the communicating entities in Architectural Models?
Definition
  • Usually processes/threads (if supported by OS)
    • Distributed objects (accessed via interfaces)
    • Distributed Components
    • Web services
Term
What are some types of inter-process communication?
Definition
  • Low level communication
    • Message passing, primitives, socket, multicast
  • Remote invocation
  • Indirect communication
    • Decoupling between senders and receviers, both in time and space
    • Includes one-to-many communication (group communication, publish-subscribe systems) and message queues (point-to-point)
Term
What are some characteristics of Client-server architecture?
Definition
  • Most widely used
  • Clients interact with servers managing resources
  • Servers can also be clients
  • Poor scalability
Term
What are some characteristics of Peer-to-Peer architecture?
Definition
  • Addresses the need to distribute shared resources among a large number of processes, in order to share computing and communication loads
  • All processes play similar roles, no distinction between clients and servers
  • Service provided jointly by the peers
  • Communication pattern depends on application
  • Data is shared between peers (for load distribution) and replicated (for resilence)
Term
What are some characteristics of a multiple server variation architecture?
Definition
  • Several servers implement a service
  • Increases performance/resilence
  • Either distribute service among servers or use replicated copies
Term
What are some characteristics of a Proxy servers and caches variation architecture?
Definition
  • Cache used to store recently used data objects
  • Web proxy servers increase availability and performance by providing a shared cache for client machines at site
Term
What are some characteristics of a Mobile Code variation architecture?
Definition
  • Increased performance as code is run locally (but also potential security threat.

E.g.

  1. A client requests results in the downloading of applet code
  2. Client interacts with applet instead of web server
Term
Show the software and hardware service layers
Definition
[image]
Term
What are some categories of middleware?
Definition
  • Distributed Objects (Java RMI, COBRA)
  • Message queues (GMS, Websphere MQ)
  • Publish-subscribe systems (JMS, COBRA event service)
  • Web services
  • Peer-to-peer
Term
Why do we have an interaction model for Distributed Systems?
Definition
  • Computation occurs within processes
  • Processes interact by message passing, resulting in communication and coordination
  • Need distributed algorithms (process steps include transmission of messages)
  • Absence of global clock and delays in communication affect accuracy of coordination
  • Useful to make explicit assumptions regarding timing, in order to evaluate specific algorithms 
Term
What are some characteristics of the Failure Model for DS
Definition
  • Describes Failures that can be Exhibited by process and communication channels
  • Possible to construct reliable services from unreliable components, based on knowledge of the failure characteristics of process and channels
  • Defines reliable communication
  • Defines correct processes
Term
What are some types of failures in DSs?
Definition
  • Omission failures - Process/Channel fails to perform intended actions
  • Timing Failures: In synchronous systems
  • Arbitrary (Byzantine) failures: Wrong process/channel behaviour
Term
What are omission failures, and when do they come up?
Definition
  • Process/channel fails to perform intended actions
    • e.g. process crashes, use timeouts to detect
    • Communication omission failures: dropping messages due to lack of buffer space or network transmission errors, use message sequence numbers to detect
Term
What are timing failures, and when do they come up?
Definition
  • In synchronous systems
  • Time limits set on process excecution time and message delivery time
Term
What are Arbitrary failures, and when do they come up?
Definition
  • (Byzantine) failures - wrong process/channel behaviour
    • e.g. process steps are ommitted/additional steps taken/combination
    • difficult to detect
    • Arbitrary communication failures: corrupted messages/delivery of non-existing messages/duplicate messages
    • Solutions include checksums/message sequence numbers to detect
Term
What are some examples of masking failures?
Definition
  • Hiding communication ommission failures through protocol that retransmits lost messages
  • Hiding process crashes by replacing a crashed process and restoring its memory
  • Use checksums to convert arbitrary communication failure (corrupted message) to omission
Term
What are some ways of masking failures?
Definition
  • Hiding failures
  • Converting to a more acceptable type of failure
Term
What are some principles of reliable communication?
Definition
  • Every message is eventually delivered
  • Received message is identical to the one sent
  • No message delivered twice
Supporting users have an ad free experience!