Quality of service profiling

Sasa Misailovic, Stelios Sidiroglou, Henry Hoffmann, Martin Rinard

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Many computations exhibit a trade off between execution time and quality of service. A video encoder, for example, can often encode frames more quickly if it is given the freedom to produce slightly lower quality video. A developer attempting to optimize such computations must navigate a complex trade-off space to find optimizations that appropriately balance quality of service and performance. We present a new quality of service profiler that is designed to help developers identify promising optimization opportunities in such computations. In contrast to standard profilers, which simply identify time-consuming parts of the computation, a quality of service profiler is designed to identify subcomputations that can be replaced with new (and potentially less accurate) subcomputations that deliver significantly increased performance in return for acceptably small quality of service losses. Our quality of service profiler uses loop perforation (which transforms loops to perform fewer iterations than the original loop) to obtain implementations that occupy different points in the performance/quality of service trade-off space. The rationale is that optimizable computations often contain loops that perform extra iterations, and that removing iterations, then observing the resulting effect on the quality of service, is an effective way to identify such optimizable subcomputations. Our experimental results from applying our implemented quality of service profiler to a challenging set of benchmark applications show that it can enable developers to identify promising optimization opportunities and deliver successful optimizations that substantially increase the performance with only small quality of service losses.

Original languageEnglish (US)
Title of host publicationICSE 2010 - Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering
Pages25-34
Number of pages10
DOIs
StatePublished - Jul 23 2010
Event32nd ACM/IEEE International Conference on Software Engineering, ICSE 2010 - Cape Town, South Africa
Duration: May 1 2010May 8 2010

Publication series

NameProceedings - International Conference on Software Engineering
Volume1
ISSN (Print)0270-5257

Other

Other32nd ACM/IEEE International Conference on Software Engineering, ICSE 2010
CountrySouth Africa
CityCape Town
Period5/1/105/8/10

Fingerprint

Quality of service

Keywords

  • loop perforation
  • profiling
  • quality of service

ASJC Scopus subject areas

  • Software

Cite this

Misailovic, S., Sidiroglou, S., Hoffmann, H., & Rinard, M. (2010). Quality of service profiling. In ICSE 2010 - Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering (pp. 25-34). (Proceedings - International Conference on Software Engineering; Vol. 1). https://doi.org/10.1145/1806799.1806808

Quality of service profiling. / Misailovic, Sasa; Sidiroglou, Stelios; Hoffmann, Henry; Rinard, Martin.

ICSE 2010 - Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering. 2010. p. 25-34 (Proceedings - International Conference on Software Engineering; Vol. 1).

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Misailovic, S, Sidiroglou, S, Hoffmann, H & Rinard, M 2010, Quality of service profiling. in ICSE 2010 - Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering. Proceedings - International Conference on Software Engineering, vol. 1, pp. 25-34, 32nd ACM/IEEE International Conference on Software Engineering, ICSE 2010, Cape Town, South Africa, 5/1/10. https://doi.org/10.1145/1806799.1806808
Misailovic S, Sidiroglou S, Hoffmann H, Rinard M. Quality of service profiling. In ICSE 2010 - Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering. 2010. p. 25-34. (Proceedings - International Conference on Software Engineering). https://doi.org/10.1145/1806799.1806808
Misailovic, Sasa ; Sidiroglou, Stelios ; Hoffmann, Henry ; Rinard, Martin. / Quality of service profiling. ICSE 2010 - Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering. 2010. pp. 25-34 (Proceedings - International Conference on Software Engineering).
@inproceedings{26f580d1ec5a4d108c5fbe9c35ea51c8,
title = "Quality of service profiling",
abstract = "Many computations exhibit a trade off between execution time and quality of service. A video encoder, for example, can often encode frames more quickly if it is given the freedom to produce slightly lower quality video. A developer attempting to optimize such computations must navigate a complex trade-off space to find optimizations that appropriately balance quality of service and performance. We present a new quality of service profiler that is designed to help developers identify promising optimization opportunities in such computations. In contrast to standard profilers, which simply identify time-consuming parts of the computation, a quality of service profiler is designed to identify subcomputations that can be replaced with new (and potentially less accurate) subcomputations that deliver significantly increased performance in return for acceptably small quality of service losses. Our quality of service profiler uses loop perforation (which transforms loops to perform fewer iterations than the original loop) to obtain implementations that occupy different points in the performance/quality of service trade-off space. The rationale is that optimizable computations often contain loops that perform extra iterations, and that removing iterations, then observing the resulting effect on the quality of service, is an effective way to identify such optimizable subcomputations. Our experimental results from applying our implemented quality of service profiler to a challenging set of benchmark applications show that it can enable developers to identify promising optimization opportunities and deliver successful optimizations that substantially increase the performance with only small quality of service losses.",
keywords = "loop perforation, profiling, quality of service",
author = "Sasa Misailovic and Stelios Sidiroglou and Henry Hoffmann and Martin Rinard",
year = "2010",
month = "7",
day = "23",
doi = "10.1145/1806799.1806808",
language = "English (US)",
isbn = "9781605587196",
series = "Proceedings - International Conference on Software Engineering",
pages = "25--34",
booktitle = "ICSE 2010 - Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering",

}

TY - GEN

T1 - Quality of service profiling

AU - Misailovic, Sasa

AU - Sidiroglou, Stelios

AU - Hoffmann, Henry

AU - Rinard, Martin

PY - 2010/7/23

Y1 - 2010/7/23

N2 - Many computations exhibit a trade off between execution time and quality of service. A video encoder, for example, can often encode frames more quickly if it is given the freedom to produce slightly lower quality video. A developer attempting to optimize such computations must navigate a complex trade-off space to find optimizations that appropriately balance quality of service and performance. We present a new quality of service profiler that is designed to help developers identify promising optimization opportunities in such computations. In contrast to standard profilers, which simply identify time-consuming parts of the computation, a quality of service profiler is designed to identify subcomputations that can be replaced with new (and potentially less accurate) subcomputations that deliver significantly increased performance in return for acceptably small quality of service losses. Our quality of service profiler uses loop perforation (which transforms loops to perform fewer iterations than the original loop) to obtain implementations that occupy different points in the performance/quality of service trade-off space. The rationale is that optimizable computations often contain loops that perform extra iterations, and that removing iterations, then observing the resulting effect on the quality of service, is an effective way to identify such optimizable subcomputations. Our experimental results from applying our implemented quality of service profiler to a challenging set of benchmark applications show that it can enable developers to identify promising optimization opportunities and deliver successful optimizations that substantially increase the performance with only small quality of service losses.

AB - Many computations exhibit a trade off between execution time and quality of service. A video encoder, for example, can often encode frames more quickly if it is given the freedom to produce slightly lower quality video. A developer attempting to optimize such computations must navigate a complex trade-off space to find optimizations that appropriately balance quality of service and performance. We present a new quality of service profiler that is designed to help developers identify promising optimization opportunities in such computations. In contrast to standard profilers, which simply identify time-consuming parts of the computation, a quality of service profiler is designed to identify subcomputations that can be replaced with new (and potentially less accurate) subcomputations that deliver significantly increased performance in return for acceptably small quality of service losses. Our quality of service profiler uses loop perforation (which transforms loops to perform fewer iterations than the original loop) to obtain implementations that occupy different points in the performance/quality of service trade-off space. The rationale is that optimizable computations often contain loops that perform extra iterations, and that removing iterations, then observing the resulting effect on the quality of service, is an effective way to identify such optimizable subcomputations. Our experimental results from applying our implemented quality of service profiler to a challenging set of benchmark applications show that it can enable developers to identify promising optimization opportunities and deliver successful optimizations that substantially increase the performance with only small quality of service losses.

KW - loop perforation

KW - profiling

KW - quality of service

UR - http://www.scopus.com/inward/record.url?scp=77954745730&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=77954745730&partnerID=8YFLogxK

U2 - 10.1145/1806799.1806808

DO - 10.1145/1806799.1806808

M3 - Conference contribution

AN - SCOPUS:77954745730

SN - 9781605587196

T3 - Proceedings - International Conference on Software Engineering

SP - 25

EP - 34

BT - ICSE 2010 - Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering

ER -