CIS 4930.001 and CIS 6930.007:
Basics of Parallel and Distributed Systems
Spring 2011

Professor: Adriana Iamnitchi (Anda)
Class time and location: Mondays 2 - 4:45 pm in ENC 1002

Office Hours: Wednesdays from 10am-12pm and by appointment
Office: ENB 334
Email: anda at cse

TAs: Colin Arnold and Josh Finnis


Announcements:
  • 04/04: Programming assignment with MapReduce due
  • 03/28: Midterm report for the final project due
  • 01/24: First reading assignment posted


syllabus schedule notes
projects

Overview

This course introduces the basics of parallel and distributed computing with an experimental focus on online social network analysis. The analysis of online social networks has been chosen as the target class of applications for applying the knowledge introduced in lectures because of several factors: it is an active research topic in computer science; the scale challenges of very large social networks require parallel computing approaches; and parallelizing graph algorithms is not trivial.

The course is project-oriented. Class time will be spent on a combination of lectures on topics in parallel programming and models, in-class discussions of research papers, mini-lectures on Social Network Analysis (SNA), brainstorming sessions on parallelizing some SNA-relevant algorithms, and interdisciplinary team project meetings.  There are no tests. Final evaluation will be based on class participation (20%), programming projects (40%), and final project and presentation (40%). Lectures, readings and class discussions will introduce the design of parallel programs, performance metrics, distributed systems architectures, time and global state, coordination and agreement, distributed transactions and web services. Programming projects will introduce the practice of parallel and distributed programming with threads, MPI, Google’s MapReduce framework, and Amazon Web Services. The final project will be an interdisciplinary team project that involves graduate students enrolled in the Social Network Analysis course (SYA 6933.904) taught by Professor Skvoretz from the Department of Sociology. 

The course is intended for advanced undergraduate students and graduate students in CSE.

 


Schedule


Week
Topics
Notes Reading
Scribes (S)
Discussion Leaders (LD)
1 (01/10)
Introduction



2 (01/17)
Holiday
3 (01/24)
Parallel Architectures: Flyn Taxonomy
Reasoning about Performance
Top500 highlights [ppt] [pdf]

S: Clayton and Nick [notes]
4 (01/31)
Dependences, Granularity, Locality. Performance metrics.


Implementing and evaluating multithreaded triad census algorithms on the Cray XMT. George Chin, Andres Marquez, Sutanay Choudhury, and Kristyn Maschhoff. In Proceedings of the 2009 IEEE International Symposium on Parallel &Distributed Processing (IPDPS '09) S: Ramanuja and Josh Ki [notes]

DL: Josh Ku and Anda
5 (02/07)
Meeting with the SNA class. Basics of SNAs; basics of parallel computation; reading discussions; final project rules and ideas.
Motivation [ppt]
Final projects [ppt]
Measuring social dynamics in a massive multiplayer online game. HMichael SzellH, HStefan ThurnerH. Social Networks, Vol. 32, No. 4. (October 2010), pp. 313-329.
Optional:
Structure and tie strengths in mobile communication networks. HJ. P. OnnelaH, HJ. SaramäkiH, HJ. HyvönenH, HG. SzabóH, HD. LazerH, HK. KaskiH, HJ. KertészH, HA. L. BarabásiH. Proceedings of the National Academy of Sciences, Vol. 104, No. 18. (1 May 2007), pp. 7332-7336.

6 (02/14)
Basics of MPI . In-class work.
Intro to MPI [ppt]
Get started with circe [pdf]


7 (02/21)
Introduction to distributed systems
Unstructured P2P Systems [ppt]
Botnets definition [ppt]


Robert: [notes]
8 (02/28)
MapReduce and its use.
Could computing overview

BotGraph: Large Scale Spamming Botnet Detection. Yao Zhao, Yinglian Xie, Fang Yu, Qifa Ke, and Yuan Yu, Yan Chen, Eliot Gillum (.mp3 conference presentation), NSDI 2009.

MapReduce: Simplified Data Processing on Large Clusters, Jeffrey Dean and Sanjay Ghemawat, OSDI 2004. [slides]
Nick
9 (03/07)
Hadoop on the USF Reseach Cluster (presentation by Josh Finnis)
Hadoop [ppt]


10 (03/14)
Spring Break

11 (03/21)
Cloud and Grid Computing
[ppt]
Graph Twiddling in a MapReduce World, Jonathan Cohen, Computing in Science and Engineering, July/August 2009 (vol. 11 no. 4, pp. 29-41)
A View of Cloud Computing, Michael Armbrust, Armando Fox, Rean Griffith, Anthony D. Joseph, Randy Katz, Andy Konwinski, Gunho Lee, David Patterson, Ariel Rabkin, Ion Stoica, Matei Zaharia, Communications of the ACM Vol. 53 No. 4, Pages 50-58

12 (03/28)
Distributed Hash Tables
[ppt]


13 (04/04)
Distributed Coordination-based Systems



14 (04/11)
Time to work on final projects (no class)
15 (04/18)




16 (04/25)
Final project presentations.









Final Projects

TBD

top

Adriana Iamnitchi (anda at cse usf edu)