Engineering Papers⌕ Search

Engineering topics

Rountree, Barry L.

Publications and source records attributed to Rountree, Barry L..

Managing the Performance/Error Tradeoff of Floating-point Intensive Applications

Modern embedded systems are becoming more reliant on real-valued arithmetic as they employ mathematically complex vision algorithms and sensor signal processing. Double-precision floating point is the most commonly used precision in computer vision algorithm implementations. A single-precision floating point can provide a performance boost due to less memory transfers, less cache occupancy, and relatively faster mathematical operations on some architectures. However, adopting it can result in loss of accuracy. Identifying which parts of the program can run in single-precision floating point with low impact on error is a manual and tedious process. In this paper, we propose an automatic approach to identify parts of the program that have a low impact on error using shadow-value analysis. Our approach provides the user with a performance/error tradeoff, using which the user can decide how much accuracy can be sacrificed in return for performance improvement. We illustrate the impact of the approach using a well known implementation of Apriltag detection used in robotics vision. In conclusion, we demonstrate that an average 1.3x speedup can be achieved with no impact on tag detection, and a 1.7x speedup with only 4% false negatives.

97 MATHEMATICS AND COMPUTING↗

Exploiting Redundancy and Application Scalability for Cost-Effective, Time-Constrained Execution of HPC Applications on Amazon EC2

The use of clouds to execute high-performance computing (HPC) applications has greatly increased recently. Clouds provide several potential advantages over traditional supercomputers and in-house clusters. The most popular cloud is currently Amazon EC2, which provides fixed-cost and variable-cost, auction-based options. The auction market trades lower cost for potential interruptions that necessitate checkpointing; if the market price exceeds the bid price, a node is taken away from the user without warning. We explore techniques to maximize performance per dollar given a time constraint within which an application must complete. Specifically, we design and implement multiple techniques to reduce expected cost by exploiting redundancy in the EC2 auction market. We then design an adaptive algorithm that selects a scheduling algorithm and determines the bid price. We show that our adaptive algorithm executes programs up to seven times cheaper than using the on-demand market and up to 44 percent cheaper than the best non-redundant, auction-market algorithm. We extend our adaptive algorithm to incorporate application scalability characteristics for further cost savings. In conclusion, we show that the adaptive algorithm informed with scalability characteristics of applications achieves up to 56 percent cost savings compared to the expected cost for the base adaptive algorithm run at a fixed, user-defined scale.

97 MATHEMATICS AND COMPUTING↗

Notes from the Unit Commitment Linear Programming Project

The Unit Commitment Problem (UCP) is a computational bottleneck in electrical grid optimization. The problem bears a close resemblance to a similar problem in High Performance Computing: the Dynamic Volt age/Frequency Scheduling (DVFS) problem. In my earlier work I successfully tranformed the DVFS into a closely related problem amenable to a linear programming solution and was thus able to schedule problem instances several orders of magnitude larger than any that had been at tempted before. This technical report details my unsuccessful efforts to derive a similar transformation for the UCP. The problem proved impossible not because generators were either on or off, but because the state of an earlier timeslice constrains the states of latter timeslices in ways that cannot be sufficiently well approximated for useful solutions.

97 MATHEMATICS AND COMPUTING↗