1 - Intro Flashcards
Define a distributed system
A collection of independent computers that appear as a single coherent system
Multiple processors that do not share memory but cooperate using messages
What are the 4 design goals of distributed computing?
- Resource Sharing
- Open and modular
- Transparency
- Scalability
Resource sharing benefits
Saves money
Enables communication and collaboration
Open/Modular is easy to…
Easy to:
- Use
- Extend
- Combine with others
- Integrate into other systems
Is open/modular monolithic?
No, as that would imply one block.
Define transparency in the context of computing
Removing obstacles to easier understanding
The 7 types of transparency
Access
Location
Migration
Relocation
Replication
Concurrency
Failure
Define Access transparency
Hide differences in representation and how it is accessed
What separates Location, Migration and Relocation transparency?
Location: Hide where it is located
Migration: Hide that a resource may move
Relocation: Hide that a resource may move WHILE IN USE`
The 3 types of scalability are:
By Size
Geographical
Administrative
Define scalability by size
More users/resources without noticeable performance loss
Define geographical scaling
Distributed over various regions but communication delays hardly noticeable
Define administrative scaling
Manageable over different domains/organisations
Decentralised Systems: What level of information does each machine have?
No machine has complete info and each decides based on local info
Decentralised Systems: Fault Tolerant?
Yes. Failure of one machine does not ruin the algorithm
Decentralised Systems: Global CLock?
THere is no implicit assumption that a global clock exists
What systems aren’t good with synchronous communication? What is sync Comms bound by?
Not good for large systems
Speed of communication is bound by speed of light
3 scaling techniques (not scaling types)
Distribution
Caching
Replication
What are potential false assumptions made when developing distributed systems?
- Network is reliable, secure & homogeneous
- Topology is unchanging
- Zero latency
- Infinite bandwidth
- Zero transport cost
- Only one admin
Time models
Asynchronous (unknown process speed, unknown comms speed)
Synchronous (Assumed equal process speed, communication step fixed time)
Define Security Model
Designing a system to be secured against one or more threats
Types of distributed systems
Computing - Cluster, grid and cloud
Information - Transaction based systems, enterprise app integration
Pervasive - Body area networks, sensor networks
Cluster Computer
PCs with a high speed network
Used for parallel programming
Leader distributes tasks to nodes
Grid Computing: Definition
Grid companies form virtual orgs that share resources
Grid Computing: Advantages
Easy access
Improved sharing and utilisation of resources
Grid Computing: Problems
Heterogeneity of hardware, management, security strategies
Grid Computing: Layers
Fabric
Connectivity
Resource
Collective
Applications
Cloud Computing: Advantages
Easy access
IT Outsourcing
Cloud Computing: Disadvantages
Latency, bandwidth, security.
Trust in provider is required
TPS: Define a transaction
Sequence of operations that are treated as a unit
TPS: ACID Properties
Atomic
Consistent
Isolated
Durable
ACID: Atomic
Indivisible. All operations executed or none
ACID: Consistent
Does not violate system invariants and goes to another valid state
ACID: Isolated
Concurrent transactions do not interfere with each other
ACID: Durable
Changes are permanent
TPS: What does a Transaction Processing Monitor do?
Ensures that all independent requests have been made successfully before replying to the client
What is a sensor network?
Used to monitor an environment, such as machines in a factory