Skip to content

Commit

Permalink
tagged distributed systems notes
Browse files Browse the repository at this point in the history
  • Loading branch information
elimelt committed Feb 12, 2025
1 parent ef14146 commit e238554
Show file tree
Hide file tree
Showing 12 changed files with 78 additions and 2 deletions.
7 changes: 7 additions & 0 deletions distributed-systems/consistency.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
---
title: Distributed Systems Consistency Models
category: other
tags: Consistency Models,Paxos,Linearizability,Sequential Consistency,Snapshot Reads,Causal Consistency,Processor Consistency,Memory Barrier/Fence
description: This document discusses various consistency models used in distributed systems, including Paxos, linearizability, sequential consistency, snapshot reads, causal consistency, processor consistency, and memory barriers. It explains the differences between these models and when to use them.
---

# Consistency

**Consistency**: the allowed semantics of operations that mutate a data store/shared object.
Expand Down
7 changes: 7 additions & 0 deletions distributed-systems/distributed-cache-coherence.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
---
title: Linearizable Caches
category: distributed-systems
tags: Cache Coherence, Consistency Models, Distributed Systems
description: A linearizable cache is a cache that provides strong consistency guarantees for reads and writes. It is a type of cache coherence protocol that ensures all copies of data are consistent with each other, even in the presence of failures or network partitions.
---

# Distributed Cache Coherence

When linearizability is a concern, any duplication of mutable data across multiple nodes must be kept consistent. This is the problem of cache coherence: ensuring that all nodes in a distributed system have the same view of the data.
Expand Down
7 changes: 7 additions & 0 deletions distributed-systems/google-file-system.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
---
title: Google File System (GFS) Overview
category: distributed-systems
tags: Cloud Storage, Distributed Systems, Google Cloud
description: An overview of the Google File System (GFS), a highly scalable and fault-tolerant distributed storage system designed to handle large amounts of data across many commodity hardware nodes.
---

# Google File System (GFS)

[reading](https://static.googleusercontent.com/media/research.google.com/en//archive/gfs-sosp2003.pdf)
Expand Down
7 changes: 7 additions & 0 deletions distributed-systems/load-balancing.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
---
title: Load Balancing
category: distributed-systems
tags: load balancing, distributed systems, paxos, sharding, edge caching, queueing, zipf distribution
description: Explains load balancing strategies and their implications on distributed systems.
---

# Load Balancing

In a load balancing systems, we want the following:
Expand Down
8 changes: 7 additions & 1 deletion distributed-systems/managing-critical-state.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
---
title: Distributed Systems Consistency Models
category: distributed-systems
tags: Consistency Models,Paxos,Linearizability,Sequential Consistency,Snapshot Reads,Causal Consistency,Processor Consistency,Memory Barrier/Fence
description: This document discusses various consistency models used in distributed systems, including Paxos, linearizability, sequential consistency, snapshot reads, causal consistency, processor consistency, and memory barriers. It explains the differences between these models and when to use them.
---
---
title: Distributed Consensus Fundamentals
category: other
category: distributed-systems
tags: Distributed Systems, Consensus Algorithms
description: This document covers the fundamentals of distributed consensus algorithms, including leader election, replicated state machines, reliable datastores, and coordination services.
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Clock Synchronization for Distributed Systems
category: other
category: distributed-systems
tags: Distributed Systems, Clock Synchronization, Physical Clocks
description: This response provides a solution to the problem of clock synchronization in distributed systems using physical clocks. It explains the concept of unpredictable delays and how to synchronize clocks in the forward direction.
---
Expand Down
7 changes: 7 additions & 0 deletions distributed-systems/paxos-architecture.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
---
title: Distributed Architectures with Paxos
category: distributed-systems
tags: paxos, distributed architectures, lease server, bigtable, chubby, zookeeper
description: Explains the use of Paxos in distributed systems and its applications
---

# Distributed Architectures with Paxos

## Overhead of Simple Architectures
Expand Down
7 changes: 7 additions & 0 deletions distributed-systems/paxos-made-simple.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
---
title: Paxos Protocol
category: distributed-systems
tags: Consensus Algorithm, Distributed Systems, Fault-Tolerant Systems
description: A protocol for achieving consensus in distributed systems
---

# Paxos Made Simple

[reading](https://lamport.azurewebsites.net/pubs/paxos-simple.pdf)
Expand Down
7 changes: 7 additions & 0 deletions distributed-systems/primary-backup.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
---
title: Primary Backup
category: distributed-systems
tags: primary backup, distributed systems, consistency, availability, view service, split brain
description: Explains the concept of primary backups in distributed systems, including state machine replication and the view service.
---

# Primary Backup

Consider a highly available stateful service. It is easy to maintain *consistency* within one node, simply by performing operations in some well-defined (**serializable**) order. However, providing both availability **and** consistency is more of a challenge. One must provide a notion of having a single system, even if a server within the system fails.
Expand Down
7 changes: 7 additions & 0 deletions distributed-systems/scaling-web-services.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
---
title: Scaling Web Services with Distributed Architectures
category: distributed-systems
tags: distributed systems, two-tier architecture, load balancing, caching, edge computing, service oriented architecture, microservices
description: Explains how to scale web services using distributed architectures
---

# Scaling Web Services with Distributed Architectures

## Two Tier Architecture
Expand Down
7 changes: 7 additions & 0 deletions distributed-systems/sharding.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
---
title: Sharding
category: distributed-systems
tags: sharding, consistent hashing, indirection tables, load balancing, data distribution
description: Explains the concept of sharding in distributed systems, its approaches and implications.
---

# Sharding

## Consistent Hashing
Expand Down
7 changes: 7 additions & 0 deletions distributed-systems/two-phase-commit.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
---
title: Two Phase Commit
category: distributed-systems
tags: two-phase commit, distributed transactions, atomicity, durability, consistency, isolation, deadlock prevention, distributed systems
description: Explains the concept of two phase commit in distributed systems and its implications.
---

# Two Phase Commit

## ACID
Expand Down

0 comments on commit e238554

Please sign in to comment.