Improving performance using computational compression through memoization: A case study using a railway power consumption simulator Articles uri icon

publication date

  • November 2016

start page

  • 469

end page

  • 485

issue

  • 4

volume

  • 30

International Standard Serial Number (ISSN)

  • 1094-3420

Electronic International Standard Serial Number (EISSN)

  • 1741-2846

abstract

  • The objective of data compression is to avoid redundancy in order to reduce the size of the data to be stored or transmitted. In some scenarios, data compression may help to increase global performance by reducing the amount of data at a competitive cost in terms of global time and energy consumption. We have introduced computational compression as a technique for reducing redundant computation, in other words, to avoid carrying out the same computation with the same input to obtain the same output. In some scenarios, such as simulations, graphic processing, and so on, part of the computation is repeated using the same input in order to obtain the same output, and this computation could have an important cost in terms of global time and energy consumption. We propose applying computational compression by using memoization in order to store the results for future reuse and, in this way, minimize the use of the same costly computation. Although memoization was proposed for sequential applications in the 1980s, and there are some projects that have applied it in very specific domains, we propose a novel, domain-independent way of using it in high-performance applications, as a means of avoiding redundant computation.

keywords

  • high performance computing; memoization; railway simulation