Yuanchao will give a practice talk for the following paper to appear at MICRO'21
Title: PCCS: Processor-Centric Contention-aware Slowdown Model for Heterogeneous System-on-Chip.
Abstract: Many slowdown models have been proposed to characterize memory interference of workloads co-running on heterogeneous System-on-Chips (SoCs). But they are mostly for post-silicon usage. How to effectively consider memory interference in the SoC design stage remains an open problem. This paper presents a new approach to this problem, consisting of a novel {\em processor-centric slowdown modeling} methodology and a new {\em three-region interference-conscious slowdown model}. The modeling process needs no measurement of co-running of various combinations of applications, but the produced slowdown models can be used to estimate the co-run slowdowns of arbitrary workloads on various SoC designs that embed a newer generation of accelerators, such as deep learning accelerators (DLA), in addition to CPUs and GPUs. The new method reduces average prediction errors of the state-of-art model from 24.8% to 8.7% on GPU, and from 13.0% to 3.3% on CPU, and demonstrates much improved efficacy in guiding SoC designs.
Guoliang will give a practice talk for the following paper to appear at OOPSLA'21
Title: UDF to SQL Translation through Compositional Lazy Inductive Synthesis
Abstract: Many data processing systems allow SQL queries that call user-defined functions (UDFs)written in conventional programming languages. While such SQL extensions provide convenience and flexibility to users, queries involving UDFs are not as efficient as their pure SQL counterparts that invoke SQL’s highly-optimized built-in functions. Motivated by this problem, we propose a new technique for translating SQL queries with UDFs to pure SQL expressions. Unlike prior work in this space (Ramachandra et al., 2017a), our method is not based on syntactic rewrite rules and can handle a much more general class of UDFs. At a high-level, our method is based on counterexample-guided inductive synthesis (CEGIS) but employs a novel compositional strategy that decomposes the synthesis task into simpler sub-problems. However, because there is no universal decomposition strategy that works for all UDFs, we propose a novel lazy inductive synthesis approach that generates a sequence of decompositions that correspond to increasingly harder inductive synthesis problems. Because most realistic UDF-to-SQL translation tasks are amenable to a fine-grained decomposition strategy, our lazy inductive synthesis method scales significantly better than traditional CEGIS.
We have implemented our proposed technique in a tool called CLIS for optimizing Spark SQL programs containing Scala UDFs. To evaluate CLIS, we manually study 100 randomly selected UDFs and find that 63 of them can be expressed in pure SQL. Our evaluation on these 63 UDFs shows that CLIS can automatically synthesize equivalent SQL expressions in 92% of the cases and that it can solve 2.4× more benchmarks compared to a baseline that does not use our compositional approach. We also show that CLIS yields an average speed-up of 4.6× for individual UDFs and 1.3× to 3.1× in terms of end-to-end application performance.
Shudi will give a practice talk for the following paper to appear at ISSRE'21
Title: A Characteristic Study of Deadlocks in Database-Backed Web Applications
Abstract: Deadlocks in database-backed web applications could involve different numbers of HTTP requests, and they could be caused by locks explicitly requested in application code or implicitly requested by databases during query execution. To help developers understand these deadlocks and guide the design of tools for combating these deadlocks, we conduct a characteristic study with 49 deadlocks collected from real-world web applications developed following different programming paradigms. We provide categorization results based on HTTP request numbers and resource types, with a special focus on categorizing deadlocks on database locks. We expect our results to be useful for application developers to understand web-application deadlocks and for tool researchers to design comprehensive support for combating web-application deadlocks.
Xu and Qidong will present their ongoing work
Title: EasyView: Bridging Software Developers with Dynamic Program Analysis
Abstract: Dynamic program analysis (also known as profiling) is well-known for its powerful capabilities of identifying performance inefficiencies in modern software packages. Although a large number of dynamic program analysis techniques are developed in academia and industry, very few of them are widely used by software developers in their regular software developing activities. We develop EasyView, a general solution to integrate the interpretation and visualization of various profiling results in the coding environments, which bridges software developers with profilers to provide easy and intuitive dynamic analysis during the code development cycle.
Qi will present "The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors" from SOSP 2013.
Paper abstract: What fundamental opportunities for scalability are latent in interfaces, such as system call APIs? Can scalability opportunities be identified even before any implementation exists, simply by considering interface specifications? To answer these questions this paper introduces the following rule: Whenever interface operations commute, they can be implemented in a way that scales. This rule aids developers in building more scalable software starting from interface design and carrying on through implementation, testing, and evaluation.
To help developers apply the rule, a new tool named COMMUTER accepts high-level interface models and generates tests of operations that commute and hence could scale. Using these tests, COMMUTER can evaluate the scalability of an implementation. We apply COMMUTER to 18 POSIX calls and use the results to guide the implementation of a new research operating system kernel called sv6. Linux scales for 68% of the 13,664 tests generated by COMMUTER for these calls, and COMMUTER finds many problems that have been observed to limit application scalability. sv6 scales for 99% of the tests.
Hassan will present "A Nationwide Study on Cellular Reliability: Measurement, Analysis, and Enhancements" from SigComm 2021
Paper abstract: With recent advances on cellular technologies (such as 5G) that push the boundary of cellular performance, cellular reliability has become a key concern of cellular technology adoption and deployment. However, this fundamental concern has never been addressed due to the challenges of measuring cellular reliability on mobile devices and the cost of conducting large-scale measurements. This paper closes the knowledge gap by presenting the first large-scale, in-depth study on cellular reliability with more than 70 million Android phones across 34 different hardware models. Our study identifies the critical factors that affect cellular reliability and clears up misleading intuitions indicated by common wisdom. In particular, our study pinpoints that software reliability defects are among the main root causes of cellular data connection failures. Our work provides actionable insights for improving cellular reliability at scale. More importantly, we have built on our insights to develop enhancements that effectively address cellular reliability issues with remarkable real-world impact—our optimizations on Android’s cellular implementations have reduced 40% cellular connection failures for 5G phones and 36% failure duration across all phones.
This is a in-person seminar at EB3 2232, 10:15 AM – 11:30 AM, Friday, November 5
Abstract: Cars, computer games, smartphones and drones are currently witnessing unprecedented technological advancements and are poised to change many aspects of how we live. Imagine the impacts that fully electric and autonomous cars will have. The video gaming industry is soon expected to exceed $300 billion. Today's smartphones are already incredibly powerful and versatile computing platforms and have influenced our lives in more ways than we would actually like. Drones are being used for an unimaginable array of applications ranging from photography to goods delivery, surveillance, weather and crop monitoring. What do all of these have in common? What is one of the biggest technological challenges on the path of their development? That is the topic of this talk.
Bio: Samarjit Chakraborty is a William R. Kenan, Jr. Distinguished Professor in the Department of Computer Science at UNC Chapel Hill. Prior to coming here, from 2008 - 2019 he was a professor of Electrical Engineering at the Technical University of Munich in Germany, where he held the Chair of Real-Time Computer Systems. From 2003 - 2008 he was an assistant professor of Computer Science at the National University of Singapore. He obtained his PhD from ETH Zurich in 2003. His research interests can be best described as a random walk through various aspects of designing hardware and software for embedded computers. He served/s on the editorial boards of IEEE Transactions on Computers, ACM Transactions on Cyber-Physical Systems, Leibnitz Transactions on Embedded Systems, Design Automation of Embedded Systems, and Springer’s Lecture Notes on Electrical Engineering. For his Ph.D. thesis, he received the ETH Medal and the European Design and Automation Association’s Outstanding Doctoral Dissertation Award in 2004. In addition, he and his students have received Best Paper and Demo Awards at ISLPED, ICCD, RTCSA, ASP-DAC, EUC, and Mobisys, the 2019 ACM Transactions on Design Automation of Electronic Systems Best Paper Award for their work on automotive security, and more recently the 2021 ACM Transactions on Embedded Computing Systems Best Paper Award for their work on energy modeling of the Bluetooth Low Energy protocol.
Xinning will present her ongoing work on "Understanding the Consistency Issue between Cache and Database"
Abstract: Memcached is a well-known, simple, in-memory caching solution for data-intensive applications. However, the cache layer between the database and the webserver will introduce some inconsistency between the cache and the database. In this presentation, I will first discuss some designs that are used to solve the inconsistency problem between the cache and the database at a small scale. Then, I will discuss the paper “Scaling Memcache at Facebook”. This paper describes how Facebook leverages Memcached as a building block to construct and scale a distributed key-value store that supports the world’s largest social network. Their system handles billions of requests per second and holds trillions of items to deliver a rich experience for over a billion users around the world.