Advanced Topics in Data Intensive Computing

Fall 2018

General Course Information:

Instructor: Lakshmish Ramaswamy (laks[AT]cs[dot]uga[dot]edu, 706-542-2737)
 
Time and Venue: Wednesdays - 11:15 AM to 12:05 PM (Harman Hall 102) ; Tuesdays & Thursdays - 11:00 PM to 12:15 PM (Hardman Hall 102)
 
Office Hours: Tuesdays & Thursdays - 12:15 PM to 1:15 PM (tentative).

Course Description:

Modern computing applications require storage, management and processing of petabytes of data. The data is not only extremely diverse – ranging from unstructured text and relational tables to complex graphs, but it is also dynamic. This course focuses on developing scalable architectures, algorithms and techniques for supporting various data intensive applications. The students will develop a deep understanding of the issues involved in storing and querying large amounts of various kinds of structured, unstructured and dynamic data.  The students will also obtain hands on experience in developing data intensive systems and applications by working with frameworks such as Hadoop, Spark and TensorFlow.

Grading Policy (Tentative)

Course Materials (Tentative -- Will be modified during the course of the semester)

A. Introduction to Data Intensive Computing
  1.  C. Lynch, "Big Data: How do Your Data Grow?", Nature 455, 28-29, September 2008.
  2. A. Jacobs, "The Pathologies of Big Data", Communications of the ACM Vol. 52, No. 8, August 2009.
  3. F. Frankel and R. Reid, "Big Data: Distilling Meaning from Data", Nature 455, 30, September 2008.
  4. R. E. Bryant, R. H. Katz and E. D. Lozowska "Big-Data Computing: Creating Revolutionary Breakthroughs in Commerce, Science and Society"
  5. T. Heym S. Tansley and K. Tolle (Eds) "The Fourth Paradigm: Data-Intensive Scientific Discovery"
  6. C. Eaton, D. Deroos, T. Deutch, G. Lapis and P. Zikopoulos, "Understanding Big Data: Analytics for Enterprise Class Hadoop and Streaming Data".
  7. M. Chen, S. Mao and Y. Liu, "Big Data: A Survey", Mobile Networks and Applications, Vol. 19, Issue 2, April 2014.
B. Background Materials
  1. Tanenbaum and van Steen, "Distributed Systems: Principles and Paradigms", Second Edition, Prentice Hall Inc.
  2. Kifer Bernstein and Lewis, "Database Systems: An Application Oriented Approach", Second Edition, Addison Wesley Inc.
  3. Introduction to Information Retrieval by Manning, Raghavan, Shütze (Cambridge).
  4. S. Choudhari and U. Dayal, "An Overview of Data Warehousing and OLAP Technology", ACM SIGMOD Record, 1997.
  5. I. Stoica, R. Morris, D. Liben-Nowell, D. Karger, M. Kaashoek, F. Dabek and H. Balakrishnan, Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications, IEEE/ACM Transactions on Networking, 11(1), 2003.
  6. L. Lamport, "Paxos Made Simple", 2001.
  7. D. Mazieres "Paxos Made Practical".
  8. S. Ghemawat et al. "The Google File System", SOSP 2003.
C. Map-Reduce ++
  1. J. Dean and S. Ghemawat, "MapReduce: Simplified Data Processing on Large Clusters", OSDI 2004 -- (Lakshmish)
  2. D. DeWitt and M. Stonebraker, "MapReduce: A Major Step Backwards", The Database Column January 2008 (Lakshmish)
  3. M. Zaharia, A. Konwinski, A. D. Joseph, R. Katz and I. Stoica "Improving MapReduce Performance in Heterogenous Environments", OSDI 2008
  4. H- C. Yang, A. Dasdan, R-L. Hsiao and D. Stott Parker, "Map-Reduce-Merge: Simplified Relational Data Processing on Large Clusters", SIGMOD 2007
  5. R. Chaiken et. al., "SCOPE: Easy and Efficient Parallel Processing of Massive Data Sets", VLDB 2008.
  6. A. Abouzied et al. "HadoopDB: An Architectural Hybrid of MapReduce and DBMS Technologies for Analytical Workloads", VLDB 2008.
  7. A. Pavlo et. al, "A Comparison of Approaches to Large-Scale Data Analysis", SIGMOD 2009
  8. V. K. Vavilapalli, "Apache Hadoop YARN: Yet Another Resource Negotiator", ACM SoCC 2013.
  9. D. Peng and F. Dabek, "Large-Scale Incremental Processing Using Distributed Transactions and Notifications", OSDI 2010.
  10. B. Li et al. "A Platform for Scalable One-Pass Analytics using MapReduce", SIGMOD 2011.
  11. M. Zaharia et al. "Spark: Cluster Computing with Working Sets", HotCloud 2010.
  12. R. S. Xin et al. "Shark: SQL and Rich Analytics at Scale", SIGMOD 2013.
  13. B. Saha et al., "Apache Tez: A Unifying Framework for Modeling and Building Data Processing Applications", SIGMOD 2015.
  14. M. Stonebraker, "Hadoop at a Crossroads?", Communications of the ACM Blog, August 2014 (Lakshmish)
D. Storage, Indexing and Retreival:
  1. F. Chang, et al., BigTable: A Distributed Storage System for Strucutured Data, OSDI 2006.
  2. G. DeCabdia, et al. "Dynamo: Amazon's Highly Available Key-Value Store", SOSP 2007.
  3. A. Silberstein et al. "Efficient Bulk Insertion into a Distributed Ordered Table", SIGMOD 2008.
  4. D. Ford et al. "Availability in Globally Distributed Storage Systems", OSDI 2010.
  5. J. Stribling et al. "Flexible, Wide-Area Storage for Distributed Systems with WheelIFS",
  6. J. Rao et al. "Using Paxos to Build a Scalable, Consistent and Highly Available Data Store", VLDB 2011.
  7. B. Atikoglu et al. "Workload Analysis of a Large-Scale Key-Value Store", SIGMETRICS 2012.
  8. H. Lim et al., "SILT: A Memory-Efficient High-Performance Key-Value Store", SOSP 2011.
  9. R. Ramakrishnan et al. "Azure Data Lake Store: A Hyperscale Distributed File Service for Big Data Analytics", SIGMOD 2017.
E. Big Graphs, RDF Data etc.:
  1. G. Malewicz et. al., "Pregel: A System for Large-Scale Graph Processing", SIGMOD 2010.
  2. B. Shao, H. Wang and Y. Li "The Trinity Graph Engine"
  3. Z. Khayyat, et al. "Mizan: Optimizing Graph Mining Algorithms in Large Parallel Systems", Tech. report, KAUST, 2012
  4. Y. Tian et al. "From 'Think Line a Vertex' to 'Think Like a Graph'", PVLDB Vol. 7, No. 3, 2014.
  5. L. Wang et al., "How to Partition a Billion-Node Graph", ICDE 2014
  6. A. Prat-Perez et al. "High Quality, Scalable and Parallel Community Detection for Large Real Graphs", WWW 2014.
  7. J. E. Gonzalez et al. "PowerGraph: Distributed Graph-Parallel Computation on Natural Graphs", OSDI 2012.
    F. Distributed Machine Learning:
    1. Y. Low et al. "Distributed GraphLab: A Framework for Machine Learning and Data Mining in the Cloud", VLDB 2012.
    2. T. Chilimbi et al. "Project Adam: Building an Efficient and Scalable Deep Learning Training System", OSDI 2014.
    3. M. Li et al. "Scaling Distributed Machine Learning with the Parameter Server", OSDI 2014.
    4. M. Abadi et al. "TensorFlow: A System for Large-Scale Machine Learning", OSDI 2016.
    G. Big Data Applications:
    1. J. Lin and D. Ryaboy, "Scaling Big Data Mining Infrastructure: The Twitter Experience", SIGKDD Explorations, 14(2).
    2. Z. Chen and B. Liu, "Mining Topics in Documents: Standing on the Shoulders of Big Data", SIGKDD 2014.
    3. D. Xie et al. "Simba: Efficient In-Memory Spatial Analytics". SIGMOD 2016.
    4. M. Ota et al. "A Scalable Approach for Data-Driven Taxi Ride-Sharing Simulation", Big Data Conference 2015. 
    5. Z. Zhang et al., "Scientific Computing Meets Big Data Technology: An Astronomy Use Case", Big Data Conference 2015.
    6. S. Goswami et al. "Lazer: Distributed Memory-Efficient Assembly of Large-Scale Genomics", Big Data Conference 2016.
    7. H. Huang et al. "Android Malware Development on Public Malware Scanning Platforms: A Large-Scale Data-Driven Study", Big Data Conference 2016.
    8. Y. Xu et al. "When Remote Sensing Data Meets Ubiquitous Urban Data: Fine Grained Air Quality Inference", Big Data Conference 2016.


    Programming Projects

    Programming Project 1 -- Due date: October 5, 2018.

    Presentation Slides

    Will be available on ELC.

    Miscellanious Materials