A Novel Approach to Automated Algorithm Design

Document Type

Presentation Abstract

Presentation Date

2-6-2012

Abstract

In this talk I will argue that certain (distributed) algorithms may be designed by carrying out a brute force search, using massive parallelism, and a model checker. To demonstrate the approach, I will report on an attempt to construct a (two-processor, single-use) reliable TEST&SET bit using fewer than 7 component TEST&SET bits, of which at most 1 may be faulty. A program has been designed to systematically generate program texts of a specific form. Each of these texts serves as input to a model checker to determine whether that text implements a reliable TEST&SET bit. Due to the large amount of possible program texts, we use parallelism to speed up the search for a solution.

The problem of constructing a reliable TEST&SET bit with fewer than 7 component TEST&SET bits is motivated by a construction due to Afek, Greenberg, Merritt, and Taubenfeld, who have shown that 7 component TEST&SET bits, of which at most 1 may be faulty, are sufficient to implement a reliable TEST&SET bit. Afek et. al. have not proved that 7 component TEST&SET bits are also necessary to implement a reliable TEST&SET bit. Thus, if the approach is successful, the construction of Afek, Greenberg, Merritt, and Taubenfeld has been improved.

I will also argue that the advocated approach is applicable to comparing programs, all designed to achieve a similar objective.

The search program ran on a cluster (with about 60 processors), good for prototyping, at SKC. Thereafter, the program ran for several months at the Royal Mountain Supercomputer Centers (RMSC) in Butte, Montana. (It used almost 300 processors.) Recently, RMSC has shut down all its compute nodes, because of budgetary constraints. I am now actively looking for new resources to run my program.

Additional Details

Monday, 6 February 2012
3:10 p.m. in Math 103
4:00 p.m. Refreshments in Math Lounge 109

This document is currently not available here.

Share

COinS