A Scalable Prescriptive Parallel Debugging Model

Nicklas Bo Jensen, Niklas Quarfot Nielsen, Gregory L. Lee, Sven Karlsson, Matthew Legendre, Martin Schulz, Dong H. Ahn

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

Abstract

Debugging is a critical step in the development of any parallel program. However, the traditional interactive debugging model, where users manually step through code and inspect their application, does not scale well even for current supercomputers due its centralized nature. While lightweight debugging models, which have been proposed as an alternative, scale well, they can currently only debug a subset of bug classes. We therefore propose a new model, which we call prescriptive debugging, to fill this gap between these two approaches. This user-guided model allows programmers to express and test their debugging intuition in a way that helps to reduce the error space. Based on this debugging model we introduce a prototype implementation embodying this model, the DySectAPI, allowing programmers to construct probe trees for automatic, event-driven debugging at scale. In this paper we introduce the concepts behind DySectAPI and, using both experimental results and analytical modelling, we show that the DySectAPI implementation can run with a low overhead on current systems. We achieve a logarithmic scaling of the prototype and show predictions that even for a large system the overhead of the prescriptive debugging model will be small.
Original languageEnglish
Title of host publicationProceedings of the 29th IEEE International Parallel and Distributed Processing Symposium (IPDPS 2015)
PublisherIEEE
Publication date2015
Pages473-483
ISBN (Print)978-1-4799-8648-4
DOIs
Publication statusPublished - 2015
Event29th IEEE International Parallel and Distributed Processing Symposium - Hyderabad, India
Duration: 25 May 201529 May 2015
Conference number: 29
http://www.ipdps.org/ipdps2015/2015_advance_program.html
http://www.ipdps.org/

Conference

Conference29th IEEE International Parallel and Distributed Processing Symposium
Number29
CountryIndia
CityHyderabad
Period25/05/201529/05/2015
Internet address

Cite this

Jensen, N. B., Quarfot Nielsen, N., Lee, G. L., Karlsson, S., Legendre, M., Schulz, M., & Ahn, D. H. (2015). A Scalable Prescriptive Parallel Debugging Model. In Proceedings of the 29th IEEE International Parallel and Distributed Processing Symposium (IPDPS 2015) (pp. 473-483). IEEE. https://doi.org/10.1109/IPDPS.2015.15
Jensen, Nicklas Bo ; Quarfot Nielsen, Niklas ; Lee, Gregory L. ; Karlsson, Sven ; Legendre, Matthew ; Schulz, Martin ; Ahn, Dong H. / A Scalable Prescriptive Parallel Debugging Model. Proceedings of the 29th IEEE International Parallel and Distributed Processing Symposium (IPDPS 2015). IEEE, 2015. pp. 473-483
@inproceedings{687a859bc68644528c474a3202a29830,
title = "A Scalable Prescriptive Parallel Debugging Model",
abstract = "Debugging is a critical step in the development of any parallel program. However, the traditional interactive debugging model, where users manually step through code and inspect their application, does not scale well even for current supercomputers due its centralized nature. While lightweight debugging models, which have been proposed as an alternative, scale well, they can currently only debug a subset of bug classes. We therefore propose a new model, which we call prescriptive debugging, to fill this gap between these two approaches. This user-guided model allows programmers to express and test their debugging intuition in a way that helps to reduce the error space. Based on this debugging model we introduce a prototype implementation embodying this model, the DySectAPI, allowing programmers to construct probe trees for automatic, event-driven debugging at scale. In this paper we introduce the concepts behind DySectAPI and, using both experimental results and analytical modelling, we show that the DySectAPI implementation can run with a low overhead on current systems. We achieve a logarithmic scaling of the prototype and show predictions that even for a large system the overhead of the prescriptive debugging model will be small.",
author = "Jensen, {Nicklas Bo} and {Quarfot Nielsen}, Niklas and Lee, {Gregory L.} and Sven Karlsson and Matthew Legendre and Martin Schulz and Ahn, {Dong H.}",
year = "2015",
doi = "10.1109/IPDPS.2015.15",
language = "English",
isbn = "978-1-4799-8648-4",
pages = "473--483",
booktitle = "Proceedings of the 29th IEEE International Parallel and Distributed Processing Symposium (IPDPS 2015)",
publisher = "IEEE",
address = "United States",

}

Jensen, NB, Quarfot Nielsen, N, Lee, GL, Karlsson, S, Legendre, M, Schulz, M & Ahn, DH 2015, A Scalable Prescriptive Parallel Debugging Model. in Proceedings of the 29th IEEE International Parallel and Distributed Processing Symposium (IPDPS 2015). IEEE, pp. 473-483, 29th IEEE International Parallel and Distributed Processing Symposium , Hyderabad, India, 25/05/2015. https://doi.org/10.1109/IPDPS.2015.15

A Scalable Prescriptive Parallel Debugging Model. / Jensen, Nicklas Bo; Quarfot Nielsen, Niklas ; Lee, Gregory L.; Karlsson, Sven ; Legendre, Matthew ; Schulz, Martin; Ahn, Dong H.

Proceedings of the 29th IEEE International Parallel and Distributed Processing Symposium (IPDPS 2015). IEEE, 2015. p. 473-483.

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

TY - GEN

T1 - A Scalable Prescriptive Parallel Debugging Model

AU - Jensen, Nicklas Bo

AU - Quarfot Nielsen, Niklas

AU - Lee, Gregory L.

AU - Karlsson, Sven

AU - Legendre, Matthew

AU - Schulz, Martin

AU - Ahn, Dong H.

PY - 2015

Y1 - 2015

N2 - Debugging is a critical step in the development of any parallel program. However, the traditional interactive debugging model, where users manually step through code and inspect their application, does not scale well even for current supercomputers due its centralized nature. While lightweight debugging models, which have been proposed as an alternative, scale well, they can currently only debug a subset of bug classes. We therefore propose a new model, which we call prescriptive debugging, to fill this gap between these two approaches. This user-guided model allows programmers to express and test their debugging intuition in a way that helps to reduce the error space. Based on this debugging model we introduce a prototype implementation embodying this model, the DySectAPI, allowing programmers to construct probe trees for automatic, event-driven debugging at scale. In this paper we introduce the concepts behind DySectAPI and, using both experimental results and analytical modelling, we show that the DySectAPI implementation can run with a low overhead on current systems. We achieve a logarithmic scaling of the prototype and show predictions that even for a large system the overhead of the prescriptive debugging model will be small.

AB - Debugging is a critical step in the development of any parallel program. However, the traditional interactive debugging model, where users manually step through code and inspect their application, does not scale well even for current supercomputers due its centralized nature. While lightweight debugging models, which have been proposed as an alternative, scale well, they can currently only debug a subset of bug classes. We therefore propose a new model, which we call prescriptive debugging, to fill this gap between these two approaches. This user-guided model allows programmers to express and test their debugging intuition in a way that helps to reduce the error space. Based on this debugging model we introduce a prototype implementation embodying this model, the DySectAPI, allowing programmers to construct probe trees for automatic, event-driven debugging at scale. In this paper we introduce the concepts behind DySectAPI and, using both experimental results and analytical modelling, we show that the DySectAPI implementation can run with a low overhead on current systems. We achieve a logarithmic scaling of the prototype and show predictions that even for a large system the overhead of the prescriptive debugging model will be small.

U2 - 10.1109/IPDPS.2015.15

DO - 10.1109/IPDPS.2015.15

M3 - Article in proceedings

SN - 978-1-4799-8648-4

SP - 473

EP - 483

BT - Proceedings of the 29th IEEE International Parallel and Distributed Processing Symposium (IPDPS 2015)

PB - IEEE

ER -

Jensen NB, Quarfot Nielsen N, Lee GL, Karlsson S, Legendre M, Schulz M et al. A Scalable Prescriptive Parallel Debugging Model. In Proceedings of the 29th IEEE International Parallel and Distributed Processing Symposium (IPDPS 2015). IEEE. 2015. p. 473-483 https://doi.org/10.1109/IPDPS.2015.15