Enabling advanced code analysis with BDDs
by Price, Graham, M.S., UNIVERSITY OF COLORADO AT BOULDER, 2008, 94 pages; 1453551

Abstract:

Parallelization of sequential applications is not a trivial task, but is increasingly important as computing hardware trends to multicore systems. This thesis shows that finding and extracting regions of code for parallelism, as well as software pipelines, can be aided by analysis of dynamic program trace information. However, program traces for just a few seconds of execution are enormous, up to several terabytes in size, uncompressed. Specialized compression can shrink traces to a few gigabytes, but trace analyzers typically stream the decompressed trace through the analysis engine. Thus, the complexity of analysis depends on the decompressed trace size (even though the decompressed trace is never stored to disk). This makes many global or interactive analysis infeasible. This thesis presents a method to compress program traces using binary decision diagrams (BDDs). BDDs intrinsically support operations common to many desirable program analyses and these analyses operate directly on the BDD. Thus, they are often polynomial in the size of the compressed representation. This thesis presents mechanisms to represent a variety of trace data using BDDs and shows that BDDs can store, in 1 GB of RAM, the entire data-dependence graph of traces with over 1 billion instructions. This allows rapid computation of global analyses such as heap-object liveness, dynamic slicing, and DINxRDY time plotting. When combined, these techniques can reveal possible parallel regions of code. This thesis then presents issues germane to the subject of trace BDD creation. Topics included in this discussion include BDD variable orders, as well as BDD creation system RAM. This thesis then presents a tool, ParaMeter, that uses the BDD-trace format to perform program global program trace analysis, such as trace slicing and DINxRDY time plotting. A case study shows the ParaMeter tool in action, which results in a parallelized region of the SPEC INT 2000 benchmark 175.vpr.

 
AdviserManish Vachharajani
SchoolUNIVERSITY OF COLORADO AT BOULDER
SourceMAI/ 46-06, p. , Aug 2008
Source TypeThesis
SubjectsElectrical engineering; Computer science
Publication Number1453551
Adobe PDF Access the complete dissertation:
 

» Find an electronic copy at your library.
  Use the link below to access a full citation record of this graduate work:
  http://gateway.proquest.com/openurl%3furl_ver=Z39.88-2004%26res_dat=xri:pqdiss%26rft_val_fmt=info:ofi/fmt:kev:mtx:dissertation%26rft_dat=xri:pqdiss:1453551
  If your library subscribes to the ProQuest Dissertations & Theses (PQDT) database, you may be entitled to a free electronic version of this graduate work. If not, you will have the option to purchase one, and access a 24 page preview for free (if available).

About ProQuest Dissertations & Theses
With over 2.3 million records, the ProQuest Dissertations & Theses (PQDT) database is the most comprehensive collection of dissertations and theses in the world. It is the database of record for graduate research.

The database includes citations of graduate works ranging from the first U.S. dissertation, accepted in 1861, to those accepted as recently as last semester. Of the 2.3 million graduate works included in the database, ProQuest offers more than 1.9 million in full text formats. Of those, over 860,000 are available in PDF format. More than 60,000 dissertations and theses are added to the database each year.

If you have questions, please feel free to visit the ProQuest Web site - http://www.proquest.com - or call ProQuest Hotline Customer Support at 1-800-521-3042.