jari-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Jari-developers] smp question.


From: йцу ддд
Subject: Re: [Jari-developers] smp question.
Date: Tue, 5 Dec 2006 19:41:38 +0300

PS: the cpu number we can detect dynamically on system start(see the
Intel System Developer Manual for begin)

On 12/5/06, йцу ддд <address@hidden> wrote:
IMHO, It`s possible use CPU prelinked array (with each array entry the
link field, pointed to own neighbour haved), sorted by own goodness
(goodnes = f(CPU_load_average, thread_affinity,....)). Typically
number of CPU will be less than PAGE_SIZE/sizeof(struct cpu)) on SMP
systems. On NUMA/some Jari clusters we may have one array per each
NUMA/cluster node, prelinked in some superarray, sorted by network
capacity in Jari claster case for instance.


On 12/5/06, Dan Kruchinin <address@hidden> wrote:
> On 12/5/06, Alfeiks Kaänoken <address@hidden> wrote:
> >
> > On Tue, 5 Dec 2006 18:52:53 +0300
> > "Dan Kruchinin" <address@hidden> wrote:
> >
> > > i want to get some offers from you about smp.
> > > at current moment, i use global cpu's linked list, like this:
> > > extern struct cpu {
> > >   /* gdt */
> > >   /* tss */
> > >   /* idt */
> > >   /* memory area or areas */
> > >   struct cpu* next;
> > > } cpus;
> > >
> > > so, if we have, for example, 8 cpus, we can't get "atomic" access to
> > needed
> > > one, in this case we must walk along cpus list.
> > > this problem can be solved by using fixed array. in this case we have
> > > another minus, because array must be determined at compile time.
> > > so, if we have only 2 cpu, we will have array size = 2. and if user,
for
> > > example, add new 2 cpus, he has to recompile kernel to increment cpu
> > array
> > > size from 2 to 4.
> > >
> > > - linked list can detect number of cpus dynamically, but on nearly
each
> > > major operation, we should to make searching of needed cpu.
> > It's named a load balancing and politics for it, i.e. you have a list
of
> > the cpu load avergage and system that care about load balancing do the
> > following:
> > - select a best cpu
> > - use it, without any search.
>
>
> we must search best cpu for it selection ;)
> it's not get a much time, but it will be used nearly for each major
> operaition in sheduler.
> load balancing in case you described it can be implemented only in middle
> level - server per servers communication.
>
> The getting of the loading avergage will be used anyway.
> > > - in fixed array we can fastly get needed cpu, this ds can't
determine
> > cpu's
> > > number dynamically.
> > It's a terrible and fucking method for dummies.
> > >
> > > so, how do you think, what approach is better.
>
>
>
> mua-ha-ha,  so, guys that wrote linux dummers?  and may be guys in bell
> labs, that developed plan9 are dummers too?
> i don't think so.
>
> but we have to determine building approach of jari kernel. it means, that
we
> should realise some stratagy, and using it we should give potentional
user
> some rouls.
>
> - do we give user a flexability configurable system
> - or may be we should to meke "smart" system, that'll be automatically
> determine some major things(yep, like "svista" =))
> - or may be we should make a concensus between this two approachs?
>
> >
> > > 10x for attention.
> > >
> >
> >
> > --
> > Alfeiks Kaänoken,
> > Technical Team Leader of the
> > Jari R&D Team.
> > http://www.nongnu.org/jari/
> > Get the innovations!
> >
> >
> > _______________________________________________
> > Jari-developers mailing list
> > address@hidden
> > http://lists.nongnu.org/mailman/listinfo/jari-developers
> >
>
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]