18-845: Internet Services
Carnegie Mellon University, Spring 2000
Course Syllabus (ps, pdf)
|
Intel Cluster |
Individual
Project |
Critiques |
Group
Project
Instructor:David O'Hallaron,
droh@cs.cmu.edu, Wean Hall 8125, (412)268-8199
Course TA: Dapeng (Oliver)
Wu, dpwu@cs.cmu.edu, Porter Hall B23, (412)268-7107
Course secretary: Barb Grandillo, bag@cs.cmu.edu, Wean Hall
8212, (412)268-7550
Class times: Tue and Thu, 12:30 - 2:30, Porter Hall A18-C
Web page: www.ece.cmu.edu/~ece845
Newsgroup: cmu.ece.class.ee845
Course directory: /afs/ece/class/ece845
Reference material
There is no required textbook. However, the two volumes by Stevens on network
programming are excellent reference sources.
-
[SNP1]: W. Richard Stevens, Unix Network Programming: Networking
APIs, Volume 1 (Second Edition), Prentice Hall PTR, 1998.
-
[SNP2]: W. Richard Stevens, Unix Network Programming: Interprocess
Communications, Volume 2 (Second Edition), Prentice Hall PTR, 1999.
Course schedule
IP: individual project, GP: group project
GPP: group
project proposal
Class 1: Introductions (Tue 1/18)
Review of the course organization and student/teacher introductions.
Part I: Network programming overview
Class 2: Internetworking 1 (Thu 1/20)
The client-server programming model and how it is used to provide services
in distributed systems. The basic notion of internetworking and an analysis
of different approaches to interconnecting networks.
Reading: For more info, check any introductory networking text,
e.g., A. Tannenbaum, "Computer Networks, Third Edition", Prentice-Hall,
1996.
Class 3: Internetworking 2 (Tue 1/25)
IP and the architecture of the global IP Internet.
Reading: See any introductory networking text.
Class 4: Sockets (Thu 1/27)
The sockets API in the context of a simple iterative TCP server.
Reading: Please read the RPI
sockets tutorial before class. Also, SNP1: ch. 1-4 (sockets).
Class 5: Sockets 2 (Tue 2/1)
More discussion on bind, select, the backlog parameter, Unix socket I/O,
and using standard I/O functions with Unix I/O. Brief introduction to HTTP
and CGI to help students get started on the project.
Reading: SNP1: ch. 1-4 (sockets).
Class 6: Multi-process concurrent servers (Thu 2/3)
Processes, signals, and signal handling. Multi-process concurrent servers
designs.
Reading: SNP1: ch. 5 (processes and signals) and ch. 27 (client-server
design alternatives).
Class 7: Multi-threaded concurrent servers (Tue 2/8)
Basic threads. Multi-theaded concurrent servers designs.
Reading: SNP1: ch. 23 (threads) and ch. 27 (client server design
alternatives).
Class 8: Thread synchronization (Thu 2/10)
Concurrency, mutexes, condition variables, and deadlock.
Reading: SNP1: ch. 23 (threads).
Also, refer to the Spark98
benchmarks for an example of a non-trivial threaded code. Spark98 has
the identical sparse matrix-vector product core as my 183.equake
benchmark in the SPEC CPU2000
benchmark suite.
Class 9: Posix IPC (Tue 2/15)
FIFOs, file locking, shared memory, semaphores.
Reading: SNP2: ch. 4 (FIFOs), ch. 9 (file locks), ch 10 (semaphores),
ch 12 (shared memory).
Class 10: System V IPC (Tue 2/17)
System V shared memory and semaphores.
Reading: SNP2: ch. 11 (semaphores), ch. 14 (shared memory).
Example Linux codes:
Part II: Research issues
Remember: Critiques must be handed in before
class.
Class 11: Measuring server performance (Tue 2/22)
To be presented and critiqued:
-
G. Banga and P. Druschel, Measuring the capacity of a Web server,
Usenix Symposium on Internet Technologies and Systems, Monterrey, CA, Dec,
1997 (html).
Presenter:
Sumit Lohia
Additional readings:
-
D. Mosberger and T. Jin, httperf - A tool for measuring Web server performance,
Workshop on Internet Server Performance (WISP'98), Madison, WI, June, 1998
(
html
|
ps
)
Class 12: Improving server performance (Thu 2/24)
To be presented and critiqued:
-
V. Pai, P. Druschel, and W. Zwaenepoel, Flash: An efficient and portable
Web server, Proceedings of the USENIX 1999 Annual Technical Conference,
Monterey, CA, June 1999 (html)
Presenter:
Anuwat Jongpairat
Additional readings:
-
J. Hu, S. Mungee, D. Schmidt, Techniques for developing and measuring
high-performance Web servers on high-speed networks, IEEE INFOCOMM
'98, San Francisco, CA, Mar, 1998, pp. 1222-1231 (
ps
| pdf
)
-
A. Iyengar, J. Challenger, D. Dias, and P. Dantzig, Techniques for designing
high-performance Web sites, draft. (html)
Class 13: Improving server performance (Tue 2/29)
To be presented and critiqued:
-
T. Faber, J. Touch, and W. Yue, The TIME-WAIT state in TCP and its effect
on busy servers, Proceedings of IEEE INFOCOM, pp. 1573-1584, IEEE,
New York, NY, March 21-25 1999 (
ps
|
pdf |
html
)
Presenter: Xindian Long
Additional readings:
-
E. Levy-Abegnoli, A. Iyengar, J. Song, and D. Dias,
Design and performance
of a Web server accelerator, Proceedings of IEEE INFOCOM, pp. 135-143,
IEEE, New York, NY, March 21-25 1999 (
ps
)
Class 14: Improving server performance (Thu 3/2)
To be presented and critiqued:
-
M. Crovella, B. Frangioso, and M. Harchol-Balter, Connection scheduling
in Web servers, USENIX Symposium on Internet Technologies and Systems
(USITS '99), Boulder, Colorodo, October '99, pp. 243-254 (
ps
)
Presenter: Prof. Mor Harchol-Balter, CMU SCS
Additional readings:
-
M. Harchol-Balter, M. Crovella, S. Park, The case for SRPT scheduling
in Web servers, MIT-LCS-TR-767, October 1998 (
ps
)
Class 15: Resource signals: analysis and prediction (Tue 3/7)
To be presented and critiqued:
-
Peter Dinda and David O'Hallaron, An Evaluation of Linear Models for
Host Load Prediction, In Proceedings of the 8th IEEE Symposium on High-Performance
Distributed Computing (HPDC-8) Aug 1999, Redondo Beach, CA (
ps
)
Presenter: Peter Dinda, CMU SCS
Additional readings:
-
Peter Dinda, Statistical Properties of Host Load, Scientific Programming,
7(3,4), pp. 211-229. (html)
-
Rich Wolski, Forecasting Network Performance to Support Dynamic Scheduling
Using the Network Weather Service, Proceedings of the 6th High-Performance
Distributed Computing Conference (HPDC97), August, 1997, pp. 316--325.
(ps.gz)
-
Reference books:
-
Alan V. Oppenheim, Alan S. Willsky, and Ian T. Young, Signals and Systems,
Prentice Hall, 1983.
-
George E. P. Box, Gwilym M. Jenkins, and Gregory Reinsel, Time Series Analysis:
Forecasting and Control, 3rd edition, Prentice Hall, 1994.
Class 16: OPEN (Thu 3/9)
Class 17: Clustering (Tue 3/14)
To be presented and critiqued:
-
Steven D. Gribble, Matt Welsh, Eric A. Brewer, and David Culler. The
MultiSpace: an evolutionary platform for infrastructural services,
In Proc. USENIX Annual Technical Conference, 1999 (
ps
)
Presenter: Onur Celebioglu
Additional readings:
-
A. Fox, S. Gribble, Y. Chawathe, E. Brewer, and P. Gauthier,
Cluster-based
scalable network services, 16th ACM Symp on Operating Systems Principles
(SOSP'97), St. Malo, FR, Oct, 1997 (
ps
)
-
Ian Goldberg, Steven D. Gribble, David Wagner, and Eric A. Brewer, The
Ninja Jukebox, 2nd USENIX Symposium on Internet Technologies and Systems,
Boulder, CO, October 1999 (
ps
)
Class 18: Clustering (Thu 3/16)
To be presented and critiqued:
-
Y. Saito, B. Bershad, and H. Levy,
Manageability, availability, and
performance in Porcupine: a highly scalable, cluster-based mail service
,
17th ACM Symposium on Operating Systems Principles (SOSP'99), Kiawah Island,
SC, Dec, 1999 (
ps
)
Presenter: Jeremy Shaffer
-
V. Pai, M. Aron, G. Banga, M. Svendsen, P. Drushel, W. Zwaenepoel, E. Nahum
Locality-aware
request distribution in cluster-based network services. In Proceedings
of the Eighth International Conference on Architectural Support for Programming
Languages and Operating Systems (ASPLOS-VIII). San Jose, California, October
1998 (ps)
Presenter:
Chris Eatedali
Class 19: Mirroring (Tue 3/21)
To be presented and critiqued:
-
Andy Myers, Peter Dinda, Hui Zhang, Performance Characteristics of Mirror
Servers on the Internet, Proceedings of Infocom '99, New York, NY,
March 1999, pp. 304-312 (ps)
Presenter:
Herain Oberoi
Class 20: OPEN (Thu 3/23)
Class 21: Security (Tue 4/04)
To be presented and critiqued:
-
Eugene H. Spafford, The Internet worm incident, Technical Report
CSD-TR-933, Dept. of Computer Sciences, Purdue University, Sept. 1991.
(ps)
Presenter:
Jason Small
Additional readings:
Class 22: Security (Thu 4/6)
To be presented and critiqued:
-
Stefan Savage, David Wetherall, Anna Karlin and Tom Anderson,
Practical
Network Support for IP Traceback, Department of Computer Science and
Engineering, University of Washington, Technical Report UW-CSE-2000-02-01,
2000. (html)
Presenter:
Stephen Ives
Additional readings:
Ken Thompson, Reflections on trusting trust, CACM, vol. 27,
no. 8, Aug, 1984. (html)
[The paper has nothing to do with DDOS attacks, but it's fascinating,
and I thought you would enjoy reading it...droh]
Class 23: Case study: Akamai server (Tue 4/11)
Presenter: Tim Canfield
There are no critiques required for today's talk, but you will
need to review SSL and DNS beforehand.
Class 24: Web caching (Thu 4/13)
To be presented and critiqued:
-
Jia Wang, A Survey of Web Caching Techniques for the Internet, ACM
Computer Communication Review, 29, number 5, Oct 1999. (html)
Presenter:
Shahzad Ali
Additional readings:
-
Renu Tewari, Michael Dahlin, Harrick M. Vin and Jonathan S. Kay. Design
Considerations for Distributed Caching on the Internet. In Proceedings
of International Conference on Distributed Computing Systems, Austin, May
1999 (ps.Z)
-
Anawat Chankhunthod, Peter B. Danzig, Chuck Neerdaels, Michael F. Schwartz
and Kurt J. Worrell. A Hierarchical Internet Object Cache. In Proceedings
of 1996 USENIX Technical Conference, San Diego, Jan. 1996. (ps.Z)
Class 25: High availability (Tue 4/18)
To be presented and critiqued:
-
Armando Fox and Eric A. Brewer. Harvest, Yield, and Scalable Tolerant
Systems. Proc. HotOS-VII, March 1999. (ps)
Presenter:
Kamal Pillai
-
Werner Vogels, Dan Dumitriu, Ken Birman Rod Gamache, Mike Massa, Rob Short,
John Vert Joe Barrera, Jim Gray The Design and Architecture of the Microsoft
Cluster Service -- A Practical Approach to High-Availability and Scalability
Proceedings of the 28th symposium on Fault-Tolerant Computing, Munich,
Germany, June 1998 (ps)
Presenter:
Sandeep Tamboli
Class 26: Streaming (Thu 4/20)
To be presented and critiqued:
-
X. Rex Xu, Andrew C. Myers, Hui Zhang, Raj Yavatkar,
Resilient Multicast
Support for Continuous-Media Applications
, Proceedings of IEEE NOSSDAV'97,
1997. (
ps.gz
)
Presenter: Bryan Meyer
-
X. Li, S. Paul, M. H. Ammar,
Layered Video Multicast with Retransmissions
(LVMR): Evaluation of Hierarchical Rate Control
, Proceedings of IEEE
INFOCOM'98, March 1998. (
ps.gz
)
Presenter: Frank Lai
Additional readings:
-
D. Wu, T. Hou, J. Yao, H. J. Chao, "Transmission of Real-time Video over
the Internet: a Big Picture," IEEE NetWorld+Interop, Las Vegas, Nevada,
USA, May 10-11, 2000. (pdf)
-
X. Li, M. H. Ammar, S. Paul, Video Multicast over the Internet,
IEEE Network Magazine, March-April 1999. (
ps.gz
)
-
More references
Class 27: Streaming (Tue 4/25)
To be presented and critiqued:
-
J-C. Bolot, and T. Turletti,
Experience with rate control mechanisms
for packet video in the Internet
, ACM Computer Communication Review,
vol. 28, no. 1, January 1998. (
ps.gz
)
Presenter: Michael Wong
Additional readings:
-
M. Podolsky, K. Yano, S. McCanne,
A RTCP-based Retransmission Protocol
for Unicast RTP Streaming Multimedia, Internet draft draft-podolsky-avt-rtprx-00.txt,
work in progress, October 1999. (
text
)
-
M. Podolsky, S. McCanne, and M. Vetterli,
Soft ARQ for Layered Streaming
Media
, UCB/CSD Technical Report No. UCB/CSD-98-1024, November 1998.
(
ps
)
Related courses
Dave OHallaron
Last modified: Wed Mar 1 12:39:21 EST 2000