Course: Cloud Computing and Storage

Project Details

Project Lead
Andy Li 
Project Manager
Min Li 
Project Members
Min Li, Ze Yu, Aniruddha Shastri, Alok Nikhil, Michael Mulet, Sumeet Pande, Preethu Thomas, Saumitra Aditya, Manish Sapkota, Farhaan Fowze, Taru Doodi, Ahmad Salman Saqib, Vamshi Kandula, Fujun Liu, Ying Zhang, Fuyong Xing, Niket Goel, Allen starke, Umar Majeed, Ankit Sirmorya, divya chaganti, Mohammed Abdul Khadeer, Manipal Reddy Bujala, Goutam Pingali, sanath pasumarthy, David Ojika, Saili Sahasrabuddhe, Yun Zhu, Jiade Li, Shantanu Kande, Rahul Prabhu, Sanil Sinai Borkar, Jiajun Han, Sile Hu, Srikrishna Jagarlapudi, Vikram Menon, Rahul Pandita, Chang Guo, Mingyang Liu, Prachi Mittal  
Institution
University of Florida, Department of Electrical and Computer Engineering  
Discipline
Electrical and Related Engineering (106) 
Subdiscipline
14.09 Computer Engineering 

Abstract

Syllabus

Instructor:

Dr. Xiaolin (Andy) Li
Office: 433 NEB
Office Hours: TR 2pm-3pm
Email: andyli-at-ece (suffix .ufl.edu)
Web: http://www.andyli.ece.ufl.edu/

Teaching Assistants:

Mr. Min Li
Office: 406 NEB
Office Hours: MW 2pm-3pm
Email: minli-at-ufl (suffix .edu)

Mr. Ze Yu
Office: 406 NEB
Office Hours: MW 3pm-4pm
Email: zeyu-at-ufl (suffix .edu)

Class Meeting Time and Place:

Time: T 3pm-3:50pm, 4:05pm-4:55pm; R 4:05pm-4:55pm
Place: 211 MAEB

Course Objective and Description:

Using large-scale computing systems to solve data-intensive realworld problems has become indispensable for many scientific and engineering disciplines. This course provides a broad introduction to the fundamentals in cloud computing and storage, focusing on system architecture, programming models, algorithmic design, and application development. Selected scientific applications will be used as case studies. 

Prerequisite: introduction to programming or data structures and algorithms (EEL4834 or equivalent), and Principles of Computer System Design (EEL-5934  or equivalent) or computer architecture (EEL5764 or equivalent), proficiency in Java, or instructor approval. 

Textbook: 

  • Hadoop: The Definitive Guide (3rd Edition), Tom White, O'Reilly Media, 2012.

Other References: 

  • Many recent papers in leading conferences/journals will be discussed.
  • Data-Intensive Text Processing with MapReduce, Jimmy Lin and Chris Dyer, 2010. (PDF version available online)
  • Engineering Software as a Service: An Agile Approach Using Cloud Computing, Armando Fox and David Patterson, Strawberry Canyon, 2013.
  • Programming in Scala: A Comprehensive Step-by-Step Guide, Martin Odersky, Lex Spoon, and Bill Venners, 2nd Edition, 2011.
  • The Way To Go: A Thorough Introduction To The Go Programming Language, Ivo Balbaert, iUniverse, 2012.
  • Programming Amazon EC2, Jurg van Vliet and Flavia Paganelli, O'Reilly Media, 2011.
  • Programming Google App Engine, Dan Sanderson, O'Reilly, 2012.
  • Distributed and Cloud Computing: From Parallel Processing to the Internet of Things by Kai Hwang, Jack Dongarra & Geoffrey C. Fox, Morgan Kaufmann, 2011.
  • The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines, Luiz Andre Barros and Urs Hoelzle, Morgan and Claypool Publishers, 2009.
  • The Grid: Blueprint for a New Computing Infrastructure (2nd Edition), Ian Foster, Carl Kesselman, Morgan Kaufmann/Elsevier, 2004.
  • The Fourth Paradigm: Data-Intensive Scientific Discovery, Tony Hey, Stewart Tansley, and Kristine Tolle, Microsoft Research, 2009. (PDF version available online)

Course Homepage:

    http://www.andyli.ece.ufl.edu/teaching/cloud

Course Outline (tentative):

  1. Introduction and Overview
  2. Programming Paradigms
  3. Introduction to Hadoop, YARN, Spark
  4. MapReduce Runtime Management
  5. Algorithm Design and Implementation in MapReduce 
  6. Consistency and Coordination
  7. NoSQL and NewSQL
  8. Enhancements to MapReduce
  9. Distributed File Systems
  10. Case Study

Grading Policies:

  • Class participation and contribution (bonus): 5%
  • Homework assignments, reading summary, and paper presentation: 50%
    • Programming assignments (30%)
    • Reading Summaries (10%)
    • Paper Presentation (10%)
  • Course Project: 50%
    • Proposal (10%)
    • Midterm Presentation (10%)
    • Final Presentation and Demo (15%)
    • Final Report (15%)

Intellectual Merit

Project-oriented way to teach basic principles in cloud computing and hands-on experiences in real-world cloud environments.

Broader Impacts

This course covers fundamental principles in cloud computing and practical skills in the cutting-edge cloud technologies. Over 50 graduate students would benefit from this course. The past courses have prepared numerous students to the top IT companies and faculty jobs, e.g., dozens of alumni to Amazon, Google, Intel, Microsoft every year.

Scale of Use

We have about 50 graduate students, forming 10-14 teams. For the first three assignments