Parallelism in LISP

نویسنده

  • Michael van Biema
چکیده

1. Parallelism in Lisp There are two main approaches to executing Lisp in parallel. One is to use existing code and clever compiling methods to parallelize the execution of the code [9, 14, 11]. This approach is very attractive because it allows the use of already existing code without modification, and it relieves the programmer from the significant conceptual overhead of parallelism. This approach, known as the "dusty deck" approach, suffers from a simple problem: it is very hard to do. This is particularly true in a language such as Lisp that shows a much less well defined flow of control than languages such as FORTRAN where such techniques have been applied relatively successfully [13]. A result of this is that, given the current compiler techniques, the amount of parallelism that can be achieved is limited.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

VCODE: A Data-Parallel Intermediate Language

This paper introduces VCODE, an intermediate language for data-parallel computations. VCODE is designed to allow easy porting of data-parallel languages, such as C*, PARALATION LISP, and Fortran 8x, to a wide class of parallel machines. It is designed with the joint goals of being simple, expressive, and efficiently implementable. It contains about 50 instructions, most of which manipulate arbi...

متن کامل

A Futures Library and Parallelism Abstractions for a Functional Subset of Lisp

This paper discusses Lisp primitives and abstractions developed to support the parallel execution of a functional subset of Lisp, specifically ACL2. We (1) introduce our Lisp primitives (futures) (2) present our abstractions built on top of these primitives (spec-mvlet and plet+), and (3) provide performance results.

متن کامل

Lucid, Inc.

Multiprocessing programming languages must support the styles of programming that are natural to the programmer, and they must be able to express all of the forms of concurrency that exist. Qlisp, a dialect of Lisp, is proposed as a multiprocessing programming language which is suitable for studying the styles of parallel programming. There are two sorts of parallelism in Qlisp: 1) the true par...

متن کامل

The Gabriel 'Triangle' Benchmark at Warp Speed

We show how to speed up the Gabriel 'Triangle' Benchmark by more than two orders of magnitude (206 X faster than the Cray-1) on a Common Lisp system running on the 80860-based OKIstation, by using better programming techniques. The resulting program fits nicely within next generation on-chip caches and kills almost all potential parallelism, thus becoming worthless as a general-purpose Lisp ben...

متن کامل

Implementing a Parallelism Library for a Functional Subset of LISP

This paper discusses four primitives supporting parallel evaluation for a functional subset of LISP, specifically that subset supported by the ACL2 theorem prover. These primitives can be used to provide parallel execution for functions free from side effects without considering race conditions, deadlocks, and other common parallelism pitfalls. We (1) introduce logical definitions for these pri...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1987