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