Jeffrey Bosboom's Blog

[blog] [projects] [about]

Papers: on the plane to PLDI 2014

I couldn’t sleep on the plane to PLDI 2014, so I took the opportunity to sort the paper PDFs cluttering up my desktop. Here are some of the more “frivolous” (irrelevant to my research) ones.

Checked Load: Architectural Support for JavaScript Type Checking on Mobile Processors (Anderson, Fortuna, Ceze, Eggers; PDF, gratis PDF)

This paper measures the overhead introduced by type guards in JIT-compiled JavaScript code, then proposes new load instructions (“checked load”) that compare the high byte or word of the loaded cache line against an immediate type tag, trapping on a (mis)match. The paper proposes trapping by jumping through a new architectural register, but it’s the same idea as a processor fault (already used for null checks) – avoid (static and dynamic) branch instructions in the common case. The authors point out that the type tag check can proceed in parallel with the normal cache tag check, so the processor’s critical path is not affected (in the first order). Existing branch prediction hardware can be used for predicting checked load success, achieving performance better than the naive never-trap static prediction (but note that VMs could also recompile often-failing checked loads to use an explicit branch instead).

Selective Core Boosting: The Return of the Turbo Button (Wamhoff, Diestelhorst, Fetzer, Marlier, Felber, Dice; gratis PDF)

This paper proposes giving applications direct control over processor frequency and voltage transitions to improve performance (rather than reduce power consumption). After describing both AMD and Intel’s turbo features and the performance and latency characteristics of various strategies for managing processor performance states, the authors present some applications, the most interesting of which is the FastLane software transactional memory system. In FastLane, a master thread runs with minimal instrumentation and never aborts transactions, while worker threads run with more instrumentation and must abort when conflicts are detected. Performance state control can be used to keep the master thread running at high frequencies at the expense of the worker threads, increasing overall throughput.

AMD Mantle whitepaper (gratis PDF)

I’ll leave the technical details to the paper; the real case or controversy with Mantle is whether it generalizes.

{% blockquote %} “These concepts are applicable to a range of modern GPU architectures, and are not specifically tied to GCN. Mantle is intended to provide a thin hardware abstraction layer that can be broadly compatible with both current and future architectures, while allowing architecture-specific and platform-specific features to be exposed through an extension mechanism.” {% endblockquote %}

The first sentence is immediately, if not contradicted, at least placed in doubt by the first bullet in the next section, “Why a New API?”: “Success of the GCN architecture […] this makes it a great baseline on which to establish a new programming model.” The second sentence sounds a lot like the OpenGL approach – perhaps OpenGL could be lighter (I’m not an expert on 3D graphics), but it sounds like a difference in degree, not of paradigm.

Understanding the Robustness of SSDs under Power Fault (Mai Zheng, Joseph Tucek, Feng Qin, Mark Lillibridge; gratis PDF)

SSDs fail under power fault, including models marketed with power-loss protection and “enterprise” (expensive) drives.

Image Forgery Localization via Block-Grained Analysis of JPEG Artifacts (Bianchi, Piva; PDF)

This paper presents algorithms for finding edited regions of images by detecting the artifacts of JPEG generation loss after recompression. I don’t know JPEG well enough to understand how this paper is an improvement over the previous state of the art; I’m just happy that we can finally say “this looks shopped, I can tell by some of the pixels” in a quantifiable way.

The three-dimensional dynamics of the die throw (M. Kapitaniak, Strzalko, Grabski, T. Kapitaniak; PDF)

Using simulations derived from observing die throws with a high-speed (1500 fps) camera, the authors conclude that dice are not fair: they tend to land on the face that begins facing down. Further, they show that irregularly-shaped dice cannot be made fair “by continuity” (by the intermediate value theorem).