Review List and Practice Questionsfor the Final Exam Note: The final exam will be a closed book exam and last for 2 hours. You are not allowed to bring any paper or written material. ------------------------------- Scope The final exam will mainly cover the content taught in the morning lectures. The following is a list of specific concepts/points that you are expected to know: You are expected to ==Introduction to Distributed System Design distributed systems, the reason to build distributed systems, examples of distributed applications Flynn's Taxonomy Parallel vs. Distributed latency bandwidth What are stubs in an RPC implementation? What's the difference between caching and data replication? What are some of the error conditions we need to guard against in a distributed environment that we do not need to worry about in a local programming environment? 8 false assumptions that everyone makes when developing a distributed system. ==Introduction to Parallel Programming and MapReduce Serial vs. Parallel Programming consider one of the methods for approximating pi What is MapReduce? MapReduce Execution Overview explain how to compute "Term-Vector per Host" using MapReduce TPS definition Atomicity, Consistency, Isolation, Durability Two-phase locking ==BackgroundKnowledge Synchronization Primitives soket, port bag of words model inverted index boolean query PageRank Algorithm =Mapreduce Theory Algorithm Functional Programming tf*idf using mapreduce Breath-First Search/SSSP using mapreduce pagerank using mapreduce ==Hadoop Technical Review Job, task TextInputFormat SequenceFileInputFormat shuffle HDFS limitation Hadoop Job Scheduling ==Distributed File Systems Distributed File systems additional overhead canonical path Unix permission bits Access Control Lists Process Permissions The remote access model and the upload/download models Virtual File System close-to-open cache consistency privilege escalation file sharing semantics primary-backup-protocol write through write back cluster-based distributred systems ==Other Google Techniques BigTable Chubby Basic Paxos algorithm Leslie Lamport ------------------------------- General advice on preparing for the final exam The best way to prepare for the final exam is to (1) go over all the lecture slides and make sure that you can follow most of them; (2) try to read as many assigned readings for this part as possible; (3) pay special attention to the topics and important slides listed above; (4) post questions on the group discussion forum if you have any.