From: Stefan Bellon <sbellon@sbellon.de>
Subject: Re: Ada tasking question
Date: Thu, 19 Apr 2007 00:43:45 +0200
Date: 2007-04-19T00:43:45+02:00 [thread overview]
Message-ID: <20070419004345.171ee93e@cube.tz.axivion.com> (raw)
In-Reply-To: FYuVh.62018$_c5.16700@attbi_s22
Jeffrey R. Carter wrote:
> Randy Brukardt wrote:
> >
> > I'd suggest organizing the tasks as workers and the buckets as
> > jobs. The idea is that each task is a loop that just gets a job (a
> > bucket in your case), processes it, sends the result, and gets
> > another job, etc. You just need a protected data structure to serve
> > the jobs, and an array of worker tasks, and then you can easy vary
> > N to any value you want to try.
Thanks for this excellent idea! I have implemented that now.
> In this case, I'd say all that's needed is a protected object to
> supply the index into the Buckets array of the next bucket needing
> processing.
Yes, in fact I already implemented it this way before I saw your
posting. :-)
protected Bucket_Jobs is
procedure Init (Index : in Integer);
entry Next (Index : out Integer);
private
Current : Integer;
end Bucket_Jobs;
protected body Bucket_Jobs is
procedure Init (Index : in Integer) is
begin
Current := Index;
end Init;
entry Next (Index : out Integer) when True is
begin
Index := Current;
Current := Current + 1;
end Next;
end Bucket_Jobs;
Initialization is done with Bucket_Jobs.Init (Buckets'First) and the
tasks themselves check for Current in Buckets'Range.
It kind of works, but I experience some other strange effect (see my
reply to Leif Holmgren).
--
Stefan Bellon
next prev parent reply other threads:[~2007-04-18 22:43 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-18 18:13 Ada tasking question Stefan Bellon
2007-04-18 18:40 ` Randy Brukardt
2007-04-18 20:12 ` Jeffrey R. Carter
2007-04-18 22:43 ` Stefan Bellon [this message]
2007-04-19 2:02 ` Steve
2007-04-18 21:08 ` Leif Holmgren
2007-04-18 22:57 ` Stefan Bellon
2007-04-18 23:41 ` Brian May
2007-04-19 0:25 ` Randy Brukardt
2007-04-19 8:02 ` Stefan Bellon
2007-04-19 12:47 ` Jacob Sparre Andersen
2007-04-19 16:11 ` Anh Vo
2007-04-20 4:32 ` Jeffrey R. Carter
2007-04-19 0:50 ` Jeffrey R. Carter
2007-04-18 19:50 ` Alex R. Mosteo
2007-04-18 23:00 ` Stefan Bellon
2007-04-19 20:37 ` Pascal Obry
2007-04-19 2:13 ` jimmaureenrogers
2007-04-19 7:49 ` Dmitry A. Kazakov
-- strict thread matches above, loose matches on Subject: below --
1996-10-18 0:00 whiting_ms@corning.com (Matt Whiting)
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox