Yak: A {High-Performance}{Big-Data-Friendly} Garbage Collector

K Nguyen, L Fang, G Xu, B Demsky, S Lu… - … USENIX Symposium on …, 2016 - usenix.org
Most “Big Data” systems are written in managed languages, such as Java, C#, or Scala.
These systems suffer from severe memory problems due to the massive volume of objects …

{JumpSwitches}: Restoring the performance of indirect branches in the era of spectre

N Amit, F Jacobs, M Wei - 2019 USENIX Annual Technical Conference …, 2019 - usenix.org
The Spectre family of security vulnerabilities show that speculative execution attacks on
modern processors are practical. Spectre variant 2 attacks exploit the speculation of indirect …

Quantitative overhead analysis for python

M Ismail, GE Suh - 2018 IEEE International Symposium on …, 2018 - ieeexplore.ieee.org
Dynamic programming languages such as Python are becoming increasingly more popular,
yet often show a significant performance slowdown compared to static languages such as C …

Bit-level perceptron prediction for indirect branches

E Garza, S Mirbagher-Ajorpaz, TA Khan… - Proceedings of the 46th …, 2019 - dl.acm.org
Modern software uses indirect branches for various purposes including, but not limited to,
virtual method dispatch and implementation of switch statements. Because an indirect …

Phantom-btb: a virtualized branch target buffer design

I Burcea, A Moshovos - Acm Sigplan Notices, 2009 - dl.acm.org
Modern processors use branch target buffers (BTBs) to predict the target address of
branches such that they can fetch ahead in the instruction stream increasing concurrency …

Value based btb indexing for indirect jump prediction

MU Farooq, L Chen, LK John - HPCA-16 2010 The Sixteenth …, 2010 - ieeexplore.ieee.org
History-based branch direction predictors for conditional branches are shown to be highly
accurate. Indirect branches however, are hard to predict as they may have multiple targets …

Virtual program counter (vpc) prediction: Very low cost indirect branch prediction using conditional branch prediction hardware

H Kim, JA Joao, O Mutlu, CJ Lee… - IEEE Transactions on …, 2008 - ieeexplore.ieee.org
Indirect branches have become increasingly common in modular programs written in
modern object-oriented languages and virtual-machine-based runtime systems …

Characterizing massively parallel polymorphism

M Zhang, A Alawneh, TG Rogers - 2021 IEEE International …, 2021 - ieeexplore.ieee.org
GPU computing has matured to include advanced C++ programming features. As a result,
complex applications can potentially benefit from the continued performance improvements …

Shortcut: Architectural support for fast object access in scripting languages

J Choi, T Shull, MJ Garzaran, J Torrellas - ACM SIGARCH Computer …, 2017 - dl.acm.org
The same flexibility that makes dynamic scripting languages appealing to programmers is
also the primary cause of their low performance. To access objects of potentially different …

Devirtualization in LLVM

P Padlewski - Proceedings Companion of the 2017 ACM SIGPLAN …, 2017 - dl.acm.org
Devirtualization is an optimization changing indirect (virtual) calls to direct calls. It improves
performance by allowing extra inlining and removal of redundant loads. This paper presents …