]>
AND Private Git Repository - loba.git/log
Arnaud Giersch [Wed, 26 Jan 2011 12:38:09 +0000 (13:38 +0100)]
Synchronize the processes before exiting.
The goal is to circumvent a limitation in SimGrid (at least in
version 3.5): a process must be alive when another one destroys
a communication they had together.
Arnaud Giersch [Tue, 25 Jan 2011 18:36:31 +0000 (19:36 +0100)]
Use online algorithms for statistics.
Arnaud Giersch [Tue, 25 Jan 2011 17:21:10 +0000 (18:21 +0100)]
Cosmetics: make cppcheck happy.
Arnaud Giersch [Tue, 25 Jan 2011 12:29:26 +0000 (13:29 +0100)]
Add BUGS and review TODO.
Arnaud Giersch [Tue, 25 Jan 2011 12:12:47 +0000 (13:12 +0100)]
Define process::send(), and simplify load_balance() logic.
Arnaud Giersch [Tue, 25 Jan 2011 12:01:56 +0000 (13:01 +0100)]
Use debug log level in loba_fairstrategy.
Arnaud Giersch [Tue, 25 Jan 2011 11:05:47 +0000 (12:05 +0100)]
Bug fix: only send to a lesser loaded neighbor!
Arnaud Giersch [Tue, 25 Jan 2011 11:00:43 +0000 (12:00 +0100)]
Improve warning message.
Arnaud Giersch [Tue, 25 Jan 2011 10:55:12 +0000 (11:55 +0100)]
Partially revert "modif simple"
This reverts commit
ffea735548f5d4940dae32d8071a2676f6716ad0 .
Conflicts:
loba_simple.cpp
Arnaud Giersch [Tue, 25 Jan 2011 10:33:39 +0000 (11:33 +0100)]
Cosmetics: add spaces around operators, and other whitespace cleanups.
Arnaud Giersch [Tue, 25 Jan 2011 09:35:51 +0000 (10:35 +0100)]
Define process::get_load() and set_load() instead of lb_load().
Arnaud Giersch [Tue, 25 Jan 2011 09:26:29 +0000 (10:26 +0100)]
Rename process::load -> process::real_load.
Arnaud Giersch [Tue, 25 Jan 2011 09:21:01 +0000 (10:21 +0100)]
Delete process::sum_of_to_send().
Arnaud Giersch [Tue, 25 Jan 2011 09:14:22 +0000 (10:14 +0100)]
Rename process::send() -> process::send_all().
Arnaud Giersch [Mon, 24 Jan 2011 17:04:05 +0000 (18:04 +0100)]
Define class statistics for computing sum, mean, and standard deviation.
Arnaud Giersch [Mon, 24 Jan 2011 17:03:43 +0000 (18:03 +0100)]
Use verbose level for logging results of final checks on total load.
Arnaud Giersch [Mon, 24 Jan 2011 17:01:49 +0000 (18:01 +0100)]
Move final outputs into destructor.
Arnaud Giersch [Fri, 21 Jan 2011 15:57:04 +0000 (16:57 +0100)]
Experimental tracing support.
Arnaud Giersch [Fri, 21 Jan 2011 14:25:05 +0000 (15:25 +0100)]
Makefile: add a rule to generate xml files conforming to the latest dtd.
Arnaud Giersch [Fri, 21 Jan 2011 14:23:15 +0000 (15:23 +0100)]
Makefile: improve rules for target "full".
Do not build simple_async, and "make -j" should now work correctly.
Arnaud Giersch [Wed, 19 Jan 2011 10:58:01 +0000 (11:58 +0100)]
Change default values.
exit_on_close is now enabled by default, and no limits are given
for stopping the simulation.
Arnaud Giersch [Wed, 19 Jan 2011 10:37:29 +0000 (11:37 +0100)]
Make boolean option togglable.
Arnaud Giersch [Wed, 19 Jan 2011 10:36:32 +0000 (11:36 +0100)]
Use square brackets for default values in help.
Arnaud Giersch [Wed, 19 Jan 2011 10:21:37 +0000 (11:21 +0100)]
Move sleep between iterations in a better place.
Arnaud Giersch [Tue, 18 Jan 2011 22:26:24 +0000 (23:26 +0100)]
Bug fixed: use a timeout on receive.
Arnaud Giersch [Tue, 18 Jan 2011 21:51:47 +0000 (22:51 +0100)]
There is a bug...
Arnaud Giersch [Tue, 18 Jan 2011 21:19:51 +0000 (22:19 +0100)]
Variable delay is defined, why not using it?
Arnaud Giersch [Tue, 18 Jan 2011 13:17:52 +0000 (14:17 +0100)]
Add statistics on total computation power.
Arnaud Giersch [Tue, 18 Jan 2011 11:00:26 +0000 (12:00 +0100)]
Be more precise in help message for option "-l".
Arnaud Giersch [Tue, 18 Jan 2011 10:26:47 +0000 (11:26 +0100)]
Interchange lb_iter and comp_iter, and improve process main loop.
Arnaud Giersch [Tue, 18 Jan 2011 10:25:38 +0000 (11:25 +0100)]
Define process::lb_load(), and use it.
Arnaud Giersch [Tue, 18 Jan 2011 10:15:51 +0000 (11:15 +0100)]
Improve log messages.
Arnaud Giersch [Tue, 18 Jan 2011 10:00:39 +0000 (11:00 +0100)]
Add option "-t" for fixing a time limit on the simulation.
Arnaud Giersch [Tue, 18 Jan 2011 09:59:49 +0000 (10:59 +0100)]
Add option "-s" for controlling the minimum duration between iterations.
Arnaud Giersch [Tue, 18 Jan 2011 08:29:48 +0000 (09:29 +0100)]
Add extract.pl.
A script to ease data extraction for graph drawing. It prints data in a
format usable by gnuplot, or graph from the GNU plotutils.
Arnaud Giersch [Mon, 17 Jan 2011 10:14:37 +0000 (11:14 +0100)]
Update copyright in version string, and other cosmetic changes.
Arnaud Giersch [Wed, 12 Jan 2011 15:04:34 +0000 (16:04 +0100)]
Remove "-s" option from getopt parameters.
Arnaud Giersch [Wed, 12 Jan 2011 13:16:32 +0000 (14:16 +0100)]
Reintroduce make variables for compilation of C programs.
May be useful for small test programs.
Arnaud Giersch [Wed, 12 Jan 2011 13:15:54 +0000 (14:15 +0100)]
Improved synchronization with receiver process.
Arnaud Giersch [Wed, 12 Jan 2011 12:58:26 +0000 (13:58 +0100)]
Do not call flush automatically in communcator::send...
... and insert appropriate calls in process methods.
The goal is here to destroy achieved communications as soon as
possible, and avoid a bug in SimGrid 3.5 that make the simulation
very slow when there are many communications.
Arnaud Giersch [Sat, 8 Jan 2011 18:45:02 +0000 (19:45 +0100)]
Remove pointless variable.
Arnaud Giersch [Sat, 8 Jan 2011 08:32:07 +0000 (09:32 +0100)]
Bug fix: we really need to consume all messages in proc::receive!
Arnaud Giersch [Fri, 7 Jan 2011 10:24:08 +0000 (11:24 +0100)]
Move some debugging messages.
Arnaud Giersch [Fri, 7 Jan 2011 10:17:35 +0000 (11:17 +0100)]
Allow changing communicator::send_count_before_flush at run-time.
Arnaud Giersch [Fri, 7 Jan 2011 08:57:07 +0000 (09:57 +0100)]
Add rules to ease building of loba-dev and loba-stable, which are
loba linked with their respective simgrid flavour.
Arnaud Giersch [Fri, 7 Jan 2011 08:20:22 +0000 (09:20 +0100)]
Revise process::receive and get rid of WAIT_FOR_CLOSE.
Next step is to revise process::run...
Arnaud Giersch [Fri, 7 Jan 2011 08:14:25 +0000 (09:14 +0100)]
Get simgrid installation path from binary.
Arnaud Giersch [Thu, 6 Jan 2011 15:59:57 +0000 (16:59 +0100)]
Use a separate thread to handle incoming messages.
Incoming messages were taken into account very late,
because of the following scheme:
...
* do something (compute, load-balance, ...)
...
* receive some message
* create a new asynchronous receive communication
Here, we cannot have received any new message, even
if the sender was ready a long time ago, since the
transfer only started when we created the new communication.
Thus, we start a new iteration.
The solution is to implement a separate thread to handle incoming
messages asynchronously. Those messages are put in a queue to be
consumed later.
Arnaud Giersch [Thu, 6 Jan 2011 15:35:44 +0000 (16:35 +0100)]
Only define SIMGRID_INSTALL_DIR if it is not already set.
Arnaud Giersch [Thu, 6 Jan 2011 13:34:13 +0000 (14:34 +0100)]
TODO update.
Arnaud Giersch [Thu, 6 Jan 2011 08:37:39 +0000 (09:37 +0100)]
Add colorized-loba.
Arnaud Giersch [Thu, 6 Jan 2011 08:04:27 +0000 (09:04 +0100)]
Fix error reporting in opt::parse_args.
Arnaud Giersch [Wed, 5 Jan 2011 08:58:40 +0000 (09:58 +0100)]
Define an opt_helper class for local functions.
Arnaud Giersch [Tue, 21 Dec 2010 21:31:59 +0000 (22:31 +0100)]
Distinguish lb_iter and comp_iter.
Arnaud Giersch [Wed, 22 Dec 2010 08:23:09 +0000 (09:23 +0100)]
Use numerical algorithms for stddev computation.
Arnaud Giersch [Wed, 22 Dec 2010 08:01:09 +0000 (09:01 +0100)]
Do not import full std::tr1 namespace.
Arnaud Giersch [Tue, 21 Dec 2010 21:21:14 +0000 (22:21 +0100)]
Make opt::print() more friendly to update.
Arnaud Giersch [Tue, 4 Jan 2011 14:49:58 +0000 (15:49 +0100)]
Consolidate helper functions from options.cpp in one block.
Arnaud Giersch [Tue, 4 Jan 2011 14:48:23 +0000 (15:48 +0100)]
Named options may now be selected by prefix if there is no ambiguity.
Arnaud Giersch [Tue, 4 Jan 2011 14:36:41 +0000 (15:36 +0100)]
Use bool for return type of parse_args().
Arnaud Giersch [Tue, 4 Jan 2011 13:56:49 +0000 (14:56 +0100)]
Remove unused methods.
Arnaud Giersch [Tue, 21 Dec 2010 16:59:21 +0000 (17:59 +0100)]
Display load average and standard deviation at the end.
Arnaud Giersch [Tue, 21 Dec 2010 16:32:35 +0000 (17:32 +0100)]
Add profiler output files to .gitignore.
Arnaud Giersch [Tue, 21 Dec 2010 16:26:44 +0000 (17:26 +0100)]
Deadlock fix, and other changes.
Fix a deadlock occuring when there was no load anymore in the system.
Each remaining process had nothing to compute, nor to send to their
neighbors, and were blocked waiting for an incoming message.
The fix consists in:
* adding a shared global variable total_load_running, the sum of loads
currently in the system ; and
* ensuring this variable is always up-to-date ; and
* making processes terminate if total_load_running is null.
The use of a global variable is not satisfactory, but it is good
enough for now.
It is also verified, at the end of the simulation, that
total_load_running is null.
Other important changes in this commit are:
* process::receive() now consumes all pending messages (it used to
consume only one).
* The iteration number is only incremented when there is something to
compute (load > 0.0).
Note: bookkeeping version may be broken.
Arnaud Giersch [Tue, 21 Dec 2010 16:08:40 +0000 (17:08 +0100)]
Remove C targets from Makefile.
Arnaud Giersch [Tue, 21 Dec 2010 16:01:47 +0000 (17:01 +0100)]
Fix an error about misc_autogen.h that is not found.
Arnaud Giersch [Fri, 17 Dec 2010 17:39:07 +0000 (18:39 +0100)]
Cleanup, no functional change (no bug fixed too).
Arnaud Giersch [Fri, 17 Dec 2010 17:38:27 +0000 (18:38 +0100)]
Fix typos.
Arnaud Giersch [Fri, 17 Dec 2010 17:19:29 +0000 (18:19 +0100)]
Define neighbor::add_load, and use it.
Arnaud Giersch [Fri, 17 Dec 2010 17:14:41 +0000 (18:14 +0100)]
Cosmetics: reindent and remove unused variables.
Arnaud Giersch [Fri, 17 Dec 2010 17:04:45 +0000 (18:04 +0100)]
Define process::print_loads_p() to print loads by using neighp[]
instead of neigh[].
In order to achieve this cleanly, define neighbor::print().
The logging category is (by default) the default for the current
compilation unit.
I had to torture xbt/log to attain my goal...
Raphael Couturier [Fri, 17 Dec 2010 14:52:44 +0000 (15:52 +0100)]
modif simple
Raphaël Couturier [Fri, 17 Dec 2010 14:42:48 +0000 (15:42 +0100)]
modification to fairstrategy
Raphaël Couturier [Fri, 17 Dec 2010 13:29:17 +0000 (14:29 +0100)]
Add loba_fairstrategy.
Arnaud Giersch [Fri, 17 Dec 2010 11:15:26 +0000 (12:15 +0100)]
Use a shorter name for function in deployment_generator.
Arnaud Giersch [Fri, 17 Dec 2010 11:08:57 +0000 (12:08 +0100)]
Add option "-v" (verbose).
Arnaud Giersch [Thu, 16 Dec 2010 23:49:56 +0000 (00:49 +0100)]
Ongoing work on process logic...
... but there still remain some bugs to fix...
Arnaud Giersch [Thu, 16 Dec 2010 17:51:41 +0000 (18:51 +0100)]
Add more documentation.
Arnaud Giersch [Thu, 16 Dec 2010 15:40:55 +0000 (16:40 +0100)]
Use FATPIPE for backbone in cluster1000.xml.
Arnaud Giersch [Thu, 16 Dec 2010 14:55:50 +0000 (15:55 +0100)]
Improved printing of simulation parameters, and fixed some defaults.
Arnaud Giersch [Thu, 16 Dec 2010 14:54:36 +0000 (15:54 +0100)]
Improved description for valgrind suppression.
Arnaud Giersch [Thu, 16 Dec 2010 14:37:12 +0000 (15:37 +0100)]
Use auto_depl::nhosts for auto_depl::load auto-setting.
Arnaud Giersch [Thu, 16 Dec 2010 14:36:33 +0000 (15:36 +0100)]
Add torus topology.
Arnaud Giersch [Thu, 16 Dec 2010 11:13:12 +0000 (12:13 +0100)]
Improve documentation.
Arnaud Giersch [Thu, 16 Dec 2010 08:31:51 +0000 (09:31 +0100)]
Remove redundant includes.
Arnaud Giersch [Wed, 15 Dec 2010 22:44:07 +0000 (23:44 +0100)]
Add default auto_depl::topology...
... which is selected if no deployment_file is provided.
Arnaud Giersch [Wed, 15 Dec 2010 22:36:26 +0000 (23:36 +0100)]
Cosmetics: sort topologies in source files.
Arnaud Giersch [Wed, 15 Dec 2010 22:31:18 +0000 (23:31 +0100)]
Add automatic topology generators.
For now: btree, clique, hcube, line, ring and star
Arnaud Giersch [Wed, 15 Dec 2010 20:11:19 +0000 (21:11 +0100)]
Cosmetics...
* adjust logging format
* improve opt::print
* check if opt::loba_algo is known
Arnaud Giersch [Wed, 15 Dec 2010 17:10:07 +0000 (18:10 +0100)]
Add load balancing algorithm selection facility.
Plus...
* add named_object_list templates
* first tests with MSG_set_function in MY_launch_application
* some preliminary work for topology selection
* rename loba_least_loaded -> loba_simple
* some minor cleanups
Arnaud Giersch [Tue, 14 Dec 2010 23:01:50 +0000 (00:01 +0100)]
Improve help message.
Arnaud Giersch [Tue, 14 Dec 2010 23:01:11 +0000 (00:01 +0100)]
Update .gitignore.
Arnaud Giersch [Tue, 14 Dec 2010 23:00:30 +0000 (00:00 +0100)]
Add source files for deployment.
Arnaud Giersch [Tue, 14 Dec 2010 18:22:16 +0000 (19:22 +0100)]
Wip++...
* sort hosts by name in hostdata
* remove old "Calculs" binding
* add some stuff for automatic deployment
* add cluster1000.xml
* rename application.xml -> deployment.xml
Arnaud Giersch [Mon, 13 Dec 2010 21:29:03 +0000 (22:29 +0100)]
Wip++...
* debug (first try...)
Arnaud Giersch [Mon, 13 Dec 2010 17:57:28 +0000 (18:57 +0100)]
Wip++...
* implement simple load balancing algorithm
* re-introduce comm_cost
* use "using namespace" for std::tr1
Arnaud Giersch [Mon, 13 Dec 2010 09:48:41 +0000 (10:48 +0100)]
Wip++...
* use <tr1/unordered_map> for process::rev_neigh
* update setlocalversion to use -dirty suffix
Arnaud Giersch [Sun, 12 Dec 2010 22:51:22 +0000 (23:51 +0100)]
Wip++...
* add hostdata
* add process::rev_neigh
* implement process::send
Arnaud Giersch [Sun, 12 Dec 2010 11:50:22 +0000 (12:50 +0100)]
Wip++...
* add log_rate option
* rework ESSE macro
* rework timer.h
Arnaud Giersch [Fri, 10 Dec 2010 22:42:30 +0000 (23:42 +0100)]
Wip++...
* improve communicator logic
* add options maxiter and exit_on_close
* add valgrind suppressions file