Nikilesh Balakrishnan, Lucian Carata, Thomas Bytheway, R. Sohan, A. Hopper
{"title":"Non-repudiable disk I/O in untrusted kernels","authors":"Nikilesh Balakrishnan, Lucian Carata, Thomas Bytheway, R. Sohan, A. Hopper","doi":"10.1145/3124680.3124745","DOIUrl":"https://doi.org/10.1145/3124680.3124745","url":null,"abstract":"It is currently impossible for an application to verify that the data it passes to the kernel for storage is actually submitted to an underlying device or that the data returned to an application by the kernel has actually originated from an underlying device. A compromised or malicious OS can silently discard data written by the application or return fabricated data during a read operation. This is a serious data integrity issue for use-cases where verifiable storage and retrieval of data is a necessary precondition for ensuring correct operation, for example with secure logging, APT monitoring and compliance. We outline a solution for verifiable data storage and retrieval by providing a trustworthy mechanism, based on Intel SGX, to authenticate and verify request data at both the application and storage device endpoints. Even in the presence of a malicious OS our design ensures the authenticity and integrity of data while performing disk I/O and detects any data loss attributable to the untrusted OS fabricating or discarding read and write requests respectively. We provide a nascent prototype implementation for the core system together with an evaluation highlighting the temporal overheads imposed by this mechanism.","PeriodicalId":242170,"journal":{"name":"Proceedings of the 8th Asia-Pacific Workshop on Systems","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115051932","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}
{"title":"Guaranteeing the Metadata Update Atomicity in EXT4 File system","authors":"Seongbae Son, J. Yoo, Y. Won","doi":"10.1145/3124680.3124722","DOIUrl":"https://doi.org/10.1145/3124680.3124722","url":null,"abstract":"In this paper, we address the issue of guaranteeing the atomicity of metadata update in a write() system call in EXT4 filesystem. Recent versions of EXT4 delay inserting the updated inode to the running journal transaction until the associated dirty pages are actually written to the disk. This is to avoid excessive f sync() overhead. While this approach effectively reduces the tail latency of f sync (), we found that it can incorrectly recover the file and it can expose the interim state of the inode to the application when the filesystem crashes unexpectedly. To address this problem, we propose Delayed Inode Update, DIU. Instead of separating the update of an inode and its insertion to the running transaction, we propose delaying the update until the associated inode is inserted into journal transaction. Delayed Inode Update is crafted not to entail any performance overhead nor does it increase the f sync() latency. With Delayed Inode Update, the average and the worst case latency of an f sync() decrease by 15% and 43% in a designated workload, respectively.","PeriodicalId":242170,"journal":{"name":"Proceedings of the 8th Asia-Pacific Workshop on Systems","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114713319","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}
Taegeon Um, Gyewon Lee, Sanha Lee, Kyungtae Kim, Byung-Gon Chun
{"title":"Scaling Up IoT Stream Processing","authors":"Taegeon Um, Gyewon Lee, Sanha Lee, Kyungtae Kim, Byung-Gon Chun","doi":"10.1145/3124680.3124746","DOIUrl":"https://doi.org/10.1145/3124680.3124746","url":null,"abstract":"Users create large numbers of IoT stream queries with data streams generated from various IoT devices. Current stream processing systems such as Storm and Flink are unable to support such large numbers of IoT stream queries efficiently, as their execution models cause a flurry of cache misses while processing the events of the queries. To solve this problem, we present a new group-aware execution model, which processes the events of IoT stream queries in a way that exploits the locality of data and code references, to reduce cache misses and improve system performance. The group-aware execution model leverages the fact that users create the groups of queries according to their interests or location contexts and that queries in the same group can share the same data and codes. We realize the group-aware execution model on MIST---a new stream processing system tailored for processing many IoT stream queries efficiently---to scale up the number of IoT queries that can be processed in a machine. Our preliminary evaluation shows that our group-aware execution model increases the number of queries that can be processed within a single machine up to 3.18X compared to the Flink-based execution model.","PeriodicalId":242170,"journal":{"name":"Proceedings of the 8th Asia-Pacific Workshop on Systems","volume":"72 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126337157","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}
Dhathri R. Purohith, Jayashree Mohan, Vijay Chidambaram
{"title":"The Dangers and Complexities of SQLite Benchmarking","authors":"Dhathri R. Purohith, Jayashree Mohan, Vijay Chidambaram","doi":"10.1145/3124680.3124719","DOIUrl":"https://doi.org/10.1145/3124680.3124719","url":null,"abstract":"Benchmarking systems in a repeatable fashion is complex and error-prone. The systems community has repeatedly discussed the complexities of benchmarking and how to properly report benchmarking results. Using the example of SQLite, we examine the current state of benchmarking in industry and academia. We show that changing just one parameter in SQLite can change the performance by 11.8X, and that changing multiple parameters can lead up to a 28X difference in performance. We find that these configuration parameters are often not set or reported in academic research, leading to incomplete and misleading evaluations. Running different off-the-shelf SQLite benchmarking tools such as Mobibench and Androbench in their default configuration shows upto 50% difference in performance. We hope this paper incites discussion in the systems community and among SQLite developers. We hope that our detailed analysis will help application developers to choose optimal SQLite parameters to achieve better performance.","PeriodicalId":242170,"journal":{"name":"Proceedings of the 8th Asia-Pacific Workshop on Systems","volume":"61 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128900196","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}
Marius Hillenbrand, Mathias Gottschlag, Jens Kehne, Frank Bellosa
{"title":"Multiple Physical Mappings: Dynamic DRAM Channel Sharing and Partitioning","authors":"Marius Hillenbrand, Mathias Gottschlag, Jens Kehne, Frank Bellosa","doi":"10.1145/3124680.3124742","DOIUrl":"https://doi.org/10.1145/3124680.3124742","url":null,"abstract":"When an OS allocates memory to a process, it implicitly performs long-term scheduling on DRAM resources such as channels and banks: Each mapped page frame allows memory operations to send requests to the channels and DRAM banks which are backing that page frame. The OS should be able to choose between sharing or dedicating resources dynamically -- yet it cannot do that on conventional systems. We observed slowdowns from DRAM interference of up to 36% on our 4-core prototype platform for some combinations of workloads, caused by the uncontrolled sharing of DRAM channels in the typical configuration of channel interleaving. Previous work proposed channel partitioning to mitigate that interference, but thereby reduces maximum throughput for individual applications even when workloads do not interfere. With our approach, we enable the OS to choose between channel interleaving and partitioning at run-time, at the granularity of address space (AS) segments. For that purpose, we map DRAM into the physical AS multiple times, as one dedicated region per channel for partitioning and then as another region that interleaves all channels. We implement this approach on commodity hardware. We change the OS's memory management so that we can dedicate channels to processes or share channels between processes with interleaving by choosing page frames from the appropriate region. As a result, we can switch to the configuration that achieves optimum execution speed and system throughput at application run-time (e.g., when workloads change), whereas a conventional system would have to choose interleaving or partitioning while booting.","PeriodicalId":242170,"journal":{"name":"Proceedings of the 8th Asia-Pacific Workshop on Systems","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130976728","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}
{"title":"Programming for Non-Volatile Main Memory Is Hard","authors":"Jinglei Ren, Qingda Hu, S. Khan, T. Moscibroda","doi":"10.1145/3124680.3124729","DOIUrl":"https://doi.org/10.1145/3124680.3124729","url":null,"abstract":"Using non-volatile memory as main memory (NVMM) can largely improve the performance of applications, but adds to the challenge of programming -- it turns out to be very error-prone to write real-world NVMM programs, especially with object-oriented programming. This paper presents a field study of erroneous NVMM programs written by programmers who are trained to use a general NVMM programming interface. We performed the field study in a training workshop of 30 participants. Our observations and derived best practices offer a reference for future NVMM programming techniques design. Toward that end, we propose a taxonomy of latest NVMM programming techniques and, accordingly, a set of paradigms that can reduce the risk of NVMM-specific bugs. The paradigms incorporate a minimal NVMM library interface design and a new design pattern inspired by the field study.","PeriodicalId":242170,"journal":{"name":"Proceedings of the 8th Asia-Pacific Workshop on Systems","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132933866","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}
Ivan Luiz Picoli, Carla Villegas Pasco, B. Jónsson, Luc Bouganim, Philippe Bonnet
{"title":"uFLIP-OC: Understanding Flash I/O Patterns on Open-Channel Solid-State Drives","authors":"Ivan Luiz Picoli, Carla Villegas Pasco, B. Jónsson, Luc Bouganim, Philippe Bonnet","doi":"10.1145/3124680.3124741","DOIUrl":"https://doi.org/10.1145/3124680.3124741","url":null,"abstract":"Solid-State Drives (SSDs) have gained acceptance by providing the same block device abstraction as magnetic hard drives, at the cost of suboptimal resource utilisation and unpredictable performance. Recently, Open-Channel SSDs have emerged as a means to obtain predictably high performance, based on a clean break from the block device abstraction. Open-channel SSDs embed a minimal flash translation layer (FTL) and expose their internals to the host. The Linux open-channel SSD subsystem, LightNVM, lets kernel modules as well as user-space applications control data placement and I/O scheduling. This way, it is the host that is responsible for SSD management. But what kind of performance model should the host rely on to guide the way it manages data placement and I/O scheduling? For addressing this question we have defined uFLIP-OC, a benchmark designed to identify the I/O patterns that are best suited for a given open-channel SSD. Our experiments on a Dragon-Fire Card (DFC) SSD, equipped with the OX controller, illustrate the performance impact of media characteristics and parallelism. We discuss how uFLIP-OC can be used to guide the design of host-based data systems on open-channel SSDs.","PeriodicalId":242170,"journal":{"name":"Proceedings of the 8th Asia-Pacific Workshop on Systems","volume":"61 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116693501","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}
Anrin Chakraborti, Bhushan Jain, Jan Kasiak, Zhang Tao, Donald E. Porter, R. Sion
{"title":"dm-x: Protecting Volume-level Integrity for Cloud Volumes and Local Block Devices","authors":"Anrin Chakraborti, Bhushan Jain, Jan Kasiak, Zhang Tao, Donald E. Porter, R. Sion","doi":"10.1145/3124680.3124732","DOIUrl":"https://doi.org/10.1145/3124680.3124732","url":null,"abstract":"The verified boot feature in recent Android devices, which deploys dm-verity, has been overwhelmingly successful in eliminating the extremely popular Android smart phone rooting movement [25]. Unfortunately, dm-verity integrity guarantees are read-only and do not extend to writable volumes. This paper introduces a new device mapper, dm-x, that efficiently (fast) and reliably (metadata journaling) assures volume-level integrity for entire, writable volumes. In a direct disk setup, dm-x overheads are around 6-35% over ext4 on the raw volume while offering additional integrity guarantees. For cloud storage (Amazon EBS), dm-x overheads are negligible.","PeriodicalId":242170,"journal":{"name":"Proceedings of the 8th Asia-Pacific Workshop on Systems","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134396869","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}
{"title":"TO FLUSH or NOT: Zero Padding in the File System with SSD Devices","authors":"Donghyun Kang, Y. Eom","doi":"10.1145/3124680.3124718","DOIUrl":"https://doi.org/10.1145/3124680.3124718","url":null,"abstract":"Guaranteeing data persistency is extremely critical in the file system, and for data consistency, most file systems use the flush command to force data to the persistent storage media, such as SSD devices. However, the FLUSH command significantly decreases the overall performance for flushing the data and the L2P mapping table stored on the write buffer. In this paper, we propose a novel alternative scheme, called zero padding, that ensures the same effect as physically issuing the FLUSH command while mitigating the performance problem of the flush command. To achieve this, zero padding fully utilizes both the behaviors of the write buffer and the bandwidth of SATA 3.0 interface. We have successfully realized zero padding in ext4 and JBD2 with a small modification, called ext4-zp, and experimentally compared it with the traditional ext4 journal modes. Our experimental results show that ext4-zp provides the best throughput in various workloads and outperforms ext4 with ordered mode by up to 40%.","PeriodicalId":242170,"journal":{"name":"Proceedings of the 8th Asia-Pacific Workshop on Systems","volume":"355 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125723807","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}
{"title":"Dynamic Refresh Rate Control for IGZO Display","authors":"T. Chiueh, J. Peng","doi":"10.1145/3124680.3124725","DOIUrl":"https://doi.org/10.1145/3124680.3124725","url":null,"abstract":"IGZO is a new type of semiconductor that is used in the thin film transistors of the backplane of modern displays, including LCD, OLED, AMOLED and micro LED. IGZO possesses several unique properties that enable substantial power reduction for IGZO-based displays. One of them is that its minimum refresh rate required to avoid flickering is 1 frame per second or lower, which affords the system designer an opportunity to reduce the display power consumption by dynamically tuning the run-time display refresh rate just high enough to meet the needs of running applications. This paper explores this display refresh rate control problem for IGZO display and its possible solutions, and shows that with proper hardware and software support the potential reduction of the total display power consumption of backlight-free IGZO displays could be a factor of more than 10.","PeriodicalId":242170,"journal":{"name":"Proceedings of the 8th Asia-Pacific Workshop on Systems","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-09-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124280041","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}