Add documentation on how to use your own load balancer without modifying the charm... 75/375/3
authorHarshitha <gplkrsh2@illinois.edu>
Tue, 23 Sep 2014 13:33:10 +0000 (08:33 -0500)
committerGerrit Code Review <gerrit2@charm.cs.uiuc.edu>
Thu, 25 Sep 2014 18:49:40 +0000 (13:49 -0500)
Change-Id: I013c06fd92400aa968ef4c15462ddb970e3db677

doc/charm++/advancedlb.tex
doc/charm++/loadb.tex

index d086ed85ba9ed3421329db0fda4532417d8edfab..2fe7e683749a5eb1c7874290d201b0e243a1fb46 100644 (file)
@@ -186,6 +186,7 @@ load balancing framework. {\em setObjTime()} described above can be used for
 this.
 
 \section{Writing a new load balancing strategy}
+\label{lbWriteNewLB}
 
 \charmpp{} programmers can choose an existing load balancing strategy from
 \charmpp{}'s built-in strategies(see ~\ref{lbStrategy}) for the best performance
index 77c8378e10decba0c4543d9116713b08eceb6fec..68c572d392655bd08e4957b645207ca27566353a 100644 (file)
@@ -399,6 +399,28 @@ Or, if the METIS library has been installed, METIS based balancers can be built
  make MetisLB
 \end{alltt}
 
+\item {\bf Write and use your own load balancer}
+
+Refer Section~\ref{lbWriteNewLB} for writing a new load balancer. Compile it in
+the form of library and name it {\em libmoduleFooLB.a} where {\em FooLB} is the
+new load balancer. Add the path to the library and link the load balancer into
+an application using {\em -module FooLB}. 
+
+You can create a library by modifying the Makefile in the following way. This
+will create {\em libmoduleFooLB.a}.
+\begin{alltt}
+libmoduleFooLB.a: FooLB.o
+  $(CHARMC) -o libmoduleFooLB.a FooLB.o
+\end{alltt}
+
+To include this balancer in your application, the Makefile can be changed in the
+following way
+\begin{alltt}
+$(TARGET): $(OBJECTS)
+  $(CHARMC) -o $(TARGET) -L/path-to-the-lib $(OBJS) -module FooLB 
+\end{alltt}
+
+
 \item {\bf runtime options:}
 
 Runtime balancer selection options are similar to the compile time