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:30:25 +0300

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]