Evolving Parallel Programs

This report describes research conducted at the Artificial Intelligence Laboratory of the Massachusetts Institute of Technology. Support for this research was provided in part by the Office of Naval Research of the Department of Defense under Contract N00014-75-C-0522.

Bibliographic Details
Main Author: Hewitt, Carl
Format: Working Paper
Language:en_US
Published: MIT Artificial Intelligence Laboratory 2008
Online Access:http://hdl.handle.net/1721.1/41972
_version_ 1811088405082144768
author Hewitt, Carl
author_facet Hewitt, Carl
author_sort Hewitt, Carl
collection MIT
description This report describes research conducted at the Artificial Intelligence Laboratory of the Massachusetts Institute of Technology. Support for this research was provided in part by the Office of Naval Research of the Department of Defense under Contract N00014-75-C-0522.
first_indexed 2024-09-23T14:01:40Z
format Working Paper
id mit-1721.1/41972
institution Massachusetts Institute of Technology
language en_US
last_indexed 2024-09-23T14:01:40Z
publishDate 2008
publisher MIT Artificial Intelligence Laboratory
record_format dspace
spelling mit-1721.1/419722019-04-12T09:44:58Z Evolving Parallel Programs Hewitt, Carl This report describes research conducted at the Artificial Intelligence Laboratory of the Massachusetts Institute of Technology. Support for this research was provided in part by the Office of Naval Research of the Department of Defense under Contract N00014-75-C-0522. Message passing is directed toward the production of programs that are intended to execute efficiently in a computing environment with a large number of processors. The paradigm attempts to address the computational issues of state change and communication directly with appropriate primitives. Efficient programs are evolved for fast factorial and path existence determination in a directed graph. This paper is a contribution to the continuing debate on programming methodology. It advocates that simple initial implementations of programs should be constructed and then the implementations should be evolved to meet their partial specifications where it is anticipated that the partial specifications will themselves evolve with time. The programming methodology used in this paper is intended for use with an actor machine which consists of a large number of processors connected by a high bandwidth network. We evolve implementations for factorial and for the path existence problem that execute in the logarithm of the amount of time required on a conventional machine. The implementation (with no redundant exploration) of the path existence problem evolved in this paper is more efficient than any implementation that can be programmed in a dialect of pure LISP that allows the arguments to a function to be evaluated in parallel. This is evidence that applicative programming in languages like pure LISP is apparently less efficient in some practical applications. The efficiency of such applicative languages is important because many computer scientists are proposing to use them on future generation parallel machines whose architectures exploit ultra large scale integration. MIT Artificial Intelligence Laboratory Department of Defense Advanced Research Projects Agency 2008-08-26T15:02:26Z 2008-08-26T15:02:26Z 1979-05 Working Paper http://hdl.handle.net/1721.1/41972 en_US MIT Artificial Intelligence Laboratory Working Papers, WP-164C; application/pdf MIT Artificial Intelligence Laboratory
spellingShingle Hewitt, Carl
Evolving Parallel Programs
title Evolving Parallel Programs
title_full Evolving Parallel Programs
title_fullStr Evolving Parallel Programs
title_full_unstemmed Evolving Parallel Programs
title_short Evolving Parallel Programs
title_sort evolving parallel programs
url http://hdl.handle.net/1721.1/41972
work_keys_str_mv AT hewittcarl evolvingparallelprograms