(Posted Dec 14, 2021)
(Posted Dec 7, 2021)
(Posted Nov 25, 2021)
The following schedule is tentative and subject to change without notice.
Day | Topic | Reading |
---|---|---|
9/2 | Course Overview (Online) | |
9/7 | Computer systems research (Online) | I1 |
9/9 | ||
9/14 | Introduction to operating systems (Online) | H1 |
9/16 | Storage (Online) | |
9/21 | National Holiday | |
9/23 | ||
9/28 | File systems (Online) | FS1 |
9/30 | LFS (Online) | FS2 |
10/1 | Flash memory – Makeup Class @ 7:00pm (Online) | |
10/5 | Exam 1 (Offline) | |
10/7 | ||
10/12 | F2FS (Online) | FS3 |
10/14 | Modern SSDs (Online) | SSD1 |
10/19 | ||
10/21 | Computational storage (Online) | SSD2, SSD4 |
10/26 | Invited Talk - ZNS SSDs: Features and Research Directions (Prof. Jongmoo Choi) | SSD3 |
10/26 | Project proposal due | |
10/28 | Processes and threads (Online) | |
11/2 | Scheduler activations (Online) | S1 |
11/4 | CPU scheduling (Online) | |
11/9 | Lottery scheduling (Online) | S2 |
11/11 | Exam 2 (Offline) | |
11/16 | Virtual memory (Online) | |
11/18 | ||
11/23 | ||
11/25 | Superpage support (Online) | MM1 |
11/30 | ARC (Online) | MM2 |
11/30 | Project progress report due | |
12/2 | Linux memory management (Online) | |
12/7 | Virtual machines (Online) | VM1 |
12/9 | KVM (Online) | |
12/14 | Final Exam (Offline) | |
12/20 | Term paper due |
Credit: Some of the slides are borrowed from the authors’ presentations.
No | Title | Team | Name |
---|---|---|---|
1 | Optimizing SSD Access via Graph Reorganization in Graph Learning | ARC조 | 김동현, 김수성, 최현지 |
2 | Lustre Adaptive Progressive File Layout | 진리조 | 홍재기, 고병현, 신준식 |
3 | Improving F2FS Hotness Classification Performance based on File Usage Pattern Analysis | OS60조 | 박하연, 유서환 |
4 | LC-CB: Low Computational Victim Selection Policy in Garbage Collection | 자료구조 | 한종우, 전해주, 신동민 |
5 | F2FS Performance Evaluation and Analysis | 리쌍조 | 이준석, 이의동, 손태형 |
6 | F2FS-Z: Metadata on ZNS by LSM-tree KV Store | FAST가조 | 임민우, 서윤형, 한형석 |
Add a new system call named readbytes()
that returns the total number of bytes returned by the read()
system call so far. Set the system call number of readbytes()
to 500.
Due: 11:55PM, September 26.
Submission: Click here to upload your compressed patch file and design document (Note: The submission is closed on 11:55PM September 26). Note that you should also upload a 1-page design document file (in PDF format) that briefly describes your implementation.
$ wget https://kernel.org/pub/linux/kernel/v5.x/linux-5.10.61.tar.xz
$ tar xvf linux-5.10.61.tar.xz
$ sudo apt install build-essential ncurses-dev libssl-dev flex bison libelf-dev
x86_64_defconfig
to configure your kernel)$ cd linux-5.10.61
$ make x86_64_defconfig
$ make all
$ sudo make modules_install
$ sudo make install
You can prepare a compressed patch file as follows. Assume that the vanilla 5.10.61 kernel is in the ./linux-5.10.61-vanilla
directory, while your modified kernel is in the ./linux-5.10.61
directory.
$ (cd linux-5.10.61-vanilla; make distclean)
$ (cd linux-5.10.61; make distclean)
$ diff -uprN linux-5.10.61-vanilla linux-5.10.61 > studentID.patch
$ gzip studentID.patch
Please double-check your patch file whether it contains some unnecessary materials. Also, please make sure that you should build your kernel with the x86_64_defconfig
configuration file.
For more details on generating a patch file, please refer to here.
The following shows the reference platform used in this course.
(I1) ⭐️ Butler W. Lampson, “Hints for Computer System Design,” SOSP, 1983. (The SIGOPS Hall of Fame Award ‘05)
(I2) Roy Levin and David D. Redell, “An Evaluation of the Ninth SOSP Submissions or How (and How Not) to Write a Good Systems Paper,” ACM Operating Systems Review, 1983.
(I3) Aaron B. Brown, Anupam Chanda, Rik Farrow, Alexandra Fedorova, Petros Maniatis, and Michael L. Scott, “The Many Faces of Systems Research - And How to Evaluate Them,” HotOS, 2005.
(FS1) ⭐️ Marshall K. McKusick, William N. Joy, and Samuel J. Leffler, “A Fast File System for UNIX,” ACM TOCS, 1984. (The SIGOPS Hall of Fame Award ‘15)
(FS2) ⭐️ Mendel Rosenblum and John K. Ousterhout, “The Design and Implementation of a Log-Structured File System,” SOSP, 1991. (The SIGOPS Hall of Fame Award ‘12)
(FS3) ⭐️ Changman Lee, Dongho Sim, Joo-Young Hwang, and Sangyeun Cho, “F2FS: A New File System for Flash Storage,” FAST, 2015.
(SSD1) ⭐️ Jeong-Uk Kang, Jeeseok Hyun, Hyunjoo Maeng, and Sangyeun Cho, “The Multi-streamed Solid-State Drive,” HotStorage, 2014.
(SSD2) ⭐️ Jaeyoung Do, Sudipta Sengupta, and Steaven Swanson, “Programmable Solid-State Storage in Future Cloud Datacenters,” CACM, 2021.
(SSD3) Matias Bjorling, Abutalib Aghayev, Hans Holmberg, Aravind Ramesh, Damien Le Moal, Gregory R. Ganger and George Amvrosiadis, “ZNS: Avoiding the Block Interface Tax for Flash-based SSDs,” Usenix ATC, 2021.
(SSD4) Boncheol Gu, Andre S. Yoon, Duck-Ho Bae, Insoon Jo, Jinyoung Lee, Jonghyun Yoon, Jeong-Uk Kang, Moonsang Kwon, Chanho Yoon, Sangyeun Cho, Jaeheon Jeong, and Duckhyun Chang, “Biscuit: A Framework for Near-Data Processing of Big Data Workloads,” ISCA, 2016.
(S1) ⭐️ Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska, and Henry M. Levy, “Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism,” TOCS, 1992.
(S2) ⭐️ Carl A. Waldspurger and William E. Weihl, “Lottery Scheduling: Flexible Proportional-Share Resource Management,” OSDI, 1994.
(S3) Carl A. Waldspurger and William E. Weihl, “Stride Scheduling: Deterministic Proportional-Share Resource Management,” Technical Memorandum MIT/LCS/TM-528, MIT Laboratory for Computer Science, 1995.
(S4) Jean-Pierre Lozi, Baptiste Lepers, Justin Funston, Fabien Gaud, Vivien Quema, and Alexandra Fedorova, “The Linux Scheduler: a Decade of Wasted Cores,” EuroSys, 2016.
(MM1) ⭐️ Juan Navarro, Sitaram Iyer, Peter Druschel, and Alan Cox, “Practical, Transparent Operating System Support for Superpages,” OSDI, 2002.
(MM2) ⭐️ Nimrod Megiddo and Dharmendra S. Modha, “ARC: A Self-Tuning, Low Overhead Replacement Cache,” FAST, 2003. (USENIX Test of Time Award ‘14)
(VM1) ⭐️ Edouard Bugnion, Scott Devine, and Mendel Rosenblum, “Disco: Running Commodity Operating Systems on Scalable Multiprocessors,” SOSP, 1997. (Best Paper Award, The SIGOPS Hall of Fame Award ‘08)
(VM2) Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, and Andrew Warfield, “Xen and the Art of Virtualization,” SOSP, 2003.
(VM3) Carl A. Waldspurger, “Memory Resource Management in VMware ESX Server,” OSDI, 2002. (Best Paper Award, The SIGOPS Hall of Fame Award ‘15)
(VM4) Christopher Clark, Keir Fraser, Steven Hand, Jacob Corm Hansen, Eric Jul, Christian Limpach, Ian Pratt, and Andrew Warfield, “Live Migration of Virtual Machines,” NSDI, 2005. (USENIX Test of Time Award ‘05)
(OS1) The Tanenbaum-Torvalds Debate, 1992.
(OS2) Jochen Liedtke, “On μ-Kernel Construction,” SOSP, 1995. (The SIGOPS Hall of Fame Award ‘15)
(OS3) M. Frans Kaashoek, Dawson R. Engler, Gregory R. Ganger, Hector M. Briceno, Russell Hunt, David Mazieres, Thomas Pinckney, Robert Grimm, John Jannotti, and Kenneth Mackenzie, “Application Performance and Flexibility on Exokernel Systems,” SOSP, 1997.
(OS4) Andrew Baumann, Paul Barham, Pierre-Evariste Dagand, Tim Harris, Rebecca Isaacs, Simon Peter, Timothy Roscoe, Adrian Schupbach, and Akhilesh Singhania, “The Multikernel: A New OS Architecture for Scalable Multicore Systems,” SOSP, 2009.
(OS5) Anil Madhavapeddy, Richard Mortier, Charalampos Rotsos, David Scott, Balraj Singh, Thomas Gazagnaire, Steven Smith, Steven Hand, and Jon Crowcroft, “Unikernels: Library Operating Systems for the Cloud,” ASPLOS, 2013.
(OS6) Simon Peter, Jialin Li, Irene Zhang, Dan R. K. Ports, Doug Woos, Arvind Krishnamurthy, and Thomas Anderson, “Arrakis: The Operating System is the Control Plane,” OSDI, 2014. (Best Paper Award)
(DFS1) Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung, “The Google File System,” SOSP, 2003. (The SIGOPS Hall of Fame Award ‘15)
(DFS2) Sage A. Weil, Scott A. Brandt, Ethan L. Miller, Darrell D. E. Long, and Carlos Maltzahn, “Ceph: A Scalable, High-Performance Distributed File System,” OSDI, 2006.
When | 11:00 - 12:15 (Tuesday / Thursday) |
Where | |
Instructor | Jin-Soo Kim Professor, Dept. of Computer Science and Engineering, SNU |
Language | Korean |
Course Description | This course covers advanced operating system concepts as well as a broad spectrum of research topics in computer systems. Quality research papers from SOSP, OSDI, ASPLOS, USENIX ATC, FAST, NSDI, EuroSys, etc. will be used as class materials. Students must be actively involved in reading, presenting, and discussing selected papers to understand the recent trends in operating systems and computer systems research. In addition, students are required to write up a term paper by the end of the semester as a result of their own study on a particular research topic. |
References | • Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau, Operating Systems: Three Easy Pieces, Apraci-Dusseau Books, March 2015 (Version 1.00). • Thomas Anderson and Michael Dahlin, Operating Systems: Principles and Practice, 2nd Edition, Recursive Books, August 2014. • Andrew S. Tanenbaum and Herbert Bos, Modern Operating Systems, 4th Edition, Pearson Education, Inc., 2015. |
Prerequisites | • M1522.000800 Undergraduate Systems Programming or equivalent • 4190.307 Undergraduate Operating Systems or equivalent • 4190.308 Undergraduate Computer Architecture or equivalent |
Grading | Exams: 70% Term project: 30% * Grading policy is subject to change |
Teaching Assistant | Kyujin Cho (bori19960 AT snu) |