>
> > > amazingly expensive in computational resources. I have heard rumors that
> =
> > > Linux SMP is not able to bind processes to specific processors. Can =
> > > anyone enlighten me on this subject since it would greatly be of much =
> > > help.
> >
> > It doesnt let people bind processes, it does its own balancing.
> >
> > Alan
> >
> >
> Thanks for your help yet I would need some way of getting a kernel thread to
> each process thus being able to modify my scheduler allowing multiple
> threads to be placed on one of say 4 kernel threads, all corresponding to
> one of the 4 processors. Thus I would be able in the end to create something
> like a run queue with each thread running on a specific processor and always
> to be binded to that processor to maintain cache affinity. Also it would be
> nice to be able to control the number of threads allocated to each processor
> so that I would control things like starvation and allow process migration.
> Yet all at a user lever
>
> Thanks
> Joseph Cordina
clone() gives you a "thread" sharing the same address space as the
cloning process. The cloned thread is "seen" and hence scheduled by the
kernel. i suppose you can use these clone threads (in the process) plus
code at user level that can allow these cloned threads to "pick up" and
execute user level thread contexts.
i guess thats what most thread libraries that implement user level
threads do. At least if you look at Solaris you have this layering of
user level threads on top of light weight processes (lwp) on top of
kernel threads. The user level library appropriately keeps creating
these lwps (and consequently kernel threads) based on the number of
user level threads present in the process (to achieve a target
concurrency level). Possibly this can be mimic'ed with having cloned
threads in a process that execute user-level thread dispatch code
(much like what the kernel itself does). Basically code that maintains
and schedules thread contexts onto these cloned threads. Just an idea i
don't have an implementation of this though.
Still, binding threads to processes may not be really needed unless yo
want to run some very specialized applications that require it. If you
need some way to bind processes to CPUS then please check the patch and
documentation at this site http://isunix.it.ilstu.edu/~thockin/pset/
I'm not sure if it allows binding individual cloned threads to CPUs
(maybe thats a useful extension too).
>
> -
> Linux SMP list: FIRST see FAQ at http://www.irisa.fr/prive/dmentre/smp-howto/
> To Unsubscribe: send "unsubscribe linux-smp" to [EMAIL PROTECTED]
>
-
Linux SMP list: FIRST see FAQ at http://www.irisa.fr/prive/dmentre/smp-howto/
To Unsubscribe: send "unsubscribe linux-smp" to [EMAIL PROTECTED]