SUMMARY: Help with running applications on a specific processor

From: Kerry O'Bryhim (obryhimk@gecmc.gecmc.ge.com)
Date: Thu Aug 22 1996 - 10:02:53 CDT


Thanks to all for the quick help.

The answers fell into three groups:
1. Don't do it - Bad idea
2. If your adding hardware get a new system
3. Good starting points to check out.

I vote for 1 and 2. I hope your inputs will be enough to change
the requirements for this project.

Thanks
Kerry

>>>>>>From drink@sei.com Wed Aug 21 19:22 EDT 1996

My suggestion is to purchase an Ultrasparc 1/170
and run the Sybase engine on that. :)

No kidding.

>>>>>>From jasonh@beaver.or.credence.com Wed Aug 21 19:36 EDT 1996

HP has a product for their HP 9000/800 series systems called PRM (Process
Resource Manager), it does alot of what you want quite nicely..

Perhaps they have ported this to the Sun Platform??

>>>>>>From afinkel@pfn.com Wed Aug 21 19:44 EDT 1996

Put it on another machine. Load the Sybase Open-Client on the 2000 and
insert the data into the db over the network, or transfer the data over to
the other machine to do the inserts.

I don't know of a way to isolate processes in the way you need without
moving it to another machine. In an SMP system, the OS will divide up the
processor time to processes that need it. At least that is my understanding

>>>>>>From jamesm@matrix.newpaltz.edu Wed Aug 21 20:45 EDT 1996

haven't had to worry about that on a sun yet, but on an ibm there's a
package that is supposed to control jobs and what resources they use,
mostly for smp based systems.

did you try calling sybase? if it's possible i'm sure they'd know..

>>>>>>From leif@netscape.com Wed Aug 21 20:53 EDT 1996

There are two alternatives:

        1. Use the command "pbind", e.g.

           pbind -b 0 12321

        2. If you are writing an application, use the system call

           processor_bind()

I hope this helps.

>>>>>>From fxl@pulse.itd.uts.edu.au Wed Aug 21 20:56 EDT 1996

If you're going to buy all that extra equipment, why not setup another
host?

>>>>>>From internet1!svho1ds_1.supervalu.com!hxktb0@cedar.mr.net Thu Aug 22 00:00 EDT 1996

You cannot tell sybase which CPU to use, this is decided my the OS, but you can
tell it how many engines to run with. Start small and scale as nescessary. If
you notice the %use time increasingly high then give sybase another engine.
Watch paging and swapping for memory usage.

>>>>>>From michaelj@burrito.insource.com Thu Aug 22 00:34 EDT 1996

I'm not a Sun engineer, but I've done some multi-threaded programming
on Sun machines. Basically, you don't want to do this. The kernel
handles scheduling processes on the available CPUs to make the most
efficient use of the system resources. I would think you would want
to avoid doing this at all costs.

Just my $2e-02.

>>>>>>From johnb@Soliton.COM Thu Aug 22 09:26 EDT 1996

as far as i know, there's not much one can do to guarantee a process
will run on a particular processor. the kernel threads have to run
somewhere, and if sybase is only allowed, you have to change the whole
multiprocessing scheme to get it to work. seems unlikely. making
sure the additional memory is used only for sybase is even more
problematic. the kernel manages all the memory, but, there's no way i
know of to tell the kernel to reserve some portion of memory for a
particular process. in fact satisfying either one of these
requirements would make the system very inefficient (i.e. both
requirements are telling the unix kernel how to do its job!).

in short what they want you to do is impossible. to learn about
memory management, etc., i would highly recommend you read the
performance tuning book by adrian cockcroft, it will explain how
solaris handles memory, processes, etc.

hope this helps, -john



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:11:08 CDT