## Patterns and Statistical Analysis for Understanding Reduced Resource Computing

Citations: | 6 - 5 self |

### BibTeX

@MISC{Rinard_patternsand,

author = {Martin Rinard and Henry Hoffmann and Stelios Sidiroglou and Sasa Misailovic},

title = {Patterns and Statistical Analysis for Understanding Reduced Resource Computing},

year = {}

}

### OpenURL

### Abstract

We present several general, broadly applicable mechanisms that enable computations to execute with reduced resources, typically at the cost of some loss in the accuracy of the result they produce. We identify several general computational patterns that interact well with these resource reduction mechanisms, present a concrete manifestation of these patterns in the form of simple model programs, perform simulationbased explorations of the quantitative consequences of applying these mechanisms to our model programs, and relate the model computations (and their interaction with the resource reduction mechanisms) to more complex benchmark applications drawn from a variety of fields.

### Citations

5774 |
Design Patterns: Elements of Reusable Object-Oriented Software
- Gamma, Helm, et al.
- 1994
(Show Context)
Citation Context ...t developers to engineer software systems from the start around patterns that interact well with resource reduction in much the same way that developers now work with more traditional design patterns =-=[12]-=- in all phases of the engineering process.1.3 Contributions This paper makes the following contributions: • Computational Patterns: It identifies computational patterns that interact well with resour... |

1457 | An axiomatic basis for computer programming
- Hoare
- 1969
(Show Context)
Citation Context ...n help developers better understand the relationships between the model computations and their own applications. • A New Model of Computation: Standard models of computation are based on formal logic =-=[11, 14]-=-. In these models, the computation is rigidly fixed by the application source code, with formulas in discrete formal logic characterizing the relationship between the input and output. This paper, in ... |

625 | MPEG: A Video Compression Standard for Multimedia Applications
- Gall
- 1991
(Show Context)
Citation Context ...ifferences relative to the referenced block. The more similar the blocks are, the more efficient the encoding. The search for a similar block in a previously encoded frame is called motion estimation =-=[18]-=-. x264 spends the majority of its time in motion estimation. The following code fragment implements a comparison between an encoded block and a reference block. It computes the sum of a set of numbers... |

597 |
Assigning meanings to programs
- Floyd
- 1967
(Show Context)
Citation Context ...n help developers better understand the relationships between the model computations and their own applications. • A New Model of Computation: Standard models of computation are based on formal logic =-=[11, 14]-=-. In these models, the computation is rigidly fixed by the application source code, with formulas in discrete formal logic characterizing the relationship between the input and output. This paper, in ... |

327 | The parsec benchmark suite: Characterization and architectural implications
- Bienia, Kumar, et al.
- 2008
(Show Context)
Citation Context ..., then taking the sum of, a subset of the corresponding set of numbers. • Swaptions: Swaptions uses a Monte-Carlo simulation to solve a partial differential equation to price a portfolio of swaptions =-=[5]-=-. The core computation takes the sum of the results from the individual simulations. The application computes the final result by dividing the sum by the number of simulations. The resource reduction ... |

148 | Diehard: Probabilistic memory safety for unsafe languages
- Berger, Zorn
- 2006
(Show Context)
Citation Context ...sms and other modern program transformations that may change the semantics of the program in return for benefits such as increased robustness, resilience, security, memory efficiency, and performance =-=[4, 19, 21, 22, 26, 27, 32, 33]-=-. 8. Criticality Testing In our experience, it is possible to apply resource reduction successfully to only a subset of the subcomputations in a given computation. Indeed, the inappropriate applicatio... |

144 | Enhancing Server Availability and Security Through Failure-Oblivious Computing
- Rinard, Cadar, et al.
- 2004
(Show Context)
Citation Context ...sms and other modern program transformations that may change the semantics of the program in return for benefits such as increased robustness, resilience, security, memory efficiency, and performance =-=[4, 19, 21, 22, 26, 27, 32, 33]-=-. 8. Criticality Testing In our experience, it is possible to apply resource reduction successfully to only a subset of the subcomputations in a given computation. Indeed, the inappropriate applicatio... |

104 | Automatic detection and repair of errors in data structures - Demsky, Rinard - 2002 |

94 | Building a reactive immune system for software services
- Sidiroglou, Locasto, et al.
- 2005
(Show Context)
Citation Context ...sms and other modern program transformations that may change the semantics of the program in return for benefits such as increased robustness, resilience, security, memory efficiency, and performance =-=[4, 19, 21, 22, 26, 27, 32, 33]-=-. 8. Criticality Testing In our experience, it is possible to apply resource reduction successfully to only a subset of the subcomputations in a given computation. Indeed, the inappropriate applicatio... |

90 | Jade: A high-level, machine-independent language for parallel programming
- Rinard, Scales, et al.
- 1993
(Show Context)
Citation Context ...y) vary as long as they stay within acceptable statistical accuracy bounds. 2. The Mean Pattern Consider the following computations: • Search: The Search computation [7] from the Jade benchmark suite =-=[28]-=- simulates the interaction of electron beams with solids. It uses a Monte-Carlo simulation to track the paths of electrons, with some electrons emerging back out of the solid and some remaining trappe... |

59 | Automatically patching errors in deployed software
- Perkins, Kim, et al.
- 2010
(Show Context)
Citation Context |

57 | Data Structure Repair Using Goal-Directed Reasoning
- Demsky, Rinard
- 2005
(Show Context)
Citation Context ...es the list at that node. So as the list grows in length, insertions that shorten the list become increasingly likely. 5.2.4 Discussion Data structure consistency is a critical acceptability property =-=[10, 26]-=-. Reduced resource allocation strategies and null-terminated linked data structures work best with algorithms that append null-terminated nodes to the leaves of the data structure — other strategies m... |

48 | Inference and enforcement of data structure consistency specifications - Demsky, Ernst, et al. - 2006 |

44 |
Towards robust distributed systems
- Brewer
- 2000
(Show Context)
Citation Context ...search engines also compute correlated values — the results for a given query are highly correlated, which enables resource reduction mechanisms (for example, searching only a subset of the documents =-=[6]-=-) that cause the search engine to return only a subset of the results that the original computation would have returned. This example generalizes to virtually all information retrieval computations. A... |

41 | Petabricks: a language and compiler for algorithmic choice
- Ansel, Chan, et al.
- 2009
(Show Context)
Citation Context ...ability distribution. Each trial in the simulation starts by filling the array numbers with the values of n independent pseudorandom variables selected from the uniform distribution over the interval =-=[0, 1]-=-. It then computes the difference between the computed mean values with and without resource reduction — i.e., the difference between the mean of all n values in the numbers array and the mean of ever... |

40 | D.: A Dynamic Technique for Eliminating Buffer Overflow Vulnerabilities (and Other Memory Errors
- Rinard, Cadar, et al.
- 2004
(Show Context)
Citation Context ...anism was cyclic memory allocation [21]. It is also possible to use out of bounds access redirection (cyclically or otherwise redirecting out of bounds accesses back within the accessed memory block) =-=[27, 29, 30]-=- to reduce the size of tables or arrays (or, for that matter, any data structure allocated in a contiguous block of memory). The out of bounds redirection eliminates any cross-block memory corruption ... |

39 |
Probabilistic accuracy bounds for fault-tolerant computations that discard tasks
- Rinard
- 2006
(Show Context)
Citation Context ...• Discarding Tasks: Parallel computations are often structured as a collection of tasks. Discarding tasks produces new computations that execute only a subset of the tasks in the original computation =-=[23, 24]-=-. • Loop Perforation: Loop perforation transforms loops to execute only a subset of the iterations in the original computation [16, 20]. Different loop perforation strategies include modulo perforatio... |

36 | The design, implementation and evaluation of Jade: a portable, implicitly parallel programming language
- Rinard
- 1994
(Show Context)
Citation Context ...e proportion of electrons that emerge out of each solid. Each parallel task simulates some of the electron/solid interaction pairs. • String: The String computation [13] from the Jade benchmark suite =-=[25]-=- uses seismic travel-time inversion to compute a discrete velocity model of the geology between two oil wells. It computes the travel time of rays traced through the geology model, then backprojects t... |

35 | Quality of service profiling
- Misailovic, Sidiroglou, et al.
- 2010
(Show Context)
Citation Context ...t execute only a subset of the tasks in the original computation [23, 24]. • Loop Perforation: Loop perforation transforms loops to execute only a subset of the iterations in the original computation =-=[16, 20]-=-. Different loop perforation strategies include modulo perforation (which discards or executes every nth iteration for some fixed n), truncation perforation (which discards either an initial or final ... |

33 | Acceptability-oriented computing
- Rinard
(Show Context)
Citation Context ...es the list at that node. So as the list grows in length, insertions that shorten the list become increasingly likely. 5.2.4 Discussion Data structure consistency is a critical acceptability property =-=[10, 26]-=-. Reduced resource allocation strategies and null-terminated linked data structures work best with algorithms that append null-terminated nodes to the leaves of the data structure — other strategies m... |

27 | ASSURE: automatic software self-healing using rescue points
- Sidiroglou, Laadan, et al.
- 2009
(Show Context)
Citation Context |

24 | Using early phase termination to eliminate load imbalances at barrier synchronization points
- Rinard
- 2007
(Show Context)
Citation Context ...lytical models. And of course combinations of these two approaches are also possible. 9. Related Work The resource reduction mechanisms discussed in this paper were all developed in previous research =-=[16, 20, 21, 23, 24]-=-. This paper identifies general computational patterns that interact well with these mechanisms, presents concrete manifestation of these patterns in the model computations, and uses simulation to qua... |

23 |
Tomographic string inversion
- Harris, Lazaratos, et al.
- 1990
(Show Context)
Citation Context ...of solids. It produces as output the proportion of electrons that emerge out of each solid. Each parallel task simulates some of the electron/solid interaction pairs. • String: The String computation =-=[13]-=- from the Jade benchmark suite [25] uses seismic travel-time inversion to compute a discrete velocity model of the geology between two oil wells. It computes the travel time of rays traced through the... |

18 | Detecting and eliminating memory leaks using cyclic memory allocation
- NGUYEN, RINARD
(Show Context)
Citation Context ...lytical models. And of course combinations of these two approaches are also possible. 9. Related Work The resource reduction mechanisms discussed in this paper were all developed in previous research =-=[16, 20, 21, 23, 24]-=-. This paper identifies general computational patterns that interact well with these mechanisms, presents concrete manifestation of these patterns in the model computations, and uses simulation to qua... |

16 |
Exploring the Acceptability Envelope
- Rinard, Cadar, et al.
- 2005
(Show Context)
Citation Context ...anism was cyclic memory allocation [21]. It is also possible to use out of bounds access redirection (cyclically or otherwise redirecting out of bounds accesses back within the accessed memory block) =-=[27, 29, 30]-=- to reduce the size of tables or arrays (or, for that matter, any data structure allocated in a contiguous block of memory). The out of bounds redirection eliminates any cross-block memory corruption ... |

14 | Parallelizing sequential programs with statistical accuracy tests
- Misailovic, Kim, et al.
- 2013
(Show Context)
Citation Context |

13 | Application heartbeats: a generic interface for specifying program performance and goals in autonomous computing environments
- HOFFMANN, EASTEP, et al.
- 2010
(Show Context)
Citation Context ...plications (such as video encoders) that are intended to produce a sequence of outputs at a regular rate with a target time between outputs. These controllers use the Application Heartbeats framework =-=[15]-=- to monitor the time between outputs and use either loop perforation [16] or dynamic knobs [17] to control the application to maximize accuracy while ensuring that they produce outputs at the target r... |

8 |
Low-energy electron/atom elastic scattering cross sections for 0.1-30keV. Scanning 17, 4 (July/August
- BROWNING, LI, et al.
- 1995
(Show Context)
Citation Context ...n (potentially nondeterministically) vary as long as they stay within acceptable statistical accuracy bounds. 2. The Mean Pattern Consider the following computations: • Search: The Search computation =-=[7]-=- from the Jade benchmark suite [28] simulates the interaction of electron beams with solids. It uses a Monte-Carlo simulation to track the paths of electrons, with some electrons emerging back out of ... |

8 |
Power-Aware Computing with Dynamic Knobs
- Hoffmann, Sidiroglou, et al.
- 2010
(Show Context)
Citation Context ...nce versus accuracy trade-off space. It is also possible to convert static configuration parameters into dynamic knobs — dynamic control variables stored in the address space of a running application =-=[17]-=-. Like resource reduction mechanisms, dynamic knobs make it possible to move a running application to different points in the induced performance versus accuracy trade-off space without otherwise pert... |

4 |
A system for supporting energy-conscious programming using principled approximation
- Green
- 2009
(Show Context)
Citation Context ...ginal application. An alternative approach requires the developer to provide multiple implementations of different subcomputations, potentially with different performance and accuracy characteristics =-=[1, 2]-=-. A search algorithm can then explore various implementation combinations to find desirable points in the performance/accuracy trade-off space. A claimed advantage is that it is less likely to deliver... |

1 |
Using Code Perforation to Improve Performance, Energy Consumption, and Respond to Failures
- Hoffmann, Misailovic, et al.
- 2009
(Show Context)
Citation Context ...t execute only a subset of the tasks in the original computation [23, 24]. • Loop Perforation: Loop perforation transforms loops to execute only a subset of the iterations in the original computation =-=[16, 20]-=-. Different loop perforation strategies include modulo perforation (which discards or executes every nth iteration for some fixed n), truncation perforation (which discards either an initial or final ... |

1 |
Desaturation of exhaled air in camels
- Schmidt-Nielsen, Schroter, et al.
- 1981
(Show Context)
Citation Context ...rmia. The nasal turbinates in dehydrated camels extract moisture from exhaled respiratory air, thereby limiting water loss and enhancing the ability of the camel to survive in dessicated environments =-=[31]-=-. All of these mechanisms take the organism away from its preferred operating mode but enable the organism to degrade its operation gracefully to enhance its survival prospects in resource-poor enviro... |