Re: Parallel Prolog
- From: Jan Wielemaker <jan@xxxxxxxxxxxxxxxxxxx>
- Date: 15 Jan 2007 11:23:05 GMT
On 2007-01-15, Darren Bane <darren.bane@xxxxxxxxx> wrote:
Simon.Strobl@xxxxxxxxx wrote:
!snip!
Does this make any sense?
More every year as the number of cores on consumer-grade CPUs increases.
Do you know of any projects about parallel prolog?
I found KLIC ( http://www.klic.org/software/klic/index.en.html ) very
interesting. However, it has significant differences from ISO Prolog
(e.g. committed choice), and could best be described as another Logical
Programming language. This may or may not be what you're looking for.
Concurrency in Prolog is -in my opinion- really a must-have. Prolog
is now commonly used as component in (web-)servers and indeed,
multi-CPU hardware is becomming commonplace. Traditionally, research
has been to introduce concurrency at a low-level in the language. I
think parlog is one of the most famous examples. To my best knowledge,
none of these approaches were widely addopted.
As Paulo points out, quite a few modern Prolog systems provide
multiple communicating Prolog engines operating on a shared set of
clauses. This approach allows for good interaction in multi-threaded
server environments and makes it easy to write multi-threaded servers
in Prolog. For example, SWI-Prolog comes with a Tomcat-like
multi-threaded HTTP server library.
The downside of this of course is that we are back at explicitely
coded concurrency, where the parlog-like approaches aimed at
exploiting concurrency automatically. I guess practical Prolog,
containing cuts, assert/retract and interaction with foreign code
just isn't clean enough to make automatic concurrency feasible.
Cheers --- Jan
.
- Follow-Ups:
- Re: Parallel Prolog
- From: Simon . Strobl
- Re: Parallel Prolog
- From: Cameron Hughes
- Re: Parallel Prolog
- References:
- Parallel Prolog
- From: Simon . Strobl
- Re: Parallel Prolog
- From: Darren Bane
- Parallel Prolog
- Prev by Date: Re: Parallel Prolog
- Next by Date: Prolog vs Visual-Prolog
- Previous by thread: Re: Parallel Prolog
- Next by thread: Re: Parallel Prolog
- Index(es):
Relevant Pages
|
|