Lab Course: Cloud Data Bases Winter semester 2015/16 Martin Jergler martin.jergler(at)tum.de Department of Computer Science Chair for Application and Middleware Systems (I13) Prof. Dr. H.-A. Jacobsen http://www.i13.in.tum.de/
Outline Overview Organization Project Goals & Expectations Marking Department of Computer Science, Chair for Application & Middleware Systems
Our teachings in WS 2015/16 Lectures Seminars Lab Distributed Systems Middleware & Distributed Systems Energy Informatics Lectures Internet- scale Distributed Systems Hardware acceleration of software systems Energy Informatics Seminars Cloud Data Bases Energy Informatics Lab Department of Computer Science, Chair for Application & Middleware Systems
What‘s this course about … You will look at state-of-the-art NoSQL databases Google’s Big Table [1] Apache Hbase [2] Amazon’s Dynamo [3] Facebook’s Cassandra [4] Yahoo’s PNUTS [5] … and build your own distributed database system Incrementally design, develop, and evaluate your approach 5 Milestones Deliverables: code, report, presentation (demo) Department of Computer Science, Chair for Application & Middleware Systems
Outline Overview Organization Project Goals & Expectations Marking Department of Computer Science, Chair for Application & Middleware Systems
Organization 10 ECTS Credits In English language Open for Bachelor & Master students Communication medium: Moodle Relevant concepts also conveyed in IN2259 – “Distributed Systems” Wednesday 4pm – 7pm Pointers you to the relevant dates on Moodle Department of Computer Science, Chair for Application & Middleware Systems
Organization Groups of 2-3 students We will provide a team formation mechanism: (vmjacobsen2.informatik.tu-muenchen.de) 5 Milestones with code submission deadlines We will provide a submission system (vmjacobsen2.informatik.tu-muenchen.de) Report & presentation at the end of the term Publishable quality (i.e., correct English) ACM proceedings style (6 pages max.) Flawless slides & presentation Department of Computer Science, Chair for Application & Middleware Systems
Important Dates Else: Q/A sessions if questions appear on Moodle. Day Deadline In course 15. 10. 2015 Kick-off, Team formation, Description MS1 22. 10. 2015 MS 1 Description MS2 05. 11. 2015 MS 2 Description MS3 26. 11. 2015 MS 3 Description MS4 07. 01. 2016 MS 4 Description MS5 21. 01. 2016 MS 5 Team presentations (allocation tbd) 28. 01. 2016 Report Else: Q/A sessions if questions appear on Moodle. Department of Computer Science, Chair for Application & Middleware Systems
Outline Overview Organization Project Goals & Expectations Marking Department of Computer Science, Chair for Application & Middleware Systems
MS 1 – Echo Client will be provided Network (Internet) Server Client application logic Server application logic (1) Hello World COM COM (2) Hello World client. log server. log 24.12.2018 Middleware Systems Research Group
MS 2 – Persistent Storage Server/Client Network (Internet) Client application logic Server application logic (1) PUT <foo, bar> (1) GET <foo> COM COM (2)PUT_SUCCESS <foo, bar> (2) GET_SUCCESS <foo, bar> client. log server. log 24.12.2018 Middleware Systems Research Group
MS 3 – Distributed Storage Service Server application logic (000 ... - 1FF ...) COM MS 3 – Distributed Storage Service (1) get <bar> Network (Internet) (2) fooBar Client application logic COM Server application logic (E00 ... - FFF ...) COM (1) get <foo> (1) Put <foo, bar> (2) bar (2) Success<foo, bar> client. log server. InitKVServer() External configuration Service (ECS) COM Server application logic (C00 ... - DFF ...) COM SSH 24.12.2018 Middleware Systems Research Group
MS 4 – Distributed & Replicated Storage Service KVServer (000 ... - 1FF ...) R1 (E00… - FFF ...) R2 (C00… - DFF ...) COM Network (Internet) KVServer (E00 ... - FFF ...) R1 (C00… - DFF ...) R2 (A00… - BFF ...) COM Client application logic COM (rep2 <foo,bar>) REPLICA 2 (1) put <foo, bar> (rep1 <foo,bar>) REPLICA 1 External configuration Service (ECS) COM (2) success <foo, bar> KVServer (C00 ... - DFF ...) R1 (A00… - BFF ...) R2 (800… - 9FF ...) COM 24.12.2018 Middleware Systems Research Group
MS 5 – Implementation of an extension (e.g., consistency) KVServer (000 ... - 1FF ...) R1 (E00… - FFF ...) R2 (C00… - DFF ...) COM Network (Internet) (3) bar KVServer (E00 ... - FFF ...) R1 (C00… - DFF ...) R2 (A00… - BFF ...) COM Client application logic COM (2) get <foo> (rep2 <foo,bar>) REPLICA 2 (rep1 <foo,bar>) REPLICA 1 (1) put <foo, bar> External configuration Service (ECS) COM KVServer (C00 ... - DFF ...) R1 (A00… - BFF ...) R2 (800… - 9FF ...) COM 24.12.2018 Middleware Systems Research Group
Outline Overview Organization Project Goals & Expectations Marking Department of Computer Science, Chair for Application & Middleware Systems
Goals & Expectations Goals Expectations Learn to develop distributed applications Get exposed to the state-of-the-art in current large-scale storage systems Design, implement, and evaluate your own approach (on a smaller scale) Expectations Genuine interest & active participation Bring in your own ideas Deliverables: software, written report, presentation Department of Computer Science, Chair for Application & Middleware Systems
Outline Overview Organization Project Goals & Expectations Marking Department of Computer Science, Chair for Application & Middleware Systems
Marking Report (40%) Code (50%) Software Report Presentation Functionality (as defined) Own ideas, interesting solutions Clean documentation of your code Report Structure of research paper (Approach, Design Decisions, Evaluation) Evaluation: qualitative, i.e., performance plots + explanations Presentation Presentation style (soft skills) Presentation content Presentation (10%) Report (40%) Code (50%) 24.12.2018 Middleware Systems Research Group
Marking rubric for presentation Evaluation scale Outstanding (5), excellent (4), – incomplete (1) Four mark categories Presentation content (5 aspects) 25 points Performance (5 aspects) 25 points Visual aids (5 aspects) 25 points General (5 aspects) 25 points (max 100 points) 24.12.2018 Middleware Systems Research Group
Smooth transitions from issue to issue Integration of the audience Performance: Smooth transitions from issue to issue Integration of the audience Voice and pacing Engagement and enthusiasm Body language, gestures General: Organization of information Ability to answer questions Adherence to time limit Minimum redundancy Slides support talk Visual Aids: Clear, catchy slides, not overloaded Contribution of colors and font Legible (self-made) figures conveying results effectively Vivid examples and animations Overall homogeneity Presentation Content: Simplicity appropriate for audience Problem clearly stated and motivated Background and context of research demonstrated Results easily and clearly described Conclusions to the point, corresponding to problem 24.12.2018 Middleware Systems Research Group
References [1] Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, and Robert E. Gruber. 2008. Bigtable: A Distributed Storage System for Structured Data. ACM Trans. Comput. Syst. 26, 2, Article 4 (June 2008), 26 pages. [Link] [2] Apache Hbase [Link] [3] Giuseppe DeCandia, Deniz Hastorun, Madan Jampani, Gunavardhan Kakulapati, Avinash Lakshman, Alex Pilchin, Swaminathan Sivasubramanian, Peter Vosshall, and Werner Vogels. 2007. Dynamo: amazon's highly available key-value store. In Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles (SOSP '07). ACM, New York, NY, USA, 205-220. [Link] [4] Avinash Lakshman and Prashant Malik. 2010. Cassandra: a decentralized structured storage system. SIGOPS Oper. Syst. Rev. 44, 2 (April 2010), 35-40. [Link] [5] Brian F. Cooper, Raghu Ramakrishnan, Utkarsh Srivastava, Adam Silberstein, Philip Bohannon, Hans-Arno Jacobsen, Nick Puz, Daniel Weaver, and Ramana Yerneni. 2008. PNUTS: Yahoo!'s hosted data serving platform. Proc. VLDB Endow. 1, 2 (August 2008), 1277-1288. [Link] Department of Computer Science, Chair for Application & Middleware Systems
Questions ? Martin Jergler: martin.jergler(at)tum.de Room 01.06.058 Department of Computer Science, Chair for Application & Middleware Systems