"Learned"

With operating systems being at the core of computer systems, decades of research and engineering efforts have been put into the development of OSes. To keep pace with the speed of modern hardware and application evolvement, we argue that a different approach should be taken in future OS development. Instead of relying solely on human wisdom, we should also leverage AI and machine learning techniques to automatically "learn" how to build and tune an OS. This paper explores the opportunities and challenges of the "learned" OS approach and makes recommendation for future researchers and practitioners on building such an OS.

[1]  David A. Patterson,et al.  In-datacenter performance analysis of a tensor processing unit , 2017, 2017 ACM/IEEE 44th Annual International Symposium on Computer Architecture (ISCA).

[2]  John L. Florell,et al.  Sharing , 1979 .

[3]  Eric Schkufza,et al.  Sharing, Protection, and Compatibility for Reconfigurable Fabric with AmorphOS , 2018, OSDI.

[4]  Mrinmoy Ghosh,et al.  Performance analysis of NVMe SSDs and their implication on real world databases , 2015, SYSTOR.

[5]  Joo Young Hwang,et al.  F2FS: A New File System for Flash Storage , 2015, FAST.

[6]  Sachin Katti,et al.  Reducing DRAM footprint with NVM in Facebook , 2018, EuroSys.

[7]  Warren Smith,et al.  Predicting Application Run Times Using Historical Information , 1998, JSSPP.

[8]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[9]  A. Negi,et al.  Applying Machine Learning Techniques to Improve Linux Process Scheduling , 2005, TENCON 2005 - 2005 IEEE Region 10 Conference.

[10]  Valentina Emilia Balas,et al.  Stealing Neural Networks via Timing Side Channels , 2018, ArXiv.

[11]  Yi Qiao,et al.  Transkernel: An Executor for Commodity Kernels on Peripheral Cores , 2018, ArXiv.

[12]  Christoforos E. Kozyrakis,et al.  Learning Memory Access Patterns , 2018, ICML.

[13]  Tim Kraska,et al.  The Case for Learned Index Structures , 2018 .

[14]  David G. Andersen,et al.  Design Guidelines for High Performance RDMA Systems , 2016, USENIX ATC.

[15]  Jean-Philippe Martin,et al.  Dandelion: a compiler and runtime for heterogeneous systems , 2013, SOSP.

[16]  Frank Singhoff,et al.  Lynx: a learning linux prefetching mechanism for SSD performance model , 2016, 2016 5th Non-Volatile Memory Systems and Applications Symposium (NVMSA).

[17]  Hari Angepat,et al.  A cloud-scale acceleration architecture , 2016, 2016 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[18]  Tim Kraska,et al.  SageDB: A Learned Database System , 2019, CIDR.

[19]  Kushagra Vaid,et al.  Azure Accelerated Networking: SmartNICs in the Public Cloud , 2018, NSDI.

[20]  Michael Mitzenmacher,et al.  A Model for Learned Bloom Filters and Optimizing by Sandwiching , 2018, NeurIPS.

[21]  Alex Graves,et al.  Memory-Efficient Backpropagation Through Time , 2016, NIPS.