Files in this item

FilesDescriptionFormat

application/pdf

application/pdfGioachin_Filippo.pdf (3MB)
(no description provided)PDF

Description

Title:Debugging Large Scale Applications with Virtualization
Author(s):Gioachin, Filippo
Director of Research:Kale, Laxmikant V.
Doctoral Committee Chair(s):Kale, Laxmikant V.
Doctoral Committee Member(s):Gropp, William D.; Johnson, Ralph E.; DeRose, Luiz
Department / Program:Computer Science
Discipline:Computer Science
Degree Granting Institution:University of Illinois at Urbana-Champaign
Degree:Ph.D.
Genre:Dissertation
Subject(s):parallel debugging
virtualization
runtime system
record replay
provisional delivery
unsupervised execution
Abstract:Debugging is a fundamental part of software development, and one of the largest in terms of time spent. When developing parallel applications, debugging becomes much harder due to a whole new set of problems not present in sequential applications. One famously difficult example is a race condition. Moreover, sometimes a problem does not manifest itself when executing an application using few processors, only to appear when a larger number of processors is used. In this scenario, it is important to develop techniques to assist both the debugger and the programmer to handle large scale applications. One problem consists in the capacity of the programmer to directly control the execution of all the allocated processors, even if the debugger is capable of handling them. Another problem concerns the feasibility of occupying a large machine for the time necessary to discover the cause of a problem---typically many hours. In this thesis, we explore a new approach based on a tight integration between the debugger and the application's underlying parallel runtime system. The debugger is responsible for interacting with the user and receiving commands from him; the parallel runtime system is responsible for managing the application, and performing the operations requested by the user through the debugger interface. This integration facilitates the scaling of the debugging techniques to very large machines, and helps the user to focus on the processors where a problem manifests. Furthermore, the parallel runtime system is in a unique position to enable powerful techniques that can help reduce the need for large parallel machines when debugging a large-scale application.
Issue Date:2011-01-14
URI:http://hdl.handle.net/2142/18315
Rights Information:Copyright 2010 Filippo Gioachin
Date Available in IDEALS:2011-01-14
Date Deposited:December 2


This item appears in the following Collection(s)

Item Statistics