Interactive Message Debugger for Parallel Message Passing Programs Using Lam-Mpi
Total Page:16
File Type:pdf, Size:1020Kb
UNLV Retrospective Theses & Dissertations 1-1-2005 Interactive message debugger for parallel message passing programs using Lam-Mpi Hoimonti Basu University of Nevada, Las Vegas Follow this and additional works at: https://digitalscholarship.unlv.edu/rtds Repository Citation Basu, Hoimonti, "Interactive message debugger for parallel message passing programs using Lam-Mpi" (2005). UNLV Retrospective Theses & Dissertations. 1867. http://dx.doi.org/10.25669/8i4b-evdn This Thesis is protected by copyright and/or related rights. It has been brought to you by Digital Scholarship@UNLV with permission from the rights-holder(s). You are free to use this Thesis in any way that is permitted by the copyright and related rights legislation that applies to your use. For other uses you need to obtain permission from the rights-holder(s) directly, unless additional rights are indicated by a Creative Commons license in the record and/ or on the work itself. This Thesis has been accepted for inclusion in UNLV Retrospective Theses & Dissertations by an authorized administrator of Digital Scholarship@UNLV. For more information, please contact [email protected]. INTERACTIVE MESSAGE DEBUGGER FOR PARALLEL MESSAGE PASSING PROGRAMS USING LAM-MPI by Hoimonti Basu Bachelor of Technology (Honors) Indian Institute of Technology, Kharagpur 1998 Bachelor of Science San Jose State University, San Jose 2003 A thesis submitted in partial fulfillment of the requirements for the Master of Science Degree in Computer Science School of Computer Science Howard R. Hughes College of Engineering Graduate College University of Nevada, Las Vegas December 2005 Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. UMI Number: 1435598 INFORMATION TO USERS The quality of this reproduction is dependent upon the quality of the copy submitted. Broken or indistinct print, colored or poor quality illustrations and photographs, print bleed-through, substandard margins, and improper alignment can adversely affect reproduction. In the unlikely event that the author did not send a complete manuscript and there are missing pages, these will be noted. Also, if unauthorized copyright material had to be removed, a note will indicate the deletion. UMI UMI Microform 1435598 Copyright 2006 by ProQuest Information and Learning Company. All rights reserved. This microform edition is protected against unauthorized copying under Title 17, United States Code. ProQuest Information and Learning Company 300 North Zeeb Road P.O. Box 1346 Ann Arbor, Ml 48106-1346 Reproduced witfi permission of tfie copyrigfit owner. Furtfier reproduction profiibited witfiout permission. Copyright by Hoimonti Basu 2006 All Rights Reserved Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. Thesis Approval The Graduate College University of Nevada, Las Vegas NOVEMBER 16TH ___ ,2 0 05 The Thesis prepared by HOIMONTI BASU Entitled INTERACTIVE MESSAGE DEBUGGER FOR PARALLEL MESSAGE PASSING PROGRAMS USING LAM - MPI is approved in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE IN COMPUTER SCIENCE mittee ChairExamination Dean of the Graduate College Emmination Committee Member Examination Committee Member Grad fate College Faculty Representative 11 Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. ABSTRACT Interactive Message Debugger for Parallel Message Passing Programs using LAM-MPI by Hoimonti Basu Dr. Jan B. Pedersen, Examination Committee Chair Professor of Computer Science University of Nevada, Las Vegas Many complex and computation intensive problems can be solved efficiently using parallel programs on a network of processors. One of the most widely used software platfoims for such cluster computing is LAM-MPI. To aid develop robust parallel programs using LAM-MPI we need efficient debugging tools. The challenges in debugging parallel programs are unique and different from those of sequential programs. Unfortunately available parallel debuggers do not address these challenges adequately. This thesis introduces IDLI, a parallel message debugger for LAM-MPI, designed on the concepts of multi-level debugging. IDLI provides a new paradigm for distributed debugging while avoiding many of the pitfalls of present tools of its genre. Through its powerful yet customizable query mechanism, adequate data abstraction, granularity, user- friendly interface, and a fast novel technique to simultaneously replay and sequentially debug one or more processes from a distributed application, IDLI provides an effective environment for debugging parallel LAM-MPI programs. Ill Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. TABLE OF CONTENTS ABSTRACT.................................................................................................................................iii LIST OF FIGURES....................................................................................................................vii ACKNOWLEDGEMENTS........................................................................................................ix CHAPTER 1 INTRODUCTION..............................................................................................1 Parallel and Distributed Systems .............................................................................2 Debugging in a Parallel Programming Environment ............................................ 5 Multilevel Debugging ............................................................................................... 7 Objectives of this Thesis ........................................................................................... 8 Organization of this Thesis .......................................................................................8 CHAPTER 2 BACKGROUND AND PREVIOUS WORK...............................................10 The Need for a Debugger for Parallel Programs using MPI .............................. 10 Current MPI Debuggers and Tools in use by Developers ..................................12 Source Level Debuggers..........................................................................................13 Graphical Visualization Debuggers .......................................................................15 Post Processing Debuggers ..................................................................................... 16 Summary....................................................................................................................18 CHAPTER 3 THE MPI PARALLEL PROGRAMMING PARADIGM ........................ 21 MPI............................................................................................................................ 21 LAM -M PI..................................................................................................................23 MPI Functions...........................................................................................................24 Blocking and Non-blocking Message Passing .....................................................24 Synchronous and Asynchronous Message Passing ..............................................25 Preliminai'y Routines............................................................................................... 26 Point-to-Point Message Passing Routines ............................................................27 Group Communication Routines........................................................................... 29 Summary.................................................................................................................... 32 IV Reproduced with permission of the copyright owner. Further reproduction prohibited without permission. CHAPTER 4 INTRODUCING IDLI - AN MPI MESSAGE DEBUGGER................. 33 Architecture and Overview ....................................................................................33 Wrappers for MPI functions in the native C library of IDLI ............................ 34 The PostgreSQL Database .....................................................................................35 Front-end User Interface of IDLI and Quei-y Manager ...................................... 36 Replay .......................................................................................................................36 Features of IDLI.......................................................................................................37 The Commands; List and Drop ............................................................................. 39 Query Manager........................................................................................................43 Built-in Query: Dump.............................................................................................45 Built-in Query: Locategroup..................................................................................48 Built-in Query: Locatep2p..................................................................................... 49 Built-in Query: Status.............................................................................................51 Built-in Query: Trace..............................................................................................51 The command: PSQL .............................................................................................. 54 R eplay ......................................................................................................................