ECE5658S16 Schedule (Spring 2017)

[Schedule]

The following schedule is tentative and subject to change without notice.

  • Week 1: Course overview & operating systems concept
  • Week 2: Operating systems design paradigms - Fery Andrian and Cassiano Campes
    1. Exokernel: an operating system architecture for application-level resource management, in Proceedings of the fifteenth ACM symposium on Operating systems principles, D. R. Engler et al., 1995
    2. From L3 to seL4 What Have We Learnt in 20 Years of L4 Microkernels?, in Proceedings of the twenty-fourth ACM symposium on operating systems principles, K. Elphinstone, 2013
  • Week 3: Process management - Cassiano Campes and Soyoung Park
    1. Resource Containers: A New Facility for Resource Management in Server Systems, in Proceedings of the 3rd Symposium on Operating Systems Design and Implementation, G. Banga et al., 1999
    2. PTask: Operating System Abstractions To Manage GPUs as Compute Devices, in Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles, C. J. Rossbach et al., 2011
  • Week 4: Process scheduling - Sang Min Lee and Hwanjin Yong
    1. Lottery Scheduling: Flexible Proportional-Share Resource Management, in Proceedings of the 1st USENIX conference on operating systems design and implementation, C. A. Waldspurger et al., 1994
    2. Thread clustering: sharing-aware scheduling on SMP-CMP-SMT multiprocessors, in Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems, D. Tam et al., 2007
  • Week 5: Power management and energy efficiency Δ - Hojung Choi and MinChang Kim
    1. Vertigo: automatic performance-setting for Linux, in Proceedings of the 5th symposium on Operating systems design and implementation, K. Flaunter et al., 2002
    2. Power containers: an OS facility for fine-grained power and energy management on multicore servers, in Proceedings of the eighteenth international conference on Architectural support for programming languages and operating systems, K. Shen et al., 2013
  • Week 6: Interrupt handling and interprocess communications Δ - Yogi Salomo and Youngho Choi
    1. Implementing remote procedure calls, ACM Transactions on Computer Systems, Vol. 2, Issue 1, A. D. Birrell, 1984
    2. Supporting time-sensitive applications on a commodity OS, in Proceedings of the 5th symposium on Operating systems design and implementation, A. Goel et al., 2002
  • Week 7: Multiprocessing and synchronisation Δ - Hyunsu Lee and Kitae Lee
    1. Everything You Always Wanted to Know About Synchronization but Were Afraid to Ask, in Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles, T. David et al., 2013
    2. The scalable commutativity rule: designing scalable software for multicore processors, in Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles, A. T. Clements et al., 2013
  • Week 8: Midterm exam
  • Week 9: Kernel memory management Δ - Jungmin Ryu and Wonseok Song
    1. The impact of operating system structure on memory system performance, in Proceedings of the fourteenth ACM symposium on Operating systems principles, J. B. Chen et al., 1993
    2. Magazines and Vmem: Extending the Slab Allocator to Many CPUs and Arbitrary Resources, in Proceedings of the 2001 USENIX Annual Technical Conference, W. Dietz et al., 2001
  • Week 10: Virtual memory management - Soonhyun Kwon and Minwoo Ahn
    1. Lightweight recoverable virtual memory, in Proceedings of the fourteenth ACM symposium on Operating systems principles, M. Satyanarayanan et al., 1993
    2. Regularities considered harmful: forcing randomness to memory accesses to reduce row buffer conflicts for multi-core, multi-bank systems, in Proceedings of the eighteenth international conference on Architectural support for programming languages and operating systems, H. Park et al., 2013
  • Week 11: Cache and buffer management - Hyojin Kim and Jinyong Kim
    1. IO‚ąíLite: A Unified I/O Buffering and Caching System, in Proceedings of the 3rd Symposium on Operating Systems Design and Implementation, V. S. Pai et al., 1999
    2. Utilizing the IOMMU Scalably, in Proceedings of the 2015 USENIX Conference on Usenix Annual Technical Conference, O. Peleg, 2015
  • Week 12: I/O and device handling Δ - Hayoun Lee and Joohyun Choi
    1. Recovering Device Drivers, in Proceedings of the sixth Symposium on Operating Systems Design and Implementation, M. M. Swift et al., 2004
    2. IX: a protected dataplane operating system for high throughput and low latency, in Proceedings of the 11th USENIX conference on Operating Systems Design and Implementation, A. Belay et al., 2014
  • Week 13: Virtual file system and file system concepts Δ - DaeKyu Park and Yongju Song
    1. Rethink the Sync, in Proceedings of the 7th symposium on Operating systems design and implementation, E. B. Nightingale et al., 2006
    2. Aerie: Flexible File-System Interfaces to Storage-Class Memory, in Proceedings of the Ninth European Conference on Computer Systems, H. Volos et al., 2014
  • Week 14: File system implementations Δ - Hyojin Park and Jongkyu Park
    1. The design and implementation of a log-structured file system, ACM Transactions on Computer Systems, Vol. 10, Issue 1, pp. 26-52, M. Rosenblum et al., 1992
    2. F2FS: A New File System for Flash Storage, in Proceedings of the 2015 USENIX Annual Technical Conference, Lee et al., 2015
  • Week 15: Future of operating systems design Δ - Jhuyeong Jhin and Bien Aime Mugabarigira
    1. Corey: an operating system for many cores, in Proceedings of the 8th USENIX conference on operating systems design and implementation, S. Boyd-Wickizer et al., 2008
    2. VirtuOS: an operating system with kernel virtualisation, in Proceedings of the twenty-fourth ACM symposium on operating systems principles, R. Nikolaev, 2013
  • Week 16: Final Exam