Steen Tanebaum Distributed Systems 3E Chapter 1

Ace your homework & exams now with Quizwiz!

Sensor networks

-Pervasive -Generally consists of tens to hundreds or thousands of relatively small nodes each equipped with one or more sensing devices

Mobile computing systems

-Pervasive -Widely varying devices -Wireless -Location changes over time

Middleware Services

-Resource Management -Facilities for interapplication communication -Security Services -Accounting services -Masking of and recovery from failures

Scaling techniques

-Scaling up -Scaling out

Nested Transactions

-The top-level transaction may fork off children that run in parallel with one another, on different machines, to gain performance or simplify programming. -Provide a natural way of distributing a transaction across multiple machines.

Pervasive systems

-intended to naturally blend into our environment -often equipped with sensors that pick up various aspects of user's behavior

Multiprocessor Machines

-multiple CPUs are organized in such a way that they all have access to the same physical memory (shared-memory multiprocessors) -highly convenient for improving the performance of programs -easy to program -not easily scalable

Multicomputer system

-several computers are connected through a network and there is no sharing of main memory -pass messages instead of modifying shared memory -more difficult to program -error prone

Benefits of Distributed Systems

1) Computation speed-up 2) Increased data availability 3) Enhanced reliability

Size scalability

A system in which one can easily add more users and resources to the system without any noticeable loss of performance.

Access Transparency

Hide differences in data representation and how an object is accessed

Unstructured Overlay

Type of Overlay Network where each node has a number of references to randomly selected other nodes.

Types of Distribution Transparency

-Access -Location -Relocation -Migration -Replication -Concurrency -Failure

Publish/subscribe system

-Applications send messages to logical contact points, often described by means of a subject. -Applications indicate their interest for a specific type of message, after which the communication middleware will take care that those messages are delivered to those applications. -AKA Message oriented middleware (MOM)

Message oriented middleware (MOM)

-Applications send messages to logical contact points, often described by means of a subject. -Applications indicate their interest for a specific type of message, after which the communication middleware will take care that those messages are delivered to those applications. -AKA publish/subscribe system

Parallel vs Concurrent processing

-Parallel - more than one processing entity working towards one goal -Concurrent - not necessarily toward a single goal

Ubiquitous computing systems

-Pervasive -Continuously present (eg, user is continuously interacting with the system, often not being aware that interaction is taking place

Scalability dimensions

-Size scalability -Geographical scalability -Administrative scalability

Disadvantages of Distributed Systems

-Software - little software exists compared to PCs -Networking - still slow and can cause other problems (eg when disconnected) -Security - data may be accessed by unauthorized users

Types of pervasive systems

-Ubiquitous computing systems -Mobile computing systems -Sensor networks

Shared memory types

-Uniform memory access - good for small size since network could become a bottleneck -Non-uniform memory access - local memory for each processor. May or may not have unaffiliated memory modules. Can access other processor's memory

High performance distributed computing systems

-cluster computing -grid computing -cloud computing

Types of distributed systems

-high performance distributed computing -distributed information systems

Types of overlay networks

1) Structured overlay 2) Unstructured overlay

Distributed system design goals

1) Support resource sharing 2) Making distribution transparent 3) Being open 4) Being scalable

Core requirements for a ubiquitous computing system

1. (Distribution) Devices are networked, distributed, and accessible in a transparent manner 2. (Interaction) Interaction between users and devices is highly unobtrusive 3. (Context awareness) The system is aware of a user's context in order to optimize interaction 4. (Autonomy) Devices operate autonomously without human intervention and are thus highly self-managed 5. (Intelligence) The system as a whole can handle a wide range of dynamic actions and interactions

Properties Transactions adhere to

A - Atomic C - Consistent I - Isolated D - Durable

Distributed System (Book Definition)

A collection of autonomous computing elements that work together and appears to its users as a single coherent system.

Distributed System (Slide Definition)

A collection of processors that do not share memory or a clock. Each processor has its own local memory and is connected through a communication network.

Parallel Computer

A computer designed for parallel processing

Middleware

A separate layer of software that is logically placed on top of the respective operating systems of the computers that are part of a distributed system.

Geographical scalability

A system in which the users and resources may lie far apart, but the fact that communication delays may be significant is hardly noticed.

Administrative scalabilty

A system that can still be easily managed even if it spans many independent administrative organizations.

Open Distributed System

A system that offers components that can easily be used by, or integrated into other systems.

Remote procedure calls (RPC)

A type of communication middleware where an application component can effectively send a request to another component by doing a local procedure call, which results in the request being packaged as a message and sent to the callee.

Isolated Transaction

Concurrent transactions do not interfere with each other

Remote method invocation (RMI)

Essentially the same as an RPC, except that it operates on objects instead of functions

Scaling out

Expanding a distributed system by deplying more machines -Hiding communication latencies -distribution of work -replication

Replication Transparency

Hide that an object is replicated

Relocation Transparency

Hide that an object may be moved to another location while in use

Concurrency Transparency

Hide that an object may be shared by several independent users

Migration Transparency

Hide that an object may move to another location

Failure Transparency

Hide the failure and recovery of an object

Location Transparency

Hide where an object is located

Distribution Transparency

Hiding the fact that processes and resources are physically distributed across multiple computers possibly separated by large distances.

Scaling up

Improving a distributed system's capacity (eg by increasing memory, upgrading CPUs, or replacing network modules)

Durable Transaction

Once a transaction commits, the changes are permanent

Parallel processing

Several working entities work together toward a common goal. Emphasizes concurrent manipulation of data elements belonging to one or more processes solving a single problem.

Consistent Transaction

The transaction does not violate system invatiants

Atomic Transaction

To the outside world, the transaction happens indivisibly

Structured Overlay

Type of Overlay Network where each node has a well-defined set of neighbors with whom it can communicate. (eg nodes in a tree or ring)

Cloud computing

an easily accessible pool of virtualized resources -Infrastructure as a service -platform as a service -software as a service

Cluster computing

distributed system where the underlying hardware consists of a collection of similar workstations closely connected by means of a high-speed local-area network

Grid computing

distributed systems that are often constructed as a federation of computer systems, where each system may fall under a different administrative domain and may be very different when it comes to hardware, software, and deployed network technology


Related study sets

Reasoning & Decision-making Lecture 6

View Set