Proceedings of the 11th Workshop on Programming Languages and Operating Systems最新文献

筛选
英文 中文
FlashCube 方形闪光
Proceedings of the 11th Workshop on Programming Languages and Operating Systems Pub Date : 2021-10-25 DOI: 10.1145/3477113.3487273
Z. Lin, Kao-Feng Hsieh, Yu Sun, Seunghee Shin, Hui Lu
{"title":"FlashCube","authors":"Z. Lin, Kao-Feng Hsieh, Yu Sun, Seunghee Shin, Hui Lu","doi":"10.1145/3477113.3487273","DOIUrl":"https://doi.org/10.1145/3477113.3487273","url":null,"abstract":"Fast provisioning of serverless functions is salient for serverless platforms. Though lightweight sandboxes (e.g., containers) enclose only necessary files and libraries, a cold launch still requires up to a few seconds to complete. Such slow provisioning prolongs the response time of serverless functions and negatively impacts users' experiences. This paper analyzes the main reasons for such slowdown and introduces an effective containerization framework, FlashCube. Instead of building a container from scratch, FlashCube quickly and efficiently assembles it through a group of pre-created general container parts (e.g., namespaces, cgroups, and language runtimes). In addition, FlashCube's user-space implementation makes it easily applicable to existing commodity serverless platforms. Our preliminary evaluation demonstrates that FlashCube can quickly provision containerized functions in less than 10 ms (vs. ~400 ms using Docker containers).","PeriodicalId":136137,"journal":{"name":"Proceedings of the 11th Workshop on Programming Languages and Operating Systems","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133745407","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
Using Coroutines for Multi-core Preemptive Scheduling 在多核抢占调度中使用协程
Proceedings of the 11th Workshop on Programming Languages and Operating Systems Pub Date : 2021-10-25 DOI: 10.1145/3477113.3487271
O. Madsen
{"title":"Using Coroutines for Multi-core Preemptive Scheduling","authors":"O. Madsen","doi":"10.1145/3477113.3487271","DOIUrl":"https://doi.org/10.1145/3477113.3487271","url":null,"abstract":"The advent of multi-core processors has increased the demand for programming concurrent systems. In this paper, we explore the use of SIMULA style coroutines and other primitives as a basis for defining a broad class of high-level concurrency abstractions including the definition of associated schedulers. The main contribution in this paper is an implementation of preemptive coroutines for a multi-core processor in an experimental version of Beta. The overall goal is to use a high-level language to program applications on a bare bone platform without an operating system.","PeriodicalId":136137,"journal":{"name":"Proceedings of the 11th Workshop on Programming Languages and Operating Systems","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130728818","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Decoupling Application Logic from Persistent Memory Frameworks with AspectC++ 用aspectc++将应用逻辑与持久内存框架解耦
Proceedings of the 11th Workshop on Programming Languages and Operating Systems Pub Date : 2021-10-25 DOI: 10.1145/3477113.3487269
Marcel Köppen, Daniel Friesel, C. Borchert, O. Spinczyk
{"title":"Decoupling Application Logic from Persistent Memory Frameworks with AspectC++","authors":"Marcel Köppen, Daniel Friesel, C. Borchert, O. Spinczyk","doi":"10.1145/3477113.3487269","DOIUrl":"https://doi.org/10.1145/3477113.3487269","url":null,"abstract":"Over the past decade, various systems and software libraries have been developed that provide crash consistency on byte-addressable persistent memory. They often require programmers to adapt their code significantly or to use special compiler plugins. Constant innovation in this evolving field makes it desirable to be able to easily switch to more recent systems without massive code refactoring, and without changing compilers. In this paper, we show how aspect-oriented programming can be used to automatically apply crash consistency to normal, sparsely annotated C++ code. In two case studies, we find that our approach significantly reduces the amount of code required to apply state-of-the-art crash consistency frameworks such as PMDK libpmemobj++ and Pronto.","PeriodicalId":136137,"journal":{"name":"Proceedings of the 11th Workshop on Programming Languages and Operating Systems","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125271610","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
AnyCall: Fast and Flexible System-Call Aggregation AnyCall:快速灵活的系统呼叫聚合
Proceedings of the 11th Workshop on Programming Languages and Operating Systems Pub Date : 2021-10-25 DOI: 10.1145/3477113.3487267
Luis Gerhorst, Benedict Herzog, S. Reif, Wolfgang Schröder-Preikschat, Timo Hönig
{"title":"AnyCall: Fast and Flexible System-Call Aggregation","authors":"Luis Gerhorst, Benedict Herzog, S. Reif, Wolfgang Schröder-Preikschat, Timo Hönig","doi":"10.1145/3477113.3487267","DOIUrl":"https://doi.org/10.1145/3477113.3487267","url":null,"abstract":"Operating systems rely on system calls to allow the controlled communication of isolated processes with the kernel and other processes. Every system call includes a processor mode switch from the unprivileged user mode to the privileged kernel mode. Although processor mode switches are the essential isolation mechanism to guarantee the system's integrity, they induce direct and indirect performance costs as they invalidate parts of the processor state. In recent years, high-performance networks and storage hardware has made the user/kernel transition overhead the bottleneck for IO-heavy applications. To make matters worse, security vulnerabilities in modern processors (e.g., Meltdown) have prompted kernel mitigations that further increase the transition overhead. To decouple system calls from user/kernel transitions we propose AnyCall, which uses an in-kernel compiler to execute safety-checked user bytecode in kernel mode. This allows for very fast system calls interleaved with error checking and processing logic using only a single user/kernel transition. We have implemented AnyCall based on the Linux kernel's extended Berkeley Packet Filter (eBPF) subsystem. Our evaluation demonstrates that system call bursts are up to 55 times faster using AnyCall and that real-world applications can be sped up by 24 % even if only a minimal part of their code is run by AnyCall.","PeriodicalId":136137,"journal":{"name":"Proceedings of the 11th Workshop on Programming Languages and Operating Systems","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116211484","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 6
How ISO C became unusable for operating systems development ISO C是如何变得无法用于操作系统开发的
Proceedings of the 11th Workshop on Programming Languages and Operating Systems Pub Date : 2021-10-25 DOI: 10.1145/3477113.3487274
Victor Yodaiken
{"title":"How ISO C became unusable for operating systems development","authors":"Victor Yodaiken","doi":"10.1145/3477113.3487274","DOIUrl":"https://doi.org/10.1145/3477113.3487274","url":null,"abstract":"The C programming language was developed in the 1970s as a fairly unconventional systems and operating systems development tool, but has, through the course of the ISO Standards process, added many attributes of more conventional programming languages and become less suitable for operating systems development. Operating system programming continues to be done in non-ISO dialects of C. The differences provide a glimpse of operating system requirements for programming languages.","PeriodicalId":136137,"journal":{"name":"Proceedings of the 11th Workshop on Programming Languages and Operating Systems","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114216036","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
Generating correct initial page tables from formal hardware descriptions 根据正式的硬件描述生成正确的初始页表
Proceedings of the 11th Workshop on Programming Languages and Operating Systems Pub Date : 2021-10-25 DOI: 10.1145/3477113.3487270
Reto Achermann, David A. Cock, Roni Haecki, Nora Hossle, Lukas Humbel, Timothy Roscoe, D. Schwyn
{"title":"Generating correct initial page tables from formal hardware descriptions","authors":"Reto Achermann, David A. Cock, Roni Haecki, Nora Hossle, Lukas Humbel, Timothy Roscoe, D. Schwyn","doi":"10.1145/3477113.3487270","DOIUrl":"https://doi.org/10.1145/3477113.3487270","url":null,"abstract":"Modern hardware platforms are increasingly complex and heterogeneous. System software uses a hodgepodge of different mechanisms and representations to express the memory topology of the target platform. Considerable maintenance effort is required to keep them in sync while often sharing is impossible due to hard-coded values. Incorrect platform-specific values in the hardware initialization sequence can lead to security critical and hard-to-find bugs because of misconfigured translation hardware, inaccessible devices, or the use of bad pointers. We present a better way for system software to express and initialize memory hardware. We adopt an existing, powerful hardware description language, and efficiently compile it to generate correct initial page tables and memory maps for OS kernels and firmware from a single system description. We evaluate our system on multiple architectures and platforms, and demonstrate that we can use the generated data structures to successfully initialize translation hardware, devices, memory maps, and allocators enabling easy support of new hardware platforms.","PeriodicalId":136137,"journal":{"name":"Proceedings of the 11th Workshop on Programming Languages and Operating Systems","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129594015","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
PyMM: Heterogeneous Memory Programming for Python Data Science PyMM: Python数据科学的异构内存编程
Proceedings of the 11th Workshop on Programming Languages and Operating Systems Pub Date : 2021-10-25 DOI: 10.1145/3477113.3487266
D. Waddington, Moshik Hershcovitch, Clem Dickey
{"title":"PyMM: Heterogeneous Memory Programming for Python Data Science","authors":"D. Waddington, Moshik Hershcovitch, Clem Dickey","doi":"10.1145/3477113.3487266","DOIUrl":"https://doi.org/10.1145/3477113.3487266","url":null,"abstract":"While persistent memory (PMEM) is a promising technology, leveraging it with legacy applications is non-trivial. This is primarily because legacy applications assume all memory is volatile and there is no notion of crash-consistency or state recovery. As new types of persistent and intelligent memory emerge, propelled by the CXL standard, the problem of integration and adoption remains. In this paper we present PyMM, a framework for heterogeneous memory management in Python. It provides a means to abstract upon different memory types and their underlying traits (e.g., persistence, near/far). PyMM focuses on ease-of-use and employs an approach of sub-classing existing heavily-used types such as NumPy ndarray and PyTorch tensors. By doing so, PyMM allows new memory adoption with only minor modification to the application.","PeriodicalId":136137,"journal":{"name":"Proceedings of the 11th Workshop on Programming Languages and Operating Systems","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126673981","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 5
Files-as-Filesystems for POSIX Shell Data Processing POSIX Shell数据处理的文件即文件系统
Proceedings of the 11th Workshop on Programming Languages and Operating Systems Pub Date : 2021-10-25 DOI: 10.1145/3477113.3487265
M. Greenberg
{"title":"Files-as-Filesystems for POSIX Shell Data Processing","authors":"M. Greenberg","doi":"10.1145/3477113.3487265","DOIUrl":"https://doi.org/10.1145/3477113.3487265","url":null,"abstract":"The POSIX shell is 'stringy', and its ecosystem primarily supports line-oriented formats. While such formats are popular and common, contemporary programming often involves semi-structured data, like JSON or YAML. Dealing with such formats, the shell's stringiness leaves users out in the cold---the POSIX ecosystem struggles with semi-structured data. New command-line tools work well with 'modern' data formats, but each tool is its own complex language to learn. The tree-like filesystem is the shell's only real data structure. By mapping 'modern' formats onto file hierarchies, we can work effectively in the existing ecosystem. We introduce ffs, the file filesystem, a new tool for mapping semi-structured data formats to filesystems in userspace. Like /proc and /sys, our filesystem-based approach helps the shell (and other tools) manipulate structured data.","PeriodicalId":136137,"journal":{"name":"Proceedings of the 11th Workshop on Programming Languages and Operating Systems","volume":"47 2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129819213","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Isolation in Rust: What is Missing? Rust中的隔离:缺少什么?
Proceedings of the 11th Workshop on Programming Languages and Operating Systems Pub Date : 2021-10-25 DOI: 10.1145/3477113.3487272
A. Burtsev, Daniel M. Appel, David Detweiler, Tianjiao Huang, Zhaofeng Li, Vikram Narayanan, Gerd Zellweger
{"title":"Isolation in Rust: What is Missing?","authors":"A. Burtsev, Daniel M. Appel, David Detweiler, Tianjiao Huang, Zhaofeng Li, Vikram Narayanan, Gerd Zellweger","doi":"10.1145/3477113.3487272","DOIUrl":"https://doi.org/10.1145/3477113.3487272","url":null,"abstract":"Rust is the first practical programming language that has the potential to provide fine-grained isolation of untrusted computations at the language level. A combination of zero-overhead safety, i.e., safety without a managed runtime and garbage collection, and a unique ownership discipline enable isolation in systems with tight performance budgets, e.g., databases, network processing frameworks, browsers, and even operating system kernels. Unfortunately, Rust was not designed with isolation in mind. Today, implementing isolation in Rust is possible but requires complex, ad hoc, and arguably error-prone mechanisms to enforce it outside of the language. We examine several recent systems that implement isolation in Rust but struggle with the shortcomings of the language. As a result of our analysis we identify a collection of mechanisms that can enable isolation as a first class citizen in the Rust ecosystem and suggest directions for implementing them.","PeriodicalId":136137,"journal":{"name":"Proceedings of the 11th Workshop on Programming Languages and Operating Systems","volume":"51 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125478569","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
Asterope: A Cross-Platform Optimization Method for Fast Memory Copy Asterope:一种快速内存复制的跨平台优化方法
Proceedings of the 11th Workshop on Programming Languages and Operating Systems Pub Date : 2021-10-25 DOI: 10.1145/3477113.3487264
Giorgos Kappes, S. Anastasiadis
{"title":"Asterope: A Cross-Platform Optimization Method for Fast Memory Copy","authors":"Giorgos Kappes, S. Anastasiadis","doi":"10.1145/3477113.3487264","DOIUrl":"https://doi.org/10.1145/3477113.3487264","url":null,"abstract":"Critical operations are often implemented in roughly the same way across multiple platforms, but differently by software systems running on the same platform. This observation is arguably justified by the potential restrictions of each software system, but it is surprising given the operation sensitivity to numerous platform-specific software and hardware parameters. With initial focus on the memory copy operation (memcpy), we introduce a methodology based on exhaustive search to optimize the performance across different platforms. We design and implement the Asterope algorithm to experimentally generate optimal memcpy parameters for two x86-64 processor models from different vendors. With experiments on microbenchmarks and two production systems, we demonstrate that Asterope respectively achieves up to 2.4x and 1.9x higher function and system performance in comparison to using the Linux kernel memcpy.","PeriodicalId":136137,"journal":{"name":"Proceedings of the 11th Workshop on Programming Languages and Operating Systems","volume":"257 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-10-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127622084","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信
小红书