RAFT

Notes

Fault Tolerant VMs

Notes While reading a paper, also pay attention to the authors and why they encountered this problem. While replicating, there are 2 options for replication: Sending the input to the replicas Sending the changes to the replicas More often than not, sending the input is more performant and easier to do. VMware hypervisor is a binary translation hypervisor(Another hypervisor type is TRAP) Incase of this paper, not every single state(of the VM) is replicated, but only some key states are recorded and replayed(as the performance tradeoff is too much)....

RPC, Couroutines

TIL htop C100k problem Timer interrupt(A periodic interrupt that allows the OS to stop the current thread’s execution and schedule a different thread) Coroutine Notes 1-thread and n-thread: Advantages 1 Thread n Threads Memory/Performance Fairness in scheduling No locking Easier to understand and write the code Disadvantages 1 Thread n Threads Stack Ripping Locking Debugging hard Hard on performance Fibre vs Coroutine vs Async: Fibre/Coroutines have their own stacks(benefits like stack trace/shared variables)....

GFS

File systems that already existed during GFS - GPFS/Lustre/AFS Why GFS was built instead of using existing ones? GPFS and Lustre are paid systems(could be the main reason) Specialized workflows Most common solutions to problems that come up: Batching Pipelining Separation of control and data flow Consistency Weakly consistent Mitigates consistency maintenance to its applications Takeaway: Satisfying the need is the main goal and to have that industries try to create simple system designs....

MapReduce

TIL: POSIX Reason for MapReduce(Why use a distributed system?) Lots of data(1 PetaByte), machines had 160 GB storage so can’t process in one machine I/O speed is very low(performance) Fault tolerance(Tolerate machine and disk failures) Application programmers don’t need to work on systems and making sure their job is running in a distributed fashion Workflow Input Map Reduce Result key, value K1 <v1, v1`, v1`` > K1 R(v1, v1`, …) K2, v2 K3, v3 Examples Word Count Sort Reverse Links(Used for page ranking) Input - key: URL, value: HTML Map - (<target1, src1>, <target2, src2>,…....