93 research outputs found
Prioritized Garbage Collection: Explicit GC Support for Software Caches
Programmers routinely trade space for time to increase performance, often in
the form of caching or memoization. In managed languages like Java or
JavaScript, however, this space-time tradeoff is complex. Using more space
translates into higher garbage collection costs, especially at the limit of
available memory. Existing runtime systems provide limited support for
space-sensitive algorithms, forcing programmers into difficult and often
brittle choices about provisioning.
This paper presents prioritized garbage collection, a cooperative programming
language and runtime solution to this problem. Prioritized GC provides an
interface similar to soft references, called priority references, which
identify objects that the collector can reclaim eagerly if necessary. The key
difference is an API for defining the policy that governs when priority
references are cleared and in what order. Application code specifies a priority
value for each reference and a target memory bound. The collector reclaims
references, lowest priority first, until the total memory footprint of the
cache fits within the bound. We use this API to implement a space-aware
least-recently-used (LRU) cache, called a Sache, that is a drop-in replacement
for existing caches, such as Google's Guava library. The garbage collector
automatically grows and shrinks the Sache in response to available memory and
workload with minimal provisioning information from the programmer. Using a
Sache, it is almost impossible for an application to experience a memory leak,
memory pressure, or an out-of-memory crash caused by software caching.Comment: to appear in OOPSLA 201
Media representations of the nouveaux riches and the cultural constitution of the global middle class
The article offers a distinctive account of how the nouveaux riches serve as an anchor for a range of upper- middle- class ambivalences and anxieties associated with transformations of capitalism and shifting global hierarchies. Reflecting the long- term association of middle- class symbolic boundaries with notions of refinement and respectability, it examines how the discourse of civility shapes how the nouveaux riches are represented to the upper middle class, identifying a number of recurrent media frames and narrative tropes related to vulgarity, civility, and order. The author argues that these representations play a central role in the reproduction of the Western professional middle class, and in the cultural constitution of a global middle class — professional, affluent, urban, and affiliated by an aesthetic regime of civility that transcends national borders. The findings underline the significance of representations of the new super- rich as devices through which the media accomplish the global circulation of an upper- middle- class repertoire of cultural capital, which is used both to police shifting class boundaries and to establish a legitimate preserve for univorous snobbishness
The Somatic Genomic Landscape of Glioblastoma
We describe the landscape of somatic genomic alterations based on multi-dimensional and comprehensive characterization of more than 500 glioblastoma tumors (GBMs). We identify several novel mutated genes as well as complex rearrangements of signature receptors including EGFR and PDGFRA. TERT promoter mutations are shown to correlate with elevated mRNA expression, supporting a role in telomerase reactivation. Correlative analyses confirm that the survival advantage of the proneural subtype is conferred by the G-CIMP phenotype, and MGMT DNA methylation may be a predictive biomarker for treatment response only in classical subtype GBM. Integrative analysis of genomic and proteomic profiles challenges the notion of therapeutic inhibition of a pathway as an alternative to inhibition of the target itself. These data will facilitate the discovery of therapeutic and diagnostic target candidates, the validation of research and clinical observations and the generation of unanticipated hypotheses that can advance our molecular understanding of this lethal cancer
Incorporating domain-specific information into the compilation process
textDespite many advances in compiler research, traditional compilers continue to suffer
from one significant limitation: they only recognize the low-level primitive constructs of
their languages. In contrast, programmers increasingly benefit from higher level software
components, which implement a variety of specialized domains—everything from basic file
access to 3D graphics and parallel programming. The result is a marked difference between
the level of abstraction in software development and the level of abstraction in compilation.
In this thesis we present the Broadway compiler, which closes this gap. Broadway
represents a new kind of compiler, called a library-level compiler, that supports domainspecific
compilation by extending the benefits of compiler support to software libraries.
The key to our approach is a separate annotation language that conveys domain-specific
information about libraries to our compiler, allowing it to treat library routines more like
built-in language operations. Using this information, the compiler can perform library-level
program analysis and apply library-level optimizations.
We explore both the opportunities and challenges presented by library-level compilation.
We show that library-level optimizations can increase the performance of several
parallel programs written using a highly-tuned parallel linear algebra library. These highlevel
optimizations are beyond the capabilities of a traditional compiler and even rival the
performance of programs hand-coded by an expert. We also show that our compiler is an
effective tool for detecting a range of library-level errors, including several significant security
vulnerabilities. Finally, we present a new client-driven pointer analysis algorithm,
which provides precise and scalable program analysis to meet the demanding requirements
of library-level compilation.Computer Science
Abstract An Annotation Language for Optimizing Software Libraries
This paper introduces an annotation language and a compiler that together can customize a library implementation for specific application needs. Our approach is distinguished by its ability to exploit high level, domain-specific information in the customization process. In particular, the annotations provide semantic information that enables our compiler to analyze and optimize library operations as if they were primitives of a domain-specific language. Thus, our approach yields many of the performance benefits of domain-specific languages, without the effort of developing a new compiler for each domain. This paper presents the annotation language, describes its role in optimization, and illustrates the benefits of the overall approach. Using a partially implemented compiler, we show how our system can significantly improve the performance of two applications written using the PLAPACK parallel linear algebra library.
Detecting errors with configurable whole-program dataflow analysis
In this paper, we present an automatic compiler-based approach for detecting programming errors. Our system uses a configurable and scalable whole-program dataflow analysis engine driven by highlevel programmer-written annotations. We show that our system can automatically detect a wide range of programmer errors in C programs, including improper use of libraries, information leaks, and security vulnerabilities. We show that the aggressive compiler analysis that our system performs yields precise results. Further, our system detects a wide range of errors with greater scalability than previous automatic approaches. For one important class of security vulnerabilities, our system automatically finds all known errors in five medium to large C programs without producing any false positives. 1
- …