Buffer optimization and dispatching scheme for embedded systems with behavioral transparency

  • Authors:
  • Jiwon Hahn;Pai H. Chou

  • Affiliations:
  • University of California: Irvine, Irvine, CA;University of California: Irvine, Irvine, CA and National Tsing Hua University, Taiwan

  • Venue:
  • EMSOFT '07 Proceedings of the 7th ACM & IEEE international conference on Embedded software
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software components are modular and can enable post-deployment update, but their high overhead in runtime and memory is prohibitive for many embedded systems. This paper proposes to minimize such overhead by exploiting behavioral transparency in models of computation. In such a model (e.g., synchronous dataflow), the state of buffer requirements is determined completely by the firing sequence of the actors without requiring functional simulation of the actors. Instead of dedicating space to each channel or actor statically, our dispatcher passes buffer pointers to an actor upon firing. Straightforward implementations are counterproductive, as fine-grained allocation incurs high pointer overhead while coarse-grained allocation suffers from fragmentation. To address this problem, we propose medium-grained, "access-contiguous" buffer allocation scheme. We formulate the problem as 2-D tiles that represent the lifetime of the buffers over time and define operators for their translation and transformations to minimize their memory occupation spatially and temporally. Experimental results on real-life applications show up to 70% data memory reduction compared to existing techniques. Our technique retains code modularity for dynamic configuration and, more importantly, enables many more applications that otherwise would not fit if implemented using previous state-of-the-art techniques.