Improved branch prediction for just-in-time decompression of canonical huffman bytecode streams

Chisoon Jeong, Su Hang, Bernd Burgstaller

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Stack-based virtual machines (VMs) are being employed with embedded systems for their space-efficient instruction format. Bytecode can be compressed to further reduce the memory footprint. A technique introduced by Latendresse et al. (Sci Comput Program 57:295–317, 2005) [13] decodes Huffman-compressed bytecode without a prior decompression step of the program as a whole. Instead, the VM instruction dispatch determines the next opcode from a sequence of tablelookups from the compressed bytecode stream. In this paper we identify indirect branches as a major performance bottleneck of the Latendresse Huffman decoder. We show conclusively that the heuristics of CPU branch predictors are in-effective with Just-in-Time (JIT) Huffman decoding, and we provide a revised decoder where indirect branches have been eliminated. We experimentally evaluate our proposed method as a stand-alone decoder and as part of the instruction dispatch of TinyVM (Hong et al. in Softw Pract Exp 42:1193–1209, 2012) [8]. A representative selection of benchmarks from the MiBench suite (Guthaus et al. IEEE international workshop on workload characterization, WWC-4, pp. 3–14, 2001) [7] showed improvements between 20 and 35% in overall interpreter performance.

Original languageEnglish
Title of host publicationFrontier and Innovation in Future Computing and Communications
EditorsAlbert Zomaya, James J. Park, Hwa-Young Jeong, Mohammad Obaidat
PublisherSpringer Verlag
Pages719-729
Number of pages11
ISBN (Electronic)9789401787970
DOIs
Publication statusPublished - 2014 Jan 1
Event2014 FTRA International Symposium on Frontier and Innovation in Future Computing and Communications, FCC 2014 - Auckland, New Zealand
Duration: 2014 Jan 132014 Jan 16

Publication series

NameLecture Notes in Electrical Engineering
Volume301
ISSN (Print)1876-1100
ISSN (Electronic)1876-1119

Other

Other2014 FTRA International Symposium on Frontier and Innovation in Future Computing and Communications, FCC 2014
CountryNew Zealand
CityAuckland
Period14/1/1314/1/16

All Science Journal Classification (ASJC) codes

  • Industrial and Manufacturing Engineering

Fingerprint Dive into the research topics of 'Improved branch prediction for just-in-time decompression of canonical huffman bytecode streams'. Together they form a unique fingerprint.

  • Cite this

    Jeong, C., Hang, S., & Burgstaller, B. (2014). Improved branch prediction for just-in-time decompression of canonical huffman bytecode streams. In A. Zomaya, J. J. Park, H-Y. Jeong, & M. Obaidat (Eds.), Frontier and Innovation in Future Computing and Communications (pp. 719-729). (Lecture Notes in Electrical Engineering; Vol. 301). Springer Verlag. https://doi.org/10.1007/978-94-017-8798-7_82