Concurrent Polyglot: An Extensible Compiler Framework

dc.contributorKothari, Saurabh Satishen_US
dc.date.accessioned2011-07-14T20:53:36Z
dc.date.accessioned2011-08-24T21:44:51Z
dc.date.available2011-07-14T20:53:36Z
dc.date.available2011-08-24T21:44:51Z
dc.date.issued2011-07-14
dc.date.submittedJanuary 2011en_US
dc.description.abstractWe have today crossed the threshold of increasing clock frequencies as the dominant solution to faster computing, and it is imperative for software developers to be able to think in the concurrent and parallel paradigm. Important still is to equip programmers with the right tools to develop concurrent and parallel software. Software concurrency is a widely researched area, and many of today's compilers concentrate on compiling for parallelism. However, although concurrent compilers have been explored since the 1970s, very few of them exist today that justify multicore environments. For instance, gmake [1] supports coarse grained parallelism through the -j option for building independent files in parallel. Our effort here brings into perspective a much finer grained approach: targeting the abstract syntax tree to extract opportunities for parallel and concurrent compilation. Polyglot is an extensible compiler framework. It allows the extension of Java in domainspecific ways into languages that may define their own new constructs. Compilation in Polyglot is sequential. The compiler uses only one core, even if additional cores are present. In order to fully utilize the power of the underlying hardware, we present here our efforts in making Polyglot concurrent. Parallelization of the compilation process can yield faster compilation times. It also presents the correctness and scalability challenges that make this a test bed for experimenting with various concurrency models. As part of the larger Polyglot project, we evaluate and present here the performance of Concurrent Polyglot against benchmarks and compare with the performance of Sequential Polyglot. We also present correctness of the output produced by Concurrent Polyglot.en_US
dc.identifier.urihttp://hdl.handle.net/10106/5819
dc.language.isoenen_US
dc.publisherComputer Science & Engineeringen_US
dc.titleConcurrent Polyglot: An Extensible Compiler Frameworken_US
dc.typeM.S.en_US

Files