 |
 |
 |
Week 1 |
Mon 1/29 |
|
|
Wed 1/25 |
From computer utility to current serverless
Survey
question (Google Form)! Both Fano and Hellerstein et al. discuss consequences
of the computer utility for “community,” especially in Fano’s concluding
section and the last paragraphs of Hellerstein et al.’s §3.2. How do you
think Fano would react to Hellerstein et al.’s notion of API simplicity
“chang[ing] the mindset of the developer community”?
|
Week 2 |
Mon 2/4 |
The Xen virtual machine monitor (presented by James Larisch)
“Xen and the art of virtualization.” Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, and Andrew Warfield. In Proc. SOSP 2003.
Survey question (Google Form)! If Xen were part of the software management plane for a serverless computing offering, such as Amazon Lambda, which of its components would manage starting and stopping serverless functions? Outline at a high level how you think the start process would work.
|
|
Wed 2/6 |
Unikernels (presented by Vincent Viego)
Survey question (Google Form!) The Xen paper contrasts with Denali as follows: Denali “does not address the problem of supporting application multiplexing, nor multiple address spaces…each virtual machine essentially hosts a single-user single-application unprotected ‘operating system’.” Outline one important way unikernels differ from Denali-style single-user/app OSes, if there is one.
|
Week 3 |
Mon 2/11 |
KVM and Firecracker (presented by Michael Colavita)
Survey question (Google Form!) The KVM paper we read was published soon after KVM was developed; Firecracker is a recent KVM-based technology. Name some problems the KVM developers have addressed since the KVM paper’s publication, based on the evidence of Firecracker.
|
|
Wed 2/13 |
Lambda show-and-tell
|
Week 4 |
Mon 2/18 |
Presidents’ Day holiday |
|
Wed 2/20 |
Evaluating serverless systems (presented by Alisha Ukani)
Survey questions (Google Form!) 1. I was very surprised that Google’s “infrastructure update in February 2018” made coldstart latencies 4x slower on average! Why might this have occurred?
2. Describe something else the authors discovered that surprised you.
|
Week 5 |
Mon 2/25 |
Pywren and Numpywren (presented by Juan Vicente Esteller)
“numpywren: Serverless Linear Algebra”, Vaishaal Shankar, Karl Krauth, Qifan Pu, Eric Jonas, Shivaram Venkataraman, Ion Stoica, Benjamin Recht, and Jonathan Ragan-Kelley, arXiv 1810.09679 (2018).
Note: There’s a lot to read here! Don’t worry and don’t get bogged down; the numpywren paper has some linear algebra stuff not particularly important for our purposes.
Survey question (Google Form!) Both papers end with some suggestions for future work for serverless providers and for serverless users. (As have some of the other papers we’ve read.) Respond to these suggestions. (Example jumping-off points: Do the suggestions overlap? Which suggestions seem most difficult, or to require research?)
|
|
Wed 2/27 |
ExCamera (presented by Alex Wendland)
“Encoding, Fast and Slow: Low-Latency Video Processing Using Thousands of Tiny Threads”, Sadjad Fouladi, Riad S. Wahby, Brennan Shacklett, Karthikeyan Vasuki Balasubramaniam, William Zeng, Rahul Bhalerao, Anirudh Sivaraman, George Porter, and Keith Winstein, Proc. USENIX NSDI 2017.
Survey question (Google Form!) ExCamera inspired pywren (see p374). Contrast the designs of ExCamera with pywren or numpywren (your choice). For instance, does one of the systems use more AWS services than the other?
|
Week 6 |
Mon 3/4 |
A project in progress (presented by Benjamin Lee)
Survey question (Google Form!) Describe, as precisely as you’d like, an experiment that Ben could run to evaluate systems aspects of his serverless DNA visualization system.
|
|
Wed 3/6 |
Pocket (presented by Yang Zhou)
Survey question (Google Form!) Section 2.1 lists four requirements for ephemeral storage. How do these requirements map onto features of the Pocket system design described in Section 3.2 and Figure 4? Which systems features correspond to which requirements?
|
Week 7 |
Mon 3/11 |
Resource containers and Linux containers
Survey question (Google Form!) Which Linux container/namespace features correspond most closely to resource containers? Which Linux container/namespace features provide features not supported by resource containers?
|
|
Wed 3/13 |
Project pitches
|
Week 8 |
Mon 3/25 |
|
|
Wed 3/27 |
Language-runtime serverless (presented by Mark Wilkening)
Survey questions (Google Form!) Discuss how the Spectre results impact the arguments in the microservice paper. Are Spectre-based arguments the best arguments against language-only microservice isolation, or are there others?
|
Week 9 |
Mon 4/1 |
Cluster scheduling (presented by Athena Kan)
Survey question (Google Form!) The Borg design defines a number of abstractions and algorithms, but these algorithms include many special cases for specific parameters. Describe two or more special cases and explain why you think these special cases are important.
|
|
Wed 4/3 |
Serverless function composition (presented by Dan Inge)
Survey question (Google Form!) The paper gives multiple syntaxes for composing serverless functions, including Table 1 (BNF), Table 2 (JavaScript), and sections 2.1–2.3 (OpenWhisk). Describe how these syntaxes can be translated into one another, or why that is not possible.
|
Week 10 |
Mon 4/8 |
Formal models of serverless computing (presented by Harshita Gupta and Eric Lu)
Note! This paper has an extensive appendix that you do not need to read.
Survey questions (Google Form!) (1) Does the SPL programming language solve the serverless trilemma? Why or why not? (2) Some SPL programs would be easier for a service provider to run than others. Describe an SPL program that would be expensive or difficult for the service provider to run.
|
|
Wed 4/10 |
Cloud attacks (presented by William Wang)
Survey questions (Google Form!) (1) Bolt can “correctly identif[y] the job’s resource characteristics” 385 out 436 times. What does this mean, specifically? Why does it matter? (2) Figure 12 is the heart of the evaluation. What is an anomaly you observe in this figure?
|
Week 11 |
Mon 4/15 |
Information flow (presented by Kristen Eberts)
Survey questions (Google Form)! (1) Discuss how results of our other readings, including “Peeking Behind the Curtain” and Bolt, impact Trapeze’s security guarantees. (2) Discuss how Trapeze relates to your project (how it complements your project, how its ideas might inspire your project—anything), or say why Trapeze and your project don’t usefully relate.
|
|
Wed 4/17 |
Debugging (presented by William Qian)
“Canopy: An End-to-End Performance Tracing And Analysis System”, Jonathan Kaldor, Jonathan Mace, Michał Bejda, Edison Gao, Wiktor Kuropatwa, Joe O’Neill, Kian Win Ong, Bill Schaller, Pingjia Shan, Brendan Viscomi, Vinod Venkataraman, Kaushik Veeraraghavan, and Yee Jiun Song, Proc. SOSP 2017
Survey question! Applications orchestrate multiple serverless functions in several different ways—using an orchestration language (Amazon Step Functions, the SPL), using a scheduler (gg, numpywren), or dynamically (OpenWhisk conductors). Pick one of these and describe how it could be adapted to Canopy.
|
Week 12 |
Mon 4/22 |
Virtual machine cloning and primitives (presented by David Gardner)
“Scalability, Fidelity, and Containment in the Potemkin Virtual Honeyfarm”, Michael Vrable, Justin Ma, Jay Chen, David Moore, Erik Vandekieft, Alex C. Snoeren, Geoffrey M. Voelker, and Stefan Savage, Proc. SOSP 2005
Survey question! (1) Some aspects of Potemkin apply to serverless deployments, some do not. Name a specific aspect of serverless computing that Potemkin could improve, and describe which Potemkin ideas would help. (2) Name a component of Potemkin that would not be useful in serverless computing. Explain briefly.
|
|
Wed 4/24 |
No class; optionally visit Eddie’s office to check in
|
Week 13 |
Mon 4/29 |
Retrospective (presented by David Ralph Hughes)
“Cloud Programming Simplified: A Berkeley View on Serverless Computing”, Eric Jonas,
Johann Schleier-Smith,
Vikram Sreekanti,
Chia-Che Tsai,
Anurag Khandelwal,
Qifan Pu,
Vaishaal Shankar,
Joao Menezes Carreira,
Karl Krauth,
Neeraja Yadwadkar,
Joseph Gonzalez,
Raluca Ada Popa,
Ion Stoica, and
David A. Patterson, Technical Report No. UCB/EECS-2019-3, 2019
Survey questions! (1) Which of the “Limitations of Today’s Serverless Computing Platforms” does your project address, and how? (2) How does your project’s direction correspond with the suggestions in “What Serverless Computing Should Become”?
|
|
Wed 5/1 |
Summary discussion
|
|