Re: 2Q's: concurrency; pf on O2

New Message Reply Date view Thread view Subject view Author view

From: Allan Schaffer (allan++at++sgi.com)
Date: 11/14/2000 13:34:24


On Nov 14, 6:05pm, Dirk Baerts wrote:
> We developed a pf app for an Onyx2, that - as an option - uses a Pbuf
> and noticed that when this option is on, another pf app running on the
> same machine suffers a dramatic performance hit.
> The first app has a very small scene : one cube, three cylinders,
> implemented in OpenGL and Performer, no special effects
> The second has a rather large scene, build on VEGA & Performer, with
> special effects.
> Both running 20 Hz. And sharing pipes.
> Before bothering you with details :
> -- Is there a general rule to run several pf apps concurrent on the same
> machine ?

Yes: don't. Running multiple _independent_ Performer applications on
one system is akin to multiple chefs trying to whip eggs in the same
bowl. They spend more time disentagling from each other than making
the dish.

To be more precise, each DRAW process will be competing for access to
the (single) graphics pipe, causing graphics context switches to
occur, which are a heavyweight operation on deeply pipelined systems
like the Onyx. Since you mentioned a pbuffer it's likely that the
applications would be competing for framebuffer resources within the
graphics pipe as well.

This [graphics context switching] is why we discourage the use of
gr_osview and other graphical tools while your Performer apps are
running, by the way.

Likewise, unless you have enough CPUs for _all_ the processes running
within each application, each APP, CULL, and DRAW process is likely
to be competing for time to be scheduled on a CPU.

It's far better to incorporate it all into one application, add a few
pfChannels containing the simple scene in a new pfPipeWindow and let
everything run its normal course.

> We have to run these apps at the same time so we tried to run the simple
> one on an O2, that happened to be around.
> Due to the poor graphic-hardware this app pushes an O2 over its limits,
> and even crashes, when other processes - like new shells - are started.
> -- Is there - apart from : don't - a general rule to run performer apps
> on an O2 ?

No special rule, Performer works fine on the O2. It's a guess but it
sounds as if you were running out of system memory.

Allan

-- 
Allan Schaffer                                            allan++at++sgi.com
Silicon Graphics                           http://reality.sgi.com/allan


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Tue Nov 14 2000 - 13:35:23 PST

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