This preview shows page 1 out of 3 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 3 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 3 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

cs 239 Lecture 3: Readable Software Systems Handout 1Course OverviewLocation TR 2–3:50pm, Franz 1260Instructor Eddie Kohler, Boelter 4531c, [email protected] hours M 2–3pm or by appointmentCourse Web page http://www.cs.ucla.edu/~kohler/class/04s-readable/Tentative schedule1. T 4/6 IntroductionServers I2. R 4/8 Servers II3. T 4/13 Servers III4. R 4/15 Measurement & profiling I5. T 4/20 Measurement & profiling IIThis week: Discuss project ideas with instructor6. R 4/22 Networking stacks I7. T 4/27 Networking stacks IIR 4/29 NO CLASS8. T 5/4 Sensors IProject proposals due9. R 5/6 Sensors II10. T 5/11 OS kernels I11. R 5/13 OS kernels II12. T 5/18 Network protocols I13. R 5/20 Network protocols II14. T 5/25 Security I15. R 5/27 Security II16. T 6/1 Topics I17. R 6/3 Topics IIProjects due18. T 6/8 Project presentations19. R 6/10 Project presentationsCourse goalsSpeedy, reliable, flexible software systems must be easy to program, so that programmerscan analyze and improve the systems’ performance and correctness. This seminar willlook at recent systems literature, focusing on tractability, programmability, and ease ofanalysis: in a word, readability.We’ll concentrate on systems concerns, with occasional detours into programming lan-guage techniques.When you have completed the course, I want you to be able to evaluate a system – aserver, kernel, API, network protocol, or whatever else – on its programmability and per-formance. I want you to have an idea of what systems interfaces and techniques haveworked, what problems systems currently face, and where programming language tech-niques are most needed.AssignmentsThe main assignment is a course project: a significant systems effort guided by read-ability. One type of good project would be to take a software system important for yourReadable Software Systems, Spring 2004 4/6 1.1research and use techniques learned throughout the term to make it more “readable”.The project writeup would contain both code comparisons and in-depth measurements,showing how the system improved its performance and/or reliability.You will also be expected to read and present papers from the recent systems literature inclass, and there will be occasional assignments.Grading25% paper presentations and discussion, 75% assignments and projects. No midterm orfinal exam.Papers: ServersThese links will be made available on the course Web page.Technical papersVivek S. Pai, Peter Druschel, and Willy Zwaenepoel. “Flash: An efficient and portable Webserver.” In Proc. USENIX 1999. http://www.cs.princeton.edu/~vivek/flash99/Matt Welsh, David Culler, and Eric Brewer. “SEDA: An Architecture for Well-Conditioned,Scalable Internet Services.” In Proc. 18th SOSP, 2001. http://www.eecs.harvard.edu/~mdw/papers/seda-sosp01.pdfRob von Behren, Jeremy Condit, Feng Zhou, George C. Necula, and Eric Brewer. “Capric-cio: Scalable Threads for Internet Services.” In Proc. 19th SOSP, 2003. http://capriccio.cs.berkeley.edu/pubs/capriccio-sosp-2003.pdfTim Brecht, David Pariag, and Louay Gammo. “accept()able Strategies for Improving WebServer Performance.” To appear in Proc. USENIX 2004. http://www.cs.ucla.edu/~kohler/class/04s-readable/acceptable.pdf – please do not redistribute this pre-publication ver-sion.Mor Harchol-Balter, Bianca Schroeder, Nikhil Bansal, and Mukesh Agrawal. “Size-basedScheduling to Improve Web Performance.” ACM Transactions on Computer Systems 21(2), May2003, pp 207–233. http://www-2.cs.cmu.edu/~harchol/Papers/tocs257.psGaurav Banga, Jeffrey C. Mogul, and Peter Druschel. “A Scalable and Explicit Event Deliv-ery Mechanism for UNIX.” In Proc. USENIX 1999. http://www.cs.rice.edu/~gaurav/papers/usenix99.psPosition papersJohn Ousterhout. “Why Threads are a Bad Idea (for most purposes).” Invited talk at USENIX1996.http://www.softpanorama.org/People/Ousterhout/Threads/ or http://www.cc.gatech.edu/ccg/people/rob/software/threads/ousterhoutthreads.htmlRob von Behren, Jeremy Condit, and Eric Brewer. “Why Events are a Bad Idea (for high-concurrency servers).” In Proc. HotOS IX. http://capriccio.cs.berkeley.edu/pubs/threads-hotos-2003.pdfFrank Dabek, Nickolai Zeldovich, Franks Kaashoek, David Mazi`eres, and Robert Morris.“Event-Driven Programming for Robust Software.” In Proc. 2002 SIGOPS European Workshop.http://www.pdos.lcs.mit.edu/papers/events:sigops/M. Frans Kaashoek, Dawson R. Engler, Gregory R. Ganger, and Deborah A. Wallach.“Server Operating Systems.” In Proc. 1996 SIGOPS European Workshop. http://www.pdos.lcs.Readable Software Systems, Spring 2004 4/6 1.2mit.edu/papers/serverOS.htmlSecondary referencesNickolai Zeldovich, Alexander Yip, Frank Dabek, Robert Morris, David Mazi`eres, andFrans Kaashoek. “Multiprocessor Support for Event-Driven Programs.” In Proc. USENIX2003. http://www.pdos.lcs.mit.edu/papers/asyncmp/Vivek S. Pai, Peter Druschel, and Willy Zwaenepoel. “IO-Lite: A Unified I/O Buffering andCaching System.” ACM Transactions on Computer Systems 18(1), Feb. 2000, pp 37–66. http://www.cs.princeton.edu/~vivek/iol-tocs.ps.gzGaurav Banga, Peter Druschel, Jeffrey C. Mogul. “Resource containers: A new facilityfor resource management in server systems.” In Proc. OSDI 1999. http://www.cs.rice.edu/~gaurav/papers/osdi99.psReadable Software Systems, Spring 2004 4/6


View Full Document

UCLA COMSCI 239 - Syllabus

Download Syllabus
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Syllabus and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Syllabus 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?