{"title":"Thinking about A New Mechanism for Huge Page Management","authors":"Xinyu Li, Lei Liu, Shengjie Yang, Lu Peng, J. Qiu","doi":"10.1145/3343737.3343745","DOIUrl":"https://doi.org/10.1145/3343737.3343745","url":null,"abstract":"The Huge page mechanism is proposed to reduce the TLB misses and benefit the overall system performance. On the system with large memory capacity, using huge pages is an ideal choice to alleviate the virtual-to-physical address translation overheads. However, using huge pages might incur expensive memory compaction operations due to memory fragmentation problem, and lead to memory bloating as many huge pages are often underutilized in practice.\u0000 In order to address these problems, in this paper, we propose SysMon-H, a sampling module in OS kernel, which is able to obtain the huge page utilization in a low overhead for both cloud and desktop applications. Furthermore, we propose H-Policy, a huge page management policy, which splits the underutilized huge pages to mitigate the memory bloating or promotes the base 4KB pages to huge pages for reducing the TLB misses based on the information provided by SysMon-H. In our prototype, SysMon-H and H-Policy work cooperatively in OS kernel.","PeriodicalId":202924,"journal":{"name":"Asia Pacific Workshop on Systems","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-08-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132872954","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}
Erfan Sharafzadeh, Seyed Alireza Sanaee Kohroudi, Esmail Asyabi, M. Sharifi
{"title":"Yawn: A CPU Idle-state Governor for Datacenter Applications","authors":"Erfan Sharafzadeh, Seyed Alireza Sanaee Kohroudi, Esmail Asyabi, M. Sharifi","doi":"10.1145/3343737.3343740","DOIUrl":"https://doi.org/10.1145/3343737.3343740","url":null,"abstract":"Idle-state governors partially turn off idle CPUs, allowing them to go to states known as idle-states to save power. Exiting from these idle-sates, however, imposes delays on the execution of tasks and aggravates tail latency. Menu, the default idle-state governor of Linux, predicts periods of idleness based on the historical data and the disk I/O information to choose proper idle-sates. Our experiments show that Menu can save power, but at the cost of sacrificing tail latency, making Menu an inappropriate governor for data centers that host latency-sensitive applications. In this paper, we present the initial design of Yawn, an idle-state governor that aims to mitigate tail latency without sacrificing power. Yawn leverages online machine learning techniques to predict the idle periods based on information gathered from all parameters affecting idleness, including network I/O, resulting in more accurate predictions, which in turn leads to reduced response times. Preliminary benchmarking results demonstrate that Yawn reduces the 99th latency percentile of Memcached requests by up to 40%.","PeriodicalId":202924,"journal":{"name":"Asia Pacific Workshop on Systems","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-08-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125754275","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":"Understanding Security Vulnerabilities in File Systems","authors":"Miao Cai, Hao Huang, Jian Huang","doi":"10.1145/3343737.3343753","DOIUrl":"https://doi.org/10.1145/3343737.3343753","url":null,"abstract":"File systems have been developed for decades with the security-critical foundation provided by operating systems. However, they are still vulnerable to malware attacks and software defects. In this paper, we undertake the first attempt to systematically understand the security vulnerabilities in various file systems. We conduct an empirical study of 157 real cases reported in Common Vulnerabilities and Exposures (CVE). We characterize the file system vulnerabilities in different dimensions that include the common vulnerabilities leveraged by adversaries to initiate their attacks, their exploitation procedures, root causes, consequences, and mitigation approaches. We believe the insights derived from this study have broad implications related to the further enhancement of the security aspect of file systems, and the associated vulnerability detection tools.","PeriodicalId":202924,"journal":{"name":"Asia Pacific Workshop on Systems","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-08-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129211810","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}
He Shuang, Wei Huang, Pushkar Bettadpur, Lianying Zhao, I. Pustogarov, D. Lie
{"title":"Using Inputs and Context to Verify User Intentions in Internet Services","authors":"He Shuang, Wei Huang, Pushkar Bettadpur, Lianying Zhao, I. Pustogarov, D. Lie","doi":"10.1145/3343737.3343739","DOIUrl":"https://doi.org/10.1145/3343737.3343739","url":null,"abstract":"An open security problem is how a server can tell whether a request submitted by a client is legitimately intended by the user or fakes by malware that has infected the user's system. This paper proposes Attested Intentions (AINT), to ensure user intention is properly translated to service requests. AINT uses a trusted hypervisor to record user inputs and context, and uses an Intel SGX enclave to continuously verify that the context, where user interaction occurs, has not been tampered with. After verification, AINT also uses SGX enclave for execution protection to generate the service request using the inputs collected by the hypervisor. To address privacy concerns over the recording of user inputs and context, AINT performs all verification on the client device, so that recorded data is never transmitted to a remote party.","PeriodicalId":202924,"journal":{"name":"Asia Pacific Workshop on Systems","volume":"233 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-08-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114261710","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":"Brokered Agreements in Multi-Party Machine Learning","authors":"Clement Fung, Ivan Beschastnikh","doi":"10.1145/3343737.3343744","DOIUrl":"https://doi.org/10.1145/3343737.3343744","url":null,"abstract":"Rapid machine learning (ML) adoption across a range of industries has prompted numerous concerns. These range from privacy (how is my data being used?) to fairness (is this model's result representative?) and provenance (who is using my data and how can I restrict this usage?).\u0000 Now that ML is widely used, we believe it is time to rethink security, privacy, and incentives in the ML pipeline by re-considering control. We consider distributed multi-party ML proposals and identify their shortcomings. We then propose brokered learning, which distinguishes the curator (who determines the training set-up) from that of the broker coordinator (who runs the training process). We consider the implications of this setup and present evaluation results from implementing and deploying TorMentor, an example of a brokered learning system that implements the first distributed ML training system with anonymity guarantees.","PeriodicalId":202924,"journal":{"name":"Asia Pacific Workshop on Systems","volume":"156 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-08-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131520793","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":"ExtOS: Data-centric Extensible OS","authors":"A. Barbalace, Javier Picorel, Pramod Bhatotia","doi":"10.1145/3343737.3343742","DOIUrl":"https://doi.org/10.1145/3343737.3343742","url":null,"abstract":"Today's computer architectures are fundamentally different than a decade ago: IO devices and interfaces can sustain much higher data rates than the compute capacity of a single threaded CPU. To meet the computational requirements of modern applications, the operating system (OS) requires lean and optimized software running on CPUs for applications to fully exploit the IO resources. Despite the changes in hardware, today's traditional system software unfortunately uses the same assumptions of a decade ago---the IO is slow, and the CPU is fast.\u0000 This paper makes a case for the data-centric extensible OS, which enables full exploitation of emerging high-performance IO hardware. Based on the idea of minimizing data movements in software, a top-to-bottom lean and optimized architecture is proposed, which allows applications to customize the OS kernel's IO subsystems with application-provided code. This enables sharing and high-performance IO among applications---initial microbenchmarks on a Linux prototype where we used eBPF to specialize the Linux kernel show performance improvements of up to 1.8× for database primitives and 4.8× for UNIX utility tools.","PeriodicalId":202924,"journal":{"name":"Asia Pacific Workshop on Systems","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-08-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125474776","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":"RocketStreams: A Framework for the Efficient Dissemination of Live Streaming Video","authors":"Benjamin Cassell, H. Hoang, Tim Brecht","doi":"10.1145/3343737.3343751","DOIUrl":"https://doi.org/10.1145/3343737.3343751","url":null,"abstract":"Live streaming video accounts for major portions of modern Internet traffic. Services like Twitch and YouTube Live rely on the high-speed distribution of live streaming video content to vast numbers of viewers. For popular content the data is disseminated (replicated) to multiple servers in data centres (or IXPs) for scalable, encrypted delivery to nearby viewers.\u0000 In this paper we sketch our design of RocketStreams, a framework designed to facilitate the high-performance dissemination of live streaming video content. RocketStreams removes the need for live streaming services to design complicated data management and networking solutions, replacing them with an easy-to-use API and backend that handles data movement on behalf of the applications. In addition to its support for TCP-based communication, RocketStreams supports CPU-efficient dissemination over RDMA, when available. We demonstrate the utility of RocketStreams for providing live streaming video dissemination by modifying a web server to make use of the framework. Preliminary results show that RocketStreams performs similarly to Redis on dissemination nodes. On delivery nodes, RocketStreams reduces CPU utilization by up to 54% compared to Redis, and therefore supports up to 27% higher simultaneous viewer throughput. When using RDMA, RocketStreams supports up to 73% higher ingest traffic on dissemination nodes compared with Redis, reduces delivery node CPU utilization by up to 95%, and supports up to 55% more simultaneous viewers.","PeriodicalId":202924,"journal":{"name":"Asia Pacific Workshop on Systems","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-08-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125145016","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}
June Kim, Jangwoong Kim, Hyeongu Kang, Chang-Gyu Lee, Sungyong Park, Youngjae Kim
{"title":"pNOVA: Optimizing Shared File I/O Operations of NVM File System on Manycore Servers","authors":"June Kim, Jangwoong Kim, Hyeongu Kang, Chang-Gyu Lee, Sungyong Park, Youngjae Kim","doi":"10.1145/3343737.3343748","DOIUrl":"https://doi.org/10.1145/3343737.3343748","url":null,"abstract":"NOVA is a state-of-the-art non-volatile memory file system that logs on a per-file basis to ensure consistency. However, NOVA does not show scalability when multiple threads perform I/Os to a single shared file on Manycore servers. We identified two problems: First, when multiple threads write to a single file restricts parallel writes because of a coarse-grained lock on files in the file system layer. Second, when multiple threads read to a single file, every reader lock acquisition invalidates cachelines of waiting threads and block holders. In order to solve the aforementioned problems, we propose pNOVA, a variant of NOVA that accelerates parallel writes and reads to the same file of multiple threads. First, pNOVA employs a fine-grained range lock, for which we take two implementations, an interval tree based range locking and an atomic operation-based range locking, rather than a coarse-grained lock on files. Second, by defining a range locking variable per each file range, we alleviate the cacheline invalidation problem of a single read counter. Lastly, we address the potential consistency damage incurred by parallel writes to the shared file, and provide consistency using a commit mark based logging method. We evaluated pNOVA on a Manycore server with 120 cores. For microbenchmark, pNOVA showed up to 3.5× higher I/O throughput than NOVA for concurrent shared file write workload. In the Filebench-OLTP benchmark, pNOVA showed up to 1.66× higher transaction processing rate than NOVA.","PeriodicalId":202924,"journal":{"name":"Asia Pacific Workshop on Systems","volume":"240 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-08-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134334232","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":"Rebooting Virtualization Research (Again)","authors":"A. Tchana, Renaud Lachaize","doi":"10.1145/3343737.3343746","DOIUrl":"https://doi.org/10.1145/3343737.3343746","url":null,"abstract":"Visible or hidden, virtualization platforms remain the cornerstone of the cloud and the performance overheads of the latest generations have shrunk. Is hypervisor research dead? We argue that the upcoming trends of hardware disaggregation in the data center motivate a new chapter of virtualization research. We explain why the guest virtual machine abstraction is still relevant in such a new hardware environment and we discuss challenges and ideas for hypervisor and guest OS design in this context. Finally, we propose the architecture of a research platform to explore these questions.","PeriodicalId":202924,"journal":{"name":"Asia Pacific Workshop on Systems","volume":"103 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-08-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130154727","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}
Yuichiro Ozaki, Sousuke Kanamoto, H. Yamamoto, Kenichi Kourai
{"title":"Detecting System Failures with GPUs and LLVM","authors":"Yuichiro Ozaki, Sousuke Kanamoto, H. Yamamoto, Kenichi Kourai","doi":"10.1145/3343737.3343749","DOIUrl":"https://doi.org/10.1145/3343737.3343749","url":null,"abstract":"Since system failures cause a huge financial loss, they should be detected as early and accurately as possible and then be recovered rapidly. To detect system failures, there are mainly two methods: black-box and white-box monitoring. However, external black-box monitoring cannot obtain detailed information on system failures, while internal white-box one is largely affected by system failures. This paper proposes GPUSentinel for more reliable white-box monitoring using general-purpose GPUs. In GPUSentinel, system monitors running in a GPU analyze main memory and indirectly obtain the state of the target system. Since GPUs are isolated from the target system, system monitors are not easily affected by system failures. For easy development of system monitors, GPUSentinel provides a development environment including program transformation with LLVM. In addition, it also provides reliable notification mechanisms to remote hosts. We have implemented GPUSentinel using CUDA and the Linux kernel and confirmed that GPUSentinel could detect three types of system failures.","PeriodicalId":202924,"journal":{"name":"Asia Pacific Workshop on Systems","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-08-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125884948","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}