• Home
  • Search
  • Cimple: instruction and memory level parallelism
  • Cite Icon10
  • https://doi.org/10.1145/3243176.3243185Copy DOI Icon

Cimple: instruction and memory level parallelism

  • Nov 1, 2018
  • Vladimir Kiriansky +3 more
Show More
  • Abstract
  • PDF
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

Modern out-of-order processors have increased capacity to exploit instruction level parallelism (ILP) and memory level parallelism (MLP), e.g., by using wide superscalar pipelines and vector execution units, as well as deep buffers for inflight memory requests. These resources, however, often exhibit poor utilization rates on workloads with large working sets, e.g., in-memory databases, key-value stores, and graph analytics, as compilers and hardware struggle to expose ILP and MLP from the instruction stream automatically. In this paper, we introduce the IMLP (Instruction and Memory Level Parallelism) task programming model. IMLP tasks execute as coroutines that yield execution at annotated long-latency operations, e.g., memory accesses, divisions, or unpredictable branches. IMLP tasks are interleaved on a single thread, and integrate well with thread parallelism and vectorization. Our DSL embedded in C++, Cimple, allows exploration of task scheduling and transformations, such as buffering, vectorization, pipelining, and prefetching. We demonstrate state-of-the-art performance on core algorithms used in in-memory databases that operate on arrays, hash tables, trees, and skip lists. Cimple applications reach 2.5× throughput gains over hardware multithreading on a multi-core, and 6.4× single thread speedup.

Loading PDF

Similar Papers
  • Conference Article
  • Citations2

Architectures for one billion of transistors

  • Sep 20, 2000
  • Mateo Valero
  • Conference Article
  • Citations3

Exploiting Java instruction/thread level parallelism with horizontal multithreading

  • Jan 15, 2001
  • Kenji Watanabe +2
  • Book Chapter

A Bypass Mechanism to Enhance Branch Predictor for SMT Processors

  • Aug 23, 2007
  • Yongfeng Pan +3
  • Conference Article
  • Citations51

A Flexible Heterogeneous Multi-Core Architecture

  • Dec 22, 2017
  • Miquel Pericàs +5
  • Research Article
  • Citations3

On the efficiency of image and video processing programs on instruction level parallel processors

  • Jul 01, 2002
  • Proceedings of the IEEE
  • N Zingirian +1
  • Conference Article
  • Citations48

Enhancing memory level parallelism via recovery-free value prediction

  • Jun 23, 2003
  • Huiyang Zhou +1
  • Conference Article
  • Citations1

ILP in the undergraduate curriculum

  • Jan 01, 2002
  • Daniel Tabak
  • Research Article
  • Citations58

Instruction scheduling for instruction level parallel processors

  • Jan 01, 2001
  • Proceedings of the IEEE
  • P Faraboschi +2
  • Research Article
  • Citations3

Integrated 3D-stacked server designs for increasing physical density of key-value stores

  • Feb 24, 2014
  • ACM SIGPLAN Notices
  • Anthony Gutierrez +5
  • Conference Article
  • Citations3

Accelerating the Analytical Modeling of Memory Level Parallelism by the Probability Analysis

  • Aug 01, 2019
  • Yunhao Yan +1
  • Conference Article
  • Citations9

Tetris

  • Jun 13, 2007
  • Weifeng Xu +1
  • Research Article
  • Citations16

TimeC: A Time Constraint Language for ILP Processor Compilation

  • Jan 01, 2002
  • Constraints
  • Allen Leung +2
  • Conference Article
  • Citations1

Register organization for enhanced on-chip parallelism

  • Sep 27, 2004
  • R Sangireddy
  • Research Article
  • Citations13

On the effectiveness of phase based regression models to trade power and performance using dynamic processor adaptation

  • Mar 04, 2008
  • Journal of Systems Architecture
  • Subhasis Banerjee +2
  • Conference Article
  • Citations14

Focused Value Prediction: Concepts, techniques and implementations presented in this paper are subject matter of pending patent applications, which have been filed by Intel Corporation

  • May 01, 2020
  • Sumeet Bandishte +5
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.