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.
Main Author: | |
---|---|
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 |