You are on page 1of 4

Lahore University of Management Sciences CS 382 Network-Centric Computing

Spring & 2014

Instructor Room No. Office Hours Email Telephone Secretary/TA TA Office Hours Course URL (if any)

Muhammad Fareed Zaffar 9-119A

2:00 3:00 p.m. Wednesday, Friday


fareed.zaffar@lums.edu.pk 8193 Ishtiaq A Bhatti

Course Basics Credit Hours Lecture(s) Recitation/Lab (per week) Tutorial (per week) Course Distribution Core Elective Open for Student Category Close for Student Category COURSE DESCRIPTION

3 Nbr of Lec(s) Per Week Nbr of Lec(s) Per Week Nbr of Lec(s) Per Week

2 1

Duration Duration Duration

75 Minutes 85 minutes

The main goal of this course is to provide an early introduction to core concepts in computer networks and distributed system and to understand emerging technologies in the net-centric computing area and assess their current capabilities, limitations, and near-term potential. An important goal of the course is to provide hands-on experience with substantial programming assignments. 1. 2. We will be covering a broad range of topics in order to understand the basic issues, concepts, principles, and mechanisms in networks and distributed systems We will focus on issues encountered in building Internet and web systems: topics includes network applications, protocols and standards, scalability, interoperability (of data and code), atomicity and consistency models, replication, and location of resources, services, and data. What is the "cloud"? How do we build software systems and components that scale to millions of users and petabytes of data, and are "always available"? In the modern Internet, virtually all large Web services run on top of multiple geographically distributed data centers: Google, Yahoo, Facebook, iTunes, Amazon, eBay, Bing, etc. Services must scale across thousands of machines, tolerate faults, and support thousands of concurrent requests. This course, aimed at a sophomore with exposure to basic programming within the context of a single machine, the later half of the course will focus on the issues and programming models related to such cloud and distributed data processing technologies: data partitioning, storage schemes, and parallel algorithms.

3. 4. 5. 6.

The format will be two 1hour 15 min lectures per week, plus assigned readings. There will be regular homework assignments, plus a midterm and a final exam.

Lahore University of Management Sciences


COURSE PREREQUISITE(S) CS 200 (Introduction to Programming)

COURSE OBJECTIVES

Learning Outcomes Grading Breakup and Policy Assignment(s): Home Work: Quiz(s): Class Participation: Attendance: Midterm Examination: Project: Final Examination: Comprehensive final exam Late assignments will have a 25% deduction per day 30% 10% 5% 25% 30%

1.

Assignments to be done in groups a. One submission per group b. Be sure to understand what you submit c. Discussion is allowed, copying isnt You are encouraged to discuss your homework assignments with your classmates; however, any code you submit must be your own work. You may not share code with others or copy code from outside sources, except where the assignment specifically allows it. Plagiarism can have serious consequences.

2.

3.

Failure to comply will result in an automatic F in the course along with appropriate disciplinary action

Examination Detail Yes/No: Combine Separate: Duration: Preferred Date: Exam Specifications: YES Combine 2.5 hours

Midterm Exam

Lahore University of Management Sciences


Final Exam Yes/No: Combine Separate: Duration: Exam Specifications: Yes Combine 3 hours

COURSE OVERVIEW Week/ Lecture/ Module

Topics

Recommended Readings

Objectives/ Application

1 2 3 4 5 6 7 8 9 10

Introduction Networking

Naming and discovery

Server Architectures

11 Decentralized systems 12 Documents and Ranking 13 14 15 16 17 18 19 20 Midterm Concurrency Consistency, Replication Fault Tolerance Fault Tolerance Scalability

Course overview Application layer I Application Layer II Transport Layer I Transport Layer II Network layer Naming and directories; search strategies LDAP; DNS; DNSSEC Common server types: Web, application Architectures: client/server, P2P, multitier Threads, monitors, signals, producerconsumer Thread pools, event-driven programming Partly and fully decentralized systems Key-based routing Partitioning and consistent hashing BitTorrent, Chord, Pastry Information retrieval models Web connectivity Ranking Web crawlers HITS and PageRank In-class exam Consistency models; CAP theorem Synchronization; locking Deadlock and livelock; solutions Cash recovery and logging Two phased commit Replicated state machine Consensus Byzantine fault tolerance Kinds of clouds; cloud applications Datacenters; utility computing Web vs. cloud vs. cluster Introduction to Amazon Web Services EC2 Key-value stores; concurrency control S3, SimpleDB

The Cloud

Lahore University of Management Sciences


21 22 23 24 25 Cloud case studies Programming at scale MapReduce Programming in MapReduce Hadoop 26 27 28 29 1. 2. 3. 4. Basics: Data types, drivers, mappers, reducers HDFS; dataflow in Hadoop Fault tolerance in Hadoop Distributed File systems? Accountability Security Network forensics Salesforce.com; Netflix Google Apps Data Warehousing at Facebook Parallel architectures Challenges: Latency, failures, scalability, ... Core concepts Programming model Examples of MapReduce algorithms

Special topics Final exam

Textbook(s)/Supplementary Readings

Computer Networking: A Top-Down Approach 5th Edition Distributed Systems: Concepts and Design, Fifth Edition George Coulouris,Jean Dollimore Hadoop: The Definitive Guide, Second Edition by Tom White (O'Reilly) Additional materials will be provided as handouts or in the form of light technical papers. Other references to be provided as we proceed

You might also like