Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
Loop perforation
Approximate computing technique that allows to regularly skip some iterations of a loop.

Loop perforation is an approximate computing technique that allows to regularly skip some iterations of a loop.

It relies on one parameter: the perforation rate. The perforation rate can be interpreted as the number of iteration to skip each time or the number of iterations to perform before skipping one.

Variants of loop perforation include those that skip iterations deterministically at regular intervals, those that skip iterations at the beginning or the end of the loop, and those that skip a random sample of iterations. The compiler may select the perforation variant at the compile-time, or include instrumentation that allows the runtime system to adaptively adjust the perforation strategy and perforation rate to satisfy the end-to-end accuracy goal.

Loop perforation techniques were first developed by MIT senior researchers Martin C. Rinard and Stelios Sidiroglou.

We don't have any images related to Loop perforation yet.
We don't have any YouTube videos related to Loop perforation yet.
We don't have any PDF documents related to Loop perforation yet.
We don't have any Books related to Loop perforation yet.
We don't have any archived web articles related to Loop perforation yet.

Code examples

The examples that follows provide the result of loop perforation applied on this C-like source code

for (int i = 0; i < N; i++) { // do things }

Skip n iterations each time

for (int i = 0; i < N; i++) { // do things i = i + skip_factor; }

Skip one iteration after n

int count = 0; for (int i = 0; i < N; i++) { if (count == skip_factor) { count = 0; } else { // do things count++; } }

See also

  • Computer programming portal

References

  1. Henry Hoffmann, Sasa Misailovic, Stelios Sidiroglou, Anant Agarwal, Martin Rinard "Using Code Perforation to Improve Performance, Reduce Energy Consumption, and Respond to Failures" MIT CSAIL Tech. Report 2009-042, September 2009 https://dspace.mit.edu/handle/1721.1/46709

  2. Sasa Misailovic, Stelios Sidiroglou, Henry Hoffmann, Martin C. Rinard "Quality of Service Profiling" 32nd International Conference on Software Engineering (ICSE 2010). May 2010. https://dl.acm.org/doi/10.1145/1806799.1806808

  3. Steilos Sidiroglou, Sasa Misailovic, Henry Hoffmann, and Martin Rinard. "Managing Performance vs. Accuracy Trade-offs With Loop Perforation." ESEC/FSE. September, 2011 https://dl.acm.org/doi/10.1145/2025113.2025133