Compiling CHR to parallel hardware

  • Authors:
  • Andrea Triossi;Salvatore Orlando;Alessandra Raffaetà;Thom Frühwirth

  • Affiliations:
  • Università Ca' Foscari, Venezia, Italy;Università Ca' Foscari, Venezia, Italy;Università Ca' Foscari, Venezia, Italy;Ulm University, Ulm, Germany

  • Venue:
  • Proceedings of the 14th symposium on Principles and practice of declarative programming
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper investigates the compilation of a committed-choice rule-based language, Constraint Handling Rules (CHR), to specialized hardware circuits. The developed hardware is able to turn the intrinsic concurrency of the language into parallelism. Rules are applied by a custom executor that handles constraints according to the best degree of parallelism the implemented CHR specification can offer. Our framework deploys the target digital circuits through the Field Programmable Gate Array (FPGA) technology, by first compiling the CHR code fragment into a low level hardware description language. We also discuss the realization of a hybrid CHR interpreter, consisting of a software component running on a general purpose processor, coupled with a hardware accelerator. The latter unburdens the processor by executing in parallel the most computational intensive CHR rules directly compiled in hardware. Finally the performance of a prototype system is evaluated by time efficiency measures.