Networked Systems Architecture
Computer Science FELK30
University of Split
Spring 2011
Instructor: Milan Vojnovic
Teaching assistant: Toni Perkovic
Overview
The objective of this course is to cover basic principles that underlie the
design of modern networked systems with an emphasis on the basic ideas of the
underlying architectural design and algorithmic elements. The course covers the
foundations of TCP/IP networking, peer-to-peer networks, data centre systems,
and some aspects of online services.
The course requires no specific prerequisites.
The work for the course will consist of studying material presented through
lectures, a series of laboratory exercises complementing the lectures, and a
seminar that consists of studying a research paper. The laboratory exercises
will provide hands on experience with network administration tools and using
state of the art computing cluster systems.
Course Outline
(1) TCP/IP Network Foundations
- Routing at the data link layer, internal IP routing,
external IP routing
- All shortest paths using Bellman-Ford and Dijkstra
- Transport control protocol: TCP and UDP
(2) Peer-to-Peer Networks
Lecture notes: P2P Systems
- Structured and unstructured overlay networks, key
look-up service, distributed hash table
- Decentralized search in unstructured networks
- File dissemination strategies
- Survey Papers
- Unstructured Approaches
- I. Clarke, O. Sandberg,
B. Wiley, T. Hong. Freenet: A Distributed Anonymous Information Storage
and Retrieval System. International Workshop on Design Issues in
Anonymity and Unobservability, 2000.
- A. Goel, H. Zhang, and R. Govindan. Using
the Small-World Model to Improve Freenet Performance. IEEE Infocom,
2002.
- Structured Approaches
- C. Greg Plaxton,
Rajmohan Rajaraman, Andrea W. Richa. Accessing
Nearby Copies of Replicated Objects in a Distributed Environment. ACM
SPAA 1997.
- S. Ratnasamy, P.
Francis, M. Handley, R. Karp, S. Shenker. A Scalable Content-Addressable
Network. ACM SIGCOMM, 2001
- A. Rowstron, P. Druschel. Pastry:
Scalable, distributed object location and routing for large-scale
peer-to-peer systems. 18th IFIP/ACM International Conference on
Distributed Systems Platforms (Middleware 2001).
- I. Stoica, R. Morris, D. Karger, F. Kaashoek, H. Balakrishnan. Chord: A Scalable
Peer-to-peer Lookup Service for Internet Applications. ACM SIGCOMM,
2001.
- B. Y. Zhao, J. D. Kubiatowicz, A. D. Joseph, Tapestry: An
Infrastructure for Fault-Tolerant Wide-Area Location and Routing. UC
Berkeley Computer Science Division, Report No. UCB/CSD 01/1141, April
2001.
- P. Maymounkov and D. Mazieres, Kadmelia:
A Peer-to-Peer Information System Based on the XOR Metric, IPTPS,
2001.
- S. Ratnasamy, S. Shenker and I. Stoica. Routing
Algorithms for DHTs: Some Open Questions. IPTPS, 2002.
- D. Malkhi, M. Naor, D. Ratajczak. Viceroy:
A Scalable and Dynamic Emulation of the Butterfly. ACM PODC, 2002.
- G. S. Manku, M. Bawa,
P. Raghavan. Symphony: Distributed hashing in a small world. Proc. 4th
USENIX Symposium on Internet Technologies and Systems, 2003.
- G. Manku, M. Naor, and
U. Wieder. Know Thy
Neighbor's Neighbor: The Power of Lookahead in Randomized P2P Networks. STOC,
2004.
- P2P data transfer
(3) Data Centres
Lecture notes: Systems for Processing Massive Amounts of Data
- Computing as a utility, distributed computing clusters,
interconnect topologies
- Parallel processing paradigms - Mapreduce, Dryad,
Dryad/LINQ
- Scheduling of jobs in data centres
- Algorithms for processing of massive amounts of data,
e.g. frequency counters, hash and range partitioning
- Background material
- M. Armburst, A. Fox, R.
Griffith, A. D. Joseph, R. H. Katz, A. Konwinski, G. Lee, D. A.
Patterson, A. Rabkin, I. Stoica, M. Zaharia, Above
the Clouds: A Berkeley View of Cloud Computing, UCB Technical Report,
2009.
- M. Al-Fares, A.
Loukissas and A. Vahdat, A
Scalable, Commodity, Data Center Network Architecture, ACM Sigcomm,
2008.
- A. Greenberg, P. Lahiri, D. A. Matz, P. Patel and S. Sengupta, Towards a Next Generation
Data Center Architecture: Scalability and Commoditization, PRESTO, 2008.
- C. Guo, H. Wu, K. Tan, L. Shi, Y. Zhang and S. Lu, DCell: A Scalable and Fault-Tolerant Network Structure for Data Centers, ACM Sigcomm 2008.
- C. E. Leiserson, Fat-Trees: Universal Networks for Hardware-Efficient Supercomputing,
IEEE Trans. on Computers, 1985.
- J. Dean and S.
Ghemawat, MapReduce:
Simplified Data Processing on Large Clusters, OSDI 2004.
- M. Isard, M. Budiu, Y.
Yu, A. Birrell and D. Fetterly, Dryad:
Distributed Parallel Programs from Sequential Building Blocks,
EuroSys 2007.
- F. Chang, J. Dean, S.
Ghemawat, W. C. Hsieh, D. A. Wallach, M. Burrows, T. Chandra, A. Fikes,
and R. E. Gruber, Bigtable: A
Distributed Storage System for Structured Data, OSDI 2006.
- G. DeCandia, D.
Hastorun, M. Jampani, G. Kakulapati, A. Lakshman, A. Pilchin, S.
Sivasubramanian, P. Vosshall, and W. Vogels Dynamo:
Amazon's Highly Available Key-value Store, SOSP 2007.
- R. Chaiken, B. Jenkins,
P.-A. Larson, B. Ramsey, D. Shakib, S. Weaver, and J. Zhou, SCOPE:
Easy and Efficient Parallel Processing of Massive Data Sets, VLDB
2008.
- Hadoop, Pig.
- D. Peng and F. Dabek, Large-scale
Incremental Processing Using Distributed Transactions and Notifications,
OSDI 2010.
- M. Isard, V.
Prabhakaran, J. Currey, U. Wieder, K. Talwar, A. Goldberg, Quincy:
Fair Scheduling for Distributed Computing Clusters, SOSP 2009.
- M. Zaharia, D.
Borthakur, J. Sen Sarma, K. Elmeleegy, S. Shenker, I. Stoica, Delay
Scheduling: A Simple Technique for Achieving Locality and Fairness in
Cluster Scheduling, Eurosys 2010.
(4) Online Services
Lecture notes: Online Services and Auctions, PageRank
- Ranking of web documents, eigenvector centrality
- Sponsored search auctions, generalized second price
auction
- Standard auctions: first price, second price,
truthfulness of second price auctions, revenue equivalence, optimal
auction design
- Ranking of web documents
- S. Chakrabarti, B. Dom,
D. Gibson, J. Kleinberg, S.R. Kumar, P. Raghavan, S. Rajagopalan, A.
Tomkins. Mining the
link structure of the World Wide Web. IEEE Computer, August 1999.
- J. Kleinberg. Authoritative sources in
a hyperlinked environment. SODA, 1998. Extended version in Journal of
the ACM 46(1999).
- S. Brin and L. Page. The
Anatomy of a Large-Scale Hypertextual Web Search Engine. WWW, 1998.
- S. Chakrabarti, B. Dom,
D. Gibson, J. Kleinberg, S.R. Kumar, P. Raghavan, S. Rajagopalan, A.
Tomkins, Mining the
link structure of the World Wide Web. IEEE Computer, August 1999.
- A. Borodin, J. S. Rosenthal,
G. O. Roberts, P. Tsaparas, Finding
Authorities and Hubs From Link Structures on the World Wide Web. WWW,
May 2001.
- A. Altman and M.
Tennenholtz. Ranking
Systems: The PageRank Axioms. ACM EC 2005.
- Online advertising
- V. Krishna, Auction Theory, Academic Press 2002.
- B. Edelman, M. Ostrovsky and M. Schwarz, Internet Advertising and the Generalized Second Price Auction:
Selling Billions of Dollars Worth of Keywords, NBER Working Paper No. 11765, 2005.
- H. R. Varian, Position
auctions, Int'l Journal of Industrial Organization, Vol 25, 2007.
Course Schedule
| Lectures part 1 | | |
| Mar 14 |
Lecture 1: |
TCP/IP networks - data link layer |
| Mar 15 |
Lecture 2: |
TCP/IP networks - internal IP routing (distance vector and link state) |
| Mar 16 |
Lecture 3: |
TCP/IP networks - external IP routing (bgp), TCP |
| Mar 17 |
Lecture 4: |
Theory of Internet bandwidth sharing |
| Mar 18 |
Lecture 5: |
P2P systems |
| Lab exercises part 1 | | |
| Mar 21 |
Lab exe 1: |
Network admin tools |
| Mar 28 |
Lab exe 2: |
IP routing |
| Apr 04 |
Lab exe 3: |
TCP |
| Apr 11 |
Lab exe 4: |
P2P |
| Lectures part 2 | | |
| Apr 18 |
Lecture 6: |
Data centres |
| Apr 19 |
Lecture 7: |
Data centres (cont'd) |
| Apr 20 |
Lecture 8: |
Online services |
| Apr 21 |
Lecture 9: |
Online services (cont'd) |
| Lab exercises part 2 | | |
| Apr 25 |
Lab exe 5: |
DryadLINQ premier |
| May 02 |
Lab exe 6: |
BGP table analysis w DryadLINQ |
| May 09 |
Lab exe 7: |
PageRank computation w DryadLINQ |
| May 16 |
Lab exe 8: |
Ad auctions |
Seminars
Special topic: DryadLINQ for large-scale computations. Assignments are available here.
Grading
Final grade (%) = 0.3 L + 0.2 S + 0.5 F
where L = grade of laboratory exercises (%), S = grade of the seminar (%),
and F = grade of the final exam (written) (%)