From: Walker, Bruce J <bruce.walker@hp...> - 2003-12-11 18:07:16
> Aneesh wrote:=20
> LEE, EN CHIANG (HP) wrote:
> >Linux Bangalore is a yearly event held to showcase the Linux and othe
> >Open Source projects that are happening in Bangalore. The=20
> SSI stall and
> >the talk given by Keerthi drew a lot of attention from the visitors.
> >We demo'ed the process load balancing and the connection=20
> >using LVS, and there were quite a few oohs and aahs.
> >Here are some of the interesting questions/requests we got=20
> while manning
> >the stall:
> >1. Thread migration - Probably the most popular request.
> > =20
> Not useful. application performance will degrade a lot with=20
> thread migrating to other node. I guess what we want first is=20
> clusterwide swap. so that we won't pull all the pages at a=20
> shot to other=20
> nodes. That way we can decrease the migration time. Did somebody test=20
> the migration time with large memory foot print application ?
Perhaps you are thinking of splitting threads across nodes, which we are
not likely to do. Migrating a threaded process (where all threads go
together) is very useful and actually doesn't cost much more than moving
a single process (since you don't have to move the dirty process memory
more than once). Given our current process migration and given that
Linux has recently added a way to rendevous threads, I don't think this
is a big job. The idea would be to rendevous/quiesce all the threads,
migrate one of them and label the shared data space VM objects and then
migrate the rest of the threads (and find and attach to the shared data
space VM objects). Threads can also share file tables so that has to be
co-ordinated as well.
A measurement of migration is so dependant on a number of factors that
getting a number might not be too meaningful.
It depends on:
a) speed of processors and how busy the system is;
b) speed of interconnect and how busy it is;
c) number of dirty data pages in the process (only the dirty pages
have to be moved);
d) number of open files and shared memory segments(each one requires a
A trivial process (no open files and very little dirty data) can be
moved very very quickly because only a couple/few round-trip messages
are needed to establish the process on the new node.=20