Return to search

Evaluating Speedup in Parallel Compilers

Parallel programming is prevalent in every field mainly to speed up computation. Advancements in multiprocessor technology fuel this trend toward parallel programming. However, modern compilers are still largely single threaded and do not take advantage of the machine resources available to them. There has been a lot of work done on compilers that add parallel constructs to the programs they are compiling, enabling programs to exploit parallelism at run time. Auto parallelization of loops by a compiler is one such example. Researchers have done very little work towards parallelizing the compilation process itself.
The research done here focuses on parallel compilers that target computation speedup by parallelizing the process of program compilation during the lexical analysis and semantic analysis phase. Parallelization brings along with it issues like synchronization, concurrency and communication overhead. In the semantic analysis phase, these issues are of particular relevance during the construction of the symbol table. Research done on a concurrent compiler developed at the University of Toronto in 1991 proposed three techniques to address the generation of the symbol table [Seshadri91]. The goal here is to implement a parallel compiler using concepts from those techniques as references. The research done here will augment the work done formerly and measure the performance speedup obtained.

Identiferoai:union.ndltd.org:unf.edu/oai:digitalcommons.unf.edu:etd-1306
Date01 January 2012
CreatorsKomathukattil, Deepa V
PublisherUNF Digital Commons
Source SetsUniversity of North Florida
Detected LanguageEnglish
Typetext
Formatapplication/pdf
SourceUNF Theses and Dissertations

Page generated in 0.0513 seconds