Parallel Programming Problem: taskcreate
Micah Altman
micah at flobb4.csd.sgi.com
Mon Jun 10 13:16:28 AEST 1991
In <5601 at dftsrv.gsfc.nasa.gov> cindy at cesdis2.gsfc.nasa.gov (Cindy Starr) writes:
> Howdy Folks,
>
> I am trying to implement a parallel, recursive quicksort
> routine on our 240VGX running version 3.3.1. (Yes, I realize this
> is dangerous to do . . .) I am using "taskcreate" to spawn
> the processes, as follows:
> if ((taskM = taskcreate(strID, parQuicksort, qsort1 , 0) ) < 0)
> {
> perror("The taskcreate(1) call failed in parQuicksort.");
> exit (-1);
> }
> After four new processes are created, I receive the following
> errors:
>----------------------
>The taskcreate(1) call failed in parQuicksort.: New share group member pid 9278
>could not join I/O arena. error:No space left on device
>The taskcreate(1) call failed in parQuicksort.: No space left on device
I think that what is happening is that you are creating more than 7
additional processes, and the extra processes can't join the arena ( which
is by default set up for 8 users, max ). At least, I can reproduce an error
by doing something to that effect.
To get rid of this error, before you first create your arenas, first tasks,
etc, use
usconfig(CONF_INITUSERS, somebignumber)
where somebignumber is the max. number of processes you expect to run in
parallel at any time during the program (I.e. the number of processes
in the "share group").
--
"Entia non sunt multiplicanda sine necessitate." - William of Ockham
Micah Altman, "Computational Juggler" micah at csd.sgi.com
Phone (415) 335-1866 FAX (415) 965-2309
Disclaimer: Everything in this document is a lie.
More information about the Comp.sys.sgi
mailing list