Week 1 Flashcards

1
Q

What is a distributed system?

A

A distributed system is a collection of entities, each of which is autonomous, programmable, asynchronous and failure-prone, and which communicate through an unreliable communication medium

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

what is the idea behind a distributed system?

A

Present a single-system image so the distributed system “looks like” a single computer rather then a collection of separate computers.
- Hide internal organization
- Provide a uniform interface

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the Pro’s of a distributed system?

A

Easy expandable: adding new computers is hidden from the user
Availability: failure in one component can be covered by other components

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is middleware ?

A

The middleware is a software layer that is between the application and operating systems.
It allows independent computers to work together closely.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are some advantages of middleware?

A

Hides the intricacies of distributed applications
Hides the heterogeneity of hardware, os and protocols
Provides a uniform and high level interfaces used to make an interoperable, reusable and portable application
Provides a set of common services that minimizes duplication of efforts and enhances collaboration between application

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What does a middleware do?

A

They provide protocols that allow a program running on one kind of computer, using one kind of operating system, to call a program running on another computer with a different operating system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the four goals of a distributed system?

A

Resource Accessibility
Transparency
Openness
Scalability

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is resource accessibility?

A

Resource sharing introduces security problems

Support user access to remote resources (printers, data files, web pages, cpu cycles) and the fair sharing of resources

Performance enhancement - due to multiple processors

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is Transparency?

A

A distributed system that appears to its users & applications to be a single computer system is said to be transparent

Users & apps should be able to access remote resources in the same way they access local resources.
Transparency has several dimensions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is Openness?

A

An open dist sys is one that is able to interact with other open dis systems even if the underlying environments are different. This is accomplished via:

Well defined interfaces
Should be able to support application portability
Systems should be able to interoperate

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is scalability?

A

2 dimensions to scale:
1) With size
2) Geographical distribution

A scalable sys still performs well as it scales along any of the two dimensions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the advantages of Openness?

A
  • Interoperability: The ability of two different systems or applications to work together:
    1) A process that needs a service should be able to talk to any process that provides that service
    2) Multiple implementations of the same service may be provided, as long as the interface is maintained.
  • Portability: an application designed to run on one dis sys can run on another dist sys which implements the same interface
    Extensibility: easy to add new components, features.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is Caching?

A

Idea: Normally creates a replica of something closer to the user

Replication is often more permanent

User decides to cache, server system decides to replicate

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Why is Caching good?

A

lol

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What are some cons of Caching?

A
  • Having multiple copies leads to inconsistencies: modifying one copy makes that copy different to the rest
  • Always keeping copies consistent requires global synchronization on each modification.

Global synchronization precludes large-scale solutions

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What Impacts scalability?

A

Scalability is negatively affected when the system is based on:
- Centralized server: one for all users
- Centralized data: a single database for all users
- Centralized algorithms: one site collects all information, processes it, distributes the results to all sites:

17
Q

What is decentralization?

A
  • NO machine has complete information about the system state
  • Machines make decisions based only on local information
  • Failure of a single machine doesn’t ruin the algorithm
18
Q

How can we achieve Decentralization?

A

A dist sys must avoid centralising:

  • Components(e.g., avoid having a single server)
  • Tables( avoid having a single centralised directory of names)
  • Algorithms( avoid algorithms based on complete information)
19
Q

What are the three main types of distributed systems?

A

Distributed Computing Systems:
- Clusters
- Grids
- Clouds

20
Q

What are Clusters?

A

A collection of similar processors running the same operating system, connected by fast LAN.

Parallel computing capabilities using inexpensive PC hardware.

EG: High Performance Clusters (HPC)
- CERN
- Run large parallel programs
Scientific, military, weather modelling

21
Q

What are Grids?

A

Grid computing is the use of widely distributed computer resources to reach a common goal.

Similar to clusters but processors are more loosely coupled, tend to be heterogeneous (hardware, software, networks, security polices) and are not all in a central location.

Can handle workloads similar to those on supercomputers, but grid computers, connect over a network and supercomputers CPU’s connect to high speed internal networ

22
Q

What is Cloud Computing?

A

Cloud computing is a type of internet-based computing where an application doesn’t access the resources directly, rather it makes a huge resource pool through shared resources. It is modern computing paradigm based on network technology that is specially designed for remotely provisioning scalable and measured IT resources.

23
Q

How is cloud computing different from Grid computing?

A

Cloud is:
- Commercial
- Single domain
- Simple user to provider model, pay per use
- Provides a scalable standard environment for network-centric application development, testing and deployment.