Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!sdd.hp.com!mips!sgi!shinobu!odin!flobb4!micah From: micah@flobb4.csd.sgi.com (Micah Altman) Newsgroups: comp.sys.sgi Subject: Re: Parallel Programming Problem: taskcreate Message-ID: <1991Jun10.031628.245@odin.corp.sgi.com> Date: 10 Jun 91 03:16:28 GMT References: <5601@dftsrv.gsfc.nasa.gov> Sender: news@odin.corp.sgi.com (Net News) Distribution: na Organization: Silicon Graphics, Inc. Mountain View, CA Lines: 46 In <5601@dftsrv.gsfc.nasa.gov> cindy@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@csd.sgi.com Phone (415) 335-1866 FAX (415) 965-2309 Disclaimer: Everything in this document is a lie.