Re: pthread and perfly

New Message Reply Date view Thread view Subject view Author view

Marc Erich Latoschik (marcl++at++TechFak.Uni-Bielefeld.DE)
Tue, 15 Dec 1998 09:35:11 +0100


Phil Keslin wrote:
>
> Marc Erich Latoschik wrote:
> >
> > Phil Keslin wrote:
> > >
> > > Greg Harrison wrote:
> > > >
> > > > I hit the same problem and the answer is an unfortunate one. If you do a
> > > > 'man pthreads' under the section "Limitations" you get the joy of reading
> > > > the following message:
> > > > " Using sprocs
> > > > The sproc(2) model of threading is incompatible with POSIX
> > > > threads.
> > > > Attempts by an sproc process to create pthreads and vice-versa
> > > > will
> > > > be rejected."
> > > >
> > > > By rejected they mean crash, because it will. For as much as SGI says on
> > > > their own site (http://www.sgi.com/developers/marketing/forums/multi_thd)
> > > > that pthreads are better (they are), everything in Performer is implemented
> > > > with sproc() and therefore pthreads can't be linked in the same app, the
> > > > only way to use them would be through a separate program and shared memory.
> > > > OpenGL 1.1 is pthread compliant, but Performer will not allow them.
> > > > Hopefully SGI will listen to their own PR about threads ("think pthreads!")
> > > > and make Performer 2.3+ out of pthreads instead of sprocs.
> > >
> > > Actually, Performer does not use sproc. It is implemented using an
> > > explicit shared storage model and fork (as opposed to implicit sharing
> > > and sproc). It does however use arenas for the sharing which are also
> > > incompatible with pthreads.
> > >
> > i thing we need a little more clarification on this point.
> > About a year ago i tried to use pthreads with performer 2.0 together
> > and...failed of
> > course. Now i do the same stuff again with Performer 2.2.
> > I launch a pthread for reading in tracker data in async fassion into a
> > ring buffer.
> > Then from my Update routine i just read the latest tracker data. And
> > surprisingly: it works!
> > And it uses pthreads and it uses Performer in any multiprocess mode. And
> > a collegue
> > of mine at a different institute uses pthreads too.
> > It seems to work aurprisingly well.
> > So now what is the case?
>
> What version of IRIX are you using? Prior to IRIX6.5 pthreads was
> implemented on sproc features and would work together. As of IRIX6.5,
> this is no longer the case. My guess is that you are not running on
> IRIX6.5 and hence your program works correctly.

Before I just answered only to you Phil,
but i think it might be interesting to the perf community as well
So here again.
Yes i use Irix 6.2 and 6.4. I was about to migrate our primer demo host
to 6.5, now i got reason not doing it ;).
Well, are there plans to modify Performer in a future release to
work with pthreads? Now that there is some kind of MP standard
it would be nice to use it (especially when coding for different
hardware like we do).
Of course #ifdef IRIX <do nasty stuff> #endif will do the trick but
makes live kind of unnecessary complicated. For me the sproc
is more a relict when SGI were the only ones doing MP'ing.
What do you think? What are the future plans?

anyway, thx for your information
>
> - Phil
> --
> Phil Keslin <philk++at++engr.sgi.com>

-- 

bye Marc

******************************************************************************** Marc Erich Latoschik, AG-WBS, Technische Fakultaet der Universitaet Bielefeld

Universitaetsstrasse 25 Postfach 100 131 33501 Bielefeld Raum M4-122 Fon: (0521) 106 2919 Fax: (0521) 106 2962

marcl++at++techfak.uni-bielefeld.de http://www.TechFak.Uni-Bielefeld.DE/techfak/persons/marcl/ ********************************************************************************


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Tue Dec 15 1998 - 00:35:49 PST

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.