Hi,
My question concerning parallel search in Mozart 1.4.0 (see below)
remained without reaction. I checked SVN and indeed the code for
parallel search has not been touched for seven years.
So, I have some further questions/comments.
1) Could you please show by an example how a distributed program for
Mozart 1.3.* (e.g., an example from CTM or the Distributed
Programming Tutorial) has to be changed to get it running in Mozart
1.4.0. Such an example could help to port legacy code. The provided
list of changes is not detailed enough I feel to see how some old
distributed Mozart code can be ported such that it basically works as
before.
2) I saw that there has been recent updates to the Distributed
Programming Tutorial: does that mean the tutorial now only explains
the new distributed programming model?
3) Finally, I find it worrying that a new Mozart version (introduced
without any MEP) changes the language in a backwards-incompatible way
such that it silently breaks rather unique and powerful features of
the language itself (such as the Parallel Search) and not "just" some
user application. I feel it was foreseeable that a change to the
distributed programming model may affect the parallel search -- it
was the first thing I checked once I installed Mozart 1.4.0 (and I am
no computer scientist, and know nothing about distributed programming
as such).
Anyway, enough complaining -- it would just be good to get parallel
search working again. Any ideas?
Thank you!
Best
Torsten
PS: I just checked the list of MEPs, the while-loop related MEP is
not even mentioned (neither as opened nor accepted).
http://www.mozart-oz.org/meps/
On Aug 18, 2008, at 11:23 PM, Torsten Anders wrote:
Hi,
Did anyone of your used parallel search with Mozart 1.4.0? It appears
there is a problem terminating processes forked by the parallel
search. To make matters more complicated, this problem seems to
happen only sometimes.
I am starting a parallel search from within the OPI. When I "halt"
the OPI (C-. h) then sometimes forked processes keep running -- and
potentially go on consuming all computational resources of the
machine. Also the Search.parallel method close() does not reliably
terminate forked processes.
See below for a small example. As I said, the problem only occurs
sometimes, unfortunately. Sometimes both forked processes are
terminated (so everything is fine), sometimes one, and sometimes both
keep running. With version 1.3.2 I never had this problem (I ran the
example many times with version 1.3.2, still I cannot prove that the
did not exist in that version...).
Also, with version 1.3.2 the forked processes are showed almost
exclusively as user CPU consumption. With 1.4.0, however, a
considerable amount (> 50%) is shown as system CPU consumption, but
this happens only if the processes cannot be terminated. In these
cases, this system CPU consumption already occurs before any attempt
to terminate the search.
So, it looks like parallel search is broken in Mozart 1.4.0. Any idea
how to address this?
Thank you!
Best
Torsten
PS: I did all the tests on MacOS 10.4.11.
--
Torsten Anders
Interdisciplinary Centre for Computer Music Research
University of Plymouth
Office: +44-1752-586219
Private: +44-1752-558917
http://strasheela.sourceforge.net
http://www.torsten-anders.de
%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Parallel search problem, complex enough to keep running for a
while :)
%% Forks two processes on localhost
declare
%% All-interval series length: larger L result in more complex CSPs
L = 36
functor ScriptFunctor
import FD
export Script
define
proc {Script Sol}
Xs Dxs
in
Sol = Xs
{AllIntervalSeries L Dxs Xs}
end
%% CSP
proc {AllIntervalSeries L ?Dxs ?Xs}
Xs = {FD.list L 0#L-1}
Dxs = {FD.list L-1 1#L-1}
for I in 1..L-1
do
X1 = {Nth Xs I}
X2 = {Nth Xs I+1}
Dx = {Nth Dxs I}
in
{InversionalEquivalentInterval X1 X2 L Dx}
end
{FD.distinctD Xs}
{FD.distinctD Dxs}
%%
{FD.distribute ff Xs}
end
%% Aux
proc {InversionalEquivalentInterval Pitch1 Pitch2 L Interval}
Aux = {FD.decl}
in
Aux =: Pitch2-Pitch1+L
{FD.modI Aux L Interval}
end
end
SearchEngine = {New Search.parallel init(localhost:2)}
{Browse {SearchEngine one(ScriptFunctor $)}}
{SearchEngine close}
--
Torsten Anders
Interdisciplinary Centre for Computer Music Research
University of Plymouth
Office: +44-1752-586219
Private: +44-1752-558917
http://strasheela.sourceforge.net
http://www.torsten-anders.de
_________________________________________________________________________________
mozart-users mailing list
[email protected]
http://www.mozart-oz.org/mailman/listinfo/mozart-users