added new features and bug fixes:
authorGengbin Zheng <gzheng@illinois.edu>
Wed, 20 Aug 2003 05:23:02 +0000 (05:23 +0000)
committerGengbin Zheng <gzheng@illinois.edu>
Wed, 20 Aug 2003 05:23:02 +0000 (05:23 +0000)
commitd0f2c6a925ef1a79adcb5f4fd77e06007c948ea5
tree7544cbc1965971d8b61524b048b59cab03cdd8e7
parentefd619de8829faa0a0801209df023e2071c186a8
added new features and bug fixes:

1. allow users to specify multiple load balancers at compile time or runtime
by using multiple "-balancer" at compile time and "+balancer" at runtime.
For example, if foo1LB, foo2LB amd foo3LB are specified, the first
load balancing phase will invoke foo1LB, second phase uses foo2LB,
all afterwards load balancing phases will use foo3LB.

2. bug fixes and improvements in NullLB: when no real load balancer exists,
NullLB now doesnot bother clearing the LB database, also it disables the
builtin batsyncer which original calls atSync in every second.
These reduce unnecessary overhead of NullLB.

3. batsyncer itself is not strictly needed in the AtSync mode load balancing
(useful only when there is no object on one processor to call AtSync),
however, it is very important in automatic (non atSync) mode to set the
load balancing interval time. For AtSync mode, batsyncer should call
AtSync immediately to avoid any delay; for non AtSync mode however, the
period time is the interval between load balancing phases, it still can be
set to 0 second but better to be some larger value. Thus, for the default
batsync period time for both cases, 0 second is a better choice which means
the batsyncer barrier is always ready. In the case of non atSync
mode, users should use +LBPeriod to set the load balancing interval anyway.
55 files changed:
src/ck-ldb/BaseLB.C
src/ck-ldb/BaseLB.ci
src/ck-ldb/BaseLB.h
src/ck-ldb/CentralLB.C
src/ck-ldb/CentralLB.ci
src/ck-ldb/CentralLB.h
src/ck-ldb/Comm1LB.C
src/ck-ldb/Comm1LB.ci
src/ck-ldb/Comm1LB.h
src/ck-ldb/CommLB.C
src/ck-ldb/CommLB.ci
src/ck-ldb/CommLB.h
src/ck-ldb/DummyLB.C
src/ck-ldb/DummyLB.ci
src/ck-ldb/DummyLB.h
src/ck-ldb/GreedyLB.C
src/ck-ldb/GreedyLB.ci
src/ck-ldb/GreedyLB.h
src/ck-ldb/GreedyRefLB.C
src/ck-ldb/GreedyRefLB.ci
src/ck-ldb/GreedyRefLB.h
src/ck-ldb/LBDBManager.C
src/ck-ldb/LBDBManager.h
src/ck-ldb/LBDatabase.C
src/ck-ldb/LBDatabase.h
src/ck-ldb/MetisLB.C
src/ck-ldb/MetisLB.ci
src/ck-ldb/MetisLB.h
src/ck-ldb/NborBaseLB.C
src/ck-ldb/NborBaseLB.ci
src/ck-ldb/NborBaseLB.h
src/ck-ldb/NeighborLB.C
src/ck-ldb/NeighborLB.ci
src/ck-ldb/NeighborLB.h
src/ck-ldb/NullLB.C
src/ck-ldb/NullLB.ci
src/ck-ldb/NullLB.h
src/ck-ldb/OrbLB.C
src/ck-ldb/OrbLB.ci
src/ck-ldb/OrbLB.h
src/ck-ldb/RandCentLB.C
src/ck-ldb/RandCentLB.ci
src/ck-ldb/RandCentLB.h
src/ck-ldb/RandRefLB.C
src/ck-ldb/RandRefLB.ci
src/ck-ldb/RandRefLB.h
src/ck-ldb/RecBisectBfLB.C
src/ck-ldb/RecBisectBfLB.ci
src/ck-ldb/RecBisectBfLB.h
src/ck-ldb/RefineLB.C
src/ck-ldb/RefineLB.ci
src/ck-ldb/RefineLB.h
src/ck-ldb/WSLB.C
src/ck-ldb/WSLB.ci
src/ck-ldb/WSLB.h