Double Degree in International Computer Engineering and Management of Business and Technology

Distributed Architecture Projects

Description
Type Subject
Tercer - Obligatoria
Semester
First
Course
4
Credits
4.00
Previous Knowledge
Objectives
Contents

1. Distributed systems fundamentals
a. Shared-nothing vs shared-memory architectures
b. The mutual exclusion problem in distributed architectures
i. Peterson algorithm
ii. Lamport´s bakery algorithm
c. Concurrency
i. Optimistic concurrency control
ii. Pessimistic concurrency control
d. Vector clocks
e. Distributed synchronization
i. 2-Phase-Locking
ii. Consensus protocols
f. Fault tolerance and recovery
i. Fault models
1. Byzantine
2. Crash/stop
ii. Recovery policies
1. Leader election
2. K-safety
g. Communication primitives and strategies
i. Message passing & RPCs
ii. Messsage queues
iii. Total order Broadcast
iv. Reliable broadcast
h. Correctness arguments
i. Liveness
ii. Safety
i. Data replication
i. Eager replication
ii. Lazy replication
iii. Primary copy
iv. Update Everywhere
v. Advanced replication protocols
2. Reference models
a. Client-server
b. N-tier architectures
c. Clustered architectures
d. P2P architectures
3. Existing approaches
a. Google File System
b. Amazon DynamoDB
c. Yahoo PNUTS
d. Hadoop
i. HDFS
ii. Map/Reduce

Methodology
Evaluation
Evaluation Criteria
Basic Bibliography
Additional Material