|
|
|
Most of my past research has involved solving or trying to solve computationally demanding problems. I have used various techniques including genetic algorithms, randomization, parallel search, and the use of constraint solving tools. I have worked with linear programming solvers, integer programming solvers, and constraint satisfaction solvers. I have also written much parallel code using threads on shared memory systems and message passing libraries on a network of workstations. As of late, I have focused on multithreaded parallel constraint programming. Here we combine two very powerful software tools, threads and constraint programming, to solve computationally demanding problems. My thesis, entitled "Multithreaded Constraint Programming and Applications", addresses the fundamental issues concerning the problem of application-based multithreaded constraint programming. The focus of the thesis is on methods for achieving application-based parallelism in constraint programming using threads. It presents algorithms such as Dynamic Thread Creation, a new dynamic load balancing scheme specific to multithreading and the Multithreaded Least Discrepancy Search and Multithreaded Best-First With Backtracking Search, two new parallel search strategies that break away from the classic backtracking schemes normally associated with constraint programming. These new algorithms are applied to benchmark resource allocation problems with data from the literature and empirical results are reported. As a result of this work we have found that application-based multithreading is an effective means for improving the performance of constraint programming on difficult combinatorial problems. In particular, through the benchmark problems, we have shown that multithreading can improve performance in three ways. 1. Multithreading can decrease the execution time of an application. 2. Multithreading can increase the size problems that an application can solve. 3. Multithreading can improve the quality of solutions of an application that is limited by time.
A postscript version of my thesis is available here.
|