Jochen Eisinger

Jochen Eisinger

Authored Publications
Sort By
  • Title
  • Title, descending
  • Year
  • Year, descending
    Cross-Component Garbage Collection
    Ulan Degenbaev
    Proceedings of the ACM on Programming Languages, 2 Issue OOPSLA (2018), 151:1-151:24
    Preview abstract Embedding a modern language runtime as a component in a larger software system is popular these days. Communication between these systems often requires keeping references to each others' objects. In this paper we present and discuss the problem of cross-component memory management where reference cycles across component boundaries may lead to memory leaks and premature reclamation of objects may lead to dangling cross-component references. We provide a generic algorithm for effective, efficient, and safe garbage collection over component boundaries, which we call cross-component tracing. We designed and implemented cross-component tracing in the Chrome web browser where the JavaScript virtual machine V8 is embedded into the rendering engine Blink. Cross-component tracing from V8's JavaScript heap to Blink's C++ heap improves garbage collection latency and eliminates long-standing memory leaks for real websites in Chrome. We show how cross-component tracing can help web developers to reason about reachability and retainment of objects spanning both V8 and Blink components based on Chrome's heap snapshot memory tool. Cross-component tracing was enabled by default for all websites in Chrome version 57 and is also deployed in other widely used software systems such as Opera, Cobalt, and Electron. View details
    Idle Time Garbage Collection Scheduling
    Ulan Degenbaev
    Manfred Ernst
    37th annual ACM SIGPLAN conference on Programming Language Design and Implementation, ACM, New York, NY, USA (2016), pp. 570-583
    Preview abstract Efficient garbage collection is increasingly important in today's managed language runtime systems that demand low latency, low memory consumption, and high throughput. Garbage collection may pause the application for many milliseconds to identify live memory, free unused memory, and compact fragmented regions of memory, even when employing concurrent garbage collection. In animation-based applications that require 60 frames per second, these pause times may be observable, degrading user experience. This paper introduces idle time garbage collection scheduling to increase the responsiveness of applications by hiding expensive garbage collection operations inside of small, otherwise unused idle portions of the application's execution, resulting in smoother animations. Additionally we take advantage of idleness to reduce memory consumption while allowing higher memory use when high throughput is required. We implemented idle time garbage collection scheduling in V8, an open-source, production JavaScript virtual machine running within Chrome. We present performance results on various benchmarks running popular webpages and show that idle time garbage collection scheduling can significantly improve latency and memory consumption. Furthermore, we introduce a new metric called frame time discrepancy to quantify the quality of the user experience and precisely measure the improvements that idle time garbage collection scheduling provides for a WebGL-based game benchmark. Idle time garbage collection scheduling is shipped and enabled by default in Chrome. View details
    Transparency and Choice: Protecting Consumer Privacy in an Online World
    Alma Whitten
    Sean Harvey
    Ian Fette
    Betsy Masiello
    Jane Horvath
    W3C Workshop on Web Tracking and User Privacy, W3C (2011), pp. 3
    Preview abstract There have been concerns raised recently about online tracking. There are a variety of mechanisms by which data is collected online, and for which it is used, and it is unclear which of these are intended to be addressed by “Do Not Track” mechanisms. Tracking is often data collection that helps ensure the security and integrity of data, determines relevancy of served content and also helps create innovation opportunities. This value ought to be central in any “Do Not Track” discussions. View details
    Practical Privacy Concerns in a Real World Browser
    Ian Fette
    W3C Workshop on Privacy for Advanced Web APIs, W3C (2010), pp. 4
    Preview abstract Google Chrome has implemented a number of HTML5 APIs, including the Geolocation API and various storage APIs. In this paper we discuss some of our experiences on the Google Chrome team in implementing these APIs, as well as our thoughts around privacy for new APIs we are considering implementing. Specifically, we discuss our ideas of how providing access to things such as speech, web cameras, and filesystems can be done in ways that are understandable and in the natural flow of users. View details