Date of Award


Document Type

Campus Access Thesis


Computer Science and Engineering

First Advisor

Manton Matthews


Multithreading, an interactive application may allow a program to continue running even if part of it is blocked or is performing a lengthy operation, thereby improving software performance. The performance of a multithreaded application can be improved further in a multi-core processor architecture, where each thread runs in parallel on a different core. To benefit from the newer multi-core processors we can move towards multithreaded versions of traditional natural language processing systems. This thesis work has two main contributions towards multithreaded versions of a natural language processing systems:

1. Implementation of data parallelism to improve performance of lexical analysis and parsing.

2. Extended discussion and algorithm of control parallelism to handle parsing conflicts generated by an ambiguous grammar specification by creating separate parsers in separate threads to resolve the conflicts.