Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
Locality analysis through static parallel sampling
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 4Pages 557–570https://doi.org/10.1145/3296979.3192402Locality analysis is important since accessing memory is much slower than computing. Compile-time locality analysis can provide detailed program-level feedback for compilers or runtime systems faster than trace-based locality analysis.
In this paper, ...
Also Published in:
PLDI 2018: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450356985- research-articleJune 2018
SWOOP: software-hardware co-design for non-speculative, execute-ahead, in-order cores
- Kim-Anh Tran,
- Alexandra Jimborean,
- Trevor E. Carlson,
- Konstantinos Koukos,
- Magnus Själander,
- Stefanos Kaxiras
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 4Pages 328–343https://doi.org/10.1145/3296979.3192393Increasing demands for energy efficiency constrain emerging hardware. These new hardware trends challenge the established assumptions in code generation and force us to rethink existing software optimization techniques. We propose a cross-layer redesign ...
Also Published in:
PLDI 2018: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450356985 - research-articleMarch 2018
Understanding and Auto-Adjusting Performance-Sensitive Configurations
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 2Pages 154–168https://doi.org/10.1145/3296957.3173206Modern software systems are often equipped with hundreds to thousands of configurations, many of which greatly affect performance. Unfortunately, properly setting these configurations is challenging for developers due to the complex and dynamic nature ...
Also Published in:
ASPLOS '18: Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems: ISBN 9781450349116 - research-articleFebruary 2018
Featherlight on-the-fly false-sharing detection
ACM SIGPLAN Notices (SIGPLAN), Volume 53, Issue 1Pages 152–167https://doi.org/10.1145/3200691.3178499Shared-memory parallel programs routinely suffer from false sharing---a performance degradation caused by different threads accessing different variables that reside on the same CPU cacheline and at least one variable is modified. State-of-the-art tools ...
Also Published in:
PPoPP '18: Proceedings of the 23rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming: ISBN 9781450349826 - articleOctober 2017
Object equivalence: revisiting object equality profiling (an experience report)
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 11Pages 27–38https://doi.org/10.1145/3170472.3133844Modern object-oriented programming languages greatly alleviate the memory management for programmers. Despite the efficiency of garbage collection and Just-In-Time program analyzes, memory still remains prone to be wasted.
A bloated memory may have ...
Also Published in:
DLS 2017: Proceedings of the 13th ACM SIGPLAN International Symposium on on Dynamic Languages: ISBN 9781450355261 -
- articleOctober 2017
Dynamic atomicity: optimizing swift memory management
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 11Pages 15–26https://doi.org/10.1145/3170472.3133843Swift is a modern multi-paradigm programming language with an extensive developer community and open source ecosystem. Swift 3's memory management strategy is based on Automatic Reference Counting (ARC) augmented with unsafe APIs for manually-managed ...
Also Published in:
DLS 2017: Proceedings of the 13th ACM SIGPLAN International Symposium on on Dynamic Languages: ISBN 9781450355261 - articleOctober 2017
Quoted staged rewriting: a practical approach to library-defined optimizations
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 12Pages 131–145https://doi.org/10.1145/3170492.3136043Staging has proved a successful technique for programmatically removing code abstractions, thereby allowing for faster program execution while retaining a high-level interface for the programmer. Unfortunately, techniques based on staging suffer from a ...
Also Published in:
GPCE 2017: Proceedings of the 16th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences: ISBN 9781450355247 - articleJune 2017
Compiling without continuations
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 6Pages 482–494https://doi.org/10.1145/3140587.3062380Many fields of study in compilers give rise to the concept of a join point—a place where different execution paths come together. Join points are often treated as functions or continuations, but we believe it is time to study them in their own right. ...
Also Published in:
PLDI 2017: Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450349888 - articleJune 2017
Control-flow recovery from partial failure reports
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 6Pages 390–405https://doi.org/10.1145/3140587.3062368Debugging is difficult. When software fails in production, debugging is even harder, as failure reports usually provide only an incomplete picture of the failing execution. We present a system that answers control-flow queries posed by developers as ...
Also Published in:
PLDI 2017: Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450349888 - articleJune 2017
Futhark: purely functional GPU-programming with nested parallelism and in-place array updates
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 6Pages 556–571https://doi.org/10.1145/3140587.3062354Futhark is a purely functional data-parallel array language that offers a machine-neutral programming model and an optimising compiler that generates OpenCL code for GPUs.
This paper presents the design and implementation of three key features of ...
Also Published in:
PLDI 2017: Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450349888 - articleJune 2017
Instruction punning: lightweight instrumentation for x86-64
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 6Pages 320–332https://doi.org/10.1145/3140587.3062344Existing techniques for injecting probes into running applications are limited;
they either fail to support probing arbitrary locations, or to support scalable,
rapid toggling of probes. We introduce a new technique on x86-64, called
instruction ...
Also Published in:
PLDI 2017: Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation: ISBN 9781450349888 - tutorialApril 2017
One Process to Reap Them All: Garbage Collection as-a-Service
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 7Pages 171–186https://doi.org/10.1145/3140607.3050754Ubiquitous mobile platforms such as Android rely on managed language run-time environments, also known as language virtual machines (VMs), to run a diverse range of user applications (apps). Each app runs in its own private VM instance, and each VM ...
Also Published in:
VEE '17: Proceedings of the 13th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments: ISBN 9781450349482 - research-articleJanuary 2017
An Efficient Abortable-locking Protocol for Multi-level NUMA Systems
The popularity of Non-Uniform Memory Access (NUMA) architectures has led to numerous locality-preserving hierarchical lock designs, such as HCLH, HMCS, and cohort locks. Locality-preserving locks trade fairness for higher throughput. Hence, some ...
Also Published in:
PPoPP '17: Proceedings of the 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming: ISBN 9781450344937 - research-articleJanuary 2017
Function Call Re-Vectorization
ACM SIGPLAN Notices (SIGPLAN), Volume 52, Issue 8Pages 313–326https://doi.org/10.1145/3155284.3018751Programming languages such as C for CUDA, OpenCL or ISPC have contributed to increase the programmability of SIMD accelerators and graphics processing units. However, these languages still lack the flexibility offered by low-level SIMD programming on ...
Also Published in:
PPoPP '17: Proceedings of the 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming: ISBN 9781450344937 - articleJune 2016
Efficient asynchronous interrupt handling in a full-system instruction set simulator
Instruction set simulators (ISS) have many uses in embedded software and hardware development and are typically based on dynamic binary translation (DBT), where frequently executed regions of guest instructions are compiled into host instructions using ...
Also Published in:
LCTES 2016: Proceedings of the 17th ACM SIGPLAN/SIGBED Conference on Languages, Compilers, Tools, and Theory for Embedded Systems: ISBN 9781450343169 - research-articleMarch 2016
Abstractions for Practical Virtual Machine Replay
ACM SIGPLAN Notices (SIGPLAN), Volume 51, Issue 7Pages 93–106https://doi.org/10.1145/3007611.2892257Efficient deterministic replay of whole operating systems is feasible and useful, so why isn't replay a default part of the software stack? While implementing deterministic replay is hard, we argue that the main reason is the lack of general ...
Also Published in:
VEE '16: Proceedings of the12th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments: ISBN 9781450339476 - research-articleMarch 2016
Architecture-Adaptive Code Variant Tuning
ACM SIGPLAN Notices (SIGPLAN), Volume 51, Issue 4Pages 325–338https://doi.org/10.1145/2954679.2872411Code variants represent alternative implementations of a computation, and are common in high-performance libraries and applications to facilitate selecting the most appropriate implementation for a specific execution context (target architecture and ...
Also Published in:
ASPLOS '16: Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems: ISBN 9781450340915 - research-articleMarch 2016
CloudSeer: Workflow Monitoring of Cloud Infrastructures via Interleaved Logs
ACM SIGPLAN Notices (SIGPLAN), Volume 51, Issue 4Pages 489–502https://doi.org/10.1145/2954679.2872407Cloud infrastructures provide a rich set of management tasks that operate computing, storage, and networking resources in the cloud. Monitoring the executions of these tasks is crucial for cloud providers to promptly find and understand problems that ...
Also Published in:
ASPLOS '16: Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems: ISBN 9781450340915 - research-articleOctober 2015
Tracking down performance variation against source code evolution
ACM SIGPLAN Notices (SIGPLAN), Volume 51, Issue 2Pages 129–139https://doi.org/10.1145/2936313.2816718Little is known about how software performance evolves across software revisions. The severity of this situation is high since (i) most performance variations seem to happen accidentally and (ii) addressing a performance regression is challenging, ...
Also Published in:
DLS 2015: Proceedings of the 11th Symposium on Dynamic Languages: ISBN 9781450336901 - research-articleJune 2015
Don't race the memory bus: taming the GC leadfoot
ACM SIGPLAN Notices (SIGPLAN), Volume 50, Issue 11Pages 15–27https://doi.org/10.1145/2887746.2754182Dynamic voltage and frequency scaling (DVFS) is ubiquitous on mobile devices as a mechanism for saving energy. Reducing the clock frequency of a processor allows a corresponding reduction in power consumption, as does turning off idle cores. Garbage ...
Also Published in:
ISMM '15: Proceedings of the 2015 International Symposium on Memory Management: ISBN 9781450335898