We are pleased to welcome you to ASPLOS-X in Silicon Valley. We have the opportunity to celebrate both the 10th ASPLOS conference and the 20th year anniversary of ASPLOS since the first conference took place in Palo Alto in March 1982.While much has changed in the computer industry during the past two decades, the interdisciplinary nature of ASPLOS has allowed it to become a premier conference and a vibrant forum for discussing emerging technologies and promoting cross-fertilizing research that encompasses a wide range of areas, including hardware, architecture, compilers, operating systems, networking, and applications. ASPLOS-X is sponsored by ACM Special Interest Groups on Architecture (SIGARCH), Programming Languages (SIGPLAN), and Operating Systems (SIGOPS). In addition, we acknowledge the generous financial support from this year's corporate donors.
Proceeding Downloads
Transactional lock-free execution of lock-based programs
This paper is motivated by the difficulty in writing correct high-performance programs. Writing shared-memory multi-threaded programs imposes a complex trade-off between programming ease and performance, largely due to subtleties in coordinating access ...
Speculative synchronization: applying thread-level speculation to explicitly parallel applications
Barriers, locks, and flags are synchronizing operations widely used programmers and parallelizing compilers to produce race-free parallel programs. Often times, these operations are placed suboptimally, either because of conservative assumptions about ...
Temporally silent stores
Recent work has shown that silent stores--stores which write a value matching the one already stored at the memory location--occur quite frequently and can be exploited to reduce memory traffic and improve performance. This paper extends the definition ...
Automatically characterizing large scale program behavior
Understanding program behavior is at the foundation of computer architecture and program optimization. Many programs have wildly different behavior on even the very largest of scales (over the complete execution of the program). This realization has ...
Bytecode fetch optimization for a Java interpreter
Interpreters play an important role in many languages, and their performance is critical particularly for the popular language Java. The performance of the interpreter is important even for high-performance virtual machines that employ just-in-time ...
Understanding and improving operating system effects in control flow prediction
Many modern applications result in a significant operating system (OS) component. The OS component has several implications including affecting the control flow transfer in the execution environment. This paper focuses on understanding the operating ...
Maté: a tiny virtual machine for sensor networks
Composed of tens of thousands of tiny devices with very limited resources ("motes"), sensor networks are subject to novel systems problems and constraints. The large number of motes in a sensor network means that there will often be some failing nodes; ...
Energy-efficient computing for wildlife tracking: design tradeoffs and early experiences with ZebraNet
Over the past decade, mobile computing and wireless communication have become increasingly important drivers of many new computing applications. The field of wireless sensor networks particularly focuses on applications involving autonomous use of ...
Enabling trusted software integrity
Preventing execution of unauthorized software on a given computer plays a pivotal role in system security. The key problem is that although a program at the beginning of its execution can be verified as authentic, while running, its execution flow can ...
ECOSystem: managing energy as a first class operating system resource
Energy consumption has recently been widely recognized as a major challenge of computer systems design. This paper explores how to support energy as a first-class operating system resource. Energy, because of its global system nature, presents ...
Cool-Mem: combining statically speculative memory accessing with selective address translation for energy efficiency
This paper presents Cool-Mem, a family of memory system architectures that integrate conventional memory system mechanisms, energy-aware address translation, and compiler-enabled cache disambiguation techniques, to reduce energy consumption in general ...
Joint local and global hardware adaptations for energy
This work concerns algorithms to control energy-driven architecture adaptations for multimedia applications, without and with dynamic voltage scaling (DVS). We identify a broad design space for adaptation control algorithms based on two attributes: (1) ...
Design and evaluation of compiler algorithms for pre-execution
Pre-execution is a promising latency tolerance technique that uses one or more helper threads running in spare hardware contexts ahead of the main computation to trigger long-latency memory operations early, hence absorbing their latency on behalf of ...
Compiler optimization of scalar value communication between speculative threads
While there have been many recent proposals for hardware that supports Thread-Level Speculation (TLS), there has been relatively little work on compiler optimizations to fully exploit this potential for parallelizing programs optimistically. In this ...
Enhancing software reliability with speculative threads
This paper advocates the use of a monitor-and-recover programming paradigm to enhance the reliability of software, and proposes an architectural design that allows software and hardware to cooperate in making this paradigm more efficient and easier to ...
Dynamic dead-instruction detection and elimination
We observe a non-negligible fraction--3 to 16% in our benchmarks--of dynamically dead instructions, dynamic instruction instances that generate unused results. The majority of these instructions arise from static instructions that also produce useful ...
An adaptive, non-uniform cache structure for wire-delay dominated on-chip caches
Growing wire delays will force substantive changes in the designs of large caches. Traditional cache architectures assume that each level in the cache hierarchy has a single, uniform access time. Increases in on-chip communication delays will make the ...
A comparative study of arbitration algorithms for the Alpha 21364 pipelined router
Interconnection networks usually consist of a fabric of interconnected routers, which receive packets arriving at their input ports and forward them to appropriate output ports. Unfortunately, network packets moving through these routers are often ...
Increasing web server throughput with network interface data caching
This paper introduces network interface data caching, a new technique to reduce local interconnect traffic on networking servers by caching frequently-requested content on a programmable network interface. The operating system on the host CPU determines ...
Programming language optimizations for modular router configurations
Networking systems such as Ensemble, the x-kernel, Scout, and Click achieve flexibility by building routers and other packet processors from modular components. Unfortunately, component designs are often slower than purpose-built code, and routers in ...
Evolving RPC for active storage
We introduce Scriptable RPC (SRPC), an RPC-based framework that enables distributed system services to take advantage of active components. Technology trends point to a world where each component in a system (whether disk, network interface, or memory) ...
A stateless, content-directed data prefetching mechanism
Although central processor speeds continues to improve, improvements in overall system performance are increasingly hampered by memory latency, especially for pointer-intensive applications. To counter this loss of performance, numerous data and ...
A stream compiler for communication-exposed architectures
- Michael I. Gordon,
- William Thies,
- Michal Karczmarek,
- Jasper Lin,
- Ali S. Meli,
- Andrew A. Lamb,
- Chris Leger,
- Jeremy Wong,
- Henry Hoffmann,
- David Maze,
- Saman Amarasinghe
With the increasing miniaturization of transistors, wire delays are becoming a dominant factor in microprocessor performance. To address this issue, a number of emerging architectures contain replicated processing units with software-exposed ...
Mondrian memory protection
Mondrian memory protection (MMP) is a fine-grained protection scheme that allows multiple protection domains to flexibly share memory and export protected services. In contrast to earlier page-based systems, MMP allows arbitrary permissions control at ...
Recommendations
Acceptance Rates
Year | Submitted | Accepted | Rate |
---|---|---|---|
ASPLOS '19 | 351 | 74 | 21% |
ASPLOS '18 | 319 | 56 | 18% |
ASPLOS '17 | 320 | 53 | 17% |
ASPLOS '16 | 232 | 53 | 23% |
ASPLOS '15 | 287 | 48 | 17% |
ASPLOS '14 | 217 | 49 | 23% |
ASPLOS XV | 181 | 32 | 18% |
ASPLOS XIII | 127 | 31 | 24% |
ASPLOS XII | 158 | 38 | 24% |
ASPLOS X | 175 | 24 | 14% |
ASPLOS IX | 114 | 24 | 21% |
ASPLOS VIII | 123 | 28 | 23% |
ASPLOS VII | 109 | 25 | 23% |
Overall | 2,713 | 535 | 20% |