# 3.7.{0,1} -> release 3.7, 3.7.1
# 3.8.{0,1} -> release 3.8, 3.8.1
# 3.9.0 -> release 3.9
-
# 3.9.90 -> release 3.10pre1
# 3.10.0 -> release 3.10
+# 3.11.0 -> release 3.11
set(SIMGRID_VERSION_MAJOR "3")
-set(SIMGRID_VERSION_MINOR "9")
-set(SIMGRID_VERSION_PATCH "90")
+set(SIMGRID_VERSION_MINOR "11")
+set(SIMGRID_VERSION_PATCH "0")
+set(SIMGRID_VERSION_EXTRA "-devel") # Extra words to add to version string (e.g. -rc1)
+
+set(SIMGRID_VERSION_DATE "2013") # Year for copyright information
if(${SIMGRID_VERSION_PATCH} EQUAL "0")
set(release_version "${SIMGRID_VERSION_MAJOR}.${SIMGRID_VERSION_MINOR}")
else()
set(release_version "${SIMGRID_VERSION_MAJOR}.${SIMGRID_VERSION_MINOR}.${SIMGRID_VERSION_PATCH}")
endif()
+
+set(SIMGRID_VERSION_STRING
+ "SimGrid version ${release_version}${SIMGRID_VERSION_EXTRA}\\nCopyright (c) ${SIMGRID_VERSION_DATE}. The Simgrid Team.")
+
set(libsimgrid_version "${release_version}")
-set(libsmpi_version "${release_version}")
-set(libSG_java_version "${release_version}")
+set(libsimgrid-java_version "${release_version}")
set(GCC_NEED_VERSION "4.0")
set(APPLE_NEED_GCC_VERSION "4.6")
-SimGrid (3.10pre1) unstable; urgency=low
+SimGrid (3.11) NOT RELEASED; urgency=low
+
+ TENTATIVE RELEASE GOALS for 3.11:
+ * Consider the removal of Supernovae mode if no user has manifested since the
+ release of version 3.10.
+ * Switch to tesh.pl, and kill the now unused parts of xbt that seem fragile
+ * Switch to surf++, and reintegrate the hypervisor branch on top of it
+
+ -- $date Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+
+SimGrid (3.10-rc2) unstable; urgency=low
+
+ The Clean Diaper Release, a.k.a. SimGrid is leak-free.
Java:
* Reintegrate Java to the main archive as desynchronizing these
package is not acceptable anymore (Java is now considered stable)
* Add explicit synchronization facilities through semaphores
- * Bugfix: Task.setDataSize() only changed the C world, not the value
+ * Bug fix: Task.setDataSize() only changed the C world, not the value
cached in the Java world
MSG:
this part of MSG was not considered as production grade either.
* Add explicit synchronization facilities through semaphores
* Add a new function MSG_host_get_process_list()
- * Preliminary DVFS support (see /examples/msg/energy for details)
+ * Preliminary DVFS support (see examples/msg/energy/ for details)
SMPI:
* SMPI is now included directly in the libsimgrid as the windows
- The replay tool now supports traces produce either by TAU or a modified
version of MPE.
- Bug Fix: the compute part of the reduce action is now taken into account.
- * smpirun generates the hostfile if needed (with given hostcount and platform)
+ - Gatherv collective is now supported
+ - SimGrid (SMPI for now) can generate replay traces as well. Option -trace-ti
+ of smpirun outputs time independent traces for the current run. One file
+ is created per process. If too many processes are simulated, this behavior
+ can be changed to one file for all processes by using the
+ tracing/smpi/format/ti_one_file flag
+ * smpirun generates the host file if needed (with given host count and platform)
* Integration of more than 100 STAR-MPI, MPICH, OpenMPI collective algorithms
- allows to select one in particular with --cfg=smpi/coll_name:algorithm
- allows to use the decision logic of OpenMPI(1.7) or MPICH(3.0.4) by setting
Reduce
* Add a --cfg:tracing/smpi/internals option, to trace internal communications
happening inside a collective SMPI call.
- * Fix the behavior of complex data types handling
- * replace MPICH-1 test suite by the one from MPICH 3.0.4. Can be built using
+ * Fix the behavior of complex data types handling.
+ * Make MPI_Wtime another synchronization point to take computations into account.
+ * Replace MPICH-1 test suite by the one from MPICH 3.0.4. Can be built using
enable_smpi_MPICH3_testsuite flag in cmake. Run with ctest.
* Add all missing Fortran bindings, SMPI should work with Fortran 90
(no privatization of global variables yet)
+ * Preliminary DVFS support (see examples/smpi/energy/ for details)
Model-Checking;
* Verification of liveness properties is now available for SMPI applications
* Our own implementation of getline is renamed xbt_getline, and gets
used even if the OS provide a getline(). This should reduce the
configuration complexity by using the same code on all platforms.
- * new xbt_cfg_elm_boolean type
+ * New type: xbt_cfg_elm_boolean.
+ * Allow to use yes/no for boolean configuration options in the command line.
* Allow to disable SimGrid cleanups at exit from command line option.
There are situations where one may want a simulation to end with an exit.
Unfortunately, calling exit may cause SimGrid to segfault, which is quite
annoying when scripting around the simulator. Adding a
- --cfg=clean_atexit:yes allows to circumvent this issue.
+ --cfg=clean_atexit:no allows to circumvent this issue.
+
+ Build System:
+ * Lots of memory leaks were corrected in this release.
+ There is no known memory leaks anymore, in all of our 600+ tests.
+ * New command line option --version, to get SimGrid version information.
+ Packagers may want to add extra words to SIMGRID_VERSION_EXTRA defined in
+ CMakeLists.txt.
+ * Supernovae builds are deprecated, and expected to be removed in the next
+ version of SimGrid.
--- Mon Oct 7 2013 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+ -- Fri Nov 8 23:54:56 CET 2013 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
SimGrid (3.9) stable; urgency=low
TRACING:
* Transfer the tracing files into the corresponding modules.
- -- Tue Feb 5 11:31:43 CET 2013 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+ -- Tue Feb 5 11:31:43 CET 2013 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
SimGrid (3.8.1) stable; urgency=low
Turn model-checking OFF if simulation performance matters to you.
Not enabling it at runtime is not enough, disable it in cmake.
- -- Tue May 15 11:30:19 UTC 2012 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
+ -- Tue May 15 11:30:19 UTC 2012 Da SimGrid team <simgrid-devel@lists.gforge.inria.fr>
SimGrid (3.6.2) stable; urgency=low
====================
In short, the way to compile SimGrid depends on whether you are compiling a
-tar.gz archive or directly from the SVN.
+tar.gz archive or directly from the Git.
-(1) configure SimGrid (both in SVN and archives)
+(1) configure SimGrid (both in Git and archives)
$ cmake <all options> ./
Main options are:
-DCMAKE_INSTALL_PREFIX=<path>: specify where to install SimGrid
-Denable_maintainer_mode=on/off: get the maintainer files regenerated
automatically
- -Denable_compile_optimizations=on/off: compile or not with -O0 instead of -O3
- -Denable_java=on/off: enable or not binding java
- -Denable_lua=on/off: enable or not binding lua
- -Denable_ruby=on/off: enable or not binding ruby
+ -Denable_compile_optimizations=on/off: compile or not with optimizations
+ -Denable_java=on/off: enable or not the Java bindings
+ -Denable_scala=on/off: enable or not the Scala bindings
+ -Denable_lua=on/off: enable or not the lua bindings
-Denable_smpi=on/off: enable or not smpi
+ -Denable_model-checking=on/off: enable or not the model-checker
See below for other configure options which are common to any project,
not only SimGrid related.
If you want to compile the lua bindings, you have to have lua5.1 executable and
liblua5.1-dev.
-If you want to compile the ruby bindings, you have to install ruby executable
-and ruby-dev version 1.9.
-
-If you want to compile smpi, you should install f2c for use Fortran code.
+If you want to compile smpi, you should install f2c to use Fortran code.
If you want to compile the GTNetS backend, you have to have a patched version of
-GTNetS installed. The patch lives in the contrib section of the SVN.
+GTNetS installed. The patch lives in the contrib section of the Git.
+ _ _____ _ _
+__ _____ _ __ ___(_) ___ _ __ |___ / / / |
+\ \ / / _ \ '__/ __| |/ _ \| '_ \ |_ \ | | |
+ \ V / __/ | \__ \ | (_) | | | | ___) || | |
+ \_/ \___|_| |___/_|\___/|_| |_| |____(_)_|_|
+
+(to complete)
_ _____ _ ___
__ _____ _ __ ___(_) ___ _ __ |___ / / |/ _ \
\ \ / / _ \ '__/ __| |/ _ \| '_ \ |_ \ | | | | |
\ V / __/ | \__ \ | (_) | | | | ___) || | |_| |
\_/ \___|_| |___/_|\___/|_| |_| |____(_)_|\___/
-The "to be named" release. Major changes:
+The Clean Diaper Release, a.k.a. SimGrid is leak-free. Major changes:
* Preliminary DVFS support to track the energy consumption
* Java is back in the main package (and is very stable).
* The storage sub-modules is now believed to be usable.
* SMPI is now very stable (we pass most MPICH tests).
- * Verification and model checking further improved:
+ * Lots of memory leaks were corrected in this release.
+ * Verification and model checking further improved:
liveness+SMPI works; reduction through state equality detection
Plus the usual load of bug fixes and small improvements
-
+
_ _____ ___
__ _____ _ __ ___(_) ___ _ __ |___ // _ \
\ \ / / _ \ '__/ __| |/ _ \| '_ \ |_ \ (_) |
SET(TESH_COMMAND ${CMAKE_BINARY_DIR}/bin/tesh)
endif()
+#some tests may take forever on non futexes systems, using busy_wait with n cores < n workers
+# default to posix for these tests if futexes are not supported
+if(NOT HAVE_FUTEX_H)
+SET(CONTEXTS_SYNCHRO --cfg contexts/synchro:posix)
+endif()
+
+
INCLUDE(CTest)
ENABLE_TESTING()
if(NOT enable_memcheck)
- ADD_TEST(tesh-self-basic ${TESH_COMMAND} ${TESH_OPTION} --setenv bindir=${CMAKE_BINARY_DIR}/bin --cd "${CMAKE_HOME_DIRECTORY}/tools/tesh" basic.tesh)
+ ADD_TEST(tesh-self-basic ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_BINARY_DIR}/bin" ${CMAKE_HOME_DIRECTORY}/tools/tesh/basic.tesh)
ADD_TEST(tesh-self-cd ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_BINARY_DIR}/bin" ${CMAKE_HOME_DIRECTORY}/tools/tesh/cd.tesh)
- ADD_TEST(tesh-self-IO-broken-pipe ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_HOME_DIRECTORY}/tools/tesh" IO-broken-pipe.tesh)
+ ADD_TEST(tesh-self-IO-broken-pipe ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_BINARY_DIR}/bin" ${CMAKE_HOME_DIRECTORY}/tools/tesh/IO-broken-pipe.tesh)
ADD_TEST(tesh-self-IO-orders ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_BINARY_DIR}/bin" ${CMAKE_HOME_DIRECTORY}/tools/tesh/IO-orders.tesh)
- ADD_TEST(tesh-self-IO-bigsize ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_HOME_DIRECTORY}/tools/tesh" IO-bigsize.tesh)
- ADD_TEST(tesh-self-set-return ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_HOME_DIRECTORY}/tools/tesh" set-return.tesh)
- ADD_TEST(tesh-self-set-timeout ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_HOME_DIRECTORY}/tools/tesh" set-timeout.tesh)
- ADD_TEST(tesh-self-set-ignore-output ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_BINARY_DIR}/bin" ${CMAKE_HOME_DIRECTORY}/tools/tesh/set-ignore-output.tesh)
+ ADD_TEST(tesh-self-IO-bigsize ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_BINARY_DIR}/bin" ${CMAKE_HOME_DIRECTORY}/tools/tesh/IO-bigsize.tesh)
+ ADD_TEST(tesh-self-set-return ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_BINARY_DIR}/bin" ${CMAKE_HOME_DIRECTORY}/tools/tesh/set-return.tesh)
+ ADD_TEST(tesh-self-set-timeout ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_BINARY_DIR}/bin" ${CMAKE_HOME_DIRECTORY}/tools/tesh/set-timeout.tesh)
+ ADD_TEST(tesh-self-set-output-ignore ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_BINARY_DIR}/bin" ${CMAKE_HOME_DIRECTORY}/tools/tesh/set-output-ignore.tesh)
+ ADD_TEST(tesh-self-set-output-sort ${TESH_COMMAND} ${TESH_OPTION} --setenv bindir=${CMAKE_BINARY_DIR}/bin --cd "${CMAKE_HOME_DIRECTORY}/tools/tesh" set-output-sort.tesh)
ADD_TEST(tesh-self-catch-return ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_BINARY_DIR}/bin" ${CMAKE_HOME_DIRECTORY}/tools/tesh/catch-return.tesh)
ADD_TEST(tesh-self-catch-timeout ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_BINARY_DIR}/bin" ${CMAKE_HOME_DIRECTORY}/tools/tesh/catch-timeout.tesh)
ADD_TEST(tesh-self-catch-wrong-output ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_BINARY_DIR}/bin" ${CMAKE_HOME_DIRECTORY}/tools/tesh/catch-wrong-output.tesh)
- ADD_TEST(tesh-self-bg-basic ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_HOME_DIRECTORY}/tools/tesh" bg-basic.tesh)
- ADD_TEST(tesh-self-background ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_HOME_DIRECTORY}/tools/tesh" background.tesh)
+ ADD_TEST(tesh-self-bg-basic ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_BINARY_DIR}/bin" ${CMAKE_HOME_DIRECTORY}/tools/tesh/bg-basic.tesh)
+ ADD_TEST(tesh-self-background ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_BINARY_DIR}/bin" ${CMAKE_HOME_DIRECTORY}/tools/tesh/background.tesh)
if(NOT WIN32)
- ADD_TEST(tesh-self-set-signal ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_HOME_DIRECTORY}/tools/tesh" set-signal.tesh)
- ADD_TEST(tesh-self-bg-set-signal ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_HOME_DIRECTORY}/tools/tesh" bg-set-signal.tesh)
- ADD_TEST(tesh-self-catch-signal ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_BINARY_DIR}/bin" ${CMAKE_HOME_DIRECTORY}/tools/tesh/catch-signal.tesh)
+ ADD_TEST(tesh-self-set-signal ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_BINARY_DIR}/bin" ${CMAKE_HOME_DIRECTORY}/tools/tesh/set-signal.tesh)
+ ADD_TEST(tesh-self-bg-set-signal ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_BINARY_DIR}/bin" ${CMAKE_HOME_DIRECTORY}/tools/tesh/bg-set-signal.tesh)
+ ADD_TEST(tesh-self-catch-signal ${TESH_COMMAND} ${TESH_OPTION} --cd "${CMAKE_BINARY_DIR}/bin" ${CMAKE_HOME_DIRECTORY}/tools/tesh/catch-signal.tesh)
endif()
# BEGIN TESH TESTS
ADD_TEST(tesh-msg-pid-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/pid.tesh)
endif()
-
- IF(enable_debug) # these tests need the assertion mechanism
+ # these tests need the assertion mechanism
+ # exclude them from memcheck, as they normally die, leaving lots of unfree'd objects
+ IF(enable_debug AND NOT enable_memcheck)
ADD_TEST(tesh-simdag-parser-bogus-symmetric ${TESH_COMMAND} ${TESH_OPTION} --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/simdag/platforms --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/simdag/platforms two_hosts_asymetric.tesh)
ENDIF()
# MSG examples
ADD_TEST(msg-file ${TESH_COMMAND} ${TESH_OPTION} --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/ --setenv srcdir=${CMAKE_HOME_DIRECTORY}/ --cd ${CMAKE_HOME_DIRECTORY}/examples/ ${CMAKE_HOME_DIRECTORY}/examples/msg/io/io.tesh)
+ ADD_TEST(msg-storage ${TESH_COMMAND} ${TESH_OPTION} --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/ --setenv srcdir=${CMAKE_HOME_DIRECTORY}/ --cd ${CMAKE_HOME_DIRECTORY}/examples/ ${CMAKE_HOME_DIRECTORY}/examples/msg/io/storage.tesh)
ADD_TEST(msg-start-kill-time ${TESH_COMMAND} ${TESH_OPTION} --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/ --setenv srcdir=${CMAKE_HOME_DIRECTORY}/ --cd ${CMAKE_HOME_DIRECTORY}/examples/ ${CMAKE_HOME_DIRECTORY}/examples/msg/start_kill_time/start_kill_time.tesh)
ADD_TEST(msg-chainsend ${TESH_COMMAND} ${TESH_OPTION} --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/chainsend --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg/chainsend --cd ${CMAKE_HOME_DIRECTORY}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/chainsend/chainsend.tesh)
ADD_TEST(msg-masterslave-mailbox-thread ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/masterslave/masterslave_mailbox_crosstraffic.tesh)
ADD_TEST(msg-masterslave-cpu-ti-thread ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/masterslave --cd ${CMAKE_HOME_DIRECTORY}/examples/msg masterslave/masterslave_cpu_ti_crosstraffic.tesh)
- ADD_TEST(msg-masterslave-virtual-machines ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg --cd ${CMAKE_HOME_DIRECTORY}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/masterslave_virtual_machines.tesh)
+ ADD_TEST(msg-masterslave-vivaldi-thread ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/masterslave/masterslave_vivaldi.tesh)
+
+ ADD_TEST(msg-masterslave-virtual-machines-thread ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg --cd ${CMAKE_HOME_DIRECTORY}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/masterslave_virtual_machines.tesh)
- ADD_TEST(msg-energy-pstates ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e1/pstate.tesh)
- ADD_TEST(msg-energy-consumption ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e2/energy_consumption.tesh)
- ADD_TEST(msg-energy-concurrent-tasks ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e3/concurrent_tasks.tesh)
- ADD_TEST(msg-storage ${TESH_COMMAND} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/storage/storage.tesh)
-
if(CONTEXT_UCONTEXT)
ADD_TEST(msg-sendrecv-CLM03-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/sendrecv/sendrecv_CLM03.tesh)
ADD_TEST(msg-sendrecv-Vegas-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/sendrecv/sendrecv_Vegas.tesh)
ADD_TEST(msg-masterslave-mailbox-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/masterslave/masterslave_mailbox_crosstraffic.tesh)
ADD_TEST(msg-masterslave-cpu-ti-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/masterslave --cd ${CMAKE_HOME_DIRECTORY}/examples/msg masterslave/masterslave_cpu_ti_crosstraffic.tesh)
- ADD_TEST(msg-energy-pstates-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e1/pstate.tesh)
- ADD_TEST(msg-energy-consumption-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e2/energy_consumption.tesh)
- ADD_TEST(msg-energy-concurrent-tasks-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e3/concurrent_tasks.tesh)
+ ADD_TEST(msg-masterslave-vivaldi-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/masterslave/masterslave_vivaldi.tesh)
+ ADD_TEST(msg-masterslave-virtual-machines-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg --cd ${CMAKE_HOME_DIRECTORY}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/masterslave_virtual_machines.tesh)
endif()
if(HAVE_RAWCTX)
ADD_TEST(msg-masterslave-mailbox-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/masterslave/masterslave_mailbox_crosstraffic.tesh)
ADD_TEST(msg-masterslave-cpu-ti-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/masterslave --cd ${CMAKE_HOME_DIRECTORY}/examples/msg masterslave/masterslave_cpu_ti_crosstraffic.tesh)
+ ADD_TEST(msg-masterslave-vivaldi-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/masterslave/masterslave_vivaldi.tesh)
+
+ ADD_TEST(msg-masterslave-virtual-machines-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg --cd ${CMAKE_HOME_DIRECTORY}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/cloud/masterslave_virtual_machines.tesh)
+ endif()
+
+ ADD_TEST(msg-energy-pstates-thread ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e1/pstate.tesh)
+ ADD_TEST(msg-energy-consumption-thread ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e2/energy_consumption.tesh)
+ ADD_TEST(msg-energy-concurrent-tasks-thread ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e3/concurrent_tasks.tesh)
+
+ if(CONTEXT_UCONTEXT)
+ ADD_TEST(msg-energy-pstates-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e1/pstate.tesh)
+ ADD_TEST(msg-energy-consumption-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e2/energy_consumption.tesh)
+ ADD_TEST(msg-energy-concurrent-tasks-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e3/concurrent_tasks.tesh)
+ endif()
+
+ if(HAVE_RAWCTX)
ADD_TEST(msg-energy-pstates-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e1/pstate.tesh)
ADD_TEST(msg-energy-consumption-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e2/energy_consumption.tesh)
ADD_TEST(msg-energy-concurrent-tasks-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/energy/e3/concurrent_tasks.tesh)
-
endif()
- ADD_TEST(msg-masterslave-vivaldi-thread ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/masterslave/masterslave_vivaldi.tesh)
- ADD_TEST(msg-token-ring-thread ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY} --cd ${CMAKE_BINARY_DIR}/examples/msg/token_ring ${CMAKE_HOME_DIRECTORY}/examples/msg/token_ring/token_ring.tesh)
+ ADD_TEST(msg-storage-basic-thread ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/storage/storage_basic.tesh)
+ if(CONTEXT_UCONTEXT)
+ ADD_TEST(msg-storage-basic-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/storage/storage_basic.tesh)
+ endif()
if(HAVE_RAWCTX)
- ADD_TEST(msg-masterslave-vivaldi-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/masterslave/masterslave_vivaldi.tesh)
- ADD_TEST(msg-token-ring-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --setenv srcdir=${CMAKE_HOME_DIRECTORY} --cd ${CMAKE_BINARY_DIR}/examples/msg/token_ring ${CMAKE_HOME_DIRECTORY}/examples/msg/token_ring/token_ring.tesh)
+ ADD_TEST(msg-storage-basic-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite --cd ${CMAKE_BINARY_DIR}/teshsuite ${CMAKE_HOME_DIRECTORY}/teshsuite/msg/storage/storage_basic.tesh)
endif()
+
+ ADD_TEST(msg-token-ring-thread ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY} --cd ${CMAKE_BINARY_DIR}/examples/msg/token_ring ${CMAKE_HOME_DIRECTORY}/examples/msg/token_ring/token_ring.tesh)
if(CONTEXT_UCONTEXT)
- ADD_TEST(msg-masterslave-vivaldi-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/masterslave/masterslave_vivaldi.tesh)
ADD_TEST(msg-token-ring-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY} --cd ${CMAKE_BINARY_DIR}/examples/msg/token_ring ${CMAKE_HOME_DIRECTORY}/examples/msg/token_ring/token_ring.tesh)
endif()
+ if(HAVE_RAWCTX)
+ ADD_TEST(msg-token-ring-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --setenv srcdir=${CMAKE_HOME_DIRECTORY} --cd ${CMAKE_BINARY_DIR}/examples/msg/token_ring ${CMAKE_HOME_DIRECTORY}/examples/msg/token_ring/token_ring.tesh)
+ endif()
ADD_TEST(msg-migration-thread ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/migration/migration.tesh)
ADD_TEST(msg-ptask-thread ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/parallel_task/parallel_task.tesh)
ADD_TEST(msg-actions-thread ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/actions --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/actions actions.tesh)
ADD_TEST(msg-trace-thread ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/msg --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/msg trace/trace.tesh)
ADD_TEST(msg-chord-no-crosstraffic-thread ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/chord --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/chord chord.tesh)
- ADD_TEST(msg-chord-no-crosstraffic-thread-parallel ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --cfg contexts/nthreads:4 --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/chord --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/chord chord.tesh)
+ ADD_TEST(msg-chord-no-crosstraffic-thread-parallel ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --cfg contexts/nthreads:4 ${CONTEXTS_SYNCHRO} --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/chord --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/chord chord.tesh)
ADD_TEST(msg-chord-thread ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/chord --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/chord chord_crosstraffic.tesh)
- ADD_TEST(msg-chord-thread-parallel ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --cfg contexts/nthreads:4 --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/chord --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/chord chord_crosstraffic.tesh)
+ ADD_TEST(msg-chord-thread-parallel ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --cfg contexts/nthreads:4 ${CONTEXTS_SYNCHRO} --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/chord --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/chord chord_crosstraffic.tesh)
ADD_TEST(msg-bittorrent-thread ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/bittorrent --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/bittorrent bittorrent.tesh)
- ADD_TEST(msg-bittorrent-thread-parallel ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/nthreads:4 --cfg contexts/factory:thread --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/bittorrent --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/bittorrent bittorrent.tesh)
+ ADD_TEST(msg-bittorrent-thread-parallel ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/nthreads:4 --cfg contexts/factory:thread ${CONTEXTS_SYNCHRO} --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/bittorrent --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/bittorrent bittorrent.tesh)
ADD_TEST(msg-kademlia-thread ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:thread --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/kademlia --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/kademlia kademlia.tesh)
- ADD_TEST(msg-kademlia-thread-parallel ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/nthreads:4 --cfg contexts/factory:thread --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/kademlia --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/kademlia kademlia.tesh)
+ ADD_TEST(msg-kademlia-thread-parallel ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/nthreads:4 --cfg contexts/factory:thread ${CONTEXTS_SYNCHRO} --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/kademlia --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/kademlia kademlia.tesh)
if(CONTEXT_UCONTEXT)
ADD_TEST(msg-migration-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/migration/migration.tesh)
ADD_TEST(msg-actions-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/actions --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/actions actions.tesh)
ADD_TEST(msg-trace-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/msg --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/msg trace/trace.tesh)
ADD_TEST(msg-chord-no-crosstraffic-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/chord --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/chord chord.tesh)
- ADD_TEST(msg-chord-no-crosstraffic-ucontext-parallel ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --cfg contexts/nthreads:4 --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/chord --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/chord chord.tesh)
+ ADD_TEST(msg-chord-no-crosstraffic-ucontext-parallel ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --cfg contexts/nthreads:4 ${CONTEXTS_SYNCHRO} --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/chord --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/chord chord.tesh)
ADD_TEST(msg-chord-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/chord --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/chord chord_crosstraffic.tesh)
- ADD_TEST(msg-chord-ucontext-parallel ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --cfg contexts/nthreads:4 --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/chord --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/chord chord_crosstraffic.tesh)
+ ADD_TEST(msg-chord-ucontext-parallel ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --cfg contexts/nthreads:4 ${CONTEXTS_SYNCHRO} --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/chord --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/chord chord_crosstraffic.tesh)
ADD_TEST(msg-bittorrent-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/bittorrent --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/bittorrent bittorrent.tesh)
- ADD_TEST(msg-bittorrent-ucontext-parallel ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/nthreads:4 --cfg contexts/factory:ucontext --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/bittorrent --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/bittorrent bittorrent.tesh)
+ ADD_TEST(msg-bittorrent-ucontext-parallel ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/nthreads:4 ${CONTEXTS_SYNCHRO} --cfg contexts/factory:ucontext --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/bittorrent --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/bittorrent bittorrent.tesh)
ADD_TEST(msg-kademlia-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/kademlia --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/kademlia kademlia.tesh)
- ADD_TEST(msg-kademlia-ucontext-parallel ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/nthreads:4 --cfg contexts/factory:ucontext --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/kademlia --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/kademlia kademlia.tesh)
+ ADD_TEST(msg-kademlia-ucontext-parallel ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/nthreads:4 ${CONTEXTS_SYNCHRO} --cfg contexts/factory:ucontext --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/kademlia --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/kademlia kademlia.tesh)
endif()
if(HAVE_RAWCTX)
ADD_TEST(msg-properties-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/msg --cd ${CMAKE_BINARY_DIR}/examples/msg ${CMAKE_HOME_DIRECTORY}/examples/msg/properties/msg_prop.tesh)
ADD_TEST(msg-trace-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --setenv bindir=${CMAKE_BINARY_DIR}/teshsuite/msg --cd ${CMAKE_HOME_DIRECTORY}/teshsuite/msg trace/trace.tesh)
ADD_TEST(msg-chord-no-crosstraffic-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/chord --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/chord chord.tesh)
- ADD_TEST(msg-chord-no-crosstraffic-raw-parallel ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --cfg contexts/nthreads:4 --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/chord --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/chord chord.tesh)
+ ADD_TEST(msg-chord-no-crosstraffic-raw-parallel ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --cfg contexts/nthreads:4 ${CONTEXTS_SYNCHRO} --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/chord --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/chord chord.tesh)
ADD_TEST(msg-chord-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/chord --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/chord chord_crosstraffic.tesh)
- ADD_TEST(msg-chord-raw-parallel ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --cfg contexts/nthreads:4 --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/chord --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/chord chord_crosstraffic.tesh)
+ ADD_TEST(msg-chord-raw-parallel ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --cfg contexts/nthreads:4 ${CONTEXTS_SYNCHRO} --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/chord --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/chord chord_crosstraffic.tesh)
ADD_TEST(msg-bittorrent-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/bittorrent --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/bittorrent bittorrent.tesh)
- ADD_TEST(msg-bittorrent-raw-parallel ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/nthreads:4 --cfg contexts/factory:raw --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/bittorrent --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/bittorrent bittorrent.tesh)
+ ADD_TEST(msg-bittorrent-raw-parallel ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/nthreads:4 ${CONTEXTS_SYNCHRO} --cfg contexts/factory:raw --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/bittorrent --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/bittorrent bittorrent.tesh)
ADD_TEST(msg-kademlia-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/kademlia --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/kademlia kademlia.tesh)
- ADD_TEST(msg-kademlia-raw-parallel ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/nthreads:4 --cfg contexts/factory:raw --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/kademlia --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/kademlia kademlia.tesh)
+ ADD_TEST(msg-kademlia-raw-parallel ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/nthreads:4 ${CONTEXTS_SYNCHRO} --cfg contexts/factory:raw --setenv bindir=${CMAKE_BINARY_DIR}/examples/msg/kademlia --cd ${CMAKE_HOME_DIRECTORY}/examples/msg/kademlia kademlia.tesh)
endif()
# simdag examples
ADD_TEST(smpi-pt2pt-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/pt2pt.tesh)
ADD_TEST(smpi-compute-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/compute.tesh)
if (NOT WIN32)
- ADD_TEST(smpi-shared-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/shared.tesh)
+ ADD_TEST(smpi-shared-ucontext ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:ucontext --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/shared.tesh)
endif()
endif()
if(HAVE_RAWCTX)
ADD_TEST(smpi-pt2pt-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/pt2pt.tesh)
ADD_TEST(smpi-compute-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/compute.tesh)
if (NOT WIN32)
- ADD_TEST(smpi-shared-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/shared.tesh)
+ ADD_TEST(smpi-shared-raw ${TESH_COMMAND} ${TESH_OPTION} --cfg contexts/factory:raw --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/shared.tesh)
endif()
endif()
+
+ ADD_TEST(smpi-energy ${TESH_COMMAND} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/smpi/energy --cd ${CMAKE_BINARY_DIR}/examples/smpi/energy ${CMAKE_HOME_DIRECTORY}/examples/smpi/energy/energy.tesh)
+ if(SMPI_F2C)
+ ADD_TEST(smpi-energy-f77 ${TESH_COMMAND} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/smpi/energy --cd ${CMAKE_BINARY_DIR}/examples/smpi/energy ${CMAKE_HOME_DIRECTORY}/examples/smpi/energy/f77/energy.tesh)
+ endif()
+ if(SMPI_F90)
+ ADD_TEST(smpi-energy-f90 ${TESH_COMMAND} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/smpi/energy --cd ${CMAKE_BINARY_DIR}/examples/smpi/energy ${CMAKE_HOME_DIRECTORY}/examples/smpi/energy/f90/energy.tesh)
+ endif()
+
if(HAVE_TRACING)
ADD_TEST(smpi-tracing-ptp ${TESH_COMMAND} ${TESH_OPTION} --cd ${CMAKE_BINARY_DIR}/examples/smpi ${CMAKE_HOME_DIRECTORY}/examples/smpi/tracing/smpi_traced.tesh)
ADD_TEST(smpi-replay ${TESH_COMMAND} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/smpi --cd ${CMAKE_BINARY_DIR}/examples/smpi ${CMAKE_HOME_DIRECTORY}/examples/smpi/replay/smpi_replay.tesh)
+ ADD_TEST(smpi-replay-ti-tracing ${TESH_COMMAND} ${TESH_OPTION} --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi --cd ${CMAKE_BINARY_DIR}/teshsuite/smpi ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/TI_output.tesh)
endif()
FOREACH (GATHER_COLL default ompi mpich ompi_basic_linear ompi_linear_sync ompi_binomial)
if(SMPI_F2C)
ADD_TEST(smpi-mpich3-thread-f77 ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/f77/ perl ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f77/ -tests=testlist -execarg=--cfg=contexts/factory:thread -execarg=--cfg=contexts/stack_size:8000)
set_tests_properties(smpi-mpich3-thread-f77 PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
- if(NOT HAVE_MC)
- ADD_TEST(smpi-mpich3-thread-f90 ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/f90/ perl ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f90/ -tests=testlist -execarg=--cfg=contexts/factory:thread)
- set_tests_properties(smpi-mpich3-thread-f90 PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
- endif()
+ endif()
+ if(SMPI_F90)
+ ADD_TEST(smpi-mpich3-thread-f90 ${CMAKE_COMMAND} -E chdir ${CMAKE_BINARY_DIR}/teshsuite/smpi/mpich3-test/f90/ perl ${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/runtests -mpiexec=${CMAKE_BINARY_DIR}/smpi_script/bin/smpirun -srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/mpich3-test/f90/ -tests=testlist -execarg=--cfg=contexts/factory:thread)
+ set_tests_properties(smpi-mpich3-thread-f90 PROPERTIES PASS_REGULAR_EXPRESSION "tests passed!")
endif()
endif()
### Determine the assembly flavor that we need today
include(CMakeDetermineSystem)
-IF(CMAKE_SYSTEM_PROCESSOR MATCHES ".86|AMD64")
+IF(CMAKE_SYSTEM_PROCESSOR MATCHES ".86|AMD64|amd64")
IF(${ARCH_32_BITS})
message(STATUS "System processor: i686 (${CMAKE_SYSTEM_PROCESSOR}, 32 bits)")
set(PROCESSOR_i686 1)
if(enable_gtnets)
include(FindGTnets)
endif()
-if(enable_smpi)
- include(FindF2c)
- SET(HAVE_SMPI 1)
-endif()
if(enable_java)
find_package(Java REQUIRED COMPONENTS Runtime Development)
find_package(JNI REQUIRED)
CHECK_FUNCTION_EXISTS(vasprintf HAVE_VASPRINTF)
CHECK_FUNCTION_EXISTS(makecontext HAVE_MAKECONTEXT)
CHECK_FUNCTION_EXISTS(mmap HAVE_MMAP)
-CHECK_FUNCTION_EXISTS(mergesort HAVE_MERGESORT)
#Check if __thread is defined
execute_process(
SET(MMALLOC_WANT_OVERRIDE_LEGACY 0)
endif()
+if(enable_smpi)
+ include(FindF2c)
+ # FindGFortran must come after FindF2C, and after having set HAVE_MC
+ include(FindGFortran)
+ SET(HAVE_SMPI 1)
+endif()
+
#--------------------------------------------------------------------------------------------------
### Check for some architecture dependent values
CHECK_TYPE_SIZE(int SIZEOF_INT)
string(REPLACE "\n" "" GIT_DATE "${GIT_DATE}")
message(STATUS "Git date: ${GIT_DATE}")
string(REGEX REPLACE " .*" "" GIT_VERSION "${GIT_VERSION}")
- STRING(REPLACE " +0000" "" GIT_DATE "${GIT_DATE}")
- STRING(REPLACE " " "~" GIT_DATE "${GIT_DATE}")
- STRING(REPLACE ":" "-" GIT_DATE "${GIT_DATE}")
endif()
endif()
+if(release)
+ set(SIMGRID_VERSION_STRING "${SIMGRID_VERSION_STRING}\\nRelease build")
+else()
+ set(SIMGRID_VERSION_STRING "${SIMGRID_VERSION_STRING}\\nDevelopment build")
+endif()
+if(GIT_VERSION)
+ set(SIMGRID_VERSION_STRING "${SIMGRID_VERSION_STRING} at commit ${GIT_VERSION}")
+endif()
+if(GIT_DATE)
+ set(SIMGRID_VERSION_STRING "${SIMGRID_VERSION_STRING} (${GIT_DATE})")
+endif()
#--------------------------------------------------------------------------------------------------
set(makecontext_CPPFLAGS_2 "")
endif()
set(CMAKE_SMPI_COMMAND "${CMAKE_SMPI_COMMAND}:\${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}\"")
+file(READ ${CMAKE_HOME_DIRECTORY}/src/smpi/smpitools.sh SMPITOOLS_SH)
configure_file(${CMAKE_HOME_DIRECTORY}/include/smpi/mpif.h.in ${CMAKE_BINARY_DIR}/include/smpi/mpif.h @ONLY)
configure_file(${CMAKE_HOME_DIRECTORY}/include/smpi/smpif.h.in ${CMAKE_BINARY_DIR}/include/smpi/smpif.h @ONLY)
configure_file(${CMAKE_HOME_DIRECTORY}/src/smpi/smpicc.in ${CMAKE_BINARY_DIR}/bin/smpicc @ONLY)
src/smpi/smpi_c99.c
src/smpi/smpi_coll.c
src/smpi/smpi_comm.c
+ src/smpi/smpi_dvfs.c
src/smpi/smpi_global.c
src/smpi/smpi_group.c
src/smpi/smpi_mpi.c
src/instr/instr_config.c
src/instr/instr_interface.c
src/instr/instr_paje_containers.c
+ src/instr/instr_TI_trace.c
src/instr/instr_paje_trace.c
+ src/instr/instr_trace.c
src/instr/instr_paje_header.c
src/instr/instr_paje_types.c
src/instr/instr_paje_values.c
src/smpi/smpiff.in
src/smpi/smpif90.in
src/smpi/smpirun.in
+ src/smpi/smpitools.sh
)
set(txt_files
examples/simdag/scheduling/CMakeLists.txt
examples/smpi/CMakeLists.txt
examples/smpi/MM/CMakeLists.txt
+ examples/smpi/energy/CMakeLists.txt
+ examples/smpi/energy/f77/CMakeLists.txt
+ examples/smpi/energy/f90/CMakeLists.txt
examples/xbt/CMakeLists.txt
)
buildtools/Cmake/MakeLib.cmake
buildtools/Cmake/MakeLibWin.cmake
buildtools/Cmake/Modules/FindF2c.cmake
+ buildtools/Cmake/Modules/FindGFortran.cmake
buildtools/Cmake/Modules/FindGTnets.cmake
buildtools/Cmake/Modules/FindGraphviz.cmake
buildtools/Cmake/Modules/FindLibunwind.cmake
examples/platforms/conf/lcg_sept2004_grid.xml
examples/platforms/conf/transform_optorsim_platform.pl
examples/platforms/config.xml
+ examples/platforms/content/small_content.txt
examples/platforms/content/storage_content.txt
examples/platforms/content/win_storage_content.txt
examples/platforms/data_center.xml
endif()
if(enable_java)
- install(TARGETS SG_java
+ install(TARGETS simgrid-java
DESTINATION $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/)
install(FILES ${SIMGRID_JAR}
DESTINATION $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/java/)
endif()
if(enable_compile_warnings)
- set(warnCFLAGS "-fno-common -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wcomment -Wformat -Wwrite-strings -Wclobbered -Wno-unused-function -Wno-unused-parameter -Wno-strict-aliasing -Wno-format-nonliteral -Werror -Wno-error=clobbered ")
- if(COMPILER_C_VERSION_MAJOR_MINOR STRGREATER "4.5")
- set(warnCFLAGS "${warnCFLAGS}-Wno-error=unused-but-set-variable ")
- endif()
- if(CMAKE_C_COMPILER_ID STREQUAL "Clang")
- string(REPLACE "-Wclobbered " "" warnCFLAGS "${warnCFLAGS}")
+ set(warnCFLAGS "-fno-common -Wall -Wunused -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wcomment -Wformat -Wwrite-strings -Wno-unused-function -Wno-unused-parameter -Wno-strict-aliasing -Wno-format-nonliteral -Werror ")
+ if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
+ set(warnCFLAGS "${warnCFLAGS}-Wclobbered -Wno-error=clobbered ")
+ if(COMPILER_C_VERSION_MAJOR_MINOR STRGREATER "4.5")
+ set(warnCFLAGS "${warnCFLAGS}-Wno-error=unused-but-set-variable ")
+ endif()
endif()
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -Wall") # FIXME: Q&D hack
if(enable_compile_optimizations)
set(optCFLAGS "-O3 -finline-functions -funroll-loops -fno-strict-aliasing ")
- if(WIN32)
- if (COMPILER_C_VERSION_MAJOR_MINOR STRGREATER "4.7")
- # On windows, we need 4.8 or higher to enable lto because of http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50293
- set(optCFLAGS "${optCFLAGS} -flto ")
- endif()
- else()
- # On non-windows, 4.6 is enough for that
- if(COMPILER_C_VERSION_MAJOR_MINOR STRGREATER "4.5")
- set(optCFLAGS "${optCFLAGS} -flto ")
+ if(CMAKE_COMPILER_IS_GNUCC)
+ if(WIN32)
+ if (COMPILER_C_VERSION_MAJOR_MINOR STRGREATER "4.7")
+ # On windows, we need 4.8 or higher to enable lto because of http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50293
+ set(optCFLAGS "${optCFLAGS} -flto ")
+ endif()
+ else()
+ # On non-windows, 4.6 is enough for that
+ if(COMPILER_C_VERSION_MAJOR_MINOR STRGREATER "4.5")
+ set(optCFLAGS "${optCFLAGS} -flto ")
+ endif()
endif()
endif()
else()
add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/smpi)
add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/smpi/MM)
+add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/smpi/energy)
+add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/smpi/energy/f77)
+add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/smpi/energy/f90)
add_subdirectory(${CMAKE_HOME_DIRECTORY}/examples/xbt)
include(UseJava)
-# Rules to build libSG_java
+# Rules to build libsimgrid-java
#
-add_library(SG_java SHARED ${JMSG_C_SRC})
-set_target_properties(SG_java PROPERTIES VERSION ${libSG_java_version})
+add_library(simgrid-java SHARED ${JMSG_C_SRC})
+set_target_properties(simgrid-java PROPERTIES VERSION ${libsimgrid-java_version})
if (CMAKE_VERSION VERSION_LESS "2.8.8")
include_directories(${JNI_INCLUDE_DIRS})
message(WARNING "[Java] Try to workaround missing feature in older CMake. You should better update CMake to version 2.8.8 or above.")
get_directory_property(CHECK_INCLUDES INCLUDE_DIRECTORIES)
else()
- get_target_property(COMMON_INCLUDES SG_java INCLUDE_DIRECTORIES)
+ get_target_property(COMMON_INCLUDES simgrid-java INCLUDE_DIRECTORIES)
if (COMMON_INCLUDES)
- set_target_properties(SG_java PROPERTIES
+ set_target_properties(simgrid-java PROPERTIES
INCLUDE_DIRECTORIES "${COMMON_INCLUDES};${JNI_INCLUDE_DIRS}")
else()
- set_target_properties(SG_java PROPERTIES
+ set_target_properties(simgrid-java PROPERTIES
INCLUDE_DIRECTORIES "${JNI_INCLUDE_DIRS}")
endif()
- add_dependencies(SG_java simgrid)
+ add_dependencies(simgrid-java simgrid)
- get_target_property(CHECK_INCLUDES SG_java INCLUDE_DIRECTORIES)
+ get_target_property(CHECK_INCLUDES simgrid-java INCLUDE_DIRECTORIES)
endif()
-message("-- [Java] SG_java includes: ${CHECK_INCLUDES}")
+message("-- [Java] simgrid-java includes: ${CHECK_INCLUDES}")
-target_link_libraries(SG_java simgrid)
+target_link_libraries(simgrid-java simgrid)
message(FATAL_ERROR "Java JVM needs to be 32 bits to be able to run with Simgrid on Windows for now")
endif()
- set_target_properties(SG_java PROPERTIES
+ set_target_properties(simgrid-java PROPERTIES
LINK_FLAGS "-Wl,--subsystem,windows,--kill-at"
PREFIX "")
find_path(PEXPORTS_PATH NAMES pexports.exe PATHS NO_DEFAULT_PATHS)
message(STATUS "pexports: ${PEXPORTS_PATH}")
if(PEXPORTS_PATH)
- add_custom_command(TARGET SG_java POST_BUILD
- COMMAND ${PEXPORTS_PATH}/pexports.exe ${CMAKE_BINARY_DIR}/lib/SG_java.dll > ${CMAKE_BINARY_DIR}/lib/SG_java.def)
+ add_custom_command(TARGET simgrid-java POST_BUILD
+ COMMAND ${PEXPORTS_PATH}/pexports.exe ${CMAKE_BINARY_DIR}/lib/simgrid-java.dll > ${CMAKE_BINARY_DIR}/lib/simgrid-java.def)
endif(PEXPORTS_PATH)
endif()
set(MANIFEST_FILE "${CMAKE_HOME_DIRECTORY}/src/bindings/java/MANIFEST.MF")
set(LIBSIMGRID_SO
libsimgrid${CMAKE_SHARED_LIBRARY_SUFFIX})
-set(LIBSG_JAVA_SO
- ${CMAKE_SHARED_LIBRARY_PREFIX}SG_java${CMAKE_SHARED_LIBRARY_SUFFIX})
+set(LIBSIMGRID_JAVA_SO
+ ${CMAKE_SHARED_LIBRARY_PREFIX}simgrid-java${CMAKE_SHARED_LIBRARY_SUFFIX})
## Name of the "NATIVE" folder in simgrid.jar
##
## Here is how to build simgrid.jar
##
-set(CMAKE_JAVA_TARGET_OUTPUT_NAME simgrid)
-add_jar(SG_java_pre_jar ${JMSG_JAVA_SRC})
+if(CMAKE_VERSION VERSION_LESS "2.8.12")
+ set(CMAKE_JAVA_TARGET_OUTPUT_NAME simgrid)
+ add_jar(simgrid-java_pre_jar ${JMSG_JAVA_SRC})
+else()
+ add_jar(simgrid-java_pre_jar ${JMSG_JAVA_SRC} OUTPUT_NAME simgrid)
+endif()
add_custom_command(
COMMENT "Finalize simgrid.jar..."
OUTPUT ${SIMGRID_JAR}_finalized
- DEPENDS simgrid SG_java SG_java_pre_jar
+ DEPENDS simgrid simgrid-java simgrid-java_pre_jar
${SIMGRID_JAR} ${MANIFEST_FILE}
${CMAKE_BINARY_DIR}/lib/${LIBSIMGRID_SO}
- ${CMAKE_BINARY_DIR}/lib/${LIBSG_JAVA_SO}
+ ${CMAKE_BINARY_DIR}/lib/${LIBSIMGRID_JAVA_SO}
${CMAKE_HOME_DIRECTORY}/COPYING
${CMAKE_HOME_DIRECTORY}/ChangeLog
${CMAKE_HOME_DIRECTORY}/ChangeLog.SimGrid-java
COMMAND ${CMAKE_COMMAND} -E make_directory "${JSG_BUNDLE}"
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_BINARY_DIR}/lib/${LIBSIMGRID_SO}" "${JSG_BUNDLE}"
COMMAND ${STRIP_COMMAND} -S "${JSG_BUNDLE}/${LIBSIMGRID_SO}"
- COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_BINARY_DIR}/lib/${LIBSG_JAVA_SO}" "${JSG_BUNDLE}"
- COMMAND ${STRIP_COMMAND} -S "${JSG_BUNDLE}/${LIBSG_JAVA_SO}"
+ COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_BINARY_DIR}/lib/${LIBSIMGRID_JAVA_SO}" "${JSG_BUNDLE}"
+ COMMAND ${STRIP_COMMAND} -S "${JSG_BUNDLE}/${LIBSIMGRID_JAVA_SO}"
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_HOME_DIRECTORY}/COPYING" "${JSG_BUNDLE}"
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_HOME_DIRECTORY}/ChangeLog" "${JSG_BUNDLE}"
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_HOME_DIRECTORY}/ChangeLog.SimGrid-java" "${JSG_BUNDLE}"
COMMAND ${CMAKE_COMMAND} -E remove ${SIMGRID_JAR}_finalized
COMMAND ${CMAKE_COMMAND} -E touch ${SIMGRID_JAR}_finalized
)
-add_custom_target(SG_java_jar ALL DEPENDS ${SIMGRID_JAR}_finalized)
+add_custom_target(simgrid-java_jar ALL DEPENDS ${SIMGRID_JAR}_finalized)
if(F2C_EXE)
message(STATUS "Found F2C: ${F2C_EXE}")
else()
- message(STATUS "Looking for bin f2c - not found")
+ message(STATUS "Looking for bin f2c - not found (http://www.netlib.org/f2c/)")
endif()
mark_as_advanced(HAVE_F2C_H)
mark_as_advanced(F2C_EXE)
mark_as_advanced(HAVE_F2C_LIB)
-if(HAVE_F2C_H)
- include_directories(${HAVE_F2C_H})
-else()
- message("-- Fortran for smpi is not installed (http://www.netlib.org/f2c/).")
+if(HAVE_F2C_LIB)
+ get_filename_component(F2C_LIBRARY_PATH "${HAVE_F2C_LIB}" PATH)
+ file(TO_NATIVE_PATH "${F2C_LIBRARY_PATH}" F2C_LIBRARY_PATH)
endif()
-
#Some old versions of 64 bits systems seem to have a different size between C and Fortran Datatypes
#Deactivate F2C with these versions, in order to avoid breaking test cases in legacy systems (as Fedora 13)
set(COMPILER_OK 1)
if(HAVE_F2C_H AND F2C_EXE AND HAVE_F2C_LIB AND COMPILER_OK)
set(SMPI_F2C 1)
endif()
+
+if(SMPI_F2C)
+ include_directories(${HAVE_F2C_H})
+else()
+ message("-- Fortran 77 support for smpi is disabled.")
+endif()
--- /dev/null
+find_program(GFORTRAN_EXE
+ NAME gfortran
+ PATH_SUFFIXES bin/
+ PATHS
+ /opt
+ /opt/local
+ /opt/csw
+ /sw
+ /usr
+ )
+
+mark_as_advanced(GFORTRAN_EXE)
+
+message(STATUS "Looking for bin gfortran")
+if(GFORTRAN_EXE)
+ message(STATUS "Found gfortran: ${GFORTRAN_EXE}")
+else()
+ message(STATUS "Looking for bin gfortran - not found")
+endif()
+
+set(SMPI_F90 0)
+if(GFORTRAN_EXE)
+ if(NOT SMPI_F2C)
+ message("-- Fortran 90 support for smpi also needs f2c.")
+ elseif(HAVE_MC)
+ message("-- Fortran 90 support for smpi is currently not compatible with model checking.")
+ else()
+ set(SMPI_F90 1)
+ endif()
+endif()
+
+if(NOT SMPI_F90)
+ message("-- Fortran 90 support for smpi is disabled.")
+endif()
message(" BUILDNAME ...........: ${BUILDNAME}")
message(" SITE ................: ${SITE}")
if(release)
- message(" Release .............: simgrid-${release_version} (release build)")
+ message(" Release .............: simgrid-${release_version}${SIMGRID_VERSION_EXTRA} (release build)")
else()
- message(" Release .............: simgrid-${release_version} (development build)")
+ message(" Release .............: simgrid-${release_version}${SIMGRID_VERSION_EXTRA} (development build)")
endif()
message("")
message(" Compiler: C .........: ${CMAKE_C_COMPILER} (${CMAKE_C_COMPILER_ID})")
message(" Compile Smpi ........: ${HAVE_SMPI}")
message(" Compile MPI testsuite: ${enable_smpi_MPICH3_testsuite}")
message(" Compile Smpi f77 ....: ${SMPI_F2C}")
+message(" Compile Smpi f90 ....: ${SMPI_F90}")
message(" Compile Static ......: ${enable_lib_static}")
message("")
message(" Maintainer mode .....: ${enable_maintainer_mode}")
my $path = $0;
my $OS;
my $enable_coverage=0;
+my $sort_prefix = 19;
my $tesh_file;
my $tesh_name;
my $error=0;
$ENV{"PRINTF_EXPONENT_DIGITS"} = "2";
}
-
-sub trim($)
-{
- my $string = shift;
- $string =~ s/^\s+//;
- $string =~ s/\s+$//;
- return $string;
-}
-
-# make sure we received a tesh file
-scalar @ARGV > 0 || die "Usage:\n tesh [*options*] *tesh_file*\n";
-
#Add current directory to path
$ENV{PATH} = "$ENV{PATH}:.";
my @got;
while(defined(my $got=<got>)) {
$got =~ s/\r//g;
- $got =~ s/^( )*//g;
chomp $got;
- $got=trim($got);
- if( $got ne ""){
- if (!($enable_coverage and $got=~ /^profiling:/)){
- push @got, "$got";
- }
- }
+ if (!($enable_coverage and $got=~ /^profiling:/)){
+ push @got, $got;
+ }
}
if ($cmd{'sort'}){
sub mysort{
- $a cmp $b
+ substr($a, 0, $sort_prefix) cmp substr($b, 0, $sort_prefix)
}
- use sort qw(defaults _quicksort); # force quicksort
+ use sort 'stable';
@got = sort mysort @got;
+ while (@got and $got[0] eq "") {
+ shift @got;
+ }
+
#also resort the other one, as perl sort is not the same as the C one used to generate teshes
if(defined($cmd{'out'})){
@{$cmd{'out'}}=sort mysort @{$cmd{'out'}};
+ while (@{$cmd{'out'}} and ${$cmd{'out'}}[0] eq "") {
+ shift @{$cmd{'out'}};
+ }
}
}
}
# Push delayed commands on empty lines
- unless ($line =~ m/^(.).(.*)$/) {
+ unless ($line =~ m/^(.)(.*)$/) {
if (defined($cmd{'cmd'})) {
exec_cmd(\%cmd);
%cmd = ();
}
my ($cmd,$arg) = ($1,$2);
+ $arg =~ s/^ //g;
$arg =~ s/\r//g;
$arg =~ s/\\\\/\\/g;
# handle the commands
if ($cmd =~ /^#/) { #comment
} elsif ($cmd eq '>'){ #expected result line
print "[TESH/debug] push expected result\n" if $opts{'debug'};
- $arg=trim($arg);
- if($arg ne ""){
push @{$cmd{'out'}}, $arg;
- }
} elsif ($cmd eq '<') { # provided input
print "[TESH/debug] push provided input\n" if $opts{'debug'};
%cmd = ();
}
$cmd{'sort'} = 1;
+ if ($line =~ /^!\s*output sort\s+(\d+)/) {
+ $sort_prefix = $1;
+ }
}
elsif($line =~ /^!\s*output ignore/){ #output ignore
if (defined($cmd{'cmd'})) {
$line =~ s/\r//g;
setenv_cmd($line);
}
- elsif($line =~ /^!\s*include/){ #output sort
+ elsif($line =~ /^!\s*include/){ #include
if (defined($cmd{'cmd'})) {
exec_cmd(\%cmd);
%cmd = ();
### Rebuild the supernovae source files
if (enable_supernovae) # I need supernovae
+ message(WARNING
+"==============================================================================\n"
+"WARNING\n"
+"Supernovae builds are deprecated, and expected to be removed in the next version of SimGrid.\n"
+"If you want this feature to be kept, please tell us at <simgrid-user@lists.gforge.inria.fr>.\n"
+"===============================================================================
+")
+
# supernovae files are generated. I promise
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/src/supernovae_sg.c
PROPERTIES GENERATED true)
#cmakedefine MMALLOC_WANT_OVERRIDE_LEGACY @MMALLOC_WANT_OVERRIDE_LEGACY@
#cmakedefine HAVE_MC @HAVE_MC@
-/* Set to true if have the mergesort function */
-#cmakedefine HAVE_MERGESORT @HAVE_MERGESORT@
-
/* If have linux_futex.h */
#cmakedefine HAVE_FUTEX_H @HAVE_FUTEX_H@
# install java library and examples\r
CreateDirectory $INSTDIR\examples\simgrid-java\r
setOutPath $INSTDIR\lib\r
- file /nonfatal "lib\SG_java.dll"\r
- file /nonfatal "lib\SG_java.def"\r
+ file /nonfatal "lib\simgrid-java.dll"\r
+ file /nonfatal "lib\simgrid-java.def"\r
file /nonfatal "simgrid.jar"\r
setOutPath $INSTDIR\examples\simgrid-java\r
file /nonfatal /r ".\examples\"\r
WORKSPACE=$1
build_mode=$2
+# usage: die status message...
+die () {
+ local status=${1:-1}
+ shift
+ [ $# -gt 0 ] || set -- "Error - Halting"
+ echo "$@" >&2
+ exit $status
+}
rm -rf $WORKSPACE/build
if test "$(uname -o)" = "Msys"
then
-
- cmake -G "MSYS Makefiles" $WORKSPACE
#$NUMBER_OF_PROCESSORS should be already set on win
if [ -z "$NUMBER_OF_PROCESSORS" ]; then
NUMBER_OF_PROCESSORS=1
fi
- if [ $? -ne 0 ] ; then
- echo "Failed to do the first cmake - Halting"
- exit 1
- fi
-
- make dist
-
- if [ $? -ne 0 ] ; then
- echo "Failed to build dist - Halting"
- exit 2
- fi
-
- cmake -G "MSYS Makefiles" -Denable_java=ON -Denable_model-checking=OFF -Denable_lua=OFF -Denable_compile_optimizations=ON -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=ON -Denable_compile_warnings=OFF .
-
- if [ $? -ne 0 ] ; then
- echo "Failed to perform the Cmake for $build_mode - Halting"
- exit 5
- fi
+ cmake -G "MSYS Makefiles" $WORKSPACE || die 1 "Failed to do the first cmake - Halting"
- make -j$NUMBER_OF_PROCESSORS
+ make dist || die 2 "Failed to build dist - Halting"
- if [ $? -ne 0 ] ; then
- echo "Build failure - Halting"
- exit 5
- fi
+ cmake -G "MSYS Makefiles" -Denable_java=ON -Denable_model-checking=OFF -Denable_lua=OFF -Denable_compile_optimizations=ON -Denable_smpi=ON -Denable_smpi_MPICH3_testsuite=ON -Denable_compile_warnings=OFF . \
+ || die 5 "Failed to perform the Cmake for $build_mode - Halting"
- make nsis
+ make -j$NUMBER_OF_PROCESSORS || die 5 "Build failure - Halting"
- if [ $? -ne 0 ] ; then
- echo "Failure while generating the Windows executable - Halting"
- exit 6
- fi
+ make nsis || die 6 "Failure while generating the Windows executable - Halting"
else
- NUMBER_OF_PROCESSORS=0
# Linux:
cpuinfo_file="/proc/cpuinfo"
- if [ -f "${cpuinfo_file}" ]; then
- NUMBER_OF_PROCESSORS=$(grep -c "processor.: " ${cpuinfo_file})
- fi
- # grep returns 0 or cpuinfo not found
- if [ $NUMBER_OF_PROCESSORS = 0 ]; then
- NUMBER_OF_PROCESSORS=1
- fi
-
- cmake $WORKSPACE
+ NUMBER_OF_PROCESSORS=$(lscpu -p 2>/dev/null | grep -c '^[^#]') || \
+ NUMBER_OF_PROCESSORS=$(grep -c "^processor[[:space:]]*:" ${cpuinfo_file} 2>/dev/null)
+ [ "0$NUMBER_OF_PROCESSORS" -gt 0 ] || NUMBER_OF_PROCESSORS=1
- if [ $? -ne 0 ] ; then
- echo "Failed to do the first cmake - Halting"
- exit 1
- fi
+ cmake $WORKSPACE || die 1 "Failed to do the first cmake - Halting"
rm Simgrid*.tar.gz
- make dist
-
- if [ $? -ne 0 ] ; then
- echo "Failed to build dist - Halting"
- exit 2
- fi
-
- tar xzf `cat VERSION`.tar.gz
-
- if [ $? -ne 0 ] ; then
- echo "Failed to extract the generated tgz - Halting"
- exit 3
- fi
+ make dist || die 2 "Failed to build dist - Halting"
- cd `cat VERSION`
+ tar xzf `cat VERSION`.tar.gz || die 3 "Failed to extract the generated tgz - Halting"
- if [ $? -ne 0 ] ; then
- echo "Path `cat VERSION` cannot be found - Halting"
- exit 4
- fi
+ cd `cat VERSION` || die 4 "Path `cat VERSION` cannot be found - Halting"
if [ "$build_mode" = "Debug" ]
then
cmake -Denable_lua=OFF -Denable_java=ON -Denable_tracing=ON -Denable_smpi=ON -Denable_compile_optimizations=OFF -Denable_compile_warnings=ON -Denable_lib_static=OFF -Denable_model-checking=OFF -Denable_latency_bound_tracking=OFF -Denable_gtnets=OFF -Denable_jedule=OFF -Denable_mallocators=OFF -Denable_memcheck=ON .
fi
- if [ $? -ne 0 ] ; then
- echo "Failed to perform the Cmake for $build_mode - Halting"
- exit 5
- fi
-
- make -j$NUMBER_OF_PROCESSORS
-
- if [ $? -ne 0 ] ; then
- echo "Build failure - Halting"
- exit 6
- fi
+ [ $? -eq 0 ] || die 5 "Failed to perform the Cmake for $build_mode - Halting"
+ make -j$NUMBER_OF_PROCESSORS || die 6 "Build failure - Halting"
fi
-
echo "running tests with $NUMBER_OF_PROCESSORS processors"
ctest -T test --no-compress-output --timeout 100 -j$NUMBER_OF_PROCESSORS || true
\subsubsection bindings_binding_java_use How to use Simgrid-java
To execute the examples you need to add the path where you installed
-the generated `libSG_java` and `libsimgrid` libraries
+the generated `libsimgrid-java` and `libsimgrid` libraries
into the `LD_LIBRARY_PATH`.
Be careful on Mac, this variable is called `DYLD_LIBRARY_PATH` and not
$ export SIMGRID_ROOT="$HOME/Install/simgrid/" # change it to the path where you installed the SimGrid library
$ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$SIMGRID_ROOT/lib
$ cd examples
-$ java -cp .:../simgrid.jar basic/BasicTest platform.xml basic/basicDeployment.xml
+$ java -classpath .:../simgrid.jar basic/BasicTest platform.xml basic/basicDeployment.xml
~~~~
If you want to make these settings permanent even after a reboot, you
simulation with the correct JVM. The selected context factory gets
displayed automatically.
~~~~{.sh}
-export LD_LIBRARY_PATH=/path/to/simgrid.so:/path/to/libSG_java.so
+export LD_LIBRARY_PATH=/path/to/simgrid.so:/path/to/libsimgrid-java.so
cd examples
-$PATH_TO_COROUTINE_JVM/java -cp .:../simgrid.jar masterslave.Masterslave masterslave/ masterslaveDeployment.xml platform.xml
+$PATH_TO_COROUTINE_JVM/java -classpath .:../simgrid.jar masterslave.Masterslave masterslave/ masterslaveDeployment.xml platform.xml
~~~~
Note that you may have to adjust the "coro.stacksPerThread"
configuration option to run large simulations. The default is 100 and
you want to increase it to run more processes.
~~~~{.sh}
-$ $PATH_TO_COROUTINE_JVM/java -Dcoro.stacksPerThread=$STACKS_NUMBER -cp .:../simgrid.jar basic/BasicTest platform.xml basic/basicDeployment.xml
+$ $PATH_TO_COROUTINE_JVM/java -Dcoro.stacksPerThread=$STACKS_NUMBER -classpath .:../simgrid.jar basic/BasicTest platform.xml basic/basicDeployment.xml
~~~~
If you reach the point where the creation of new simulated processes
version numbers that were used.
- The "make distcheck" target works (testing that every files needed
to build and install are included in the archive)
- - The URL provided to download in the examples of
- doc/doxygen/install.doc is accurate. Note that updating the
- version number is not enough as it only impacts the name that will
- be given to the downloaded file. The real identifier is the number
- before, between /s. This makes this part very difficult to
- generate automatically.
- Tests
- All tests pass on a reasonable amount of platforms (typically,
everything on cdash)
For a really fancy output, you should use [viva/triva][fn:1]:
~~~~{.sh}
-./masterworker0 platforms/platform.xml deployment0.xml --cfg=tracing:1 \
- --cfg=tracing/uncategorized:1 --cfg=viva/uncategorized:uncat.plist
+./masterworker0 platforms/platform.xml deployment0.xml --cfg=tracing:yes \
+ --cfg=tracing/uncategorized:yes --cfg=viva/uncategorized:uncat.plist
LANG=C ; viva simgrid.trace uncat.plist
~~~~
[Paje][fn:5] trace:
~~~~{.sh}
-./masterworker0 platforms/platform.xml deployment0.xml --cfg=tracing:1 \
- --cfg=tracing/msg/process:1
+./masterworker0 platforms/platform.xml deployment0.xml --cfg=tracing:yes \
+ --cfg=tracing/msg/process:yes
LANG=C ; Paje simgrid.trace
~~~~
Alternatively, you can use [vite][fn:6].
~~~~{.sh}
-./masterworker0 platforms/platform.xml deployment0.xml --cfg=tracing:1 \
- --cfg=tracing/msg/process:1 --cfg=tracing/basic:1
+./masterworker0 platforms/platform.xml deployment0.xml --cfg=tracing:yes \
+ --cfg=tracing/msg/process:yes --cfg=tracing/basic:yes
vite simgrid.trace
~~~~
The outcome can then be visualized as follows:
~~~~{.sh}
-./masterworker3 platforms/platform.xml deployment3.xml --cfg=tracing:1\
- --cfg=tracing/categorized:1 --cfg=viva/categorized:viva_cat.plist
+./masterworker3 platforms/platform.xml deployment3.xml --cfg=tracing:yes\
+ --cfg=tracing/categorized:yes --cfg=viva/categorized:viva_cat.plist
LANG=C; viva simgrid.trace viva_cat.plist
~~~~
Gantt-chart visualization may help:
~~~~{.sh}
-./masterworker3 platforms/platform.xml deployment3.xml --cfg=tracing:1 \
- --cfg=tracing/msg/process:1
+./masterworker3 platforms/platform.xml deployment3.xml --cfg=tracing:yes \
+ --cfg=tracing/msg/process:yes
LANG=C; Paje simgrid.trace
~~~~
It is possible to specify a timing gap between consecutive emission on
the same network card through the \b network/sender_gap item. This
is still under investigation as of writting, and the default value is
-to wait 0 seconds between emissions (no gap applied).
+to wait 10 microseconds (1e-5 seconds) between emissions.
\subsubsection options_model_network_asyncsend Simulating asyncronous send
- Any SimGrid-based simulator (MSG, SimDag, SMPI, ...) and raw traces:
\verbatim
---cfg=tracing:1 --cfg=tracing/uncategorized:1 --cfg=triva/uncategorized:uncat.plist
+--cfg=tracing:yes --cfg=tracing/uncategorized:yes --cfg=triva/uncategorized:uncat.plist
\endverbatim
The first parameter activates the tracing subsystem, the second
tells it to trace host and link utilization (without any
- MSG or SimDag-based simulator and categorized traces (you need to declare categories and classify your tasks according to them)
\verbatim
---cfg=tracing:1 --cfg=tracing/categorized:1 --cfg=triva/categorized:cat.plist
+--cfg=tracing:yes --cfg=tracing/categorized:yes --cfg=triva/categorized:cat.plist
\endverbatim
The first parameter activates the tracing subsystem, the second
tells it to trace host and link categorized utilization and the
smpirun -trace ...
\endverbatim
The <i>-trace</i> parameter for the smpirun script runs the
-simulation with --cfg=tracing:1 and --cfg=tracing/smpi:1. Check the
+simulation with --cfg=tracing:yes and --cfg=tracing/smpi:yes. Check the
smpirun's <i>-help</i> parameter for additional tracing options.
Sometimes you might want to put additional information on the trace to
Safe switch. It activates (or deactivates) the tracing system.
No other tracing options take effect if this one is not activated.
\verbatim
---cfg=tracing:1
+--cfg=tracing:yes
\endverbatim
\li <b>\c
It activates the categorized resource utilization tracing. It should
be enabled if tracing categories are used by this simulator.
\verbatim
---cfg=tracing/categorized:1
+--cfg=tracing/categorized:yes
\endverbatim
\li <b>\c
this simulator do not use tracing categories and resource use have to be
traced.
\verbatim
---cfg=tracing/uncategorized:1
+--cfg=tracing/uncategorized:yes
\endverbatim
\li <b>\c
This option let the user tell the tracing system to use only the routes
that are composed with just one link.
\verbatim
---cfg=tracing/onelink_only:1
+--cfg=tracing/onelink_only:yes
\endverbatim
\li <b>\c
visualizations. Every MPI function (implemented by SMPI) is transformed in a
state, and point-to-point communications can be analyzed with arrows.
\verbatim
---cfg=tracing/smpi:1
+--cfg=tracing/smpi:yes
\endverbatim
\li <b>\c
This option only has effect if this simulator is SMPI-based. The processes
are grouped by the hosts where they were executed.
\verbatim
---cfg=tracing/smpi/group:1
+--cfg=tracing/smpi/group:yes
\endverbatim
\li <b>\c
This option only has effect if this simulator is SMPI-based. The parts external
to SMPI are also outputted to the trace. Provides better way to analyze the data automatically.
\verbatim
---cfg=tracing/smpi/computing:1
+--cfg=tracing/smpi/computing:yes
\endverbatim
\li <b>\c
This option only has effect if this simulator is SMPI-based. Display internal communications
happening during a collective MPI call.
\verbatim
---cfg=tracing/smpi/internals:1
+--cfg=tracing/smpi/internals:yes
\endverbatim
\li <b>\c
This option only has effect if this simulator is SMPI-based. Display the sizes of the messages
exchanged in the trace, both in the links and on the states. For collective, size means the global size of data sent by the process in general.
\verbatim
---cfg=tracing/smpi/display_sizes:1
+--cfg=tracing/smpi/display_sizes:yes
\endverbatim
\li <b>\c
behavior of all categorized MSG processes, grouping them by hosts. This option
can be used to track process location if this simulator has process migration.
\verbatim
---cfg=tracing/msg/process:1
+--cfg=tracing/msg/process:yes
\endverbatim
\li <b>\c
impacted if this option is activated, but you are sure to get a trace
file with events sorted.
\verbatim
---cfg=tracing/buffer:1
+--cfg=tracing/buffer:yes
\endverbatim
\li <b>\c
register the topology within an AS. Routes among AS continue to be
traced as usual.
\verbatim
---cfg=tracing/onelink_only:1
+--cfg=tracing/onelink_only:yes
\endverbatim
\li <b>\c
can be used with simulators that have a different notion of time
(different from the simulated time).
\verbatim
---cfg=tracing/disable_destroy:1
+--cfg=tracing/disable_destroy:yes
\endverbatim
\li <b>\c
trace. Keep in mind that the trace might be incomplete, without all the
information that would be registered otherwise.
\verbatim
---cfg=tracing/basic:1
+--cfg=tracing/basic:yes
\endverbatim
\li <b>\c
simulator):
\verbatim
./your_simulator \
- --cfg=tracing:1 \
- --cfg=tracing/uncategorized:1 \
+ --cfg=tracing:yes \
+ --cfg=tracing/uncategorized:yes \
--cfg=tracing/filename:mytracefile.trace \
--cfg=viva/uncategorized:uncat.plist
\endverbatim
recompiling, run your simulator with the following parameters:
\verbatim
./your_simulator \
- --cfg=tracing:1 \
- --cfg=tracing/categorized:1 \
+ --cfg=tracing:yes \
+ --cfg=tracing/categorized:yes \
--cfg=tracing/filename:mytracefile.trace \
--cfg=viva/categorized:cat.plist
\endverbatim
add_custom_command(
COMMENT "Building ${example}..."
OUTPUT ${example}_compiled
- DEPENDS ${sources} SG_java_jar ${SIMGRID_JAR}
- COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ DEPENDS ${sources} simgrid-java_jar ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -classpath ${SIMGRID_JAR}
-d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
COMMAND ${CMAKE_COMMAND} -E remove ${example}_compiled
COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
! output sort
! timeout 30
-$ java -cp ${classpath:=.} async/AsyncTest ${srcdir:=.}/platform.xml ${srcdir:=.}/async/asyncDeployment.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
+$ java -classpath ${classpath:=.} async/AsyncTest ${srcdir:=.}/platform.xml ${srcdir:=.}/async/asyncDeployment.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
> [ 0.000000] (10:async.Slave@Robert) Receiving on 'slave_8'
> [ 0.000000] (11:async.Slave@Sirois) Receiving on 'slave_9'
> [ 0.000000] (12:async.Slave@Monique) Receiving on 'slave_10'
add_custom_command(
COMMENT "Building ${example}..."
OUTPUT ${example}_compiled
- DEPENDS ${sources} SG_java_jar ${SIMGRID_JAR}
- COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ DEPENDS ${sources} simgrid-java_jar ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -classpath ${SIMGRID_JAR}
-d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
COMMAND ${CMAKE_COMMAND} -E remove ${example}_compiled
COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
! output sort
! timeout 15
-$ java -cp ${classpath:=.} bittorrent/Bittorrent ${srcdir:=.}/platform.xml ${srcdir:=.}/bittorrent/bittorrent.xml
+$ java -classpath ${classpath:=.} bittorrent/Bittorrent ${srcdir:=.}/platform.xml ${srcdir:=.}/bittorrent/bittorrent.xml
> [0.000000] [jmsg/INFO] Using regular java threads. Coroutines could speed your simulation up.
> [5000.832370] [jmsg/INFO] MSG_main finished; Cleaning up the simulation...
> [Boivin:bittorrent.Peer:(2) 0.000000] [jmsg/INFO] Hi, I'm joining the network with id 2
add_custom_command(
COMMENT "Building ${example}..."
OUTPUT ${example}_compiled
- DEPENDS ${sources} SG_java_jar ${SIMGRID_JAR}
- COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ DEPENDS ${sources} simgrid-java_jar ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -classpath ${SIMGRID_JAR}
-d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
COMMAND ${CMAKE_COMMAND} -E remove ${example}_compiled
COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
! output sort
-$ java -cp ${classpath:=.} chord/Chord ${srcdir:=.}/platform.xml ${srcdir:=.}/chord/chord.xml
+$ java -classpath ${classpath:=.} chord/Chord ${srcdir:=.}/platform.xml ${srcdir:=.}/chord/chord.xml
> [0.000000] [jmsg/INFO] Using regular java threads. Coroutines could speed your simulation up.
> [652.540924] [jmsg/INFO] MSG_main finished; Cleaning up the simulation...
> [Boivin:chord.Node:(7) 0.000000] [jmsg/INFO] Joining the ring with id 8 knowing node 1
add_custom_command(
COMMENT "Building ${example}..."
OUTPUT ${example}_compiled
- DEPENDS ${sources} SG_java_jar ${SIMGRID_JAR}
- COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ DEPENDS ${sources} simgrid-java_jar ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -classpath ${SIMGRID_JAR}
-d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
COMMAND ${CMAKE_COMMAND} -E remove ${example}_compiled
COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
! output sort
-$ java -cp ${classpath:=.} cloud/Cloud ${srcdir:=.}/platform.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
+$ java -classpath ${classpath:=.} cloud/Cloud ${srcdir:=.}/platform.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
> [ 0.000000] (10:Slave 8@Jean_Yves) Receiving on slave_8
> [ 0.000000] (11:Slave 9@Fafard) Receiving on slave_9
> [ 0.000000] (1:Master@Jacquelin) Launched 10 VMs
add_custom_command(
COMMENT "Building ${example}..."
OUTPUT ${example}_compiled
- DEPENDS ${sources} SG_java_jar ${SIMGRID_JAR}
- COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ DEPENDS ${sources} simgrid-java_jar ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -classpath ${SIMGRID_JAR}
-d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
COMMAND ${CMAKE_COMMAND} -E remove ${example}_compiled
COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
! output sort
! timeout 15
-$ java -cp ${classpath:=.} commTime/CommTimeTest ${srcdir:=.}/platform.xml ${srcdir:=.}/commTime/commTimeDeployment.xml
+$ java -classpath ${classpath:=.} commTime/CommTimeTest ${srcdir:=.}/platform.xml ${srcdir:=.}/commTime/commTimeDeployment.xml
> [0.000000] [jmsg/INFO] Using regular java threads. Coroutines could speed your simulation up.
> [7016.452828] [jmsg/INFO] MSG_main finished; Cleaning up the simulation...
> [Bellemarre:commTime.Slave:(15) 0.000000] [jmsg/INFO] Receiving on 'slave_13'
add_custom_command(
COMMENT "Building ${example}..."
OUTPUT ${example}_compiled
- DEPENDS ${sources} SG_java_jar ${SIMGRID_JAR}
- COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ DEPENDS ${sources} simgrid-java_jar ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -classpath ${SIMGRID_JAR}
-d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
COMMAND ${CMAKE_COMMAND} -E remove ${example}_compiled
COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
add_custom_command(
COMMENT "Building ${example}..."
OUTPUT ${example}_compiled
- DEPENDS ${sources} SG_java_jar ${SIMGRID_JAR}
- COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ DEPENDS ${sources} simgrid-java_jar ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -classpath ${SIMGRID_JAR}
-d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
COMMAND ${CMAKE_COMMAND} -E remove ${example}_compiled
COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
! output sort
-$ java -cp ${classpath:=.} kademlia/Kademlia ${srcdir:=.}/platform.xml ${srcdir:=.}/kademlia/kademlia.xml
+$ java -classpath ${classpath:=.} kademlia/Kademlia ${srcdir:=.}/platform.xml ${srcdir:=.}/kademlia/kademlia.xml
> [0.000000] [jmsg/INFO] Using regular java threads. Coroutines could speed your simulation up.
> [900.000000] [jmsg/INFO] MSG_main finished; Cleaning up the simulation...
> [Boivin:kademlia.Node:(2) 0.000000] [jmsg/INFO] Hi, I'm going to join the network with the id 1!
add_custom_command(
COMMENT "Building ${example}..."
OUTPUT ${example}_compiled
- DEPENDS ${sources} SG_java_jar ${SIMGRID_JAR}
- COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ DEPENDS ${sources} simgrid-java_jar ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -classpath ${SIMGRID_JAR}
-d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
COMMAND ${CMAKE_COMMAND} -E remove ${example}_compiled
COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
! output sort
-$ java -cp ${classpath:=.} master_slave_bypass/MsBypass ${srcdir:=.}/master_slave_bypass/platform.xml
+$ java -classpath ${classpath:=.} master_slave_bypass/MsBypass ${srcdir:=.}/master_slave_bypass/platform.xml
> [0.000000] [jmsg/INFO] Using regular java threads. Coroutines could speed your simulation up.
> [0.013010] [jmsg/INFO] MSG_main finished; Cleaning up the simulation...
> [alice:process2:(2) 0.000000] [jmsg/INFO] Slave Hello!
add_custom_command(
COMMENT "Building ${example}..."
OUTPUT ${example}_compiled
- DEPENDS ${sources} SG_java_jar ${SIMGRID_JAR}
- COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ DEPENDS ${sources} simgrid-java_jar ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -classpath ${SIMGRID_JAR}
-d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
COMMAND ${CMAKE_COMMAND} -E remove ${example}_compiled
COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
! output sort
-$ java -cp ${classpath:=.} master_slave_kill/MsKill ${srcdir:=.}/master_slave_kill/platform.xml
+$ java -classpath ${classpath:=.} master_slave_kill/MsKill ${srcdir:=.}/master_slave_kill/platform.xml
> [0.000000] [jmsg/INFO] Using regular java threads. Coroutines could speed your simulation up.
> [0.013010] [jmsg/INFO] MSG_main finished; Cleaning up the simulation...
> [alice:slave:(2) 0.000000] [jmsg/INFO] Slave Hello!
add_custom_command(
COMMENT "Building ${example}..."
OUTPUT ${example}_compiled
- DEPENDS ${sources} SG_java_jar ${SIMGRID_JAR}
- COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ DEPENDS ${sources} simgrid-java_jar ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -classpath ${SIMGRID_JAR}
-d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
COMMAND ${CMAKE_COMMAND} -E remove ${example}_compiled
COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
! output sort
-$ java -cp ${classpath:=.} masterslave/Masterslave ${srcdir:=.}/platform.xml ${srcdir:=.}/masterslave/masterslaveDeployment.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
+$ java -classpath ${classpath:=.} masterslave/Masterslave ${srcdir:=.}/platform.xml ${srcdir:=.}/masterslave/masterslaveDeployment.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
> [ 0.000000] (1:masterslave.Master@Jacquelin) Hello! Got 7 slaves and 5 tasks to process
> [ 0.000000] (2:masterslave.Forwarder@Jackson) Receiving on 'slave_0'
> [ 0.000000] (3:masterslave.Forwarder@Casavant) Receiving on 'slave_1'
add_custom_command(
COMMENT "Building ${example}..."
OUTPUT ${example}_compiled
- DEPENDS ${sources} SG_java_jar ${SIMGRID_JAR}
- COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ DEPENDS ${sources} simgrid-java_jar ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -classpath ${SIMGRID_JAR}
-d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
COMMAND ${CMAKE_COMMAND} -E remove ${example}_compiled
COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
! output sort
-$ java -cp ${classpath:=.} migration/Migration ${srcdir:=.}/platform.xml ${srcdir:=.}/migration/migrationDeployment.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
+$ java -classpath ${classpath:=.} migration/Migration ${srcdir:=.}/platform.xml ${srcdir:=.}/migration/migrationDeployment.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
> [ 0.000000] (1:migration.Emigrant@Jacquelin) I'll look for a new job on another machine where the grass is greener.
> [ 0.000000] (1:migration.Emigrant@Boivin) Yeah, found something to do
> [ 1.000000] (2:migration.Policeman@Boivin) Wait a bit before migrating the emigrant.
add_custom_command(
COMMENT "Building ${example}..."
OUTPUT ${example}_compiled
- DEPENDS ${sources} SG_java_jar ${SIMGRID_JAR}
- COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ DEPENDS ${sources} simgrid-java_jar ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -classpath ${SIMGRID_JAR}
-d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
COMMAND ${CMAKE_COMMAND} -E remove ${example}_compiled
COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
! output sort
-$ java -cp ${classpath:=.} mutualExclusion/MutexCentral ${srcdir:=.}/mutualExclusion/ring3.xml ${srcdir:=.}/mutualExclusion/mutex_centralized_deployment.xml
+$ java -classpath ${classpath:=.} mutualExclusion/MutexCentral ${srcdir:=.}/mutualExclusion/ring3.xml ${srcdir:=.}/mutualExclusion/mutex_centralized_deployment.xml
> [0.000000] [jmsg/INFO] Using regular java threads. Coroutines could speed your simulation up.
> [0.007806] [jmsg/INFO] MSG_main finished; Cleaning up the simulation...
> [Host 0:mutualExclusion.Coordinator:(1) 0.001301] [jmsg/INFO] Got a request from mutualExclusion.Node. Queue empty: grant it
add_custom_command(
COMMENT "Building ${example}..."
OUTPUT ${example}_compiled
- DEPENDS ${sources} SG_java_jar ${SIMGRID_JAR}
- COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ DEPENDS ${sources} simgrid-java_jar ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -classpath ${SIMGRID_JAR}
-d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
COMMAND ${CMAKE_COMMAND} -E remove ${example}_compiled
COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
! output sort
-$ java -cp ${classpath:=.} pingPong/PingPongTest ${srcdir:=.}/platform.xml ${srcdir:=.}/pingPong/pingPongDeployment.xml
+$ java -classpath ${classpath:=.} pingPong/PingPongTest ${srcdir:=.}/platform.xml ${srcdir:=.}/pingPong/pingPongDeployment.xml
> [0.000000] [jmsg/INFO] Using regular java threads. Coroutines could speed your simulation up.
> [1.048882] [jmsg/INFO] MSG_main finished; Cleaning up the simulation...
> [Boivin:pingPong.Receiver:(2) 0.000000] [jmsg/INFO] hello!
add_custom_command(
COMMENT "Building ${example}..."
OUTPUT ${example}_compiled
- DEPENDS ${sources} SG_java_jar ${SIMGRID_JAR}
- COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ DEPENDS ${sources} simgrid-java_jar ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -classpath ${SIMGRID_JAR}
-d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
COMMAND ${CMAKE_COMMAND} -E remove ${example}_compiled
COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
! output sort
-$ java -cp ${classpath:=.} priority/Priority ${srcdir:=.}/platform.xml ${srcdir:=.}/priority/priorityDeployment.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
+$ java -classpath ${classpath:=.} priority/Priority ${srcdir:=.}/platform.xml ${srcdir:=.}/priority/priorityDeployment.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
> [ 0.000000] (1:priority.Test@Fafard) Hello! Running a task of size 7.6296E7 with priority 1.0
> [ 0.000000] (2:priority.Test@Fafard) Hello! Running a task of size 7.6296E7 with priority 2.0
> [ 0.833332] (2:priority.Test@Fafard) Goodbye now!
add_custom_command(
COMMENT "Building ${example}..."
OUTPUT ${example}_compiled
- DEPENDS ${sources} SG_java_jar ${SIMGRID_JAR}
- COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ DEPENDS ${sources} simgrid-java_jar ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -classpath ${SIMGRID_JAR}
-d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
COMMAND ${CMAKE_COMMAND} -E remove ${example}_compiled
COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
#! tesh
-$ java -cp ${classpath:=.} startKillTime/StartKillTime ${srcdir:=.}/platform.xml ${srcdir:=.}/startKillTime/deployment_start_kill.xml
+$ java -classpath ${classpath:=.} startKillTime/StartKillTime ${srcdir:=.}/platform.xml ${srcdir:=.}/startKillTime/deployment_start_kill.xml
> [0.000000] [jmsg/INFO] Using regular java threads. Coroutines could speed your simulation up.
> [Jacquelin:startKillTime.Master:(1) 0.000000] [jmsg/INFO] Hello!
> [Boivin:startKillTime.Slave:(2) 1.000000] [jmsg/INFO] Hello!
add_custom_command(
COMMENT "Building ${example}..."
OUTPUT ${example}_compiled
- DEPENDS ${sources} SG_java_jar ${SIMGRID_JAR}
- COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ DEPENDS ${sources} simgrid-java_jar ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -classpath ${SIMGRID_JAR}
-d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
COMMAND ${CMAKE_COMMAND} -E remove ${example}_compiled
COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
#! tesh
! output sort
-$ java -cp ${classpath:=.} suspend/Suspend ${srcdir:=.}/platform.xml ${srcdir:=.}/suspend/suspendDeployment.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
+$ java -classpath ${classpath:=.} suspend/Suspend ${srcdir:=.}/platform.xml ${srcdir:=.}/suspend/suspendDeployment.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
> [ 0.000000] (1:suspend.DreamMaster@Jacquelin) Let's create a lazy guy.
> [ 0.000000] (1:suspend.DreamMaster@Jacquelin) Let's wait a little bit...
> [ 0.000000] (2:Lazy@Jacquelin) Nobody's watching me ? Let's go to sleep.
add_custom_command(
COMMENT "Building ${example}..."
OUTPUT ${example}_compiled
- DEPENDS ${sources} SG_java_jar ${SIMGRID_JAR}
- COMMAND ${JAVA_COMPILE} -cp ${SIMGRID_JAR}
+ DEPENDS ${sources} simgrid-java_jar ${SIMGRID_JAR}
+ COMMAND ${JAVA_COMPILE} -classpath ${SIMGRID_JAR}
-d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
COMMAND ${CMAKE_COMMAND} -E remove ${example}_compiled
COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
! output sort
-$ java -cp ${classpath:=.} tracing/TracingTest ${srcdir:=.}/platform.xml ${srcdir:=.}/tracing/tracingPingPongDeployment.xml --cfg=tracing:1 --cfg=tracing/filename:simulation.trace --cfg=tracing/platform:1
+$ java -classpath ${classpath:=.} tracing/TracingTest ${srcdir:=.}/platform.xml ${srcdir:=.}/tracing/tracingPingPongDeployment.xml --cfg=tracing:yes --cfg=tracing/filename:simulation.trace --cfg=tracing/platform:yes
> [0.000000] [jmsg/INFO] Using regular java threads. Coroutines could speed your simulation up.
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'simulation.trace'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/platform' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/platform' to 'yes'
> [4.474401] [jmsg/INFO] MSG_main finished; Cleaning up the simulation...
> [Boivin:tracing.Receiver:(2) 0.000000] [jmsg/INFO] hello!
> [Boivin:tracing.Receiver:(2) 0.000000] [jmsg/INFO] try to get a task
# A little tesh file testing most MPI-related actions
-$ ../actions --cfg=tracing:1 --cfg=tracing/smpi:1 --log=surf_config.thresh:critical --cfg=network/model:SMPI platform.xml deploy_MPI_4.xml
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi' to '1'
+$ ../actions --cfg=tracing:yes --cfg=tracing/smpi:yes --log=surf_config.thresh:critical --cfg=network/model:SMPI platform.xml deploy_MPI_4.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
> [0.095453] [actions/INFO] Simulation time 0.095453
static int periodic_check_predecessor_delay = 120;
static int periodic_lookup_delay = 10;
+static const double sleep_delay = 4.9999;
+
extern long int smx_total_comms;
/*
double next_check_predecessor_date = init_time + periodic_check_predecessor_delay;
double next_lookup_date = init_time + periodic_lookup_delay;
- #ifdef HAVE_MC
int listen = 0;
int no_op = 0;
int sub_protocol = 0;
- #endif
xbt_assert(argc == 3 || argc == 5, "Wrong number of arguments for this node");
// no task was received: make some periodic calls
-#ifdef HAVE_MC
if(MC_is_active()){
if(!MC_visited_reduction() && no_op){
MC_cut();
random_lookup(&node);
listen = 1;
}else{
- MSG_process_sleep(5);
+ MSG_process_sleep(sleep_delay);
if(!MC_visited_reduction())
no_op = 1;
}
next_lookup_date = MSG_get_clock() + periodic_lookup_delay;
}else {
// nothing to do: sleep for a while
- MSG_process_sleep(5);
+ MSG_process_sleep(sleep_delay);
}
}
-#else
- if (MSG_get_clock() >= next_stabilize_date) {
- stabilize(&node);
- next_stabilize_date = MSG_get_clock() + periodic_stabilize_delay;
- }else if (MSG_get_clock() >= next_fix_fingers_date) {
- fix_fingers(&node);
- next_fix_fingers_date = MSG_get_clock() + periodic_fix_fingers_delay;
- }else if (MSG_get_clock() >= next_check_predecessor_date) {
- check_predecessor(&node);
- next_check_predecessor_date = MSG_get_clock() + periodic_check_predecessor_delay;
- }else if (MSG_get_clock() >= next_lookup_date) {
- random_lookup(&node);
- next_lookup_date = MSG_get_clock() + periodic_lookup_delay;
- }else {
- // nothing to do: sleep for a while
- MSG_process_sleep(5);
- }
-#endif
} else {
// a transfer has occurred
}
if (node.comm_receive) {
+ /* handle last task if any */
+ if (MSG_comm_wait(node.comm_receive, 0) == MSG_OK)
+ task_free(task_received);
MSG_comm_destroy(node.comm_receive);
node.comm_receive = NULL;
}
MSG_task_dsend(task, task_data->answer_to, task_free);
break;
+ default:
+ THROW_IMPOSSIBLE;
}
}
stop = 1;
MSG_comm_destroy(node->comm_receive);
node->comm_receive = NULL;
- task_free(task_sent);
}
else {
msg_task_t task_received = MSG_comm_get_task(node->comm_receive);
> [ 0.000000] (8:node@Jacquelin) 17 | 1
> [ 0.000000] (8:node@Jacquelin) 33 | 1
> [ 0.000000] (8:node@Jacquelin) Predecessor: -1
-> [ 6.274448] (1:node@Gatien) My finger table:
-> [ 6.274448] (1:node@Gatien) Start | Succ
-> [ 6.274448] (1:node@Gatien) 49 | 1
-> [ 6.274448] (1:node@Gatien) 50 | 48
-> [ 6.274448] (1:node@Gatien) 52 | 48
-> [ 6.274448] (1:node@Gatien) 56 | 48
-> [ 6.274448] (1:node@Gatien) 0 | 48
-> [ 6.274448] (1:node@Gatien) 16 | 48
-> [ 6.274448] (1:node@Gatien) Predecessor: -1
-> [ 10.888356] (2:node@McGee) My finger table:
-> [ 10.888356] (2:node@McGee) Start | Succ
-> [ 10.888356] (2:node@McGee) 43 | 1
-> [ 10.888356] (2:node@McGee) 44 | 42
-> [ 10.888356] (2:node@McGee) 46 | 42
-> [ 10.888356] (2:node@McGee) 50 | 42
-> [ 10.888356] (2:node@McGee) 58 | 42
-> [ 10.888356] (2:node@McGee) 10 | 42
-> [ 10.888356] (2:node@McGee) Predecessor: -1
-> [ 18.043675] (3:node@iRMX) My finger table:
-> [ 18.043675] (3:node@iRMX) Start | Succ
-> [ 18.043675] (3:node@iRMX) 39 | 1
-> [ 18.043675] (3:node@iRMX) 40 | 38
-> [ 18.043675] (3:node@iRMX) 42 | 38
-> [ 18.043675] (3:node@iRMX) 46 | 38
-> [ 18.043675] (3:node@iRMX) 54 | 38
-> [ 18.043675] (3:node@iRMX) 6 | 38
-> [ 18.043675] (3:node@iRMX) Predecessor: -1
-> [ 20.005344] (4:node@Geoff) My finger table:
-> [ 20.005344] (4:node@Geoff) Start | Succ
-> [ 20.005344] (4:node@Geoff) 33 | 1
-> [ 20.005344] (4:node@Geoff) 34 | 32
-> [ 20.005344] (4:node@Geoff) 36 | 32
-> [ 20.005344] (4:node@Geoff) 40 | 32
-> [ 20.005344] (4:node@Geoff) 48 | 32
-> [ 20.005344] (4:node@Geoff) 0 | 32
-> [ 20.005344] (4:node@Geoff) Predecessor: -1
-> [ 26.812601] (5:node@TeX) My finger table:
-> [ 26.812601] (5:node@TeX) Start | Succ
-> [ 26.812601] (5:node@TeX) 22 | 1
-> [ 26.812601] (5:node@TeX) 23 | 21
-> [ 26.812601] (5:node@TeX) 25 | 21
-> [ 26.812601] (5:node@TeX) 29 | 21
-> [ 26.812601] (5:node@TeX) 37 | 21
-> [ 26.812601] (5:node@TeX) 53 | 21
-> [ 26.812601] (5:node@TeX) Predecessor: -1
-> [ 30.925129] (6:node@Jean_Yves) My finger table:
-> [ 30.925129] (6:node@Jean_Yves) Start | Succ
-> [ 30.925129] (6:node@Jean_Yves) 15 | 1
-> [ 30.925129] (6:node@Jean_Yves) 16 | 14
-> [ 30.925129] (6:node@Jean_Yves) 18 | 14
-> [ 30.925129] (6:node@Jean_Yves) 22 | 14
-> [ 30.925129] (6:node@Jean_Yves) 30 | 14
-> [ 30.925129] (6:node@Jean_Yves) 46 | 14
-> [ 30.925129] (6:node@Jean_Yves) Predecessor: -1
-> [ 36.048885] (7:node@Boivin) My finger table:
-> [ 36.048885] (7:node@Boivin) Start | Succ
-> [ 36.048885] (7:node@Boivin) 9 | 1
-> [ 36.048885] (7:node@Boivin) 10 | 8
-> [ 36.048885] (7:node@Boivin) 12 | 8
-> [ 36.048885] (7:node@Boivin) 16 | 8
-> [ 36.048885] (7:node@Boivin) 24 | 8
-> [ 36.048885] (7:node@Boivin) 40 | 8
-> [ 36.048885] (7:node@Boivin) Predecessor: -1
-> [ 75.000000] (8:node@Jacquelin) My finger table:
-> [ 75.000000] (8:node@Jacquelin) Start | Succ
-> [ 75.000000] (8:node@Jacquelin) 2 | 1
-> [ 75.000000] (8:node@Jacquelin) 3 | 1
-> [ 75.000000] (8:node@Jacquelin) 5 | 1
-> [ 75.000000] (8:node@Jacquelin) 9 | 1
-> [ 75.000000] (8:node@Jacquelin) 17 | 1
-> [ 75.000000] (8:node@Jacquelin) 33 | 1
-> [ 75.000000] (8:node@Jacquelin) Predecessor: 32
-> [ 80.000000] (8:node@Jacquelin) My finger table:
-> [ 80.000000] (8:node@Jacquelin) Start | Succ
-> [ 80.000000] (8:node@Jacquelin) 2 | 1
-> [ 80.000000] (8:node@Jacquelin) 3 | 1
-> [ 80.000000] (8:node@Jacquelin) 5 | 1
-> [ 80.000000] (8:node@Jacquelin) 9 | 1
-> [ 80.000000] (8:node@Jacquelin) 17 | 1
-> [ 80.000000] (8:node@Jacquelin) 33 | 1
-> [ 80.000000] (8:node@Jacquelin) Predecessor: 42
-> [ 81.274448] (8:node@Jacquelin) My finger table:
-> [ 81.274448] (8:node@Jacquelin) Start | Succ
-> [ 81.274448] (8:node@Jacquelin) 2 | 42
-> [ 81.274448] (8:node@Jacquelin) 3 | 1
-> [ 81.274448] (8:node@Jacquelin) 5 | 1
-> [ 81.274448] (8:node@Jacquelin) 9 | 1
-> [ 81.274448] (8:node@Jacquelin) 17 | 1
-> [ 81.274448] (8:node@Jacquelin) 33 | 1
-> [ 81.274448] (8:node@Jacquelin) Predecessor: 48
-> [116.655198] (2:node@McGee) My finger table:
-> [116.655198] (2:node@McGee) Start | Succ
-> [116.655198] (2:node@McGee) 43 | 48
-> [116.655198] (2:node@McGee) 44 | 42
-> [116.655198] (2:node@McGee) 46 | 42
-> [116.655198] (2:node@McGee) 50 | 42
-> [116.655198] (2:node@McGee) 58 | 42
-> [116.655198] (2:node@McGee) 10 | 42
-> [116.655198] (2:node@McGee) Predecessor: 1
-> [141.383330] (1:node@Gatien) My finger table:
-> [141.383330] (1:node@Gatien) Start | Succ
-> [141.383330] (1:node@Gatien) 49 | 1
-> [141.383330] (1:node@Gatien) 50 | 48
-> [141.383330] (1:node@Gatien) 52 | 48
-> [141.383330] (1:node@Gatien) 56 | 48
-> [141.383330] (1:node@Gatien) 0 | 48
-> [141.383330] (1:node@Gatien) 16 | 48
-> [141.383330] (1:node@Gatien) Predecessor: 42
-> [193.730889] (2:node@McGee) My finger table:
-> [193.730889] (2:node@McGee) Start | Succ
-> [193.730889] (2:node@McGee) 43 | 48
-> [193.730889] (2:node@McGee) 44 | 42
-> [193.730889] (2:node@McGee) 46 | 42
-> [193.730889] (2:node@McGee) 50 | 42
-> [193.730889] (2:node@McGee) 58 | 42
-> [193.730889] (2:node@McGee) 10 | 42
-> [193.730889] (2:node@McGee) Predecessor: 8
-> [242.028885] (1:node@Gatien) My finger table:
-> [242.028885] (1:node@Gatien) Start | Succ
-> [242.028885] (1:node@Gatien) 49 | 1
-> [242.028885] (1:node@Gatien) 50 | 1
-> [242.028885] (1:node@Gatien) 52 | 48
-> [242.028885] (1:node@Gatien) 56 | 48
-> [242.028885] (1:node@Gatien) 0 | 48
-> [242.028885] (1:node@Gatien) 16 | 48
-> [242.028885] (1:node@Gatien) Predecessor: 42
-> [242.939649] (2:node@McGee) My finger table:
-> [242.939649] (2:node@McGee) Start | Succ
-> [242.939649] (2:node@McGee) 43 | 48
-> [242.939649] (2:node@McGee) 44 | 42
-> [242.939649] (2:node@McGee) 46 | 42
-> [242.939649] (2:node@McGee) 50 | 42
-> [242.939649] (2:node@McGee) 58 | 42
-> [242.939649] (2:node@McGee) 10 | 42
-> [242.939649] (2:node@McGee) Predecessor: 38
-> [246.478479] (2:node@McGee) My finger table:
-> [246.478479] (2:node@McGee) Start | Succ
-> [246.478479] (2:node@McGee) 43 | 48
-> [246.478479] (2:node@McGee) 44 | 48
-> [246.478479] (2:node@McGee) 46 | 42
-> [246.478479] (2:node@McGee) 50 | 42
-> [246.478479] (2:node@McGee) 58 | 42
-> [246.478479] (2:node@McGee) 10 | 42
-> [246.478479] (2:node@McGee) Predecessor: 38
-> [248.768494] (7:node@Boivin) My finger table:
-> [248.768494] (7:node@Boivin) Start | Succ
-> [248.768494] (7:node@Boivin) 9 | 38
-> [248.768494] (7:node@Boivin) 10 | 38
-> [248.768494] (7:node@Boivin) 12 | 8
-> [248.768494] (7:node@Boivin) 16 | 8
-> [248.768494] (7:node@Boivin) 24 | 8
-> [248.768494] (7:node@Boivin) 40 | 8
-> [248.768494] (7:node@Boivin) Predecessor: -1
-> [255.578776] (4:node@Geoff) My finger table:
-> [255.578776] (4:node@Geoff) Start | Succ
-> [255.578776] (4:node@Geoff) 33 | 42
-> [255.578776] (4:node@Geoff) 34 | 42
-> [255.578776] (4:node@Geoff) 36 | 32
-> [255.578776] (4:node@Geoff) 40 | 32
-> [255.578776] (4:node@Geoff) 48 | 32
-> [255.578776] (4:node@Geoff) 0 | 32
-> [255.578776] (4:node@Geoff) Predecessor: -1
-> [268.081369] (8:node@Jacquelin) My finger table:
-> [268.081369] (8:node@Jacquelin) Start | Succ
-> [268.081369] (8:node@Jacquelin) 2 | 8
-> [268.081369] (8:node@Jacquelin) 3 | 8
-> [268.081369] (8:node@Jacquelin) 5 | 1
-> [268.081369] (8:node@Jacquelin) 9 | 1
-> [268.081369] (8:node@Jacquelin) 17 | 1
-> [268.081369] (8:node@Jacquelin) 33 | 1
-> [268.081369] (8:node@Jacquelin) Predecessor: 48
-> [269.130254] (7:node@Boivin) My finger table:
-> [269.130254] (7:node@Boivin) Start | Succ
-> [269.130254] (7:node@Boivin) 9 | 38
-> [269.130254] (7:node@Boivin) 10 | 38
-> [269.130254] (7:node@Boivin) 12 | 8
-> [269.130254] (7:node@Boivin) 16 | 8
-> [269.130254] (7:node@Boivin) 24 | 8
-> [269.130254] (7:node@Boivin) 40 | 8
-> [269.130254] (7:node@Boivin) Predecessor: 1
-> [272.405875] (3:node@iRMX) My finger table:
-> [272.405875] (3:node@iRMX) Start | Succ
-> [272.405875] (3:node@iRMX) 39 | 42
-> [272.405875] (3:node@iRMX) 40 | 42
-> [272.405875] (3:node@iRMX) 42 | 38
-> [272.405875] (3:node@iRMX) 46 | 38
-> [272.405875] (3:node@iRMX) 54 | 38
-> [272.405875] (3:node@iRMX) 6 | 38
-> [272.405875] (3:node@iRMX) Predecessor: -1
-> [284.571172] (5:node@TeX) My finger table:
-> [284.571172] (5:node@TeX) Start | Succ
-> [284.571172] (5:node@TeX) 22 | 38
-> [284.571172] (5:node@TeX) 23 | 38
-> [284.571172] (5:node@TeX) 25 | 21
-> [284.571172] (5:node@TeX) 29 | 21
-> [284.571172] (5:node@TeX) 37 | 21
-> [284.571172] (5:node@TeX) 53 | 21
-> [284.571172] (5:node@TeX) Predecessor: -1
-> [289.289425] (3:node@iRMX) My finger table:
-> [289.289425] (3:node@iRMX) Start | Succ
-> [289.289425] (3:node@iRMX) 39 | 42
-> [289.289425] (3:node@iRMX) 40 | 42
-> [289.289425] (3:node@iRMX) 42 | 38
-> [289.289425] (3:node@iRMX) 46 | 38
-> [289.289425] (3:node@iRMX) 54 | 38
-> [289.289425] (3:node@iRMX) 6 | 38
-> [289.289425] (3:node@iRMX) Predecessor: 21
-> [305.097098] (6:node@Jean_Yves) My finger table:
-> [305.097098] (6:node@Jean_Yves) Start | Succ
-> [305.097098] (6:node@Jean_Yves) 15 | 21
-> [305.097098] (6:node@Jean_Yves) 16 | 21
-> [305.097098] (6:node@Jean_Yves) 18 | 14
-> [305.097098] (6:node@Jean_Yves) 22 | 14
-> [305.097098] (6:node@Jean_Yves) 30 | 14
-> [305.097098] (6:node@Jean_Yves) 46 | 14
-> [305.097098] (6:node@Jean_Yves) Predecessor: -1
-> [313.745063] (3:node@iRMX) My finger table:
-> [313.745063] (3:node@iRMX) Start | Succ
-> [313.745063] (3:node@iRMX) 39 | 42
-> [313.745063] (3:node@iRMX) 40 | 42
-> [313.745063] (3:node@iRMX) 42 | 38
-> [313.745063] (3:node@iRMX) 46 | 38
-> [313.745063] (3:node@iRMX) 54 | 38
-> [313.745063] (3:node@iRMX) 6 | 38
-> [313.745063] (3:node@iRMX) Predecessor: 32
-> [338.951991] (5:node@TeX) My finger table:
-> [338.951991] (5:node@TeX) Start | Succ
-> [338.951991] (5:node@TeX) 22 | 32
-> [338.951991] (5:node@TeX) 23 | 38
-> [338.951991] (5:node@TeX) 25 | 21
-> [338.951991] (5:node@TeX) 29 | 21
-> [338.951991] (5:node@TeX) 37 | 21
-> [338.951991] (5:node@TeX) 53 | 21
-> [338.951991] (5:node@TeX) Predecessor: 14
-> [359.463119] (4:node@Geoff) My finger table:
-> [359.463119] (4:node@Geoff) Start | Succ
-> [359.463119] (4:node@Geoff) 33 | 38
-> [359.463119] (4:node@Geoff) 34 | 42
-> [359.463119] (4:node@Geoff) 36 | 32
-> [359.463119] (4:node@Geoff) 40 | 32
-> [359.463119] (4:node@Geoff) 48 | 32
-> [359.463119] (4:node@Geoff) 0 | 32
-> [359.463119] (4:node@Geoff) Predecessor: 21
-> [365.649491] (1:node@Gatien) My finger table:
-> [365.649491] (1:node@Gatien) Start | Succ
-> [365.649491] (1:node@Gatien) 49 | 1
-> [365.649491] (1:node@Gatien) 50 | 1
-> [365.649491] (1:node@Gatien) 52 | 1
-> [365.649491] (1:node@Gatien) 56 | 48
-> [365.649491] (1:node@Gatien) 0 | 48
-> [365.649491] (1:node@Gatien) 16 | 48
-> [365.649491] (1:node@Gatien) Predecessor: 42
-> [367.870511] (2:node@McGee) My finger table:
-> [367.870511] (2:node@McGee) Start | Succ
-> [367.870511] (2:node@McGee) 43 | 48
-> [367.870511] (2:node@McGee) 44 | 48
-> [367.870511] (2:node@McGee) 46 | 48
-> [367.870511] (2:node@McGee) 50 | 42
-> [367.870511] (2:node@McGee) 58 | 42
-> [367.870511] (2:node@McGee) 10 | 42
-> [367.870511] (2:node@McGee) Predecessor: 38
-> [371.550204] (7:node@Boivin) My finger table:
-> [371.550204] (7:node@Boivin) Start | Succ
-> [371.550204] (7:node@Boivin) 9 | 21
-> [371.550204] (7:node@Boivin) 10 | 38
-> [371.550204] (7:node@Boivin) 12 | 21
-> [371.550204] (7:node@Boivin) 16 | 8
-> [371.550204] (7:node@Boivin) 24 | 8
-> [371.550204] (7:node@Boivin) 40 | 8
-> [371.550204] (7:node@Boivin) Predecessor: 1
-> [388.564124] (4:node@Geoff) My finger table:
-> [388.564124] (4:node@Geoff) Start | Succ
-> [388.564124] (4:node@Geoff) 33 | 38
-> [388.564124] (4:node@Geoff) 34 | 42
-> [388.564124] (4:node@Geoff) 36 | 38
-> [388.564124] (4:node@Geoff) 40 | 32
-> [388.564124] (4:node@Geoff) 48 | 32
-> [388.564124] (4:node@Geoff) 0 | 32
-> [388.564124] (4:node@Geoff) Predecessor: 21
-> [389.021710] (8:node@Jacquelin) My finger table:
-> [389.021710] (8:node@Jacquelin) Start | Succ
-> [389.021710] (8:node@Jacquelin) 2 | 8
-> [389.021710] (8:node@Jacquelin) 3 | 8
-> [389.021710] (8:node@Jacquelin) 5 | 8
-> [389.021710] (8:node@Jacquelin) 9 | 1
-> [389.021710] (8:node@Jacquelin) 17 | 1
-> [389.021710] (8:node@Jacquelin) 33 | 1
-> [389.021710] (8:node@Jacquelin) Predecessor: 48
-> [393.088734] (3:node@iRMX) My finger table:
-> [393.088734] (3:node@iRMX) Start | Succ
-> [393.088734] (3:node@iRMX) 39 | 42
-> [393.088734] (3:node@iRMX) 40 | 42
-> [393.088734] (3:node@iRMX) 42 | 42
-> [393.088734] (3:node@iRMX) 46 | 38
-> [393.088734] (3:node@iRMX) 54 | 38
-> [393.088734] (3:node@iRMX) 6 | 38
-> [393.088734] (3:node@iRMX) Predecessor: 32
-> [412.961674] (5:node@TeX) My finger table:
-> [412.961674] (5:node@TeX) Start | Succ
-> [412.961674] (5:node@TeX) 22 | 32
-> [412.961674] (5:node@TeX) 23 | 38
-> [412.961674] (5:node@TeX) 25 | 32
-> [412.961674] (5:node@TeX) 29 | 21
-> [412.961674] (5:node@TeX) 37 | 21
-> [412.961674] (5:node@TeX) 53 | 21
-> [412.961674] (5:node@TeX) Predecessor: 14
-> [434.596478] (6:node@Jean_Yves) My finger table:
-> [434.596478] (6:node@Jean_Yves) Start | Succ
-> [434.596478] (6:node@Jean_Yves) 15 | 21
-> [434.596478] (6:node@Jean_Yves) 16 | 21
-> [434.596478] (6:node@Jean_Yves) 18 | 14
-> [434.596478] (6:node@Jean_Yves) 22 | 14
-> [434.596478] (6:node@Jean_Yves) 30 | 14
-> [434.596478] (6:node@Jean_Yves) 46 | 14
-> [434.596478] (6:node@Jean_Yves) Predecessor: 8
-> [443.806924] (6:node@Jean_Yves) My finger table:
-> [443.806924] (6:node@Jean_Yves) Start | Succ
-> [443.806924] (6:node@Jean_Yves) 15 | 21
-> [443.806924] (6:node@Jean_Yves) 16 | 21
-> [443.806924] (6:node@Jean_Yves) 18 | 21
-> [443.806924] (6:node@Jean_Yves) 22 | 14
-> [443.806924] (6:node@Jean_Yves) 30 | 14
-> [443.806924] (6:node@Jean_Yves) 46 | 14
-> [443.806924] (6:node@Jean_Yves) Predecessor: 8
-> [488.763595] (1:node@Gatien) My finger table:
-> [488.763595] (1:node@Gatien) Start | Succ
-> [488.763595] (1:node@Gatien) 49 | 1
-> [488.763595] (1:node@Gatien) 50 | 1
-> [488.763595] (1:node@Gatien) 52 | 1
-> [488.763595] (1:node@Gatien) 56 | 1
-> [488.763595] (1:node@Gatien) 0 | 48
-> [488.763595] (1:node@Gatien) 16 | 48
-> [488.763595] (1:node@Gatien) Predecessor: 42
-> [502.910439] (2:node@McGee) My finger table:
-> [502.910439] (2:node@McGee) Start | Succ
-> [502.910439] (2:node@McGee) 43 | 48
-> [502.910439] (2:node@McGee) 44 | 48
-> [502.910439] (2:node@McGee) 46 | 48
-> [502.910439] (2:node@McGee) 50 | 1
-> [502.910439] (2:node@McGee) 58 | 42
-> [502.910439] (2:node@McGee) 10 | 42
-> [502.910439] (2:node@McGee) Predecessor: 38
-> [511.133077] (8:node@Jacquelin) My finger table:
-> [511.133077] (8:node@Jacquelin) Start | Succ
-> [511.133077] (8:node@Jacquelin) 2 | 8
-> [511.133077] (8:node@Jacquelin) 3 | 8
-> [511.133077] (8:node@Jacquelin) 5 | 8
-> [511.133077] (8:node@Jacquelin) 9 | 14
-> [511.133077] (8:node@Jacquelin) 17 | 1
-> [511.133077] (8:node@Jacquelin) 33 | 1
-> [511.133077] (8:node@Jacquelin) Predecessor: 48
-> [528.169747] (7:node@Boivin) My finger table:
-> [528.169747] (7:node@Boivin) Start | Succ
-> [528.169747] (7:node@Boivin) 9 | 14
-> [528.169747] (7:node@Boivin) 10 | 38
-> [528.169747] (7:node@Boivin) 12 | 21
-> [528.169747] (7:node@Boivin) 16 | 21
-> [528.169747] (7:node@Boivin) 24 | 8
-> [528.169747] (7:node@Boivin) 40 | 8
-> [528.169747] (7:node@Boivin) Predecessor: 1
-> [538.778175] (3:node@iRMX) My finger table:
-> [538.778175] (3:node@iRMX) Start | Succ
-> [538.778175] (3:node@iRMX) 39 | 42
-> [538.778175] (3:node@iRMX) 40 | 42
-> [538.778175] (3:node@iRMX) 42 | 42
-> [538.778175] (3:node@iRMX) 46 | 48
-> [538.778175] (3:node@iRMX) 54 | 38
-> [538.778175] (3:node@iRMX) 6 | 38
-> [538.778175] (3:node@iRMX) Predecessor: 32
-> [561.853791] (5:node@TeX) My finger table:
-> [561.853791] (5:node@TeX) Start | Succ
-> [561.853791] (5:node@TeX) 22 | 32
-> [561.853791] (5:node@TeX) 23 | 38
-> [561.853791] (5:node@TeX) 25 | 32
-> [561.853791] (5:node@TeX) 29 | 32
-> [561.853791] (5:node@TeX) 37 | 21
-> [561.853791] (5:node@TeX) 53 | 21
-> [561.853791] (5:node@TeX) Predecessor: 14
-> [564.892126] (4:node@Geoff) My finger table:
-> [564.892126] (4:node@Geoff) Start | Succ
-> [564.892126] (4:node@Geoff) 33 | 38
-> [564.892126] (4:node@Geoff) 34 | 42
-> [564.892126] (4:node@Geoff) 36 | 38
-> [564.892126] (4:node@Geoff) 40 | 42
-> [564.892126] (4:node@Geoff) 48 | 32
-> [564.892126] (4:node@Geoff) 0 | 32
-> [564.892126] (4:node@Geoff) Predecessor: 21
-> [580.440450] (6:node@Jean_Yves) My finger table:
-> [580.440450] (6:node@Jean_Yves) Start | Succ
-> [580.440450] (6:node@Jean_Yves) 15 | 21
-> [580.440450] (6:node@Jean_Yves) 16 | 21
-> [580.440450] (6:node@Jean_Yves) 18 | 21
-> [580.440450] (6:node@Jean_Yves) 22 | 32
-> [580.440450] (6:node@Jean_Yves) 30 | 14
-> [580.440450] (6:node@Jean_Yves) 46 | 14
-> [580.440450] (6:node@Jean_Yves) Predecessor: 8
-> [805.312574] (0:@) Messages created: 789
-> [805.312574] (0:@) Simulated time: 805.313
+> [ 6.274348] (1:node@Gatien) My finger table:
+> [ 6.274348] (1:node@Gatien) Start | Succ
+> [ 6.274348] (1:node@Gatien) 49 | 1
+> [ 6.274348] (1:node@Gatien) 50 | 48
+> [ 6.274348] (1:node@Gatien) 52 | 48
+> [ 6.274348] (1:node@Gatien) 56 | 48
+> [ 6.274348] (1:node@Gatien) 0 | 48
+> [ 6.274348] (1:node@Gatien) 16 | 48
+> [ 6.274348] (1:node@Gatien) Predecessor: -1
+> [ 10.888156] (2:node@McGee) My finger table:
+> [ 10.888156] (2:node@McGee) Start | Succ
+> [ 10.888156] (2:node@McGee) 43 | 1
+> [ 10.888156] (2:node@McGee) 44 | 42
+> [ 10.888156] (2:node@McGee) 46 | 42
+> [ 10.888156] (2:node@McGee) 50 | 42
+> [ 10.888156] (2:node@McGee) 58 | 42
+> [ 10.888156] (2:node@McGee) 10 | 42
+> [ 10.888156] (2:node@McGee) Predecessor: -1
+> [ 18.043375] (3:node@iRMX) My finger table:
+> [ 18.043375] (3:node@iRMX) Start | Succ
+> [ 18.043375] (3:node@iRMX) 39 | 1
+> [ 18.043375] (3:node@iRMX) 40 | 38
+> [ 18.043375] (3:node@iRMX) 42 | 38
+> [ 18.043375] (3:node@iRMX) 46 | 38
+> [ 18.043375] (3:node@iRMX) 54 | 38
+> [ 18.043375] (3:node@iRMX) 6 | 38
+> [ 18.043375] (3:node@iRMX) Predecessor: -1
+> [ 20.004944] (4:node@Geoff) My finger table:
+> [ 20.004944] (4:node@Geoff) Start | Succ
+> [ 20.004944] (4:node@Geoff) 33 | 1
+> [ 20.004944] (4:node@Geoff) 34 | 32
+> [ 20.004944] (4:node@Geoff) 36 | 32
+> [ 20.004944] (4:node@Geoff) 40 | 32
+> [ 20.004944] (4:node@Geoff) 48 | 32
+> [ 20.004944] (4:node@Geoff) 0 | 32
+> [ 20.004944] (4:node@Geoff) Predecessor: -1
+> [ 26.812101] (5:node@TeX) My finger table:
+> [ 26.812101] (5:node@TeX) Start | Succ
+> [ 26.812101] (5:node@TeX) 22 | 1
+> [ 26.812101] (5:node@TeX) 23 | 21
+> [ 26.812101] (5:node@TeX) 25 | 21
+> [ 26.812101] (5:node@TeX) 29 | 21
+> [ 26.812101] (5:node@TeX) 37 | 21
+> [ 26.812101] (5:node@TeX) 53 | 21
+> [ 26.812101] (5:node@TeX) Predecessor: -1
+> [ 30.924529] (6:node@Jean_Yves) My finger table:
+> [ 30.924529] (6:node@Jean_Yves) Start | Succ
+> [ 30.924529] (6:node@Jean_Yves) 15 | 1
+> [ 30.924529] (6:node@Jean_Yves) 16 | 14
+> [ 30.924529] (6:node@Jean_Yves) 18 | 14
+> [ 30.924529] (6:node@Jean_Yves) 22 | 14
+> [ 30.924529] (6:node@Jean_Yves) 30 | 14
+> [ 30.924529] (6:node@Jean_Yves) 46 | 14
+> [ 30.924529] (6:node@Jean_Yves) Predecessor: -1
+> [ 36.048185] (7:node@Boivin) My finger table:
+> [ 36.048185] (7:node@Boivin) Start | Succ
+> [ 36.048185] (7:node@Boivin) 9 | 1
+> [ 36.048185] (7:node@Boivin) 10 | 8
+> [ 36.048185] (7:node@Boivin) 12 | 8
+> [ 36.048185] (7:node@Boivin) 16 | 8
+> [ 36.048185] (7:node@Boivin) 24 | 8
+> [ 36.048185] (7:node@Boivin) 40 | 8
+> [ 36.048185] (7:node@Boivin) Predecessor: -1
+> [ 74.998500] (8:node@Jacquelin) My finger table:
+> [ 74.998500] (8:node@Jacquelin) Start | Succ
+> [ 74.998500] (8:node@Jacquelin) 2 | 1
+> [ 74.998500] (8:node@Jacquelin) 3 | 1
+> [ 74.998500] (8:node@Jacquelin) 5 | 1
+> [ 74.998500] (8:node@Jacquelin) 9 | 1
+> [ 74.998500] (8:node@Jacquelin) 17 | 1
+> [ 74.998500] (8:node@Jacquelin) 33 | 1
+> [ 74.998500] (8:node@Jacquelin) Predecessor: 32
+> [ 75.886856] (8:node@Jacquelin) My finger table:
+> [ 75.886856] (8:node@Jacquelin) Start | Succ
+> [ 75.886856] (8:node@Jacquelin) 2 | 32
+> [ 75.886856] (8:node@Jacquelin) 3 | 1
+> [ 75.886856] (8:node@Jacquelin) 5 | 1
+> [ 75.886856] (8:node@Jacquelin) 9 | 1
+> [ 75.886856] (8:node@Jacquelin) 17 | 1
+> [ 75.886856] (8:node@Jacquelin) 33 | 1
+> [ 75.886856] (8:node@Jacquelin) Predecessor: 42
+> [ 77.161304] (8:node@Jacquelin) My finger table:
+> [ 77.161304] (8:node@Jacquelin) Start | Succ
+> [ 77.161304] (8:node@Jacquelin) 2 | 32
+> [ 77.161304] (8:node@Jacquelin) 3 | 1
+> [ 77.161304] (8:node@Jacquelin) 5 | 1
+> [ 77.161304] (8:node@Jacquelin) 9 | 1
+> [ 77.161304] (8:node@Jacquelin) 17 | 1
+> [ 77.161304] (8:node@Jacquelin) 33 | 1
+> [ 77.161304] (8:node@Jacquelin) Predecessor: 48
+> [102.428549] (4:node@Geoff) My finger table:
+> [102.428549] (4:node@Geoff) Start | Succ
+> [102.428549] (4:node@Geoff) 33 | 48
+> [102.428549] (4:node@Geoff) 34 | 32
+> [102.428549] (4:node@Geoff) 36 | 32
+> [102.428549] (4:node@Geoff) 40 | 32
+> [102.428549] (4:node@Geoff) 48 | 32
+> [102.428549] (4:node@Geoff) 0 | 32
+> [102.428549] (4:node@Geoff) Predecessor: 1
+> [128.446143] (1:node@Gatien) My finger table:
+> [128.446143] (1:node@Gatien) Start | Succ
+> [128.446143] (1:node@Gatien) 49 | 1
+> [128.446143] (1:node@Gatien) 50 | 48
+> [128.446143] (1:node@Gatien) 52 | 48
+> [128.446143] (1:node@Gatien) 56 | 48
+> [128.446143] (1:node@Gatien) 0 | 48
+> [128.446143] (1:node@Gatien) 16 | 48
+> [128.446143] (1:node@Gatien) Predecessor: 32
+> [138.445943] (1:node@Gatien) My finger table:
+> [138.445943] (1:node@Gatien) Start | Succ
+> [138.445943] (1:node@Gatien) 49 | 1
+> [138.445943] (1:node@Gatien) 50 | 48
+> [138.445943] (1:node@Gatien) 52 | 48
+> [138.445943] (1:node@Gatien) 56 | 48
+> [138.445943] (1:node@Gatien) 0 | 48
+> [138.445943] (1:node@Gatien) 16 | 48
+> [138.445943] (1:node@Gatien) Predecessor: 42
+> [211.728399] (2:node@McGee) My finger table:
+> [211.728399] (2:node@McGee) Start | Succ
+> [211.728399] (2:node@McGee) 43 | 48
+> [211.728399] (2:node@McGee) 44 | 42
+> [211.728399] (2:node@McGee) 46 | 42
+> [211.728399] (2:node@McGee) 50 | 42
+> [211.728399] (2:node@McGee) 58 | 42
+> [211.728399] (2:node@McGee) 10 | 42
+> [211.728399] (2:node@McGee) Predecessor: 38
+> [248.221969] (1:node@Gatien) My finger table:
+> [248.221969] (1:node@Gatien) Start | Succ
+> [248.221969] (1:node@Gatien) 49 | 1
+> [248.221969] (1:node@Gatien) 50 | 1
+> [248.221969] (1:node@Gatien) 52 | 48
+> [248.221969] (1:node@Gatien) 56 | 48
+> [248.221969] (1:node@Gatien) 0 | 48
+> [248.221969] (1:node@Gatien) 16 | 48
+> [248.221969] (1:node@Gatien) Predecessor: 42
+> [251.135492] (7:node@Boivin) My finger table:
+> [251.135492] (7:node@Boivin) Start | Succ
+> [251.135492] (7:node@Boivin) 9 | 38
+> [251.135492] (7:node@Boivin) 10 | 38
+> [251.135492] (7:node@Boivin) 12 | 8
+> [251.135492] (7:node@Boivin) 16 | 8
+> [251.135492] (7:node@Boivin) 24 | 8
+> [251.135492] (7:node@Boivin) 40 | 8
+> [251.135492] (7:node@Boivin) Predecessor: -1
+> [259.451660] (2:node@McGee) My finger table:
+> [259.451660] (2:node@McGee) Start | Succ
+> [259.451660] (2:node@McGee) 43 | 48
+> [259.451660] (2:node@McGee) 44 | 48
+> [259.451660] (2:node@McGee) 46 | 42
+> [259.451660] (2:node@McGee) 50 | 42
+> [259.451660] (2:node@McGee) 58 | 42
+> [259.451660] (2:node@McGee) 10 | 42
+> [259.451660] (2:node@McGee) Predecessor: 38
+> [309.452289] (4:node@Geoff) My finger table:
+> [309.452289] (4:node@Geoff) Start | Succ
+> [309.452289] (4:node@Geoff) 33 | 38
+> [309.452289] (4:node@Geoff) 34 | 38
+> [309.452289] (4:node@Geoff) 36 | 32
+> [309.452289] (4:node@Geoff) 40 | 32
+> [309.452289] (4:node@Geoff) 48 | 32
+> [309.452289] (4:node@Geoff) 0 | 32
+> [309.452289] (4:node@Geoff) Predecessor: 1
+> [309.457634] (8:node@Jacquelin) My finger table:
+> [309.457634] (8:node@Jacquelin) Start | Succ
+> [309.457634] (8:node@Jacquelin) 2 | 32
+> [309.457634] (8:node@Jacquelin) 3 | 32
+> [309.457634] (8:node@Jacquelin) 5 | 1
+> [309.457634] (8:node@Jacquelin) 9 | 1
+> [309.457634] (8:node@Jacquelin) 17 | 1
+> [309.457634] (8:node@Jacquelin) 33 | 1
+> [309.457634] (8:node@Jacquelin) Predecessor: 48
+> [323.904210] (6:node@Jean_Yves) My finger table:
+> [323.904210] (6:node@Jean_Yves) Start | Succ
+> [323.904210] (6:node@Jean_Yves) 15 | 38
+> [323.904210] (6:node@Jean_Yves) 16 | 38
+> [323.904210] (6:node@Jean_Yves) 18 | 14
+> [323.904210] (6:node@Jean_Yves) 22 | 14
+> [323.904210] (6:node@Jean_Yves) 30 | 14
+> [323.904210] (6:node@Jean_Yves) 46 | 14
+> [323.904210] (6:node@Jean_Yves) Predecessor: -1
+> [325.353212] (3:node@iRMX) My finger table:
+> [325.353212] (3:node@iRMX) Start | Succ
+> [325.353212] (3:node@iRMX) 39 | 42
+> [325.353212] (3:node@iRMX) 40 | 38
+> [325.353212] (3:node@iRMX) 42 | 38
+> [325.353212] (3:node@iRMX) 46 | 38
+> [325.353212] (3:node@iRMX) 54 | 38
+> [325.353212] (3:node@iRMX) 6 | 38
+> [325.353212] (3:node@iRMX) Predecessor: 32
+> [330.576758] (3:node@iRMX) My finger table:
+> [330.576758] (3:node@iRMX) Start | Succ
+> [330.576758] (3:node@iRMX) 39 | 42
+> [330.576758] (3:node@iRMX) 40 | 42
+> [330.576758] (3:node@iRMX) 42 | 38
+> [330.576758] (3:node@iRMX) 46 | 38
+> [330.576758] (3:node@iRMX) 54 | 38
+> [330.576758] (3:node@iRMX) 6 | 38
+> [330.576758] (3:node@iRMX) Predecessor: 32
+> [352.615271] (5:node@TeX) My finger table:
+> [352.615271] (5:node@TeX) Start | Succ
+> [352.615271] (5:node@TeX) 22 | 32
+> [352.615271] (5:node@TeX) 23 | 32
+> [352.615271] (5:node@TeX) 25 | 21
+> [352.615271] (5:node@TeX) 29 | 21
+> [352.615271] (5:node@TeX) 37 | 21
+> [352.615271] (5:node@TeX) 53 | 21
+> [352.615271] (5:node@TeX) Predecessor: -1
+> [369.575209] (1:node@Gatien) My finger table:
+> [369.575209] (1:node@Gatien) Start | Succ
+> [369.575209] (1:node@Gatien) 49 | 1
+> [369.575209] (1:node@Gatien) 50 | 1
+> [369.575209] (1:node@Gatien) 52 | 1
+> [369.575209] (1:node@Gatien) 56 | 48
+> [369.575209] (1:node@Gatien) 0 | 48
+> [369.575209] (1:node@Gatien) 16 | 48
+> [369.575209] (1:node@Gatien) Predecessor: 42
+> [382.882683] (2:node@McGee) My finger table:
+> [382.882683] (2:node@McGee) Start | Succ
+> [382.882683] (2:node@McGee) 43 | 48
+> [382.882683] (2:node@McGee) 44 | 48
+> [382.882683] (2:node@McGee) 46 | 48
+> [382.882683] (2:node@McGee) 50 | 42
+> [382.882683] (2:node@McGee) 58 | 42
+> [382.882683] (2:node@McGee) 10 | 42
+> [382.882683] (2:node@McGee) Predecessor: 38
+> [384.345471] (4:node@Geoff) My finger table:
+> [384.345471] (4:node@Geoff) Start | Succ
+> [384.345471] (4:node@Geoff) 33 | 38
+> [384.345471] (4:node@Geoff) 34 | 38
+> [384.345471] (4:node@Geoff) 36 | 32
+> [384.345471] (4:node@Geoff) 40 | 32
+> [384.345471] (4:node@Geoff) 48 | 32
+> [384.345471] (4:node@Geoff) 0 | 32
+> [384.345471] (4:node@Geoff) Predecessor: 21
+> [420.326402] (7:node@Boivin) My finger table:
+> [420.326402] (7:node@Boivin) Start | Succ
+> [420.326402] (7:node@Boivin) 9 | 21
+> [420.326402] (7:node@Boivin) 10 | 38
+> [420.326402] (7:node@Boivin) 12 | 21
+> [420.326402] (7:node@Boivin) 16 | 8
+> [420.326402] (7:node@Boivin) 24 | 8
+> [420.326402] (7:node@Boivin) 40 | 8
+> [420.326402] (7:node@Boivin) Predecessor: -1
+> [440.893851] (5:node@TeX) My finger table:
+> [440.893851] (5:node@TeX) Start | Succ
+> [440.893851] (5:node@TeX) 22 | 32
+> [440.893851] (5:node@TeX) 23 | 32
+> [440.893851] (5:node@TeX) 25 | 21
+> [440.893851] (5:node@TeX) 29 | 21
+> [440.893851] (5:node@TeX) 37 | 21
+> [440.893851] (5:node@TeX) 53 | 21
+> [440.893851] (5:node@TeX) Predecessor: 14
+> [479.758971] (3:node@iRMX) My finger table:
+> [479.758971] (3:node@iRMX) Start | Succ
+> [479.758971] (3:node@iRMX) 39 | 42
+> [479.758971] (3:node@iRMX) 40 | 42
+> [479.758971] (3:node@iRMX) 42 | 42
+> [479.758971] (3:node@iRMX) 46 | 38
+> [479.758971] (3:node@iRMX) 54 | 38
+> [479.758971] (3:node@iRMX) 6 | 38
+> [479.758971] (3:node@iRMX) Predecessor: 32
+> [482.033225] (4:node@Geoff) My finger table:
+> [482.033225] (4:node@Geoff) Start | Succ
+> [482.033225] (4:node@Geoff) 33 | 38
+> [482.033225] (4:node@Geoff) 34 | 38
+> [482.033225] (4:node@Geoff) 36 | 38
+> [482.033225] (4:node@Geoff) 40 | 32
+> [482.033225] (4:node@Geoff) 48 | 32
+> [482.033225] (4:node@Geoff) 0 | 32
+> [482.033225] (4:node@Geoff) Predecessor: 21
+> [490.659143] (1:node@Gatien) My finger table:
+> [490.659143] (1:node@Gatien) Start | Succ
+> [490.659143] (1:node@Gatien) 49 | 1
+> [490.659143] (1:node@Gatien) 50 | 1
+> [490.659143] (1:node@Gatien) 52 | 1
+> [490.659143] (1:node@Gatien) 56 | 1
+> [490.659143] (1:node@Gatien) 0 | 48
+> [490.659143] (1:node@Gatien) 16 | 48
+> [490.659143] (1:node@Gatien) Predecessor: 42
+> [498.176263] (3:node@iRMX) My finger table:
+> [498.176263] (3:node@iRMX) Start | Succ
+> [498.176263] (3:node@iRMX) 39 | 42
+> [498.176263] (3:node@iRMX) 40 | 42
+> [498.176263] (3:node@iRMX) 42 | 42
+> [498.176263] (3:node@iRMX) 46 | 38
+> [498.176263] (3:node@iRMX) 54 | 38
+> [498.176263] (3:node@iRMX) 6 | 38
+> [498.176263] (3:node@iRMX) Predecessor: 32
+> [498.611138] (6:node@Jean_Yves) My finger table:
+> [498.611138] (6:node@Jean_Yves) Start | Succ
+> [498.611138] (6:node@Jean_Yves) 15 | 21
+> [498.611138] (6:node@Jean_Yves) 16 | 38
+> [498.611138] (6:node@Jean_Yves) 18 | 21
+> [498.611138] (6:node@Jean_Yves) 22 | 14
+> [498.611138] (6:node@Jean_Yves) 30 | 14
+> [498.611138] (6:node@Jean_Yves) 46 | 14
+> [498.611138] (6:node@Jean_Yves) Predecessor: -1
+> [500.558693] (8:node@Jacquelin) My finger table:
+> [500.558693] (8:node@Jacquelin) Start | Succ
+> [500.558693] (8:node@Jacquelin) 2 | 14
+> [500.558693] (8:node@Jacquelin) 3 | 32
+> [500.558693] (8:node@Jacquelin) 5 | 14
+> [500.558693] (8:node@Jacquelin) 9 | 1
+> [500.558693] (8:node@Jacquelin) 17 | 1
+> [500.558693] (8:node@Jacquelin) 33 | 1
+> [500.558693] (8:node@Jacquelin) Predecessor: 48
+> [505.760856] (2:node@McGee) My finger table:
+> [505.760856] (2:node@McGee) Start | Succ
+> [505.760856] (2:node@McGee) 43 | 48
+> [505.760856] (2:node@McGee) 44 | 48
+> [505.760856] (2:node@McGee) 46 | 48
+> [505.760856] (2:node@McGee) 50 | 1
+> [505.760856] (2:node@McGee) 58 | 42
+> [505.760856] (2:node@McGee) 10 | 42
+> [505.760856] (2:node@McGee) Predecessor: 38
+> [509.829034] (5:node@TeX) My finger table:
+> [509.829034] (5:node@TeX) Start | Succ
+> [509.829034] (5:node@TeX) 22 | 32
+> [509.829034] (5:node@TeX) 23 | 32
+> [509.829034] (5:node@TeX) 25 | 32
+> [509.829034] (5:node@TeX) 29 | 21
+> [509.829034] (5:node@TeX) 37 | 21
+> [509.829034] (5:node@TeX) 53 | 21
+> [509.829034] (5:node@TeX) Predecessor: 14
+> [533.786329] (6:node@Jean_Yves) My finger table:
+> [533.786329] (6:node@Jean_Yves) Start | Succ
+> [533.786329] (6:node@Jean_Yves) 15 | 21
+> [533.786329] (6:node@Jean_Yves) 16 | 38
+> [533.786329] (6:node@Jean_Yves) 18 | 21
+> [533.786329] (6:node@Jean_Yves) 22 | 14
+> [533.786329] (6:node@Jean_Yves) 30 | 14
+> [533.786329] (6:node@Jean_Yves) 46 | 14
+> [533.786329] (6:node@Jean_Yves) Predecessor: 8
+> [549.075290] (7:node@Boivin) My finger table:
+> [549.075290] (7:node@Boivin) Start | Succ
+> [549.075290] (7:node@Boivin) 9 | 14
+> [549.075290] (7:node@Boivin) 10 | 38
+> [549.075290] (7:node@Boivin) 12 | 21
+> [549.075290] (7:node@Boivin) 16 | 21
+> [549.075290] (7:node@Boivin) 24 | 8
+> [549.075290] (7:node@Boivin) 40 | 8
+> [549.075290] (7:node@Boivin) Predecessor: -1
+> [753.389615] (0:@) Messages created: 605
+> [753.389615] (0:@) Simulated time: 753.39
! output sort
$ $SG_TEST_EXENV ${bindir:=.}/chord$EXEEXT ${srcdir:=.}/../../platforms/cluster.xml ${srcdir:=.}/chord10.xml --cfg=network/crosstraffic:0 --log=msg_chord.thres:verbose "--log=root.fmt:[%11.6r]%e(%i:%P@%h)%e%m%n" --cfg=network/model:Constant
> [ 5.000000] (8:node@c-7.me) 14199064 | 10004760
> [ 5.000000] (8:node@c-7.me) 1616152 | 10004760
> [ 5.000000] (8:node@c-7.me) Predecessor: -1
-> [ 6.000000] (2:node@c-1.me) My finger table:
-> [ 6.000000] (2:node@c-1.me) Start | Succ
-> [ 6.000000] (2:node@c-1.me) 366681 | 42
-> [ 6.000000] (2:node@c-1.me) 366682 | 366680
-> [ 6.000000] (2:node@c-1.me) 366684 | 366680
-> [ 6.000000] (2:node@c-1.me) 366688 | 366680
-> [ 6.000000] (2:node@c-1.me) 366696 | 366680
-> [ 6.000000] (2:node@c-1.me) 366712 | 366680
-> [ 6.000000] (2:node@c-1.me) 366744 | 366680
-> [ 6.000000] (2:node@c-1.me) 366808 | 366680
-> [ 6.000000] (2:node@c-1.me) 366936 | 366680
-> [ 6.000000] (2:node@c-1.me) 367192 | 366680
-> [ 6.000000] (2:node@c-1.me) 367704 | 366680
-> [ 6.000000] (2:node@c-1.me) 368728 | 366680
-> [ 6.000000] (2:node@c-1.me) 370776 | 366680
-> [ 6.000000] (2:node@c-1.me) 374872 | 366680
-> [ 6.000000] (2:node@c-1.me) 383064 | 366680
-> [ 6.000000] (2:node@c-1.me) 399448 | 366680
-> [ 6.000000] (2:node@c-1.me) 432216 | 366680
-> [ 6.000000] (2:node@c-1.me) 497752 | 366680
-> [ 6.000000] (2:node@c-1.me) 628824 | 366680
-> [ 6.000000] (2:node@c-1.me) 890968 | 366680
-> [ 6.000000] (2:node@c-1.me) 1415256 | 366680
-> [ 6.000000] (2:node@c-1.me) 2463832 | 366680
-> [ 6.000000] (2:node@c-1.me) 4560984 | 366680
-> [ 6.000000] (2:node@c-1.me) 8755288 | 366680
-> [ 6.000000] (2:node@c-1.me) Predecessor: -1
-> [ 8.000000] (7:node@c-6.me) My finger table:
-> [ 8.000000] (7:node@c-6.me) Start | Succ
-> [ 8.000000] (7:node@c-6.me) 16728097 | 1319738
-> [ 8.000000] (7:node@c-6.me) 16728098 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16728100 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16728104 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16728112 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16728128 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16728160 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16728224 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16728352 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16728608 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16729120 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16730144 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16732192 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16736288 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16744480 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16760864 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16416 | 16728096
-> [ 8.000000] (7:node@c-6.me) 81952 | 16728096
-> [ 8.000000] (7:node@c-6.me) 213024 | 16728096
-> [ 8.000000] (7:node@c-6.me) 475168 | 16728096
-> [ 8.000000] (7:node@c-6.me) 999456 | 16728096
-> [ 8.000000] (7:node@c-6.me) 2048032 | 16728096
-> [ 8.000000] (7:node@c-6.me) 4145184 | 16728096
-> [ 8.000000] (7:node@c-6.me) 8339488 | 16728096
-> [ 8.000000] (7:node@c-6.me) Predecessor: -1
-> [ 9.000000] (10:node@c-9.me) My finger table:
-> [ 9.000000] (10:node@c-9.me) Start | Succ
-> [ 9.000000] (10:node@c-9.me) 2015254 | 1319738
-> [ 9.000000] (10:node@c-9.me) 2015255 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2015257 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2015261 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2015269 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2015285 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2015317 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2015381 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2015509 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2015765 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2016277 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2017301 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2019349 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2023445 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2031637 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2048021 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2080789 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2146325 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2277397 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2539541 | 2015253
-> [ 9.000000] (10:node@c-9.me) 3063829 | 2015253
-> [ 9.000000] (10:node@c-9.me) 4112405 | 2015253
-> [ 9.000000] (10:node@c-9.me) 6209557 | 2015253
-> [ 9.000000] (10:node@c-9.me) 10403861 | 2015253
-> [ 9.000000] (10:node@c-9.me) Predecessor: -1
-> [ 11.000000] (4:node@c-3.me) My finger table:
-> [ 11.000000] (4:node@c-3.me) Start | Succ
-> [ 11.000000] (4:node@c-3.me) 1319739 | 42
-> [ 11.000000] (4:node@c-3.me) 1319740 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1319742 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1319746 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1319754 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1319770 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1319802 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1319866 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1319994 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1320250 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1320762 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1321786 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1323834 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1327930 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1336122 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1352506 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1385274 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1450810 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1581882 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1844026 | 1319738
-> [ 11.000000] (4:node@c-3.me) 2368314 | 1319738
-> [ 11.000000] (4:node@c-3.me) 3416890 | 1319738
-> [ 11.000000] (4:node@c-3.me) 5514042 | 1319738
-> [ 11.000000] (4:node@c-3.me) 9708346 | 1319738
-> [ 11.000000] (4:node@c-3.me) Predecessor: -1
-> [ 16.000000] (9:node@c-8.me) My finger table:
-> [ 16.000000] (9:node@c-8.me) Start | Succ
-> [ 16.000000] (9:node@c-8.me) 6518809 | 42
-> [ 16.000000] (9:node@c-8.me) 6518810 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6518812 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6518816 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6518824 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6518840 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6518872 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6518936 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6519064 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6519320 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6519832 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6520856 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6522904 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6527000 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6535192 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6551576 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6584344 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6649880 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6780952 | 6518808
-> [ 16.000000] (9:node@c-8.me) 7043096 | 6518808
-> [ 16.000000] (9:node@c-8.me) 7567384 | 6518808
-> [ 16.000000] (9:node@c-8.me) 8615960 | 6518808
-> [ 16.000000] (9:node@c-8.me) 10713112 | 6518808
-> [ 16.000000] (9:node@c-8.me) 14907416 | 6518808
-> [ 16.000000] (9:node@c-8.me) Predecessor: -1
-> [ 26.000000] (4:node@c-3.me) My finger table:
-> [ 26.000000] (4:node@c-3.me) Start | Succ
-> [ 26.000000] (4:node@c-3.me) 1319739 | 42
-> [ 26.000000] (4:node@c-3.me) 1319740 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1319742 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1319746 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1319754 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1319770 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1319802 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1319866 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1319994 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1320250 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1320762 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1321786 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1323834 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1327930 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1336122 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1352506 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1385274 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1450810 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1581882 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1844026 | 1319738
-> [ 26.000000] (4:node@c-3.me) 2368314 | 1319738
-> [ 26.000000] (4:node@c-3.me) 3416890 | 1319738
-> [ 26.000000] (4:node@c-3.me) 5514042 | 1319738
-> [ 26.000000] (4:node@c-3.me) 9708346 | 1319738
-> [ 26.000000] (4:node@c-3.me) Predecessor: 16728096
-> [ 31.000000] (2:node@c-1.me) My finger table:
-> [ 31.000000] (2:node@c-1.me) Start | Succ
-> [ 31.000000] (2:node@c-1.me) 366681 | 42
-> [ 31.000000] (2:node@c-1.me) 366682 | 366680
-> [ 31.000000] (2:node@c-1.me) 366684 | 366680
-> [ 31.000000] (2:node@c-1.me) 366688 | 366680
-> [ 31.000000] (2:node@c-1.me) 366696 | 366680
-> [ 31.000000] (2:node@c-1.me) 366712 | 366680
-> [ 31.000000] (2:node@c-1.me) 366744 | 366680
-> [ 31.000000] (2:node@c-1.me) 366808 | 366680
-> [ 31.000000] (2:node@c-1.me) 366936 | 366680
-> [ 31.000000] (2:node@c-1.me) 367192 | 366680
-> [ 31.000000] (2:node@c-1.me) 367704 | 366680
-> [ 31.000000] (2:node@c-1.me) 368728 | 366680
-> [ 31.000000] (2:node@c-1.me) 370776 | 366680
-> [ 31.000000] (2:node@c-1.me) 374872 | 366680
-> [ 31.000000] (2:node@c-1.me) 383064 | 366680
-> [ 31.000000] (2:node@c-1.me) 399448 | 366680
-> [ 31.000000] (2:node@c-1.me) 432216 | 366680
-> [ 31.000000] (2:node@c-1.me) 497752 | 366680
-> [ 31.000000] (2:node@c-1.me) 628824 | 366680
-> [ 31.000000] (2:node@c-1.me) 890968 | 366680
-> [ 31.000000] (2:node@c-1.me) 1415256 | 366680
-> [ 31.000000] (2:node@c-1.me) 2463832 | 366680
-> [ 31.000000] (2:node@c-1.me) 4560984 | 366680
-> [ 31.000000] (2:node@c-1.me) 8755288 | 366680
-> [ 31.000000] (2:node@c-1.me) Predecessor: 16509405
-> [ 32.000000] (5:node@c-4.me) My finger table:
-> [ 32.000000] (5:node@c-4.me) Start | Succ
-> [ 32.000000] (5:node@c-4.me) 16509406 | 366680
-> [ 32.000000] (5:node@c-4.me) 16509407 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16509409 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16509413 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16509421 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16509437 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16509469 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16509533 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16509661 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16509917 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16510429 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16511453 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16513501 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16517597 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16525789 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16542173 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16574941 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16640477 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16771549 | 16509405
-> [ 32.000000] (5:node@c-4.me) 256477 | 16509405
-> [ 32.000000] (5:node@c-4.me) 780765 | 16509405
-> [ 32.000000] (5:node@c-4.me) 1829341 | 16509405
-> [ 32.000000] (5:node@c-4.me) 3926493 | 16509405
-> [ 32.000000] (5:node@c-4.me) 8120797 | 16509405
-> [ 32.000000] (5:node@c-4.me) Predecessor: 10004760
-> [ 38.000000] (3:node@c-2.me) My finger table:
-> [ 38.000000] (3:node@c-2.me) Start | Succ
-> [ 38.000000] (3:node@c-2.me) 533745 | 16509405
-> [ 38.000000] (3:node@c-2.me) 533746 | 533744
-> [ 38.000000] (3:node@c-2.me) 533748 | 533744
-> [ 38.000000] (3:node@c-2.me) 533752 | 533744
-> [ 38.000000] (3:node@c-2.me) 533760 | 533744
-> [ 38.000000] (3:node@c-2.me) 533776 | 533744
-> [ 38.000000] (3:node@c-2.me) 533808 | 533744
-> [ 38.000000] (3:node@c-2.me) 533872 | 533744
-> [ 38.000000] (3:node@c-2.me) 534000 | 533744
-> [ 38.000000] (3:node@c-2.me) 534256 | 533744
-> [ 38.000000] (3:node@c-2.me) 534768 | 533744
-> [ 38.000000] (3:node@c-2.me) 535792 | 533744
-> [ 38.000000] (3:node@c-2.me) 537840 | 533744
-> [ 38.000000] (3:node@c-2.me) 541936 | 533744
-> [ 38.000000] (3:node@c-2.me) 550128 | 533744
-> [ 38.000000] (3:node@c-2.me) 566512 | 533744
-> [ 38.000000] (3:node@c-2.me) 599280 | 533744
-> [ 38.000000] (3:node@c-2.me) 664816 | 533744
-> [ 38.000000] (3:node@c-2.me) 795888 | 533744
-> [ 38.000000] (3:node@c-2.me) 1058032 | 533744
-> [ 38.000000] (3:node@c-2.me) 1582320 | 533744
-> [ 38.000000] (3:node@c-2.me) 2630896 | 533744
-> [ 38.000000] (3:node@c-2.me) 4728048 | 533744
-> [ 38.000000] (3:node@c-2.me) 8922352 | 533744
-> [ 38.000000] (3:node@c-2.me) Predecessor: 10874876
-> [ 50.000000] (1:node@c-0.me) My finger table:
-> [ 50.000000] (1:node@c-0.me) Start | Succ
-> [ 50.000000] (1:node@c-0.me) 43 | 42
-> [ 50.000000] (1:node@c-0.me) 44 | 42
-> [ 50.000000] (1:node@c-0.me) 46 | 42
-> [ 50.000000] (1:node@c-0.me) 50 | 42
-> [ 50.000000] (1:node@c-0.me) 58 | 42
-> [ 50.000000] (1:node@c-0.me) 74 | 42
-> [ 50.000000] (1:node@c-0.me) 106 | 42
-> [ 50.000000] (1:node@c-0.me) 170 | 42
-> [ 50.000000] (1:node@c-0.me) 298 | 42
-> [ 50.000000] (1:node@c-0.me) 554 | 42
-> [ 50.000000] (1:node@c-0.me) 1066 | 42
-> [ 50.000000] (1:node@c-0.me) 2090 | 42
-> [ 50.000000] (1:node@c-0.me) 4138 | 42
-> [ 50.000000] (1:node@c-0.me) 8234 | 42
-> [ 50.000000] (1:node@c-0.me) 16426 | 42
-> [ 50.000000] (1:node@c-0.me) 32810 | 42
-> [ 50.000000] (1:node@c-0.me) 65578 | 42
-> [ 50.000000] (1:node@c-0.me) 131114 | 42
-> [ 50.000000] (1:node@c-0.me) 262186 | 42
-> [ 50.000000] (1:node@c-0.me) 524330 | 42
-> [ 50.000000] (1:node@c-0.me) 1048618 | 42
-> [ 50.000000] (1:node@c-0.me) 2097194 | 42
-> [ 50.000000] (1:node@c-0.me) 4194346 | 42
-> [ 50.000000] (1:node@c-0.me) 8388650 | 42
-> [ 50.000000] (1:node@c-0.me) Predecessor: 366680
-> [ 60.000000] (1:node@c-0.me) My finger table:
-> [ 60.000000] (1:node@c-0.me) Start | Succ
-> [ 60.000000] (1:node@c-0.me) 43 | 42
-> [ 60.000000] (1:node@c-0.me) 44 | 42
-> [ 60.000000] (1:node@c-0.me) 46 | 42
-> [ 60.000000] (1:node@c-0.me) 50 | 42
-> [ 60.000000] (1:node@c-0.me) 58 | 42
-> [ 60.000000] (1:node@c-0.me) 74 | 42
-> [ 60.000000] (1:node@c-0.me) 106 | 42
-> [ 60.000000] (1:node@c-0.me) 170 | 42
-> [ 60.000000] (1:node@c-0.me) 298 | 42
-> [ 60.000000] (1:node@c-0.me) 554 | 42
-> [ 60.000000] (1:node@c-0.me) 1066 | 42
-> [ 60.000000] (1:node@c-0.me) 2090 | 42
-> [ 60.000000] (1:node@c-0.me) 4138 | 42
-> [ 60.000000] (1:node@c-0.me) 8234 | 42
-> [ 60.000000] (1:node@c-0.me) 16426 | 42
-> [ 60.000000] (1:node@c-0.me) 32810 | 42
-> [ 60.000000] (1:node@c-0.me) 65578 | 42
-> [ 60.000000] (1:node@c-0.me) 131114 | 42
-> [ 60.000000] (1:node@c-0.me) 262186 | 42
-> [ 60.000000] (1:node@c-0.me) 524330 | 42
-> [ 60.000000] (1:node@c-0.me) 1048618 | 42
-> [ 60.000000] (1:node@c-0.me) 2097194 | 42
-> [ 60.000000] (1:node@c-0.me) 4194346 | 42
-> [ 60.000000] (1:node@c-0.me) 8388650 | 42
-> [ 60.000000] (1:node@c-0.me) Predecessor: 1319738
-> [ 70.000000] (1:node@c-0.me) My finger table:
-> [ 70.000000] (1:node@c-0.me) Start | Succ
-> [ 70.000000] (1:node@c-0.me) 43 | 1319738
-> [ 70.000000] (1:node@c-0.me) 44 | 42
-> [ 70.000000] (1:node@c-0.me) 46 | 42
-> [ 70.000000] (1:node@c-0.me) 50 | 42
-> [ 70.000000] (1:node@c-0.me) 58 | 42
-> [ 70.000000] (1:node@c-0.me) 74 | 42
-> [ 70.000000] (1:node@c-0.me) 106 | 42
-> [ 70.000000] (1:node@c-0.me) 170 | 42
-> [ 70.000000] (1:node@c-0.me) 298 | 42
-> [ 70.000000] (1:node@c-0.me) 554 | 42
-> [ 70.000000] (1:node@c-0.me) 1066 | 42
-> [ 70.000000] (1:node@c-0.me) 2090 | 42
-> [ 70.000000] (1:node@c-0.me) 4138 | 42
-> [ 70.000000] (1:node@c-0.me) 8234 | 42
-> [ 70.000000] (1:node@c-0.me) 16426 | 42
-> [ 70.000000] (1:node@c-0.me) 32810 | 42
-> [ 70.000000] (1:node@c-0.me) 65578 | 42
-> [ 70.000000] (1:node@c-0.me) 131114 | 42
-> [ 70.000000] (1:node@c-0.me) 262186 | 42
-> [ 70.000000] (1:node@c-0.me) 524330 | 42
-> [ 70.000000] (1:node@c-0.me) 1048618 | 42
-> [ 70.000000] (1:node@c-0.me) 2097194 | 42
-> [ 70.000000] (1:node@c-0.me) 4194346 | 42
-> [ 70.000000] (1:node@c-0.me) 8388650 | 42
-> [ 70.000000] (1:node@c-0.me) Predecessor: 6518808
-> [ 85.000000] (4:node@c-3.me) My finger table:
-> [ 85.000000] (4:node@c-3.me) Start | Succ
-> [ 85.000000] (4:node@c-3.me) 1319739 | 6518808
-> [ 85.000000] (4:node@c-3.me) 1319740 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1319742 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1319746 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1319754 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1319770 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1319802 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1319866 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1319994 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1320250 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1320762 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1321786 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1323834 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1327930 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1336122 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1352506 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1385274 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1450810 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1581882 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1844026 | 1319738
-> [ 85.000000] (4:node@c-3.me) 2368314 | 1319738
-> [ 85.000000] (4:node@c-3.me) 3416890 | 1319738
-> [ 85.000000] (4:node@c-3.me) 5514042 | 1319738
-> [ 85.000000] (4:node@c-3.me) 9708346 | 1319738
-> [ 85.000000] (4:node@c-3.me) Predecessor: 42
-> [ 86.000000] (8:node@c-7.me) My finger table:
-> [ 86.000000] (8:node@c-7.me) Start | Succ
-> [ 86.000000] (8:node@c-7.me) 10004761 | 16509405
-> [ 86.000000] (8:node@c-7.me) 10004762 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10004764 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10004768 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10004776 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10004792 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10004824 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10004888 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10005016 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10005272 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10005784 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10006808 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10008856 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10012952 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10021144 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10037528 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10070296 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10135832 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10266904 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10529048 | 10004760
-> [ 86.000000] (8:node@c-7.me) 11053336 | 10004760
-> [ 86.000000] (8:node@c-7.me) 12101912 | 10004760
-> [ 86.000000] (8:node@c-7.me) 14199064 | 10004760
-> [ 86.000000] (8:node@c-7.me) 1616152 | 10004760
-> [ 86.000000] (8:node@c-7.me) Predecessor: 533744
-> [ 90.000000] (7:node@c-6.me) My finger table:
-> [ 90.000000] (7:node@c-6.me) Start | Succ
-> [ 90.000000] (7:node@c-6.me) 16728097 | 1319738
-> [ 90.000000] (7:node@c-6.me) 16728098 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16728100 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16728104 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16728112 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16728128 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16728160 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16728224 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16728352 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16728608 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16729120 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16730144 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16732192 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16736288 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16744480 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16760864 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16416 | 16728096
-> [ 90.000000] (7:node@c-6.me) 81952 | 16728096
-> [ 90.000000] (7:node@c-6.me) 213024 | 16728096
-> [ 90.000000] (7:node@c-6.me) 475168 | 16728096
-> [ 90.000000] (7:node@c-6.me) 999456 | 16728096
-> [ 90.000000] (7:node@c-6.me) 2048032 | 16728096
-> [ 90.000000] (7:node@c-6.me) 4145184 | 16728096
-> [ 90.000000] (7:node@c-6.me) 8339488 | 16728096
-> [ 90.000000] (7:node@c-6.me) Predecessor: 2015253
-> [ 109.000000] (9:node@c-8.me) My finger table:
-> [ 109.000000] (9:node@c-8.me) Start | Succ
-> [ 109.000000] (9:node@c-8.me) 6518809 | 42
-> [ 109.000000] (9:node@c-8.me) 6518810 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6518812 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6518816 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6518824 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6518840 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6518872 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6518936 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6519064 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6519320 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6519832 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6520856 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6522904 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6527000 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6535192 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6551576 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6584344 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6649880 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6780952 | 6518808
-> [ 109.000000] (9:node@c-8.me) 7043096 | 6518808
-> [ 109.000000] (9:node@c-8.me) 7567384 | 6518808
-> [ 109.000000] (9:node@c-8.me) 8615960 | 6518808
-> [ 109.000000] (9:node@c-8.me) 10713112 | 6518808
-> [ 109.000000] (9:node@c-8.me) 14907416 | 6518808
-> [ 109.000000] (9:node@c-8.me) Predecessor: 366680
-> [ 110.000000] (9:node@c-8.me) My finger table:
-> [ 110.000000] (9:node@c-8.me) Start | Succ
-> [ 110.000000] (9:node@c-8.me) 6518809 | 42
-> [ 110.000000] (9:node@c-8.me) 6518810 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6518812 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6518816 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6518824 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6518840 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6518872 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6518936 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6519064 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6519320 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6519832 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6520856 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6522904 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6527000 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6535192 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6551576 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6584344 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6649880 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6780952 | 6518808
-> [ 110.000000] (9:node@c-8.me) 7043096 | 6518808
-> [ 110.000000] (9:node@c-8.me) 7567384 | 6518808
-> [ 110.000000] (9:node@c-8.me) 8615960 | 6518808
-> [ 110.000000] (9:node@c-8.me) 10713112 | 6518808
-> [ 110.000000] (9:node@c-8.me) 14907416 | 6518808
-> [ 110.000000] (9:node@c-8.me) Predecessor: 1319738
-> [ 174.000000] (1:node@c-0.me) My finger table:
-> [ 174.000000] (1:node@c-0.me) Start | Succ
-> [ 174.000000] (1:node@c-0.me) 43 | 1319738
-> [ 174.000000] (1:node@c-0.me) 44 | 42
-> [ 174.000000] (1:node@c-0.me) 46 | 42
-> [ 174.000000] (1:node@c-0.me) 50 | 42
-> [ 174.000000] (1:node@c-0.me) 58 | 42
-> [ 174.000000] (1:node@c-0.me) 74 | 42
-> [ 174.000000] (1:node@c-0.me) 106 | 42
-> [ 174.000000] (1:node@c-0.me) 170 | 42
-> [ 174.000000] (1:node@c-0.me) 298 | 42
-> [ 174.000000] (1:node@c-0.me) 554 | 42
-> [ 174.000000] (1:node@c-0.me) 1066 | 42
-> [ 174.000000] (1:node@c-0.me) 2090 | 42
-> [ 174.000000] (1:node@c-0.me) 4138 | 42
-> [ 174.000000] (1:node@c-0.me) 8234 | 42
-> [ 174.000000] (1:node@c-0.me) 16426 | 42
-> [ 174.000000] (1:node@c-0.me) 32810 | 42
-> [ 174.000000] (1:node@c-0.me) 65578 | 42
-> [ 174.000000] (1:node@c-0.me) 131114 | 42
-> [ 174.000000] (1:node@c-0.me) 262186 | 42
-> [ 174.000000] (1:node@c-0.me) 524330 | 42
-> [ 174.000000] (1:node@c-0.me) 1048618 | 42
-> [ 174.000000] (1:node@c-0.me) 2097194 | 42
-> [ 174.000000] (1:node@c-0.me) 4194346 | 42
-> [ 174.000000] (1:node@c-0.me) 8388650 | 42
-> [ 174.000000] (1:node@c-0.me) Predecessor: 16728096
-> [ 245.000000] (8:node@c-7.me) My finger table:
-> [ 245.000000] (8:node@c-7.me) Start | Succ
-> [ 245.000000] (8:node@c-7.me) 10004761 | 16509405
-> [ 245.000000] (8:node@c-7.me) 10004762 | 16509405
-> [ 245.000000] (8:node@c-7.me) 10004764 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10004768 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10004776 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10004792 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10004824 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10004888 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10005016 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10005272 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10005784 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10006808 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10008856 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10012952 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10021144 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10037528 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10070296 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10135832 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10266904 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10529048 | 10004760
-> [ 245.000000] (8:node@c-7.me) 11053336 | 10004760
-> [ 245.000000] (8:node@c-7.me) 12101912 | 10004760
-> [ 245.000000] (8:node@c-7.me) 14199064 | 10004760
-> [ 245.000000] (8:node@c-7.me) 1616152 | 10004760
-> [ 245.000000] (8:node@c-7.me) Predecessor: 533744
-> [ 246.000000] (3:node@c-2.me) My finger table:
-> [ 246.000000] (3:node@c-2.me) Start | Succ
-> [ 246.000000] (3:node@c-2.me) 533745 | 10004760
-> [ 246.000000] (3:node@c-2.me) 533746 | 10004760
-> [ 246.000000] (3:node@c-2.me) 533748 | 533744
-> [ 246.000000] (3:node@c-2.me) 533752 | 533744
-> [ 246.000000] (3:node@c-2.me) 533760 | 533744
-> [ 246.000000] (3:node@c-2.me) 533776 | 533744
-> [ 246.000000] (3:node@c-2.me) 533808 | 533744
-> [ 246.000000] (3:node@c-2.me) 533872 | 533744
-> [ 246.000000] (3:node@c-2.me) 534000 | 533744
-> [ 246.000000] (3:node@c-2.me) 534256 | 533744
-> [ 246.000000] (3:node@c-2.me) 534768 | 533744
-> [ 246.000000] (3:node@c-2.me) 535792 | 533744
-> [ 246.000000] (3:node@c-2.me) 537840 | 533744
-> [ 246.000000] (3:node@c-2.me) 541936 | 533744
-> [ 246.000000] (3:node@c-2.me) 550128 | 533744
-> [ 246.000000] (3:node@c-2.me) 566512 | 533744
-> [ 246.000000] (3:node@c-2.me) 599280 | 533744
-> [ 246.000000] (3:node@c-2.me) 664816 | 533744
-> [ 246.000000] (3:node@c-2.me) 795888 | 533744
-> [ 246.000000] (3:node@c-2.me) 1058032 | 533744
-> [ 246.000000] (3:node@c-2.me) 1582320 | 533744
-> [ 246.000000] (3:node@c-2.me) 2630896 | 533744
-> [ 246.000000] (3:node@c-2.me) 4728048 | 533744
-> [ 246.000000] (3:node@c-2.me) 8922352 | 533744
-> [ 246.000000] (3:node@c-2.me) Predecessor: 10874876
-> [ 246.000000] (5:node@c-4.me) My finger table:
-> [ 246.000000] (5:node@c-4.me) Start | Succ
-> [ 246.000000] (5:node@c-4.me) 16509406 | 366680
-> [ 246.000000] (5:node@c-4.me) 16509407 | 366680
-> [ 246.000000] (5:node@c-4.me) 16509409 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16509413 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16509421 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16509437 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16509469 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16509533 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16509661 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16509917 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16510429 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16511453 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16513501 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16517597 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16525789 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16542173 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16574941 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16640477 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16771549 | 16509405
-> [ 246.000000] (5:node@c-4.me) 256477 | 16509405
-> [ 246.000000] (5:node@c-4.me) 780765 | 16509405
-> [ 246.000000] (5:node@c-4.me) 1829341 | 16509405
-> [ 246.000000] (5:node@c-4.me) 3926493 | 16509405
-> [ 246.000000] (5:node@c-4.me) 8120797 | 16509405
-> [ 246.000000] (5:node@c-4.me) Predecessor: 10004760
-> [ 247.000000] (6:node@c-5.me) My finger table:
-> [ 247.000000] (6:node@c-5.me) Start | Succ
-> [ 247.000000] (6:node@c-5.me) 10874877 | 533744
-> [ 247.000000] (6:node@c-5.me) 10874878 | 533744
-> [ 247.000000] (6:node@c-5.me) 10874880 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10874884 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10874892 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10874908 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10874940 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10875004 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10875132 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10875388 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10875900 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10876924 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10878972 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10883068 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10891260 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10907644 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10940412 | 10874876
-> [ 247.000000] (6:node@c-5.me) 11005948 | 10874876
-> [ 247.000000] (6:node@c-5.me) 11137020 | 10874876
-> [ 247.000000] (6:node@c-5.me) 11399164 | 10874876
-> [ 247.000000] (6:node@c-5.me) 11923452 | 10874876
-> [ 247.000000] (6:node@c-5.me) 12972028 | 10874876
-> [ 247.000000] (6:node@c-5.me) 15069180 | 10874876
-> [ 247.000000] (6:node@c-5.me) 2486268 | 10874876
-> [ 247.000000] (6:node@c-5.me) Predecessor: -1
-> [ 247.000000] (7:node@c-6.me) My finger table:
-> [ 247.000000] (7:node@c-6.me) Start | Succ
-> [ 247.000000] (7:node@c-6.me) 16728097 | 42
-> [ 247.000000] (7:node@c-6.me) 16728098 | 42
-> [ 247.000000] (7:node@c-6.me) 16728100 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16728104 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16728112 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16728128 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16728160 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16728224 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16728352 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16728608 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16729120 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16730144 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16732192 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16736288 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16744480 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16760864 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16416 | 16728096
-> [ 247.000000] (7:node@c-6.me) 81952 | 16728096
-> [ 247.000000] (7:node@c-6.me) 213024 | 16728096
-> [ 247.000000] (7:node@c-6.me) 475168 | 16728096
-> [ 247.000000] (7:node@c-6.me) 999456 | 16728096
-> [ 247.000000] (7:node@c-6.me) 2048032 | 16728096
-> [ 247.000000] (7:node@c-6.me) 4145184 | 16728096
-> [ 247.000000] (7:node@c-6.me) 8339488 | 16728096
-> [ 247.000000] (7:node@c-6.me) Predecessor: 2015253
-> [ 253.000000] (1:node@c-0.me) My finger table:
-> [ 253.000000] (1:node@c-0.me) Start | Succ
-> [ 253.000000] (1:node@c-0.me) 43 | 1319738
-> [ 253.000000] (1:node@c-0.me) 44 | 1319738
-> [ 253.000000] (1:node@c-0.me) 46 | 42
-> [ 253.000000] (1:node@c-0.me) 50 | 42
-> [ 253.000000] (1:node@c-0.me) 58 | 42
-> [ 253.000000] (1:node@c-0.me) 74 | 42
-> [ 253.000000] (1:node@c-0.me) 106 | 42
-> [ 253.000000] (1:node@c-0.me) 170 | 42
-> [ 253.000000] (1:node@c-0.me) 298 | 42
-> [ 253.000000] (1:node@c-0.me) 554 | 42
-> [ 253.000000] (1:node@c-0.me) 1066 | 42
-> [ 253.000000] (1:node@c-0.me) 2090 | 42
-> [ 253.000000] (1:node@c-0.me) 4138 | 42
-> [ 253.000000] (1:node@c-0.me) 8234 | 42
-> [ 253.000000] (1:node@c-0.me) 16426 | 42
-> [ 253.000000] (1:node@c-0.me) 32810 | 42
-> [ 253.000000] (1:node@c-0.me) 65578 | 42
-> [ 253.000000] (1:node@c-0.me) 131114 | 42
-> [ 253.000000] (1:node@c-0.me) 262186 | 42
-> [ 253.000000] (1:node@c-0.me) 524330 | 42
-> [ 253.000000] (1:node@c-0.me) 1048618 | 42
-> [ 253.000000] (1:node@c-0.me) 2097194 | 42
-> [ 253.000000] (1:node@c-0.me) 4194346 | 42
-> [ 253.000000] (1:node@c-0.me) 8388650 | 42
-> [ 253.000000] (1:node@c-0.me) Predecessor: 16728096
-> [ 255.000000] (2:node@c-1.me) My finger table:
-> [ 255.000000] (2:node@c-1.me) Start | Succ
-> [ 255.000000] (2:node@c-1.me) 366681 | 1319738
-> [ 255.000000] (2:node@c-1.me) 366682 | 1319738
-> [ 255.000000] (2:node@c-1.me) 366684 | 366680
-> [ 255.000000] (2:node@c-1.me) 366688 | 366680
-> [ 255.000000] (2:node@c-1.me) 366696 | 366680
-> [ 255.000000] (2:node@c-1.me) 366712 | 366680
-> [ 255.000000] (2:node@c-1.me) 366744 | 366680
-> [ 255.000000] (2:node@c-1.me) 366808 | 366680
-> [ 255.000000] (2:node@c-1.me) 366936 | 366680
-> [ 255.000000] (2:node@c-1.me) 367192 | 366680
-> [ 255.000000] (2:node@c-1.me) 367704 | 366680
-> [ 255.000000] (2:node@c-1.me) 368728 | 366680
-> [ 255.000000] (2:node@c-1.me) 370776 | 366680
-> [ 255.000000] (2:node@c-1.me) 374872 | 366680
-> [ 255.000000] (2:node@c-1.me) 383064 | 366680
-> [ 255.000000] (2:node@c-1.me) 399448 | 366680
-> [ 255.000000] (2:node@c-1.me) 432216 | 366680
-> [ 255.000000] (2:node@c-1.me) 497752 | 366680
-> [ 255.000000] (2:node@c-1.me) 628824 | 366680
-> [ 255.000000] (2:node@c-1.me) 890968 | 366680
-> [ 255.000000] (2:node@c-1.me) 1415256 | 366680
-> [ 255.000000] (2:node@c-1.me) 2463832 | 366680
-> [ 255.000000] (2:node@c-1.me) 4560984 | 366680
-> [ 255.000000] (2:node@c-1.me) 8755288 | 366680
-> [ 255.000000] (2:node@c-1.me) Predecessor: 16509405
-> [ 260.000000] (4:node@c-3.me) My finger table:
-> [ 260.000000] (4:node@c-3.me) Start | Succ
-> [ 260.000000] (4:node@c-3.me) 1319739 | 6518808
-> [ 260.000000] (4:node@c-3.me) 1319740 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1319742 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1319746 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1319754 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1319770 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1319802 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1319866 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1319994 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1320250 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1320762 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1321786 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1323834 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1327930 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1336122 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1352506 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1385274 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1450810 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1581882 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1844026 | 1319738
-> [ 260.000000] (4:node@c-3.me) 2368314 | 1319738
-> [ 260.000000] (4:node@c-3.me) 3416890 | 1319738
-> [ 260.000000] (4:node@c-3.me) 5514042 | 1319738
-> [ 260.000000] (4:node@c-3.me) 9708346 | 1319738
-> [ 260.000000] (4:node@c-3.me) Predecessor: 366680
-> [ 292.000000] (7:node@c-6.me) My finger table:
-> [ 292.000000] (7:node@c-6.me) Start | Succ
-> [ 292.000000] (7:node@c-6.me) 16728097 | 42
-> [ 292.000000] (7:node@c-6.me) 16728098 | 42
-> [ 292.000000] (7:node@c-6.me) 16728100 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16728104 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16728112 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16728128 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16728160 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16728224 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16728352 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16728608 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16729120 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16730144 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16732192 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16736288 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16744480 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16760864 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16416 | 16728096
-> [ 292.000000] (7:node@c-6.me) 81952 | 16728096
-> [ 292.000000] (7:node@c-6.me) 213024 | 16728096
-> [ 292.000000] (7:node@c-6.me) 475168 | 16728096
-> [ 292.000000] (7:node@c-6.me) 999456 | 16728096
-> [ 292.000000] (7:node@c-6.me) 2048032 | 16728096
-> [ 292.000000] (7:node@c-6.me) 4145184 | 16728096
-> [ 292.000000] (7:node@c-6.me) 8339488 | 16728096
-> [ 292.000000] (7:node@c-6.me) Predecessor: 6518808
-> [ 300.000000] (9:node@c-8.me) My finger table:
-> [ 300.000000] (9:node@c-8.me) Start | Succ
-> [ 300.000000] (9:node@c-8.me) 6518809 | 16728096
-> [ 300.000000] (9:node@c-8.me) 6518810 | 16728096
-> [ 300.000000] (9:node@c-8.me) 6518812 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6518816 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6518824 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6518840 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6518872 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6518936 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6519064 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6519320 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6519832 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6520856 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6522904 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6527000 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6535192 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6551576 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6584344 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6649880 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6780952 | 6518808
-> [ 300.000000] (9:node@c-8.me) 7043096 | 6518808
-> [ 300.000000] (9:node@c-8.me) 7567384 | 6518808
-> [ 300.000000] (9:node@c-8.me) 8615960 | 6518808
-> [ 300.000000] (9:node@c-8.me) 10713112 | 6518808
-> [ 300.000000] (9:node@c-8.me) 14907416 | 6518808
-> [ 300.000000] (9:node@c-8.me) Predecessor: 1319738
-> [ 301.000000] (10:node@c-9.me) My finger table:
-> [ 301.000000] (10:node@c-9.me) Start | Succ
-> [ 301.000000] (10:node@c-9.me) 2015254 | 16728096
-> [ 301.000000] (10:node@c-9.me) 2015255 | 16728096
-> [ 301.000000] (10:node@c-9.me) 2015257 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2015261 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2015269 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2015285 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2015317 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2015381 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2015509 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2015765 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2016277 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2017301 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2019349 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2023445 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2031637 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2048021 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2080789 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2146325 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2277397 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2539541 | 2015253
-> [ 301.000000] (10:node@c-9.me) 3063829 | 2015253
-> [ 301.000000] (10:node@c-9.me) 4112405 | 2015253
-> [ 301.000000] (10:node@c-9.me) 6209557 | 2015253
-> [ 301.000000] (10:node@c-9.me) 10403861 | 2015253
-> [ 301.000000] (10:node@c-9.me) Predecessor: -1
-> [ 302.000000] (2:node@c-1.me) My finger table:
-> [ 302.000000] (2:node@c-1.me) Start | Succ
-> [ 302.000000] (2:node@c-1.me) 366681 | 1319738
-> [ 302.000000] (2:node@c-1.me) 366682 | 1319738
-> [ 302.000000] (2:node@c-1.me) 366684 | 366680
-> [ 302.000000] (2:node@c-1.me) 366688 | 366680
-> [ 302.000000] (2:node@c-1.me) 366696 | 366680
-> [ 302.000000] (2:node@c-1.me) 366712 | 366680
-> [ 302.000000] (2:node@c-1.me) 366744 | 366680
-> [ 302.000000] (2:node@c-1.me) 366808 | 366680
-> [ 302.000000] (2:node@c-1.me) 366936 | 366680
-> [ 302.000000] (2:node@c-1.me) 367192 | 366680
-> [ 302.000000] (2:node@c-1.me) 367704 | 366680
-> [ 302.000000] (2:node@c-1.me) 368728 | 366680
-> [ 302.000000] (2:node@c-1.me) 370776 | 366680
-> [ 302.000000] (2:node@c-1.me) 374872 | 366680
-> [ 302.000000] (2:node@c-1.me) 383064 | 366680
-> [ 302.000000] (2:node@c-1.me) 399448 | 366680
-> [ 302.000000] (2:node@c-1.me) 432216 | 366680
-> [ 302.000000] (2:node@c-1.me) 497752 | 366680
-> [ 302.000000] (2:node@c-1.me) 628824 | 366680
-> [ 302.000000] (2:node@c-1.me) 890968 | 366680
-> [ 302.000000] (2:node@c-1.me) 1415256 | 366680
-> [ 302.000000] (2:node@c-1.me) 2463832 | 366680
-> [ 302.000000] (2:node@c-1.me) 4560984 | 366680
-> [ 302.000000] (2:node@c-1.me) 8755288 | 366680
-> [ 302.000000] (2:node@c-1.me) Predecessor: 42
-> [ 306.000000] (4:node@c-3.me) My finger table:
-> [ 306.000000] (4:node@c-3.me) Start | Succ
-> [ 306.000000] (4:node@c-3.me) 1319739 | 6518808
-> [ 306.000000] (4:node@c-3.me) 1319740 | 6518808
-> [ 306.000000] (4:node@c-3.me) 1319742 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1319746 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1319754 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1319770 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1319802 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1319866 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1319994 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1320250 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1320762 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1321786 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1323834 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1327930 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1336122 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1352506 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1385274 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1450810 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1581882 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1844026 | 1319738
-> [ 306.000000] (4:node@c-3.me) 2368314 | 1319738
-> [ 306.000000] (4:node@c-3.me) 3416890 | 1319738
-> [ 306.000000] (4:node@c-3.me) 5514042 | 1319738
-> [ 306.000000] (4:node@c-3.me) 9708346 | 1319738
-> [ 306.000000] (4:node@c-3.me) Predecessor: 366680
-> [ 339.000000] (9:node@c-8.me) My finger table:
-> [ 339.000000] (9:node@c-8.me) Start | Succ
-> [ 339.000000] (9:node@c-8.me) 6518809 | 16728096
-> [ 339.000000] (9:node@c-8.me) 6518810 | 16728096
-> [ 339.000000] (9:node@c-8.me) 6518812 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6518816 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6518824 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6518840 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6518872 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6518936 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6519064 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6519320 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6519832 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6520856 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6522904 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6527000 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6535192 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6551576 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6584344 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6649880 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6780952 | 6518808
-> [ 339.000000] (9:node@c-8.me) 7043096 | 6518808
-> [ 339.000000] (9:node@c-8.me) 7567384 | 6518808
-> [ 339.000000] (9:node@c-8.me) 8615960 | 6518808
-> [ 339.000000] (9:node@c-8.me) 10713112 | 6518808
-> [ 339.000000] (9:node@c-8.me) 14907416 | 6518808
-> [ 339.000000] (9:node@c-8.me) Predecessor: 2015253
-> [ 367.000000] (6:node@c-5.me) My finger table:
-> [ 367.000000] (6:node@c-5.me) Start | Succ
-> [ 367.000000] (6:node@c-5.me) 10874877 | 533744
-> [ 367.000000] (6:node@c-5.me) 10874878 | 533744
-> [ 367.000000] (6:node@c-5.me) 10874880 | 533744
-> [ 367.000000] (6:node@c-5.me) 10874884 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10874892 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10874908 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10874940 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10875004 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10875132 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10875388 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10875900 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10876924 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10878972 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10883068 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10891260 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10907644 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10940412 | 10874876
-> [ 367.000000] (6:node@c-5.me) 11005948 | 10874876
-> [ 367.000000] (6:node@c-5.me) 11137020 | 10874876
-> [ 367.000000] (6:node@c-5.me) 11399164 | 10874876
-> [ 367.000000] (6:node@c-5.me) 11923452 | 10874876
-> [ 367.000000] (6:node@c-5.me) 12972028 | 10874876
-> [ 367.000000] (6:node@c-5.me) 15069180 | 10874876
-> [ 367.000000] (6:node@c-5.me) 2486268 | 10874876
-> [ 367.000000] (6:node@c-5.me) Predecessor: -1
-> [ 368.000000] (3:node@c-2.me) My finger table:
-> [ 368.000000] (3:node@c-2.me) Start | Succ
-> [ 368.000000] (3:node@c-2.me) 533745 | 10004760
-> [ 368.000000] (3:node@c-2.me) 533746 | 10004760
-> [ 368.000000] (3:node@c-2.me) 533748 | 10004760
-> [ 368.000000] (3:node@c-2.me) 533752 | 533744
-> [ 368.000000] (3:node@c-2.me) 533760 | 533744
-> [ 368.000000] (3:node@c-2.me) 533776 | 533744
-> [ 368.000000] (3:node@c-2.me) 533808 | 533744
-> [ 368.000000] (3:node@c-2.me) 533872 | 533744
-> [ 368.000000] (3:node@c-2.me) 534000 | 533744
-> [ 368.000000] (3:node@c-2.me) 534256 | 533744
-> [ 368.000000] (3:node@c-2.me) 534768 | 533744
-> [ 368.000000] (3:node@c-2.me) 535792 | 533744
-> [ 368.000000] (3:node@c-2.me) 537840 | 533744
-> [ 368.000000] (3:node@c-2.me) 541936 | 533744
-> [ 368.000000] (3:node@c-2.me) 550128 | 533744
-> [ 368.000000] (3:node@c-2.me) 566512 | 533744
-> [ 368.000000] (3:node@c-2.me) 599280 | 533744
-> [ 368.000000] (3:node@c-2.me) 664816 | 533744
-> [ 368.000000] (3:node@c-2.me) 795888 | 533744
-> [ 368.000000] (3:node@c-2.me) 1058032 | 533744
-> [ 368.000000] (3:node@c-2.me) 1582320 | 533744
-> [ 368.000000] (3:node@c-2.me) 2630896 | 533744
-> [ 368.000000] (3:node@c-2.me) 4728048 | 533744
-> [ 368.000000] (3:node@c-2.me) 8922352 | 533744
-> [ 368.000000] (3:node@c-2.me) Predecessor: 10874876
-> [ 368.000000] (5:node@c-4.me) My finger table:
-> [ 368.000000] (5:node@c-4.me) Start | Succ
-> [ 368.000000] (5:node@c-4.me) 16509406 | 16728096
-> [ 368.000000] (5:node@c-4.me) 16509407 | 366680
-> [ 368.000000] (5:node@c-4.me) 16509409 | 16728096
-> [ 368.000000] (5:node@c-4.me) 16509413 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16509421 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16509437 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16509469 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16509533 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16509661 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16509917 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16510429 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16511453 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16513501 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16517597 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16525789 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16542173 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16574941 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16640477 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16771549 | 16509405
-> [ 368.000000] (5:node@c-4.me) 256477 | 16509405
-> [ 368.000000] (5:node@c-4.me) 780765 | 16509405
-> [ 368.000000] (5:node@c-4.me) 1829341 | 16509405
-> [ 368.000000] (5:node@c-4.me) 3926493 | 16509405
-> [ 368.000000] (5:node@c-4.me) 8120797 | 16509405
-> [ 368.000000] (5:node@c-4.me) Predecessor: 10004760
-> [ 370.000000] (8:node@c-7.me) My finger table:
-> [ 370.000000] (8:node@c-7.me) Start | Succ
-> [ 370.000000] (8:node@c-7.me) 10004761 | 16509405
-> [ 370.000000] (8:node@c-7.me) 10004762 | 16509405
-> [ 370.000000] (8:node@c-7.me) 10004764 | 16509405
-> [ 370.000000] (8:node@c-7.me) 10004768 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10004776 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10004792 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10004824 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10004888 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10005016 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10005272 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10005784 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10006808 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10008856 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10012952 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10021144 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10037528 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10070296 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10135832 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10266904 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10529048 | 10004760
-> [ 370.000000] (8:node@c-7.me) 11053336 | 10004760
-> [ 370.000000] (8:node@c-7.me) 12101912 | 10004760
-> [ 370.000000] (8:node@c-7.me) 14199064 | 10004760
-> [ 370.000000] (8:node@c-7.me) 1616152 | 10004760
-> [ 370.000000] (8:node@c-7.me) Predecessor: 533744
-> [ 373.000000] (7:node@c-6.me) My finger table:
-> [ 373.000000] (7:node@c-6.me) Start | Succ
-> [ 373.000000] (7:node@c-6.me) 16728097 | 42
-> [ 373.000000] (7:node@c-6.me) 16728098 | 42
-> [ 373.000000] (7:node@c-6.me) 16728100 | 42
-> [ 373.000000] (7:node@c-6.me) 16728104 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16728112 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16728128 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16728160 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16728224 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16728352 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16728608 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16729120 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16730144 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16732192 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16736288 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16744480 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16760864 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16416 | 16728096
-> [ 373.000000] (7:node@c-6.me) 81952 | 16728096
-> [ 373.000000] (7:node@c-6.me) 213024 | 16728096
-> [ 373.000000] (7:node@c-6.me) 475168 | 16728096
-> [ 373.000000] (7:node@c-6.me) 999456 | 16728096
-> [ 373.000000] (7:node@c-6.me) 2048032 | 16728096
-> [ 373.000000] (7:node@c-6.me) 4145184 | 16728096
-> [ 373.000000] (7:node@c-6.me) 8339488 | 16728096
-> [ 373.000000] (7:node@c-6.me) Predecessor: 6518808
-> [ 375.000000] (2:node@c-1.me) My finger table:
-> [ 375.000000] (2:node@c-1.me) Start | Succ
-> [ 375.000000] (2:node@c-1.me) 366681 | 1319738
-> [ 375.000000] (2:node@c-1.me) 366682 | 1319738
-> [ 375.000000] (2:node@c-1.me) 366684 | 1319738
-> [ 375.000000] (2:node@c-1.me) 366688 | 366680
-> [ 375.000000] (2:node@c-1.me) 366696 | 366680
-> [ 375.000000] (2:node@c-1.me) 366712 | 366680
-> [ 375.000000] (2:node@c-1.me) 366744 | 366680
-> [ 375.000000] (2:node@c-1.me) 366808 | 366680
-> [ 375.000000] (2:node@c-1.me) 366936 | 366680
-> [ 375.000000] (2:node@c-1.me) 367192 | 366680
-> [ 375.000000] (2:node@c-1.me) 367704 | 366680
-> [ 375.000000] (2:node@c-1.me) 368728 | 366680
-> [ 375.000000] (2:node@c-1.me) 370776 | 366680
-> [ 375.000000] (2:node@c-1.me) 374872 | 366680
-> [ 375.000000] (2:node@c-1.me) 383064 | 366680
-> [ 375.000000] (2:node@c-1.me) 399448 | 366680
-> [ 375.000000] (2:node@c-1.me) 432216 | 366680
-> [ 375.000000] (2:node@c-1.me) 497752 | 366680
-> [ 375.000000] (2:node@c-1.me) 628824 | 366680
-> [ 375.000000] (2:node@c-1.me) 890968 | 366680
-> [ 375.000000] (2:node@c-1.me) 1415256 | 366680
-> [ 375.000000] (2:node@c-1.me) 2463832 | 366680
-> [ 375.000000] (2:node@c-1.me) 4560984 | 366680
-> [ 375.000000] (2:node@c-1.me) 8755288 | 366680
-> [ 375.000000] (2:node@c-1.me) Predecessor: 42
-> [ 382.000000] (1:node@c-0.me) My finger table:
-> [ 382.000000] (1:node@c-0.me) Start | Succ
-> [ 382.000000] (1:node@c-0.me) 43 | 366680
-> [ 382.000000] (1:node@c-0.me) 44 | 1319738
-> [ 382.000000] (1:node@c-0.me) 46 | 366680
-> [ 382.000000] (1:node@c-0.me) 50 | 42
-> [ 382.000000] (1:node@c-0.me) 58 | 42
-> [ 382.000000] (1:node@c-0.me) 74 | 42
-> [ 382.000000] (1:node@c-0.me) 106 | 42
-> [ 382.000000] (1:node@c-0.me) 170 | 42
-> [ 382.000000] (1:node@c-0.me) 298 | 42
-> [ 382.000000] (1:node@c-0.me) 554 | 42
-> [ 382.000000] (1:node@c-0.me) 1066 | 42
-> [ 382.000000] (1:node@c-0.me) 2090 | 42
-> [ 382.000000] (1:node@c-0.me) 4138 | 42
-> [ 382.000000] (1:node@c-0.me) 8234 | 42
-> [ 382.000000] (1:node@c-0.me) 16426 | 42
-> [ 382.000000] (1:node@c-0.me) 32810 | 42
-> [ 382.000000] (1:node@c-0.me) 65578 | 42
-> [ 382.000000] (1:node@c-0.me) 131114 | 42
-> [ 382.000000] (1:node@c-0.me) 262186 | 42
-> [ 382.000000] (1:node@c-0.me) 524330 | 42
-> [ 382.000000] (1:node@c-0.me) 1048618 | 42
-> [ 382.000000] (1:node@c-0.me) 2097194 | 42
-> [ 382.000000] (1:node@c-0.me) 4194346 | 42
-> [ 382.000000] (1:node@c-0.me) 8388650 | 42
-> [ 382.000000] (1:node@c-0.me) Predecessor: 16728096
-> [ 383.000000] (7:node@c-6.me) My finger table:
-> [ 383.000000] (7:node@c-6.me) Start | Succ
-> [ 383.000000] (7:node@c-6.me) 16728097 | 42
-> [ 383.000000] (7:node@c-6.me) 16728098 | 42
-> [ 383.000000] (7:node@c-6.me) 16728100 | 42
-> [ 383.000000] (7:node@c-6.me) 16728104 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16728112 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16728128 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16728160 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16728224 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16728352 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16728608 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16729120 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16730144 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16732192 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16736288 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16744480 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16760864 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16416 | 16728096
-> [ 383.000000] (7:node@c-6.me) 81952 | 16728096
-> [ 383.000000] (7:node@c-6.me) 213024 | 16728096
-> [ 383.000000] (7:node@c-6.me) 475168 | 16728096
-> [ 383.000000] (7:node@c-6.me) 999456 | 16728096
-> [ 383.000000] (7:node@c-6.me) 2048032 | 16728096
-> [ 383.000000] (7:node@c-6.me) 4145184 | 16728096
-> [ 383.000000] (7:node@c-6.me) 8339488 | 16728096
-> [ 383.000000] (7:node@c-6.me) Predecessor: 16509405
-> [ 385.000000] (10:node@c-9.me) My finger table:
-> [ 385.000000] (10:node@c-9.me) Start | Succ
-> [ 385.000000] (10:node@c-9.me) 2015254 | 6518808
-> [ 385.000000] (10:node@c-9.me) 2015255 | 16728096
-> [ 385.000000] (10:node@c-9.me) 2015257 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2015261 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2015269 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2015285 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2015317 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2015381 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2015509 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2015765 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2016277 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2017301 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2019349 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2023445 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2031637 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2048021 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2080789 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2146325 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2277397 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2539541 | 2015253
-> [ 385.000000] (10:node@c-9.me) 3063829 | 2015253
-> [ 385.000000] (10:node@c-9.me) 4112405 | 2015253
-> [ 385.000000] (10:node@c-9.me) 6209557 | 2015253
-> [ 385.000000] (10:node@c-9.me) 10403861 | 2015253
-> [ 385.000000] (10:node@c-9.me) Predecessor: 1319738
-> [ 427.000000] (9:node@c-8.me) My finger table:
-> [ 427.000000] (9:node@c-8.me) Start | Succ
-> [ 427.000000] (9:node@c-8.me) 6518809 | 10004760
-> [ 427.000000] (9:node@c-8.me) 6518810 | 16728096
-> [ 427.000000] (9:node@c-8.me) 6518812 | 10004760
-> [ 427.000000] (9:node@c-8.me) 6518816 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6518824 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6518840 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6518872 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6518936 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6519064 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6519320 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6519832 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6520856 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6522904 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6527000 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6535192 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6551576 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6584344 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6649880 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6780952 | 6518808
-> [ 427.000000] (9:node@c-8.me) 7043096 | 6518808
-> [ 427.000000] (9:node@c-8.me) 7567384 | 6518808
-> [ 427.000000] (9:node@c-8.me) 8615960 | 6518808
-> [ 427.000000] (9:node@c-8.me) 10713112 | 6518808
-> [ 427.000000] (9:node@c-8.me) 14907416 | 6518808
-> [ 427.000000] (9:node@c-8.me) Predecessor: 2015253
-> [ 432.000000] (10:node@c-9.me) My finger table:
-> [ 432.000000] (10:node@c-9.me) Start | Succ
-> [ 432.000000] (10:node@c-9.me) 2015254 | 6518808
-> [ 432.000000] (10:node@c-9.me) 2015255 | 16728096
-> [ 432.000000] (10:node@c-9.me) 2015257 | 6518808
-> [ 432.000000] (10:node@c-9.me) 2015261 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2015269 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2015285 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2015317 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2015381 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2015509 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2015765 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2016277 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2017301 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2019349 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2023445 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2031637 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2048021 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2080789 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2146325 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2277397 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2539541 | 2015253
-> [ 432.000000] (10:node@c-9.me) 3063829 | 2015253
-> [ 432.000000] (10:node@c-9.me) 4112405 | 2015253
-> [ 432.000000] (10:node@c-9.me) 6209557 | 2015253
-> [ 432.000000] (10:node@c-9.me) 10403861 | 2015253
-> [ 432.000000] (10:node@c-9.me) Predecessor: 1319738
-> [ 484.000000] (4:node@c-3.me) My finger table:
-> [ 484.000000] (4:node@c-3.me) Start | Succ
-> [ 484.000000] (4:node@c-3.me) 1319739 | 2015253
-> [ 484.000000] (4:node@c-3.me) 1319740 | 6518808
-> [ 484.000000] (4:node@c-3.me) 1319742 | 2015253
-> [ 484.000000] (4:node@c-3.me) 1319746 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1319754 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1319770 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1319802 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1319866 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1319994 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1320250 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1320762 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1321786 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1323834 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1327930 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1336122 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1352506 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1385274 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1450810 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1581882 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1844026 | 1319738
-> [ 484.000000] (4:node@c-3.me) 2368314 | 1319738
-> [ 484.000000] (4:node@c-3.me) 3416890 | 1319738
-> [ 484.000000] (4:node@c-3.me) 5514042 | 1319738
-> [ 484.000000] (4:node@c-3.me) 9708346 | 1319738
-> [ 484.000000] (4:node@c-3.me) Predecessor: 366680
-> [ 487.000000] (6:node@c-5.me) My finger table:
-> [ 487.000000] (6:node@c-5.me) Start | Succ
-> [ 487.000000] (6:node@c-5.me) 10874877 | 533744
-> [ 487.000000] (6:node@c-5.me) 10874878 | 533744
-> [ 487.000000] (6:node@c-5.me) 10874880 | 533744
-> [ 487.000000] (6:node@c-5.me) 10874884 | 533744
-> [ 487.000000] (6:node@c-5.me) 10874892 | 10874876
-> [ 487.000000] (6:node@c-5.me) 10874908 | 10874876
-> [ 487.000000] (6:node@c-5.me) 10874940 | 10874876
-> [ 487.000000] (6:node@c-5.me) 10875004 | 10874876
-> [ 487.000000] (6:node@c-5.me) 10875132 | 10874876
-> [ 487.000000] (6:node@c-5.me) 10875388 | 10874876
-> [ 487.000000] (6:node@c-5.me) 10875900 | 10874876
-> [ 487.000000] (6:node@c-5.me) 10876924 | 10874876
-> [ 487.000000] (6:node@c-5.me) 10878972 | 10874876
-> [ 487.000000] (6:node@c-5.me) 10883068 | 10874876
-> [ 487.000000] (6:node@c-5.me) 10891260 | 10874876
-> [ 487.000000] (6:node@c-5.me) 10907644 | 10874876
-> [ 487.000000] (6:node@c-5.me) 10940412 | 10874876
-> [ 487.000000] (6:node@c-5.me) 11005948 | 10874876
-> [ 487.000000] (6:node@c-5.me) 11137020 | 10874876
-> [ 487.000000] (6:node@c-5.me) 11399164 | 10874876
-> [ 487.000000] (6:node@c-5.me) 11923452 | 10874876
-> [ 487.000000] (6:node@c-5.me) 12972028 | 10874876
-> [ 487.000000] (6:node@c-5.me) 15069180 | 10874876
-> [ 487.000000] (6:node@c-5.me) 2486268 | 10874876
-> [ 487.000000] (6:node@c-5.me) Predecessor: -1
-> [ 490.000000] (8:node@c-7.me) My finger table:
-> [ 490.000000] (8:node@c-7.me) Start | Succ
-> [ 490.000000] (8:node@c-7.me) 10004761 | 16509405
-> [ 490.000000] (8:node@c-7.me) 10004762 | 16509405
-> [ 490.000000] (8:node@c-7.me) 10004764 | 16509405
-> [ 490.000000] (8:node@c-7.me) 10004768 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10004776 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10004792 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10004824 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10004888 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10005016 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10005272 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10005784 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10006808 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10008856 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10012952 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10021144 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10037528 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10070296 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10135832 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10266904 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10529048 | 10004760
-> [ 490.000000] (8:node@c-7.me) 11053336 | 10004760
-> [ 490.000000] (8:node@c-7.me) 12101912 | 10004760
-> [ 490.000000] (8:node@c-7.me) 14199064 | 10004760
-> [ 490.000000] (8:node@c-7.me) 1616152 | 10004760
-> [ 490.000000] (8:node@c-7.me) Predecessor: 6518808
-> [ 491.000000] (8:node@c-7.me) My finger table:
-> [ 491.000000] (8:node@c-7.me) Start | Succ
-> [ 491.000000] (8:node@c-7.me) 10004761 | 16509405
-> [ 491.000000] (8:node@c-7.me) 10004762 | 16509405
-> [ 491.000000] (8:node@c-7.me) 10004764 | 16509405
-> [ 491.000000] (8:node@c-7.me) 10004768 | 16509405
-> [ 491.000000] (8:node@c-7.me) 10004776 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10004792 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10004824 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10004888 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10005016 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10005272 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10005784 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10006808 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10008856 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10012952 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10021144 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10037528 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10070296 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10135832 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10266904 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10529048 | 10004760
-> [ 491.000000] (8:node@c-7.me) 11053336 | 10004760
-> [ 491.000000] (8:node@c-7.me) 12101912 | 10004760
-> [ 491.000000] (8:node@c-7.me) 14199064 | 10004760
-> [ 491.000000] (8:node@c-7.me) 1616152 | 10004760
-> [ 491.000000] (8:node@c-7.me) Predecessor: 6518808
-> [ 496.000000] (7:node@c-6.me) My finger table:
-> [ 496.000000] (7:node@c-6.me) Start | Succ
-> [ 496.000000] (7:node@c-6.me) 16728097 | 42
-> [ 496.000000] (7:node@c-6.me) 16728098 | 42
-> [ 496.000000] (7:node@c-6.me) 16728100 | 42
-> [ 496.000000] (7:node@c-6.me) 16728104 | 42
-> [ 496.000000] (7:node@c-6.me) 16728112 | 16728096
-> [ 496.000000] (7:node@c-6.me) 16728128 | 16728096
-> [ 496.000000] (7:node@c-6.me) 16728160 | 16728096
-> [ 496.000000] (7:node@c-6.me) 16728224 | 16728096
-> [ 496.000000] (7:node@c-6.me) 16728352 | 16728096
-> [ 496.000000] (7:node@c-6.me) 16728608 | 16728096
-> [ 496.000000] (7:node@c-6.me) 16729120 | 16728096
-> [ 496.000000] (7:node@c-6.me) 16730144 | 16728096
-> [ 496.000000] (7:node@c-6.me) 16732192 | 16728096
-> [ 496.000000] (7:node@c-6.me) 16736288 | 16728096
-> [ 496.000000] (7:node@c-6.me) 16744480 | 16728096
-> [ 496.000000] (7:node@c-6.me) 16760864 | 16728096
-> [ 496.000000] (7:node@c-6.me) 16416 | 16728096
-> [ 496.000000] (7:node@c-6.me) 81952 | 16728096
-> [ 496.000000] (7:node@c-6.me) 213024 | 16728096
-> [ 496.000000] (7:node@c-6.me) 475168 | 16728096
-> [ 496.000000] (7:node@c-6.me) 999456 | 16728096
-> [ 496.000000] (7:node@c-6.me) 2048032 | 16728096
-> [ 496.000000] (7:node@c-6.me) 4145184 | 16728096
-> [ 496.000000] (7:node@c-6.me) 8339488 | 16728096
-> [ 496.000000] (7:node@c-6.me) Predecessor: 16509405
-> [ 497.000000] (3:node@c-2.me) My finger table:
-> [ 497.000000] (3:node@c-2.me) Start | Succ
-> [ 497.000000] (3:node@c-2.me) 533745 | 6518808
-> [ 497.000000] (3:node@c-2.me) 533746 | 10004760
-> [ 497.000000] (3:node@c-2.me) 533748 | 10004760
-> [ 497.000000] (3:node@c-2.me) 533752 | 6518808
-> [ 497.000000] (3:node@c-2.me) 533760 | 533744
-> [ 497.000000] (3:node@c-2.me) 533776 | 533744
-> [ 497.000000] (3:node@c-2.me) 533808 | 533744
-> [ 497.000000] (3:node@c-2.me) 533872 | 533744
-> [ 497.000000] (3:node@c-2.me) 534000 | 533744
-> [ 497.000000] (3:node@c-2.me) 534256 | 533744
-> [ 497.000000] (3:node@c-2.me) 534768 | 533744
-> [ 497.000000] (3:node@c-2.me) 535792 | 533744
-> [ 497.000000] (3:node@c-2.me) 537840 | 533744
-> [ 497.000000] (3:node@c-2.me) 541936 | 533744
-> [ 497.000000] (3:node@c-2.me) 550128 | 533744
-> [ 497.000000] (3:node@c-2.me) 566512 | 533744
-> [ 497.000000] (3:node@c-2.me) 599280 | 533744
-> [ 497.000000] (3:node@c-2.me) 664816 | 533744
-> [ 497.000000] (3:node@c-2.me) 795888 | 533744
-> [ 497.000000] (3:node@c-2.me) 1058032 | 533744
-> [ 497.000000] (3:node@c-2.me) 1582320 | 533744
-> [ 497.000000] (3:node@c-2.me) 2630896 | 533744
-> [ 497.000000] (3:node@c-2.me) 4728048 | 533744
-> [ 497.000000] (3:node@c-2.me) 8922352 | 533744
-> [ 497.000000] (3:node@c-2.me) Predecessor: 10874876
-> [ 502.000000] (1:node@c-0.me) My finger table:
-> [ 502.000000] (1:node@c-0.me) Start | Succ
-> [ 502.000000] (1:node@c-0.me) 43 | 366680
-> [ 502.000000] (1:node@c-0.me) 44 | 1319738
-> [ 502.000000] (1:node@c-0.me) 46 | 366680
-> [ 502.000000] (1:node@c-0.me) 50 | 366680
-> [ 502.000000] (1:node@c-0.me) 58 | 42
-> [ 502.000000] (1:node@c-0.me) 74 | 42
-> [ 502.000000] (1:node@c-0.me) 106 | 42
-> [ 502.000000] (1:node@c-0.me) 170 | 42
-> [ 502.000000] (1:node@c-0.me) 298 | 42
-> [ 502.000000] (1:node@c-0.me) 554 | 42
-> [ 502.000000] (1:node@c-0.me) 1066 | 42
-> [ 502.000000] (1:node@c-0.me) 2090 | 42
-> [ 502.000000] (1:node@c-0.me) 4138 | 42
-> [ 502.000000] (1:node@c-0.me) 8234 | 42
-> [ 502.000000] (1:node@c-0.me) 16426 | 42
-> [ 502.000000] (1:node@c-0.me) 32810 | 42
-> [ 502.000000] (1:node@c-0.me) 65578 | 42
-> [ 502.000000] (1:node@c-0.me) 131114 | 42
-> [ 502.000000] (1:node@c-0.me) 262186 | 42
-> [ 502.000000] (1:node@c-0.me) 524330 | 42
-> [ 502.000000] (1:node@c-0.me) 1048618 | 42
-> [ 502.000000] (1:node@c-0.me) 2097194 | 42
-> [ 502.000000] (1:node@c-0.me) 4194346 | 42
-> [ 502.000000] (1:node@c-0.me) 8388650 | 42
-> [ 502.000000] (1:node@c-0.me) Predecessor: 16728096
-> [ 505.000000] (2:node@c-1.me) My finger table:
-> [ 505.000000] (2:node@c-1.me) Start | Succ
-> [ 505.000000] (2:node@c-1.me) 366681 | 1319738
-> [ 505.000000] (2:node@c-1.me) 366682 | 1319738
-> [ 505.000000] (2:node@c-1.me) 366684 | 1319738
-> [ 505.000000] (2:node@c-1.me) 366688 | 1319738
-> [ 505.000000] (2:node@c-1.me) 366696 | 366680
-> [ 505.000000] (2:node@c-1.me) 366712 | 366680
-> [ 505.000000] (2:node@c-1.me) 366744 | 366680
-> [ 505.000000] (2:node@c-1.me) 366808 | 366680
-> [ 505.000000] (2:node@c-1.me) 366936 | 366680
-> [ 505.000000] (2:node@c-1.me) 367192 | 366680
-> [ 505.000000] (2:node@c-1.me) 367704 | 366680
-> [ 505.000000] (2:node@c-1.me) 368728 | 366680
-> [ 505.000000] (2:node@c-1.me) 370776 | 366680
-> [ 505.000000] (2:node@c-1.me) 374872 | 366680
-> [ 505.000000] (2:node@c-1.me) 383064 | 366680
-> [ 505.000000] (2:node@c-1.me) 399448 | 366680
-> [ 505.000000] (2:node@c-1.me) 432216 | 366680
-> [ 505.000000] (2:node@c-1.me) 497752 | 366680
-> [ 505.000000] (2:node@c-1.me) 628824 | 366680
-> [ 505.000000] (2:node@c-1.me) 890968 | 366680
-> [ 505.000000] (2:node@c-1.me) 1415256 | 366680
-> [ 505.000000] (2:node@c-1.me) 2463832 | 366680
-> [ 505.000000] (2:node@c-1.me) 4560984 | 366680
-> [ 505.000000] (2:node@c-1.me) 8755288 | 366680
-> [ 505.000000] (2:node@c-1.me) Predecessor: 42
-> [ 513.000000] (5:node@c-4.me) My finger table:
-> [ 513.000000] (5:node@c-4.me) Start | Succ
-> [ 513.000000] (5:node@c-4.me) 16509406 | 16728096
-> [ 513.000000] (5:node@c-4.me) 16509407 | 366680
-> [ 513.000000] (5:node@c-4.me) 16509409 | 16728096
-> [ 513.000000] (5:node@c-4.me) 16509413 | 16728096
-> [ 513.000000] (5:node@c-4.me) 16509421 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16509437 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16509469 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16509533 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16509661 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16509917 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16510429 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16511453 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16513501 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16517597 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16525789 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16542173 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16574941 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16640477 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16771549 | 16509405
-> [ 513.000000] (5:node@c-4.me) 256477 | 16509405
-> [ 513.000000] (5:node@c-4.me) 780765 | 16509405
-> [ 513.000000] (5:node@c-4.me) 1829341 | 16509405
-> [ 513.000000] (5:node@c-4.me) 3926493 | 16509405
-> [ 513.000000] (5:node@c-4.me) 8120797 | 16509405
-> [ 513.000000] (5:node@c-4.me) Predecessor: 10004760
-> [ 558.000000] (9:node@c-8.me) My finger table:
-> [ 558.000000] (9:node@c-8.me) Start | Succ
-> [ 558.000000] (9:node@c-8.me) 6518809 | 10004760
-> [ 558.000000] (9:node@c-8.me) 6518810 | 16728096
-> [ 558.000000] (9:node@c-8.me) 6518812 | 10004760
-> [ 558.000000] (9:node@c-8.me) 6518816 | 10004760
-> [ 558.000000] (9:node@c-8.me) 6518824 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6518840 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6518872 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6518936 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6519064 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6519320 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6519832 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6520856 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6522904 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6527000 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6535192 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6551576 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6584344 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6649880 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6780952 | 6518808
-> [ 558.000000] (9:node@c-8.me) 7043096 | 6518808
-> [ 558.000000] (9:node@c-8.me) 7567384 | 6518808
-> [ 558.000000] (9:node@c-8.me) 8615960 | 6518808
-> [ 558.000000] (9:node@c-8.me) 10713112 | 6518808
-> [ 558.000000] (9:node@c-8.me) 14907416 | 6518808
-> [ 558.000000] (9:node@c-8.me) Predecessor: 2015253
-> [ 573.000000] (10:node@c-9.me) My finger table:
-> [ 573.000000] (10:node@c-9.me) Start | Succ
-> [ 573.000000] (10:node@c-9.me) 2015254 | 6518808
-> [ 573.000000] (10:node@c-9.me) 2015255 | 16728096
-> [ 573.000000] (10:node@c-9.me) 2015257 | 6518808
-> [ 573.000000] (10:node@c-9.me) 2015261 | 6518808
-> [ 573.000000] (10:node@c-9.me) 2015269 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2015285 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2015317 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2015381 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2015509 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2015765 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2016277 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2017301 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2019349 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2023445 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2031637 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2048021 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2080789 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2146325 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2277397 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2539541 | 2015253
-> [ 573.000000] (10:node@c-9.me) 3063829 | 2015253
-> [ 573.000000] (10:node@c-9.me) 4112405 | 2015253
-> [ 573.000000] (10:node@c-9.me) 6209557 | 2015253
-> [ 573.000000] (10:node@c-9.me) 10403861 | 2015253
-> [ 573.000000] (10:node@c-9.me) Predecessor: 1319738
-> [ 600.000000] (4:node@c-3.me) My finger table:
-> [ 600.000000] (4:node@c-3.me) Start | Succ
-> [ 600.000000] (4:node@c-3.me) 1319739 | 2015253
-> [ 600.000000] (4:node@c-3.me) 1319740 | 6518808
-> [ 600.000000] (4:node@c-3.me) 1319742 | 2015253
-> [ 600.000000] (4:node@c-3.me) 1319746 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1319754 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1319770 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1319802 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1319866 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1319994 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1320250 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1320762 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1321786 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1323834 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1327930 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1336122 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1352506 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1385274 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1450810 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1581882 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1844026 | 1319738
-> [ 600.000000] (4:node@c-3.me) 2368314 | 1319738
-> [ 600.000000] (4:node@c-3.me) 3416890 | 1319738
-> [ 600.000000] (4:node@c-3.me) 5514042 | 1319738
-> [ 600.000000] (4:node@c-3.me) 9708346 | 1319738
-> [ 600.000000] (4:node@c-3.me) Predecessor: 533744
-> [ 610.000000] (6:node@c-5.me) My finger table:
-> [ 610.000000] (6:node@c-5.me) Start | Succ
-> [ 610.000000] (6:node@c-5.me) 10874877 | 533744
-> [ 610.000000] (6:node@c-5.me) 10874878 | 533744
-> [ 610.000000] (6:node@c-5.me) 10874880 | 533744
-> [ 610.000000] (6:node@c-5.me) 10874884 | 533744
-> [ 610.000000] (6:node@c-5.me) 10874892 | 533744
-> [ 610.000000] (6:node@c-5.me) 10874908 | 10874876
-> [ 610.000000] (6:node@c-5.me) 10874940 | 10874876
-> [ 610.000000] (6:node@c-5.me) 10875004 | 10874876
-> [ 610.000000] (6:node@c-5.me) 10875132 | 10874876
-> [ 610.000000] (6:node@c-5.me) 10875388 | 10874876
-> [ 610.000000] (6:node@c-5.me) 10875900 | 10874876
-> [ 610.000000] (6:node@c-5.me) 10876924 | 10874876
-> [ 610.000000] (6:node@c-5.me) 10878972 | 10874876
-> [ 610.000000] (6:node@c-5.me) 10883068 | 10874876
-> [ 610.000000] (6:node@c-5.me) 10891260 | 10874876
-> [ 610.000000] (6:node@c-5.me) 10907644 | 10874876
-> [ 610.000000] (6:node@c-5.me) 10940412 | 10874876
-> [ 610.000000] (6:node@c-5.me) 11005948 | 10874876
-> [ 610.000000] (6:node@c-5.me) 11137020 | 10874876
-> [ 610.000000] (6:node@c-5.me) 11399164 | 10874876
-> [ 610.000000] (6:node@c-5.me) 11923452 | 10874876
-> [ 610.000000] (6:node@c-5.me) 12972028 | 10874876
-> [ 610.000000] (6:node@c-5.me) 15069180 | 10874876
-> [ 610.000000] (6:node@c-5.me) 2486268 | 10874876
-> [ 610.000000] (6:node@c-5.me) Predecessor: -1
-> [ 656.000000] (5:node@c-4.me) My finger table:
-> [ 656.000000] (5:node@c-4.me) Start | Succ
-> [ 656.000000] (5:node@c-4.me) 16509406 | 16728096
-> [ 656.000000] (5:node@c-4.me) 16509407 | 366680
-> [ 656.000000] (5:node@c-4.me) 16509409 | 16728096
-> [ 656.000000] (5:node@c-4.me) 16509413 | 16728096
-> [ 656.000000] (5:node@c-4.me) 16509421 | 16728096
-> [ 656.000000] (5:node@c-4.me) 16509437 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16509469 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16509533 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16509661 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16509917 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16510429 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16511453 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16513501 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16517597 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16525789 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16542173 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16574941 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16640477 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16771549 | 16509405
-> [ 656.000000] (5:node@c-4.me) 256477 | 16509405
-> [ 656.000000] (5:node@c-4.me) 780765 | 16509405
-> [ 656.000000] (5:node@c-4.me) 1829341 | 16509405
-> [ 656.000000] (5:node@c-4.me) 3926493 | 16509405
-> [ 656.000000] (5:node@c-4.me) 8120797 | 16509405
-> [ 656.000000] (5:node@c-4.me) Predecessor: 10004760
-> [ 657.000000] (7:node@c-6.me) My finger table:
-> [ 657.000000] (7:node@c-6.me) Start | Succ
-> [ 657.000000] (7:node@c-6.me) 16728097 | 42
-> [ 657.000000] (7:node@c-6.me) 16728098 | 42
-> [ 657.000000] (7:node@c-6.me) 16728100 | 42
-> [ 657.000000] (7:node@c-6.me) 16728104 | 42
-> [ 657.000000] (7:node@c-6.me) 16728112 | 42
-> [ 657.000000] (7:node@c-6.me) 16728128 | 16728096
-> [ 657.000000] (7:node@c-6.me) 16728160 | 16728096
-> [ 657.000000] (7:node@c-6.me) 16728224 | 16728096
-> [ 657.000000] (7:node@c-6.me) 16728352 | 16728096
-> [ 657.000000] (7:node@c-6.me) 16728608 | 16728096
-> [ 657.000000] (7:node@c-6.me) 16729120 | 16728096
-> [ 657.000000] (7:node@c-6.me) 16730144 | 16728096
-> [ 657.000000] (7:node@c-6.me) 16732192 | 16728096
-> [ 657.000000] (7:node@c-6.me) 16736288 | 16728096
-> [ 657.000000] (7:node@c-6.me) 16744480 | 16728096
-> [ 657.000000] (7:node@c-6.me) 16760864 | 16728096
-> [ 657.000000] (7:node@c-6.me) 16416 | 16728096
-> [ 657.000000] (7:node@c-6.me) 81952 | 16728096
-> [ 657.000000] (7:node@c-6.me) 213024 | 16728096
-> [ 657.000000] (7:node@c-6.me) 475168 | 16728096
-> [ 657.000000] (7:node@c-6.me) 999456 | 16728096
-> [ 657.000000] (7:node@c-6.me) 2048032 | 16728096
-> [ 657.000000] (7:node@c-6.me) 4145184 | 16728096
-> [ 657.000000] (7:node@c-6.me) 8339488 | 16728096
-> [ 657.000000] (7:node@c-6.me) Predecessor: 16509405
-> [ 663.000000] (4:node@c-3.me) My finger table:
-> [ 663.000000] (4:node@c-3.me) Start | Succ
-> [ 663.000000] (4:node@c-3.me) 1319739 | 2015253
-> [ 663.000000] (4:node@c-3.me) 1319740 | 6518808
-> [ 663.000000] (4:node@c-3.me) 1319742 | 2015253
-> [ 663.000000] (4:node@c-3.me) 1319746 | 2015253
-> [ 663.000000] (4:node@c-3.me) 1319754 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1319770 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1319802 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1319866 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1319994 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1320250 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1320762 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1321786 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1323834 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1327930 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1336122 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1352506 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1385274 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1450810 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1581882 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1844026 | 1319738
-> [ 663.000000] (4:node@c-3.me) 2368314 | 1319738
-> [ 663.000000] (4:node@c-3.me) 3416890 | 1319738
-> [ 663.000000] (4:node@c-3.me) 5514042 | 1319738
-> [ 663.000000] (4:node@c-3.me) 9708346 | 1319738
-> [ 663.000000] (4:node@c-3.me) Predecessor: 533744
-> [ 665.000000] (1:node@c-0.me) My finger table:
-> [ 665.000000] (1:node@c-0.me) Start | Succ
-> [ 665.000000] (1:node@c-0.me) 43 | 366680
-> [ 665.000000] (1:node@c-0.me) 44 | 1319738
-> [ 665.000000] (1:node@c-0.me) 46 | 366680
-> [ 665.000000] (1:node@c-0.me) 50 | 366680
-> [ 665.000000] (1:node@c-0.me) 58 | 366680
-> [ 665.000000] (1:node@c-0.me) 74 | 42
-> [ 665.000000] (1:node@c-0.me) 106 | 42
-> [ 665.000000] (1:node@c-0.me) 170 | 42
-> [ 665.000000] (1:node@c-0.me) 298 | 42
-> [ 665.000000] (1:node@c-0.me) 554 | 42
-> [ 665.000000] (1:node@c-0.me) 1066 | 42
-> [ 665.000000] (1:node@c-0.me) 2090 | 42
-> [ 665.000000] (1:node@c-0.me) 4138 | 42
-> [ 665.000000] (1:node@c-0.me) 8234 | 42
-> [ 665.000000] (1:node@c-0.me) 16426 | 42
-> [ 665.000000] (1:node@c-0.me) 32810 | 42
-> [ 665.000000] (1:node@c-0.me) 65578 | 42
-> [ 665.000000] (1:node@c-0.me) 131114 | 42
-> [ 665.000000] (1:node@c-0.me) 262186 | 42
-> [ 665.000000] (1:node@c-0.me) 524330 | 42
-> [ 665.000000] (1:node@c-0.me) 1048618 | 42
-> [ 665.000000] (1:node@c-0.me) 2097194 | 42
-> [ 665.000000] (1:node@c-0.me) 4194346 | 42
-> [ 665.000000] (1:node@c-0.me) 8388650 | 42
-> [ 665.000000] (1:node@c-0.me) Predecessor: 16728096
-> [ 669.000000] (8:node@c-7.me) My finger table:
-> [ 669.000000] (8:node@c-7.me) Start | Succ
-> [ 669.000000] (8:node@c-7.me) 10004761 | 16509405
-> [ 669.000000] (8:node@c-7.me) 10004762 | 16509405
-> [ 669.000000] (8:node@c-7.me) 10004764 | 16509405
-> [ 669.000000] (8:node@c-7.me) 10004768 | 16509405
-> [ 669.000000] (8:node@c-7.me) 10004776 | 16509405
-> [ 669.000000] (8:node@c-7.me) 10004792 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10004824 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10004888 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10005016 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10005272 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10005784 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10006808 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10008856 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10012952 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10021144 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10037528 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10070296 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10135832 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10266904 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10529048 | 10004760
-> [ 669.000000] (8:node@c-7.me) 11053336 | 10004760
-> [ 669.000000] (8:node@c-7.me) 12101912 | 10004760
-> [ 669.000000] (8:node@c-7.me) 14199064 | 10004760
-> [ 669.000000] (8:node@c-7.me) 1616152 | 10004760
-> [ 669.000000] (8:node@c-7.me) Predecessor: 6518808
-> [ 671.000000] (3:node@c-2.me) My finger table:
-> [ 671.000000] (3:node@c-2.me) Start | Succ
-> [ 671.000000] (3:node@c-2.me) 533745 | 1319738
-> [ 671.000000] (3:node@c-2.me) 533746 | 10004760
-> [ 671.000000] (3:node@c-2.me) 533748 | 10004760
-> [ 671.000000] (3:node@c-2.me) 533752 | 6518808
-> [ 671.000000] (3:node@c-2.me) 533760 | 1319738
-> [ 671.000000] (3:node@c-2.me) 533776 | 533744
-> [ 671.000000] (3:node@c-2.me) 533808 | 533744
-> [ 671.000000] (3:node@c-2.me) 533872 | 533744
-> [ 671.000000] (3:node@c-2.me) 534000 | 533744
-> [ 671.000000] (3:node@c-2.me) 534256 | 533744
-> [ 671.000000] (3:node@c-2.me) 534768 | 533744
-> [ 671.000000] (3:node@c-2.me) 535792 | 533744
-> [ 671.000000] (3:node@c-2.me) 537840 | 533744
-> [ 671.000000] (3:node@c-2.me) 541936 | 533744
-> [ 671.000000] (3:node@c-2.me) 550128 | 533744
-> [ 671.000000] (3:node@c-2.me) 566512 | 533744
-> [ 671.000000] (3:node@c-2.me) 599280 | 533744
-> [ 671.000000] (3:node@c-2.me) 664816 | 533744
-> [ 671.000000] (3:node@c-2.me) 795888 | 533744
-> [ 671.000000] (3:node@c-2.me) 1058032 | 533744
-> [ 671.000000] (3:node@c-2.me) 1582320 | 533744
-> [ 671.000000] (3:node@c-2.me) 2630896 | 533744
-> [ 671.000000] (3:node@c-2.me) 4728048 | 533744
-> [ 671.000000] (3:node@c-2.me) 8922352 | 533744
-> [ 671.000000] (3:node@c-2.me) Predecessor: 10874876
-> [ 678.000000] (9:node@c-8.me) My finger table:
-> [ 678.000000] (9:node@c-8.me) Start | Succ
-> [ 678.000000] (9:node@c-8.me) 6518809 | 10004760
-> [ 678.000000] (9:node@c-8.me) 6518810 | 16728096
-> [ 678.000000] (9:node@c-8.me) 6518812 | 10004760
-> [ 678.000000] (9:node@c-8.me) 6518816 | 10004760
-> [ 678.000000] (9:node@c-8.me) 6518824 | 10004760
-> [ 678.000000] (9:node@c-8.me) 6518840 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6518872 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6518936 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6519064 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6519320 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6519832 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6520856 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6522904 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6527000 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6535192 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6551576 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6584344 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6649880 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6780952 | 6518808
-> [ 678.000000] (9:node@c-8.me) 7043096 | 6518808
-> [ 678.000000] (9:node@c-8.me) 7567384 | 6518808
-> [ 678.000000] (9:node@c-8.me) 8615960 | 6518808
-> [ 678.000000] (9:node@c-8.me) 10713112 | 6518808
-> [ 678.000000] (9:node@c-8.me) 14907416 | 6518808
-> [ 678.000000] (9:node@c-8.me) Predecessor: 2015253
-> [ 683.000000] (2:node@c-1.me) My finger table:
-> [ 683.000000] (2:node@c-1.me) Start | Succ
-> [ 683.000000] (2:node@c-1.me) 366681 | 533744
-> [ 683.000000] (2:node@c-1.me) 366682 | 1319738
-> [ 683.000000] (2:node@c-1.me) 366684 | 1319738
-> [ 683.000000] (2:node@c-1.me) 366688 | 1319738
-> [ 683.000000] (2:node@c-1.me) 366696 | 533744
-> [ 683.000000] (2:node@c-1.me) 366712 | 366680
-> [ 683.000000] (2:node@c-1.me) 366744 | 366680
-> [ 683.000000] (2:node@c-1.me) 366808 | 366680
-> [ 683.000000] (2:node@c-1.me) 366936 | 366680
-> [ 683.000000] (2:node@c-1.me) 367192 | 366680
-> [ 683.000000] (2:node@c-1.me) 367704 | 366680
-> [ 683.000000] (2:node@c-1.me) 368728 | 366680
-> [ 683.000000] (2:node@c-1.me) 370776 | 366680
-> [ 683.000000] (2:node@c-1.me) 374872 | 366680
-> [ 683.000000] (2:node@c-1.me) 383064 | 366680
-> [ 683.000000] (2:node@c-1.me) 399448 | 366680
-> [ 683.000000] (2:node@c-1.me) 432216 | 366680
-> [ 683.000000] (2:node@c-1.me) 497752 | 366680
-> [ 683.000000] (2:node@c-1.me) 628824 | 366680
-> [ 683.000000] (2:node@c-1.me) 890968 | 366680
-> [ 683.000000] (2:node@c-1.me) 1415256 | 366680
-> [ 683.000000] (2:node@c-1.me) 2463832 | 366680
-> [ 683.000000] (2:node@c-1.me) 4560984 | 366680
-> [ 683.000000] (2:node@c-1.me) 8755288 | 366680
-> [ 683.000000] (2:node@c-1.me) Predecessor: 42
-> [ 684.000000] (3:node@c-2.me) My finger table:
-> [ 684.000000] (3:node@c-2.me) Start | Succ
-> [ 684.000000] (3:node@c-2.me) 533745 | 1319738
-> [ 684.000000] (3:node@c-2.me) 533746 | 10004760
-> [ 684.000000] (3:node@c-2.me) 533748 | 10004760
-> [ 684.000000] (3:node@c-2.me) 533752 | 6518808
-> [ 684.000000] (3:node@c-2.me) 533760 | 1319738
-> [ 684.000000] (3:node@c-2.me) 533776 | 533744
-> [ 684.000000] (3:node@c-2.me) 533808 | 533744
-> [ 684.000000] (3:node@c-2.me) 533872 | 533744
-> [ 684.000000] (3:node@c-2.me) 534000 | 533744
-> [ 684.000000] (3:node@c-2.me) 534256 | 533744
-> [ 684.000000] (3:node@c-2.me) 534768 | 533744
-> [ 684.000000] (3:node@c-2.me) 535792 | 533744
-> [ 684.000000] (3:node@c-2.me) 537840 | 533744
-> [ 684.000000] (3:node@c-2.me) 541936 | 533744
-> [ 684.000000] (3:node@c-2.me) 550128 | 533744
-> [ 684.000000] (3:node@c-2.me) 566512 | 533744
-> [ 684.000000] (3:node@c-2.me) 599280 | 533744
-> [ 684.000000] (3:node@c-2.me) 664816 | 533744
-> [ 684.000000] (3:node@c-2.me) 795888 | 533744
-> [ 684.000000] (3:node@c-2.me) 1058032 | 533744
-> [ 684.000000] (3:node@c-2.me) 1582320 | 533744
-> [ 684.000000] (3:node@c-2.me) 2630896 | 533744
-> [ 684.000000] (3:node@c-2.me) 4728048 | 533744
-> [ 684.000000] (3:node@c-2.me) 8922352 | 533744
-> [ 684.000000] (3:node@c-2.me) Predecessor: 366680
-> [ 721.000000] (10:node@c-9.me) My finger table:
-> [ 721.000000] (10:node@c-9.me) Start | Succ
-> [ 721.000000] (10:node@c-9.me) 2015254 | 6518808
-> [ 721.000000] (10:node@c-9.me) 2015255 | 16728096
-> [ 721.000000] (10:node@c-9.me) 2015257 | 6518808
-> [ 721.000000] (10:node@c-9.me) 2015261 | 6518808
-> [ 721.000000] (10:node@c-9.me) 2015269 | 6518808
-> [ 721.000000] (10:node@c-9.me) 2015285 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2015317 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2015381 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2015509 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2015765 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2016277 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2017301 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2019349 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2023445 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2031637 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2048021 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2080789 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2146325 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2277397 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2539541 | 2015253
-> [ 721.000000] (10:node@c-9.me) 3063829 | 2015253
-> [ 721.000000] (10:node@c-9.me) 4112405 | 2015253
-> [ 721.000000] (10:node@c-9.me) 6209557 | 2015253
-> [ 721.000000] (10:node@c-9.me) 10403861 | 2015253
-> [ 721.000000] (10:node@c-9.me) Predecessor: 1319738
-> [ 744.000000] (6:node@c-5.me) My finger table:
-> [ 744.000000] (6:node@c-5.me) Start | Succ
-> [ 744.000000] (6:node@c-5.me) 10874877 | 16728096
-> [ 744.000000] (6:node@c-5.me) 10874878 | 533744
-> [ 744.000000] (6:node@c-5.me) 10874880 | 533744
-> [ 744.000000] (6:node@c-5.me) 10874884 | 533744
-> [ 744.000000] (6:node@c-5.me) 10874892 | 533744
-> [ 744.000000] (6:node@c-5.me) 10874908 | 16728096
-> [ 744.000000] (6:node@c-5.me) 10874940 | 10874876
-> [ 744.000000] (6:node@c-5.me) 10875004 | 10874876
-> [ 744.000000] (6:node@c-5.me) 10875132 | 10874876
-> [ 744.000000] (6:node@c-5.me) 10875388 | 10874876
-> [ 744.000000] (6:node@c-5.me) 10875900 | 10874876
-> [ 744.000000] (6:node@c-5.me) 10876924 | 10874876
-> [ 744.000000] (6:node@c-5.me) 10878972 | 10874876
-> [ 744.000000] (6:node@c-5.me) 10883068 | 10874876
-> [ 744.000000] (6:node@c-5.me) 10891260 | 10874876
-> [ 744.000000] (6:node@c-5.me) 10907644 | 10874876
-> [ 744.000000] (6:node@c-5.me) 10940412 | 10874876
-> [ 744.000000] (6:node@c-5.me) 11005948 | 10874876
-> [ 744.000000] (6:node@c-5.me) 11137020 | 10874876
-> [ 744.000000] (6:node@c-5.me) 11399164 | 10874876
-> [ 744.000000] (6:node@c-5.me) 11923452 | 10874876
-> [ 744.000000] (6:node@c-5.me) 12972028 | 10874876
-> [ 744.000000] (6:node@c-5.me) 15069180 | 10874876
-> [ 744.000000] (6:node@c-5.me) 2486268 | 10874876
-> [ 744.000000] (6:node@c-5.me) Predecessor: -1
-> [ 777.000000] (7:node@c-6.me) My finger table:
-> [ 777.000000] (7:node@c-6.me) Start | Succ
-> [ 777.000000] (7:node@c-6.me) 16728097 | 42
-> [ 777.000000] (7:node@c-6.me) 16728098 | 42
-> [ 777.000000] (7:node@c-6.me) 16728100 | 42
-> [ 777.000000] (7:node@c-6.me) 16728104 | 42
-> [ 777.000000] (7:node@c-6.me) 16728112 | 42
-> [ 777.000000] (7:node@c-6.me) 16728128 | 42
-> [ 777.000000] (7:node@c-6.me) 16728160 | 16728096
-> [ 777.000000] (7:node@c-6.me) 16728224 | 16728096
-> [ 777.000000] (7:node@c-6.me) 16728352 | 16728096
-> [ 777.000000] (7:node@c-6.me) 16728608 | 16728096
-> [ 777.000000] (7:node@c-6.me) 16729120 | 16728096
-> [ 777.000000] (7:node@c-6.me) 16730144 | 16728096
-> [ 777.000000] (7:node@c-6.me) 16732192 | 16728096
-> [ 777.000000] (7:node@c-6.me) 16736288 | 16728096
-> [ 777.000000] (7:node@c-6.me) 16744480 | 16728096
-> [ 777.000000] (7:node@c-6.me) 16760864 | 16728096
-> [ 777.000000] (7:node@c-6.me) 16416 | 16728096
-> [ 777.000000] (7:node@c-6.me) 81952 | 16728096
-> [ 777.000000] (7:node@c-6.me) 213024 | 16728096
-> [ 777.000000] (7:node@c-6.me) 475168 | 16728096
-> [ 777.000000] (7:node@c-6.me) 999456 | 16728096
-> [ 777.000000] (7:node@c-6.me) 2048032 | 16728096
-> [ 777.000000] (7:node@c-6.me) 4145184 | 16728096
-> [ 777.000000] (7:node@c-6.me) 8339488 | 16728096
-> [ 777.000000] (7:node@c-6.me) Predecessor: 16509405
-> [ 786.000000] (5:node@c-4.me) My finger table:
-> [ 786.000000] (5:node@c-4.me) Start | Succ
-> [ 786.000000] (5:node@c-4.me) 16509406 | 16728096
-> [ 786.000000] (5:node@c-4.me) 16509407 | 366680
-> [ 786.000000] (5:node@c-4.me) 16509409 | 16728096
-> [ 786.000000] (5:node@c-4.me) 16509413 | 16728096
-> [ 786.000000] (5:node@c-4.me) 16509421 | 16728096
-> [ 786.000000] (5:node@c-4.me) 16509437 | 16728096
-> [ 786.000000] (5:node@c-4.me) 16509469 | 16509405
-> [ 786.000000] (5:node@c-4.me) 16509533 | 16509405
-> [ 786.000000] (5:node@c-4.me) 16509661 | 16509405
-> [ 786.000000] (5:node@c-4.me) 16509917 | 16509405
-> [ 786.000000] (5:node@c-4.me) 16510429 | 16509405
-> [ 786.000000] (5:node@c-4.me) 16511453 | 16509405
-> [ 786.000000] (5:node@c-4.me) 16513501 | 16509405
-> [ 786.000000] (5:node@c-4.me) 16517597 | 16509405
-> [ 786.000000] (5:node@c-4.me) 16525789 | 16509405
-> [ 786.000000] (5:node@c-4.me) 16542173 | 16509405
-> [ 786.000000] (5:node@c-4.me) 16574941 | 16509405
-> [ 786.000000] (5:node@c-4.me) 16640477 | 16509405
-> [ 786.000000] (5:node@c-4.me) 16771549 | 16509405
-> [ 786.000000] (5:node@c-4.me) 256477 | 16509405
-> [ 786.000000] (5:node@c-4.me) 780765 | 16509405
-> [ 786.000000] (5:node@c-4.me) 1829341 | 16509405
-> [ 786.000000] (5:node@c-4.me) 3926493 | 16509405
-> [ 786.000000] (5:node@c-4.me) 8120797 | 16509405
-> [ 786.000000] (5:node@c-4.me) Predecessor: 10004760
-> [ 787.000000] (4:node@c-3.me) My finger table:
-> [ 787.000000] (4:node@c-3.me) Start | Succ
-> [ 787.000000] (4:node@c-3.me) 1319739 | 2015253
-> [ 787.000000] (4:node@c-3.me) 1319740 | 6518808
-> [ 787.000000] (4:node@c-3.me) 1319742 | 2015253
-> [ 787.000000] (4:node@c-3.me) 1319746 | 2015253
-> [ 787.000000] (4:node@c-3.me) 1319754 | 2015253
-> [ 787.000000] (4:node@c-3.me) 1319770 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1319802 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1319866 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1319994 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1320250 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1320762 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1321786 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1323834 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1327930 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1336122 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1352506 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1385274 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1450810 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1581882 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1844026 | 1319738
-> [ 787.000000] (4:node@c-3.me) 2368314 | 1319738
-> [ 787.000000] (4:node@c-3.me) 3416890 | 1319738
-> [ 787.000000] (4:node@c-3.me) 5514042 | 1319738
-> [ 787.000000] (4:node@c-3.me) 9708346 | 1319738
-> [ 787.000000] (4:node@c-3.me) Predecessor: 533744
-> [ 788.000000] (1:node@c-0.me) My finger table:
-> [ 788.000000] (1:node@c-0.me) Start | Succ
-> [ 788.000000] (1:node@c-0.me) 43 | 366680
-> [ 788.000000] (1:node@c-0.me) 44 | 1319738
-> [ 788.000000] (1:node@c-0.me) 46 | 366680
-> [ 788.000000] (1:node@c-0.me) 50 | 366680
-> [ 788.000000] (1:node@c-0.me) 58 | 366680
-> [ 788.000000] (1:node@c-0.me) 74 | 366680
-> [ 788.000000] (1:node@c-0.me) 106 | 42
-> [ 788.000000] (1:node@c-0.me) 170 | 42
-> [ 788.000000] (1:node@c-0.me) 298 | 42
-> [ 788.000000] (1:node@c-0.me) 554 | 42
-> [ 788.000000] (1:node@c-0.me) 1066 | 42
-> [ 788.000000] (1:node@c-0.me) 2090 | 42
-> [ 788.000000] (1:node@c-0.me) 4138 | 42
-> [ 788.000000] (1:node@c-0.me) 8234 | 42
-> [ 788.000000] (1:node@c-0.me) 16426 | 42
-> [ 788.000000] (1:node@c-0.me) 32810 | 42
-> [ 788.000000] (1:node@c-0.me) 65578 | 42
-> [ 788.000000] (1:node@c-0.me) 131114 | 42
-> [ 788.000000] (1:node@c-0.me) 262186 | 42
-> [ 788.000000] (1:node@c-0.me) 524330 | 42
-> [ 788.000000] (1:node@c-0.me) 1048618 | 42
-> [ 788.000000] (1:node@c-0.me) 2097194 | 42
-> [ 788.000000] (1:node@c-0.me) 4194346 | 42
-> [ 788.000000] (1:node@c-0.me) 8388650 | 42
-> [ 788.000000] (1:node@c-0.me) Predecessor: 16728096
-> [ 793.000000] (3:node@c-2.me) My finger table:
-> [ 793.000000] (3:node@c-2.me) Start | Succ
-> [ 793.000000] (3:node@c-2.me) 533745 | 1319738
-> [ 793.000000] (3:node@c-2.me) 533746 | 10004760
-> [ 793.000000] (3:node@c-2.me) 533748 | 10004760
-> [ 793.000000] (3:node@c-2.me) 533752 | 6518808
-> [ 793.000000] (3:node@c-2.me) 533760 | 1319738
-> [ 793.000000] (3:node@c-2.me) 533776 | 1319738
-> [ 793.000000] (3:node@c-2.me) 533808 | 533744
-> [ 793.000000] (3:node@c-2.me) 533872 | 533744
-> [ 793.000000] (3:node@c-2.me) 534000 | 533744
-> [ 793.000000] (3:node@c-2.me) 534256 | 533744
-> [ 793.000000] (3:node@c-2.me) 534768 | 533744
-> [ 793.000000] (3:node@c-2.me) 535792 | 533744
-> [ 793.000000] (3:node@c-2.me) 537840 | 533744
-> [ 793.000000] (3:node@c-2.me) 541936 | 533744
-> [ 793.000000] (3:node@c-2.me) 550128 | 533744
-> [ 793.000000] (3:node@c-2.me) 566512 | 533744
-> [ 793.000000] (3:node@c-2.me) 599280 | 533744
-> [ 793.000000] (3:node@c-2.me) 664816 | 533744
-> [ 793.000000] (3:node@c-2.me) 795888 | 533744
-> [ 793.000000] (3:node@c-2.me) 1058032 | 533744
-> [ 793.000000] (3:node@c-2.me) 1582320 | 533744
-> [ 793.000000] (3:node@c-2.me) 2630896 | 533744
-> [ 793.000000] (3:node@c-2.me) 4728048 | 533744
-> [ 793.000000] (3:node@c-2.me) 8922352 | 533744
-> [ 793.000000] (3:node@c-2.me) Predecessor: 366680
-> [ 797.000000] (5:node@c-4.me) My finger table:
-> [ 797.000000] (5:node@c-4.me) Start | Succ
-> [ 797.000000] (5:node@c-4.me) 16509406 | 16728096
-> [ 797.000000] (5:node@c-4.me) 16509407 | 366680
-> [ 797.000000] (5:node@c-4.me) 16509409 | 16728096
-> [ 797.000000] (5:node@c-4.me) 16509413 | 16728096
-> [ 797.000000] (5:node@c-4.me) 16509421 | 16728096
-> [ 797.000000] (5:node@c-4.me) 16509437 | 16728096
-> [ 797.000000] (5:node@c-4.me) 16509469 | 16509405
-> [ 797.000000] (5:node@c-4.me) 16509533 | 16509405
-> [ 797.000000] (5:node@c-4.me) 16509661 | 16509405
-> [ 797.000000] (5:node@c-4.me) 16509917 | 16509405
-> [ 797.000000] (5:node@c-4.me) 16510429 | 16509405
-> [ 797.000000] (5:node@c-4.me) 16511453 | 16509405
-> [ 797.000000] (5:node@c-4.me) 16513501 | 16509405
-> [ 797.000000] (5:node@c-4.me) 16517597 | 16509405
-> [ 797.000000] (5:node@c-4.me) 16525789 | 16509405
-> [ 797.000000] (5:node@c-4.me) 16542173 | 16509405
-> [ 797.000000] (5:node@c-4.me) 16574941 | 16509405
-> [ 797.000000] (5:node@c-4.me) 16640477 | 16509405
-> [ 797.000000] (5:node@c-4.me) 16771549 | 16509405
-> [ 797.000000] (5:node@c-4.me) 256477 | 16509405
-> [ 797.000000] (5:node@c-4.me) 780765 | 16509405
-> [ 797.000000] (5:node@c-4.me) 1829341 | 16509405
-> [ 797.000000] (5:node@c-4.me) 3926493 | 16509405
-> [ 797.000000] (5:node@c-4.me) 8120797 | 16509405
-> [ 797.000000] (5:node@c-4.me) Predecessor: 10874876
-> [ 798.000000] (8:node@c-7.me) My finger table:
-> [ 798.000000] (8:node@c-7.me) Start | Succ
-> [ 798.000000] (8:node@c-7.me) 10004761 | 16509405
-> [ 798.000000] (8:node@c-7.me) 10004762 | 16509405
-> [ 798.000000] (8:node@c-7.me) 10004764 | 16509405
-> [ 798.000000] (8:node@c-7.me) 10004768 | 16509405
-> [ 798.000000] (8:node@c-7.me) 10004776 | 16509405
-> [ 798.000000] (8:node@c-7.me) 10004792 | 16509405
-> [ 798.000000] (8:node@c-7.me) 10004824 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10004888 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10005016 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10005272 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10005784 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10006808 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10008856 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10012952 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10021144 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10037528 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10070296 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10135832 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10266904 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10529048 | 10004760
-> [ 798.000000] (8:node@c-7.me) 11053336 | 10004760
-> [ 798.000000] (8:node@c-7.me) 12101912 | 10004760
-> [ 798.000000] (8:node@c-7.me) 14199064 | 10004760
-> [ 798.000000] (8:node@c-7.me) 1616152 | 10004760
-> [ 798.000000] (8:node@c-7.me) Predecessor: 6518808
-> [ 801.000000] (9:node@c-8.me) My finger table:
-> [ 801.000000] (9:node@c-8.me) Start | Succ
-> [ 801.000000] (9:node@c-8.me) 6518809 | 10004760
-> [ 801.000000] (9:node@c-8.me) 6518810 | 16728096
-> [ 801.000000] (9:node@c-8.me) 6518812 | 10004760
-> [ 801.000000] (9:node@c-8.me) 6518816 | 10004760
-> [ 801.000000] (9:node@c-8.me) 6518824 | 10004760
-> [ 801.000000] (9:node@c-8.me) 6518840 | 10004760
-> [ 801.000000] (9:node@c-8.me) 6518872 | 6518808
-> [ 801.000000] (9:node@c-8.me) 6518936 | 6518808
-> [ 801.000000] (9:node@c-8.me) 6519064 | 6518808
-> [ 801.000000] (9:node@c-8.me) 6519320 | 6518808
-> [ 801.000000] (9:node@c-8.me) 6519832 | 6518808
-> [ 801.000000] (9:node@c-8.me) 6520856 | 6518808
-> [ 801.000000] (9:node@c-8.me) 6522904 | 6518808
-> [ 801.000000] (9:node@c-8.me) 6527000 | 6518808
-> [ 801.000000] (9:node@c-8.me) 6535192 | 6518808
-> [ 801.000000] (9:node@c-8.me) 6551576 | 6518808
-> [ 801.000000] (9:node@c-8.me) 6584344 | 6518808
-> [ 801.000000] (9:node@c-8.me) 6649880 | 6518808
-> [ 801.000000] (9:node@c-8.me) 6780952 | 6518808
-> [ 801.000000] (9:node@c-8.me) 7043096 | 6518808
-> [ 801.000000] (9:node@c-8.me) 7567384 | 6518808
-> [ 801.000000] (9:node@c-8.me) 8615960 | 6518808
-> [ 801.000000] (9:node@c-8.me) 10713112 | 6518808
-> [ 801.000000] (9:node@c-8.me) 14907416 | 6518808
-> [ 801.000000] (9:node@c-8.me) Predecessor: 2015253
-> [ 804.000000] (2:node@c-1.me) My finger table:
-> [ 804.000000] (2:node@c-1.me) Start | Succ
-> [ 804.000000] (2:node@c-1.me) 366681 | 533744
-> [ 804.000000] (2:node@c-1.me) 366682 | 1319738
-> [ 804.000000] (2:node@c-1.me) 366684 | 1319738
-> [ 804.000000] (2:node@c-1.me) 366688 | 1319738
-> [ 804.000000] (2:node@c-1.me) 366696 | 533744
-> [ 804.000000] (2:node@c-1.me) 366712 | 533744
-> [ 804.000000] (2:node@c-1.me) 366744 | 366680
-> [ 804.000000] (2:node@c-1.me) 366808 | 366680
-> [ 804.000000] (2:node@c-1.me) 366936 | 366680
-> [ 804.000000] (2:node@c-1.me) 367192 | 366680
-> [ 804.000000] (2:node@c-1.me) 367704 | 366680
-> [ 804.000000] (2:node@c-1.me) 368728 | 366680
-> [ 804.000000] (2:node@c-1.me) 370776 | 366680
-> [ 804.000000] (2:node@c-1.me) 374872 | 366680
-> [ 804.000000] (2:node@c-1.me) 383064 | 366680
-> [ 804.000000] (2:node@c-1.me) 399448 | 366680
-> [ 804.000000] (2:node@c-1.me) 432216 | 366680
-> [ 804.000000] (2:node@c-1.me) 497752 | 366680
-> [ 804.000000] (2:node@c-1.me) 628824 | 366680
-> [ 804.000000] (2:node@c-1.me) 890968 | 366680
-> [ 804.000000] (2:node@c-1.me) 1415256 | 366680
-> [ 804.000000] (2:node@c-1.me) 2463832 | 366680
-> [ 804.000000] (2:node@c-1.me) 4560984 | 366680
-> [ 804.000000] (2:node@c-1.me) 8755288 | 366680
-> [ 804.000000] (2:node@c-1.me) Predecessor: 42
-> [ 843.000000] (10:node@c-9.me) My finger table:
-> [ 843.000000] (10:node@c-9.me) Start | Succ
-> [ 843.000000] (10:node@c-9.me) 2015254 | 6518808
-> [ 843.000000] (10:node@c-9.me) 2015255 | 16728096
-> [ 843.000000] (10:node@c-9.me) 2015257 | 6518808
-> [ 843.000000] (10:node@c-9.me) 2015261 | 6518808
-> [ 843.000000] (10:node@c-9.me) 2015269 | 6518808
-> [ 843.000000] (10:node@c-9.me) 2015285 | 6518808
-> [ 843.000000] (10:node@c-9.me) 2015317 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2015381 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2015509 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2015765 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2016277 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2017301 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2019349 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2023445 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2031637 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2048021 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2080789 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2146325 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2277397 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2539541 | 2015253
-> [ 843.000000] (10:node@c-9.me) 3063829 | 2015253
-> [ 843.000000] (10:node@c-9.me) 4112405 | 2015253
-> [ 843.000000] (10:node@c-9.me) 6209557 | 2015253
-> [ 843.000000] (10:node@c-9.me) 10403861 | 2015253
-> [ 843.000000] (10:node@c-9.me) Predecessor: 1319738
-> [ 865.000000] (6:node@c-5.me) My finger table:
-> [ 865.000000] (6:node@c-5.me) Start | Succ
-> [ 865.000000] (6:node@c-5.me) 10874877 | 16509405
-> [ 865.000000] (6:node@c-5.me) 10874878 | 533744
-> [ 865.000000] (6:node@c-5.me) 10874880 | 533744
-> [ 865.000000] (6:node@c-5.me) 10874884 | 533744
-> [ 865.000000] (6:node@c-5.me) 10874892 | 533744
-> [ 865.000000] (6:node@c-5.me) 10874908 | 16728096
-> [ 865.000000] (6:node@c-5.me) 10874940 | 16509405
-> [ 865.000000] (6:node@c-5.me) 10875004 | 10874876
-> [ 865.000000] (6:node@c-5.me) 10875132 | 10874876
-> [ 865.000000] (6:node@c-5.me) 10875388 | 10874876
-> [ 865.000000] (6:node@c-5.me) 10875900 | 10874876
-> [ 865.000000] (6:node@c-5.me) 10876924 | 10874876
-> [ 865.000000] (6:node@c-5.me) 10878972 | 10874876
-> [ 865.000000] (6:node@c-5.me) 10883068 | 10874876
-> [ 865.000000] (6:node@c-5.me) 10891260 | 10874876
-> [ 865.000000] (6:node@c-5.me) 10907644 | 10874876
-> [ 865.000000] (6:node@c-5.me) 10940412 | 10874876
-> [ 865.000000] (6:node@c-5.me) 11005948 | 10874876
-> [ 865.000000] (6:node@c-5.me) 11137020 | 10874876
-> [ 865.000000] (6:node@c-5.me) 11399164 | 10874876
-> [ 865.000000] (6:node@c-5.me) 11923452 | 10874876
-> [ 865.000000] (6:node@c-5.me) 12972028 | 10874876
-> [ 865.000000] (6:node@c-5.me) 15069180 | 10874876
-> [ 865.000000] (6:node@c-5.me) 2486268 | 10874876
-> [ 865.000000] (6:node@c-5.me) Predecessor: -1
-> [ 870.000000] (6:node@c-5.me) My finger table:
-> [ 870.000000] (6:node@c-5.me) Start | Succ
-> [ 870.000000] (6:node@c-5.me) 10874877 | 16509405
-> [ 870.000000] (6:node@c-5.me) 10874878 | 533744
-> [ 870.000000] (6:node@c-5.me) 10874880 | 533744
-> [ 870.000000] (6:node@c-5.me) 10874884 | 533744
-> [ 870.000000] (6:node@c-5.me) 10874892 | 533744
-> [ 870.000000] (6:node@c-5.me) 10874908 | 16728096
-> [ 870.000000] (6:node@c-5.me) 10874940 | 16509405
-> [ 870.000000] (6:node@c-5.me) 10875004 | 10874876
-> [ 870.000000] (6:node@c-5.me) 10875132 | 10874876
-> [ 870.000000] (6:node@c-5.me) 10875388 | 10874876
-> [ 870.000000] (6:node@c-5.me) 10875900 | 10874876
-> [ 870.000000] (6:node@c-5.me) 10876924 | 10874876
-> [ 870.000000] (6:node@c-5.me) 10878972 | 10874876
-> [ 870.000000] (6:node@c-5.me) 10883068 | 10874876
-> [ 870.000000] (6:node@c-5.me) 10891260 | 10874876
-> [ 870.000000] (6:node@c-5.me) 10907644 | 10874876
-> [ 870.000000] (6:node@c-5.me) 10940412 | 10874876
-> [ 870.000000] (6:node@c-5.me) 11005948 | 10874876
-> [ 870.000000] (6:node@c-5.me) 11137020 | 10874876
-> [ 870.000000] (6:node@c-5.me) 11399164 | 10874876
-> [ 870.000000] (6:node@c-5.me) 11923452 | 10874876
-> [ 870.000000] (6:node@c-5.me) 12972028 | 10874876
-> [ 870.000000] (6:node@c-5.me) 15069180 | 10874876
-> [ 870.000000] (6:node@c-5.me) 2486268 | 10874876
-> [ 870.000000] (6:node@c-5.me) Predecessor: 10004760
-> [ 910.000000] (5:node@c-4.me) My finger table:
-> [ 910.000000] (5:node@c-4.me) Start | Succ
-> [ 910.000000] (5:node@c-4.me) 16509406 | 16728096
-> [ 910.000000] (5:node@c-4.me) 16509407 | 366680
-> [ 910.000000] (5:node@c-4.me) 16509409 | 16728096
-> [ 910.000000] (5:node@c-4.me) 16509413 | 16728096
-> [ 910.000000] (5:node@c-4.me) 16509421 | 16728096
-> [ 910.000000] (5:node@c-4.me) 16509437 | 16728096
-> [ 910.000000] (5:node@c-4.me) 16509469 | 16728096
-> [ 910.000000] (5:node@c-4.me) 16509533 | 16509405
-> [ 910.000000] (5:node@c-4.me) 16509661 | 16509405
-> [ 910.000000] (5:node@c-4.me) 16509917 | 16509405
-> [ 910.000000] (5:node@c-4.me) 16510429 | 16509405
-> [ 910.000000] (5:node@c-4.me) 16511453 | 16509405
-> [ 910.000000] (5:node@c-4.me) 16513501 | 16509405
-> [ 910.000000] (5:node@c-4.me) 16517597 | 16509405
-> [ 910.000000] (5:node@c-4.me) 16525789 | 16509405
-> [ 910.000000] (5:node@c-4.me) 16542173 | 16509405
-> [ 910.000000] (5:node@c-4.me) 16574941 | 16509405
-> [ 910.000000] (5:node@c-4.me) 16640477 | 16509405
-> [ 910.000000] (5:node@c-4.me) 16771549 | 16509405
-> [ 910.000000] (5:node@c-4.me) 256477 | 16509405
-> [ 910.000000] (5:node@c-4.me) 780765 | 16509405
-> [ 910.000000] (5:node@c-4.me) 1829341 | 16509405
-> [ 910.000000] (5:node@c-4.me) 3926493 | 16509405
-> [ 910.000000] (5:node@c-4.me) 8120797 | 16509405
-> [ 910.000000] (5:node@c-4.me) Predecessor: 10874876
-> [ 912.000000] (1:node@c-0.me) My finger table:
-> [ 912.000000] (1:node@c-0.me) Start | Succ
-> [ 912.000000] (1:node@c-0.me) 43 | 366680
-> [ 912.000000] (1:node@c-0.me) 44 | 1319738
-> [ 912.000000] (1:node@c-0.me) 46 | 366680
-> [ 912.000000] (1:node@c-0.me) 50 | 366680
-> [ 912.000000] (1:node@c-0.me) 58 | 366680
-> [ 912.000000] (1:node@c-0.me) 74 | 366680
-> [ 912.000000] (1:node@c-0.me) 106 | 366680
-> [ 912.000000] (1:node@c-0.me) 170 | 42
-> [ 912.000000] (1:node@c-0.me) 298 | 42
-> [ 912.000000] (1:node@c-0.me) 554 | 42
-> [ 912.000000] (1:node@c-0.me) 1066 | 42
-> [ 912.000000] (1:node@c-0.me) 2090 | 42
-> [ 912.000000] (1:node@c-0.me) 4138 | 42
-> [ 912.000000] (1:node@c-0.me) 8234 | 42
-> [ 912.000000] (1:node@c-0.me) 16426 | 42
-> [ 912.000000] (1:node@c-0.me) 32810 | 42
-> [ 912.000000] (1:node@c-0.me) 65578 | 42
-> [ 912.000000] (1:node@c-0.me) 131114 | 42
-> [ 912.000000] (1:node@c-0.me) 262186 | 42
-> [ 912.000000] (1:node@c-0.me) 524330 | 42
-> [ 912.000000] (1:node@c-0.me) 1048618 | 42
-> [ 912.000000] (1:node@c-0.me) 2097194 | 42
-> [ 912.000000] (1:node@c-0.me) 4194346 | 42
-> [ 912.000000] (1:node@c-0.me) 8388650 | 42
-> [ 912.000000] (1:node@c-0.me) Predecessor: 16728096
-> [ 913.000000] (3:node@c-2.me) My finger table:
-> [ 913.000000] (3:node@c-2.me) Start | Succ
-> [ 913.000000] (3:node@c-2.me) 533745 | 1319738
-> [ 913.000000] (3:node@c-2.me) 533746 | 10004760
-> [ 913.000000] (3:node@c-2.me) 533748 | 10004760
-> [ 913.000000] (3:node@c-2.me) 533752 | 6518808
-> [ 913.000000] (3:node@c-2.me) 533760 | 1319738
-> [ 913.000000] (3:node@c-2.me) 533776 | 1319738
-> [ 913.000000] (3:node@c-2.me) 533808 | 1319738
-> [ 913.000000] (3:node@c-2.me) 533872 | 533744
-> [ 913.000000] (3:node@c-2.me) 534000 | 533744
-> [ 913.000000] (3:node@c-2.me) 534256 | 533744
-> [ 913.000000] (3:node@c-2.me) 534768 | 533744
-> [ 913.000000] (3:node@c-2.me) 535792 | 533744
-> [ 913.000000] (3:node@c-2.me) 537840 | 533744
-> [ 913.000000] (3:node@c-2.me) 541936 | 533744
-> [ 913.000000] (3:node@c-2.me) 550128 | 533744
-> [ 913.000000] (3:node@c-2.me) 566512 | 533744
-> [ 913.000000] (3:node@c-2.me) 599280 | 533744
-> [ 913.000000] (3:node@c-2.me) 664816 | 533744
-> [ 913.000000] (3:node@c-2.me) 795888 | 533744
-> [ 913.000000] (3:node@c-2.me) 1058032 | 533744
-> [ 913.000000] (3:node@c-2.me) 1582320 | 533744
-> [ 913.000000] (3:node@c-2.me) 2630896 | 533744
-> [ 913.000000] (3:node@c-2.me) 4728048 | 533744
-> [ 913.000000] (3:node@c-2.me) 8922352 | 533744
-> [ 913.000000] (3:node@c-2.me) Predecessor: 366680
-> [ 921.000000] (8:node@c-7.me) My finger table:
-> [ 921.000000] (8:node@c-7.me) Start | Succ
-> [ 921.000000] (8:node@c-7.me) 10004761 | 10874876
-> [ 921.000000] (8:node@c-7.me) 10004762 | 16509405
-> [ 921.000000] (8:node@c-7.me) 10004764 | 16509405
-> [ 921.000000] (8:node@c-7.me) 10004768 | 16509405
-> [ 921.000000] (8:node@c-7.me) 10004776 | 16509405
-> [ 921.000000] (8:node@c-7.me) 10004792 | 16509405
-> [ 921.000000] (8:node@c-7.me) 10004824 | 10874876
-> [ 921.000000] (8:node@c-7.me) 10004888 | 10004760
-> [ 921.000000] (8:node@c-7.me) 10005016 | 10004760
-> [ 921.000000] (8:node@c-7.me) 10005272 | 10004760
-> [ 921.000000] (8:node@c-7.me) 10005784 | 10004760
-> [ 921.000000] (8:node@c-7.me) 10006808 | 10004760
-> [ 921.000000] (8:node@c-7.me) 10008856 | 10004760
-> [ 921.000000] (8:node@c-7.me) 10012952 | 10004760
-> [ 921.000000] (8:node@c-7.me) 10021144 | 10004760
-> [ 921.000000] (8:node@c-7.me) 10037528 | 10004760
-> [ 921.000000] (8:node@c-7.me) 10070296 | 10004760
-> [ 921.000000] (8:node@c-7.me) 10135832 | 10004760
-> [ 921.000000] (8:node@c-7.me) 10266904 | 10004760
-> [ 921.000000] (8:node@c-7.me) 10529048 | 10004760
-> [ 921.000000] (8:node@c-7.me) 11053336 | 10004760
-> [ 921.000000] (8:node@c-7.me) 12101912 | 10004760
-> [ 921.000000] (8:node@c-7.me) 14199064 | 10004760
-> [ 921.000000] (8:node@c-7.me) 1616152 | 10004760
-> [ 921.000000] (8:node@c-7.me) Predecessor: 6518808
-> [ 964.000000] (2:node@c-1.me) My finger table:
-> [ 964.000000] (2:node@c-1.me) Start | Succ
-> [ 964.000000] (2:node@c-1.me) 366681 | 533744
-> [ 964.000000] (2:node@c-1.me) 366682 | 1319738
-> [ 964.000000] (2:node@c-1.me) 366684 | 1319738
-> [ 964.000000] (2:node@c-1.me) 366688 | 1319738
-> [ 964.000000] (2:node@c-1.me) 366696 | 533744
-> [ 964.000000] (2:node@c-1.me) 366712 | 533744
-> [ 964.000000] (2:node@c-1.me) 366744 | 533744
-> [ 964.000000] (2:node@c-1.me) 366808 | 366680
-> [ 964.000000] (2:node@c-1.me) 366936 | 366680
-> [ 964.000000] (2:node@c-1.me) 367192 | 366680
-> [ 964.000000] (2:node@c-1.me) 367704 | 366680
-> [ 964.000000] (2:node@c-1.me) 368728 | 366680
-> [ 964.000000] (2:node@c-1.me) 370776 | 366680
-> [ 964.000000] (2:node@c-1.me) 374872 | 366680
-> [ 964.000000] (2:node@c-1.me) 383064 | 366680
-> [ 964.000000] (2:node@c-1.me) 399448 | 366680
-> [ 964.000000] (2:node@c-1.me) 432216 | 366680
-> [ 964.000000] (2:node@c-1.me) 497752 | 366680
-> [ 964.000000] (2:node@c-1.me) 628824 | 366680
-> [ 964.000000] (2:node@c-1.me) 890968 | 366680
-> [ 964.000000] (2:node@c-1.me) 1415256 | 366680
-> [ 964.000000] (2:node@c-1.me) 2463832 | 366680
-> [ 964.000000] (2:node@c-1.me) 4560984 | 366680
-> [ 964.000000] (2:node@c-1.me) 8755288 | 366680
-> [ 964.000000] (2:node@c-1.me) Predecessor: 42
-> [ 966.000000] (4:node@c-3.me) My finger table:
-> [ 966.000000] (4:node@c-3.me) Start | Succ
-> [ 966.000000] (4:node@c-3.me) 1319739 | 2015253
-> [ 966.000000] (4:node@c-3.me) 1319740 | 6518808
-> [ 966.000000] (4:node@c-3.me) 1319742 | 2015253
-> [ 966.000000] (4:node@c-3.me) 1319746 | 2015253
-> [ 966.000000] (4:node@c-3.me) 1319754 | 2015253
-> [ 966.000000] (4:node@c-3.me) 1319770 | 2015253
-> [ 966.000000] (4:node@c-3.me) 1319802 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1319866 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1319994 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1320250 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1320762 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1321786 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1323834 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1327930 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1336122 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1352506 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1385274 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1450810 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1581882 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1844026 | 1319738
-> [ 966.000000] (4:node@c-3.me) 2368314 | 1319738
-> [ 966.000000] (4:node@c-3.me) 3416890 | 1319738
-> [ 966.000000] (4:node@c-3.me) 5514042 | 1319738
-> [ 966.000000] (4:node@c-3.me) 9708346 | 1319738
-> [ 966.000000] (4:node@c-3.me) Predecessor: 533744
-> [ 966.000000] (7:node@c-6.me) My finger table:
-> [ 966.000000] (7:node@c-6.me) Start | Succ
-> [ 966.000000] (7:node@c-6.me) 16728097 | 42
-> [ 966.000000] (7:node@c-6.me) 16728098 | 42
-> [ 966.000000] (7:node@c-6.me) 16728100 | 42
-> [ 966.000000] (7:node@c-6.me) 16728104 | 42
-> [ 966.000000] (7:node@c-6.me) 16728112 | 42
-> [ 966.000000] (7:node@c-6.me) 16728128 | 42
-> [ 966.000000] (7:node@c-6.me) 16728160 | 42
-> [ 966.000000] (7:node@c-6.me) 16728224 | 16728096
-> [ 966.000000] (7:node@c-6.me) 16728352 | 16728096
-> [ 966.000000] (7:node@c-6.me) 16728608 | 16728096
-> [ 966.000000] (7:node@c-6.me) 16729120 | 16728096
-> [ 966.000000] (7:node@c-6.me) 16730144 | 16728096
-> [ 966.000000] (7:node@c-6.me) 16732192 | 16728096
-> [ 966.000000] (7:node@c-6.me) 16736288 | 16728096
-> [ 966.000000] (7:node@c-6.me) 16744480 | 16728096
-> [ 966.000000] (7:node@c-6.me) 16760864 | 16728096
-> [ 966.000000] (7:node@c-6.me) 16416 | 16728096
-> [ 966.000000] (7:node@c-6.me) 81952 | 16728096
-> [ 966.000000] (7:node@c-6.me) 213024 | 16728096
-> [ 966.000000] (7:node@c-6.me) 475168 | 16728096
-> [ 966.000000] (7:node@c-6.me) 999456 | 16728096
-> [ 966.000000] (7:node@c-6.me) 2048032 | 16728096
-> [ 966.000000] (7:node@c-6.me) 4145184 | 16728096
-> [ 966.000000] (7:node@c-6.me) 8339488 | 16728096
-> [ 966.000000] (7:node@c-6.me) Predecessor: 16509405
-> [ 973.000000] (9:node@c-8.me) My finger table:
-> [ 973.000000] (9:node@c-8.me) Start | Succ
-> [ 973.000000] (9:node@c-8.me) 6518809 | 10004760
-> [ 973.000000] (9:node@c-8.me) 6518810 | 16728096
-> [ 973.000000] (9:node@c-8.me) 6518812 | 10004760
-> [ 973.000000] (9:node@c-8.me) 6518816 | 10004760
-> [ 973.000000] (9:node@c-8.me) 6518824 | 10004760
-> [ 973.000000] (9:node@c-8.me) 6518840 | 10004760
-> [ 973.000000] (9:node@c-8.me) 6518872 | 10004760
-> [ 973.000000] (9:node@c-8.me) 6518936 | 6518808
-> [ 973.000000] (9:node@c-8.me) 6519064 | 6518808
-> [ 973.000000] (9:node@c-8.me) 6519320 | 6518808
-> [ 973.000000] (9:node@c-8.me) 6519832 | 6518808
-> [ 973.000000] (9:node@c-8.me) 6520856 | 6518808
-> [ 973.000000] (9:node@c-8.me) 6522904 | 6518808
-> [ 973.000000] (9:node@c-8.me) 6527000 | 6518808
-> [ 973.000000] (9:node@c-8.me) 6535192 | 6518808
-> [ 973.000000] (9:node@c-8.me) 6551576 | 6518808
-> [ 973.000000] (9:node@c-8.me) 6584344 | 6518808
-> [ 973.000000] (9:node@c-8.me) 6649880 | 6518808
-> [ 973.000000] (9:node@c-8.me) 6780952 | 6518808
-> [ 973.000000] (9:node@c-8.me) 7043096 | 6518808
-> [ 973.000000] (9:node@c-8.me) 7567384 | 6518808
-> [ 973.000000] (9:node@c-8.me) 8615960 | 6518808
-> [ 973.000000] (9:node@c-8.me) 10713112 | 6518808
-> [ 973.000000] (9:node@c-8.me) 14907416 | 6518808
-> [ 973.000000] (9:node@c-8.me) Predecessor: 2015253
-> [ 979.000000] (10:node@c-9.me) My finger table:
-> [ 979.000000] (10:node@c-9.me) Start | Succ
-> [ 979.000000] (10:node@c-9.me) 2015254 | 6518808
-> [ 979.000000] (10:node@c-9.me) 2015255 | 16728096
-> [ 979.000000] (10:node@c-9.me) 2015257 | 6518808
-> [ 979.000000] (10:node@c-9.me) 2015261 | 6518808
-> [ 979.000000] (10:node@c-9.me) 2015269 | 6518808
-> [ 979.000000] (10:node@c-9.me) 2015285 | 6518808
-> [ 979.000000] (10:node@c-9.me) 2015317 | 6518808
-> [ 979.000000] (10:node@c-9.me) 2015381 | 2015253
-> [ 979.000000] (10:node@c-9.me) 2015509 | 2015253
-> [ 979.000000] (10:node@c-9.me) 2015765 | 2015253
-> [ 979.000000] (10:node@c-9.me) 2016277 | 2015253
-> [ 979.000000] (10:node@c-9.me) 2017301 | 2015253
-> [ 979.000000] (10:node@c-9.me) 2019349 | 2015253
-> [ 979.000000] (10:node@c-9.me) 2023445 | 2015253
-> [ 979.000000] (10:node@c-9.me) 2031637 | 2015253
-> [ 979.000000] (10:node@c-9.me) 2048021 | 2015253
-> [ 979.000000] (10:node@c-9.me) 2080789 | 2015253
-> [ 979.000000] (10:node@c-9.me) 2146325 | 2015253
-> [ 979.000000] (10:node@c-9.me) 2277397 | 2015253
-> [ 979.000000] (10:node@c-9.me) 2539541 | 2015253
-> [ 979.000000] (10:node@c-9.me) 3063829 | 2015253
-> [ 979.000000] (10:node@c-9.me) 4112405 | 2015253
-> [ 979.000000] (10:node@c-9.me) 6209557 | 2015253
-> [ 979.000000] (10:node@c-9.me) 10403861 | 2015253
-> [ 979.000000] (10:node@c-9.me) Predecessor: 1319738
-> [ 987.000000] (6:node@c-5.me) My finger table:
-> [ 987.000000] (6:node@c-5.me) Start | Succ
-> [ 987.000000] (6:node@c-5.me) 10874877 | 16509405
-> [ 987.000000] (6:node@c-5.me) 10874878 | 533744
-> [ 987.000000] (6:node@c-5.me) 10874880 | 533744
-> [ 987.000000] (6:node@c-5.me) 10874884 | 533744
-> [ 987.000000] (6:node@c-5.me) 10874892 | 533744
-> [ 987.000000] (6:node@c-5.me) 10874908 | 16728096
-> [ 987.000000] (6:node@c-5.me) 10874940 | 16509405
-> [ 987.000000] (6:node@c-5.me) 10875004 | 16509405
-> [ 987.000000] (6:node@c-5.me) 10875132 | 10874876
-> [ 987.000000] (6:node@c-5.me) 10875388 | 10874876
-> [ 987.000000] (6:node@c-5.me) 10875900 | 10874876
-> [ 987.000000] (6:node@c-5.me) 10876924 | 10874876
-> [ 987.000000] (6:node@c-5.me) 10878972 | 10874876
-> [ 987.000000] (6:node@c-5.me) 10883068 | 10874876
-> [ 987.000000] (6:node@c-5.me) 10891260 | 10874876
-> [ 987.000000] (6:node@c-5.me) 10907644 | 10874876
-> [ 987.000000] (6:node@c-5.me) 10940412 | 10874876
-> [ 987.000000] (6:node@c-5.me) 11005948 | 10874876
-> [ 987.000000] (6:node@c-5.me) 11137020 | 10874876
-> [ 987.000000] (6:node@c-5.me) 11399164 | 10874876
-> [ 987.000000] (6:node@c-5.me) 11923452 | 10874876
-> [ 987.000000] (6:node@c-5.me) 12972028 | 10874876
-> [ 987.000000] (6:node@c-5.me) 15069180 | 10874876
-> [ 987.000000] (6:node@c-5.me) 2486268 | 10874876
-> [ 987.000000] (6:node@c-5.me) Predecessor: 10004760
-> [1196.000000] (0:@) Messages created: 1827
-> [1196.000000] (0:@) Simulated time: 1196
\ No newline at end of file
+> [ 5.999900] (2:node@c-1.me) My finger table:
+> [ 5.999900] (2:node@c-1.me) Start | Succ
+> [ 5.999900] (2:node@c-1.me) 366681 | 42
+> [ 5.999900] (2:node@c-1.me) 366682 | 366680
+> [ 5.999900] (2:node@c-1.me) 366684 | 366680
+> [ 5.999900] (2:node@c-1.me) 366688 | 366680
+> [ 5.999900] (2:node@c-1.me) 366696 | 366680
+> [ 5.999900] (2:node@c-1.me) 366712 | 366680
+> [ 5.999900] (2:node@c-1.me) 366744 | 366680
+> [ 5.999900] (2:node@c-1.me) 366808 | 366680
+> [ 5.999900] (2:node@c-1.me) 366936 | 366680
+> [ 5.999900] (2:node@c-1.me) 367192 | 366680
+> [ 5.999900] (2:node@c-1.me) 367704 | 366680
+> [ 5.999900] (2:node@c-1.me) 368728 | 366680
+> [ 5.999900] (2:node@c-1.me) 370776 | 366680
+> [ 5.999900] (2:node@c-1.me) 374872 | 366680
+> [ 5.999900] (2:node@c-1.me) 383064 | 366680
+> [ 5.999900] (2:node@c-1.me) 399448 | 366680
+> [ 5.999900] (2:node@c-1.me) 432216 | 366680
+> [ 5.999900] (2:node@c-1.me) 497752 | 366680
+> [ 5.999900] (2:node@c-1.me) 628824 | 366680
+> [ 5.999900] (2:node@c-1.me) 890968 | 366680
+> [ 5.999900] (2:node@c-1.me) 1415256 | 366680
+> [ 5.999900] (2:node@c-1.me) 2463832 | 366680
+> [ 5.999900] (2:node@c-1.me) 4560984 | 366680
+> [ 5.999900] (2:node@c-1.me) 8755288 | 366680
+> [ 5.999900] (2:node@c-1.me) Predecessor: -1
+> [ 7.999900] (7:node@c-6.me) My finger table:
+> [ 7.999900] (7:node@c-6.me) Start | Succ
+> [ 7.999900] (7:node@c-6.me) 16728097 | 1319738
+> [ 7.999900] (7:node@c-6.me) 16728098 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16728100 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16728104 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16728112 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16728128 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16728160 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16728224 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16728352 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16728608 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16729120 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16730144 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16732192 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16736288 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16744480 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16760864 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16416 | 16728096
+> [ 7.999900] (7:node@c-6.me) 81952 | 16728096
+> [ 7.999900] (7:node@c-6.me) 213024 | 16728096
+> [ 7.999900] (7:node@c-6.me) 475168 | 16728096
+> [ 7.999900] (7:node@c-6.me) 999456 | 16728096
+> [ 7.999900] (7:node@c-6.me) 2048032 | 16728096
+> [ 7.999900] (7:node@c-6.me) 4145184 | 16728096
+> [ 7.999900] (7:node@c-6.me) 8339488 | 16728096
+> [ 7.999900] (7:node@c-6.me) Predecessor: -1
+> [ 8.999900] (10:node@c-9.me) My finger table:
+> [ 8.999900] (10:node@c-9.me) Start | Succ
+> [ 8.999900] (10:node@c-9.me) 2015254 | 1319738
+> [ 8.999900] (10:node@c-9.me) 2015255 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2015257 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2015261 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2015269 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2015285 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2015317 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2015381 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2015509 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2015765 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2016277 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2017301 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2019349 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2023445 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2031637 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2048021 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2080789 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2146325 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2277397 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2539541 | 2015253
+> [ 8.999900] (10:node@c-9.me) 3063829 | 2015253
+> [ 8.999900] (10:node@c-9.me) 4112405 | 2015253
+> [ 8.999900] (10:node@c-9.me) 6209557 | 2015253
+> [ 8.999900] (10:node@c-9.me) 10403861 | 2015253
+> [ 8.999900] (10:node@c-9.me) Predecessor: -1
+> [ 10.999800] (4:node@c-3.me) My finger table:
+> [ 10.999800] (4:node@c-3.me) Start | Succ
+> [ 10.999800] (4:node@c-3.me) 1319739 | 42
+> [ 10.999800] (4:node@c-3.me) 1319740 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1319742 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1319746 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1319754 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1319770 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1319802 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1319866 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1319994 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1320250 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1320762 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1321786 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1323834 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1327930 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1336122 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1352506 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1385274 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1450810 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1581882 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1844026 | 1319738
+> [ 10.999800] (4:node@c-3.me) 2368314 | 1319738
+> [ 10.999800] (4:node@c-3.me) 3416890 | 1319738
+> [ 10.999800] (4:node@c-3.me) 5514042 | 1319738
+> [ 10.999800] (4:node@c-3.me) 9708346 | 1319738
+> [ 10.999800] (4:node@c-3.me) Predecessor: -1
+> [ 15.999700] (9:node@c-8.me) My finger table:
+> [ 15.999700] (9:node@c-8.me) Start | Succ
+> [ 15.999700] (9:node@c-8.me) 6518809 | 42
+> [ 15.999700] (9:node@c-8.me) 6518810 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6518812 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6518816 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6518824 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6518840 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6518872 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6518936 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6519064 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6519320 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6519832 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6520856 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6522904 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6527000 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6535192 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6551576 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6584344 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6649880 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6780952 | 6518808
+> [ 15.999700] (9:node@c-8.me) 7043096 | 6518808
+> [ 15.999700] (9:node@c-8.me) 7567384 | 6518808
+> [ 15.999700] (9:node@c-8.me) 8615960 | 6518808
+> [ 15.999700] (9:node@c-8.me) 10713112 | 6518808
+> [ 15.999700] (9:node@c-8.me) 14907416 | 6518808
+> [ 15.999700] (9:node@c-8.me) Predecessor: -1
+> [ 26.999600] (3:node@c-2.me) My finger table:
+> [ 26.999600] (3:node@c-2.me) Start | Succ
+> [ 26.999600] (3:node@c-2.me) 533745 | 366680
+> [ 26.999600] (3:node@c-2.me) 533746 | 533744
+> [ 26.999600] (3:node@c-2.me) 533748 | 533744
+> [ 26.999600] (3:node@c-2.me) 533752 | 533744
+> [ 26.999600] (3:node@c-2.me) 533760 | 533744
+> [ 26.999600] (3:node@c-2.me) 533776 | 533744
+> [ 26.999600] (3:node@c-2.me) 533808 | 533744
+> [ 26.999600] (3:node@c-2.me) 533872 | 533744
+> [ 26.999600] (3:node@c-2.me) 534000 | 533744
+> [ 26.999600] (3:node@c-2.me) 534256 | 533744
+> [ 26.999600] (3:node@c-2.me) 534768 | 533744
+> [ 26.999600] (3:node@c-2.me) 535792 | 533744
+> [ 26.999600] (3:node@c-2.me) 537840 | 533744
+> [ 26.999600] (3:node@c-2.me) 541936 | 533744
+> [ 26.999600] (3:node@c-2.me) 550128 | 533744
+> [ 26.999600] (3:node@c-2.me) 566512 | 533744
+> [ 26.999600] (3:node@c-2.me) 599280 | 533744
+> [ 26.999600] (3:node@c-2.me) 664816 | 533744
+> [ 26.999600] (3:node@c-2.me) 795888 | 533744
+> [ 26.999600] (3:node@c-2.me) 1058032 | 533744
+> [ 26.999600] (3:node@c-2.me) 1582320 | 533744
+> [ 26.999600] (3:node@c-2.me) 2630896 | 533744
+> [ 26.999600] (3:node@c-2.me) 4728048 | 533744
+> [ 26.999600] (3:node@c-2.me) 8922352 | 533744
+> [ 26.999600] (3:node@c-2.me) Predecessor: 10874876
+> [ 31.999400] (5:node@c-4.me) My finger table:
+> [ 31.999400] (5:node@c-4.me) Start | Succ
+> [ 31.999400] (5:node@c-4.me) 16509406 | 366680
+> [ 31.999400] (5:node@c-4.me) 16509407 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16509409 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16509413 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16509421 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16509437 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16509469 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16509533 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16509661 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16509917 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16510429 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16511453 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16513501 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16517597 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16525789 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16542173 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16574941 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16640477 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16771549 | 16509405
+> [ 31.999400] (5:node@c-4.me) 256477 | 16509405
+> [ 31.999400] (5:node@c-4.me) 780765 | 16509405
+> [ 31.999400] (5:node@c-4.me) 1829341 | 16509405
+> [ 31.999400] (5:node@c-4.me) 3926493 | 16509405
+> [ 31.999400] (5:node@c-4.me) 8120797 | 16509405
+> [ 31.999400] (5:node@c-4.me) Predecessor: 10004760
+> [ 32.999400] (2:node@c-1.me) My finger table:
+> [ 32.999400] (2:node@c-1.me) Start | Succ
+> [ 32.999400] (2:node@c-1.me) 366681 | 42
+> [ 32.999400] (2:node@c-1.me) 366682 | 366680
+> [ 32.999400] (2:node@c-1.me) 366684 | 366680
+> [ 32.999400] (2:node@c-1.me) 366688 | 366680
+> [ 32.999400] (2:node@c-1.me) 366696 | 366680
+> [ 32.999400] (2:node@c-1.me) 366712 | 366680
+> [ 32.999400] (2:node@c-1.me) 366744 | 366680
+> [ 32.999400] (2:node@c-1.me) 366808 | 366680
+> [ 32.999400] (2:node@c-1.me) 366936 | 366680
+> [ 32.999400] (2:node@c-1.me) 367192 | 366680
+> [ 32.999400] (2:node@c-1.me) 367704 | 366680
+> [ 32.999400] (2:node@c-1.me) 368728 | 366680
+> [ 32.999400] (2:node@c-1.me) 370776 | 366680
+> [ 32.999400] (2:node@c-1.me) 374872 | 366680
+> [ 32.999400] (2:node@c-1.me) 383064 | 366680
+> [ 32.999400] (2:node@c-1.me) 399448 | 366680
+> [ 32.999400] (2:node@c-1.me) 432216 | 366680
+> [ 32.999400] (2:node@c-1.me) 497752 | 366680
+> [ 32.999400] (2:node@c-1.me) 628824 | 366680
+> [ 32.999400] (2:node@c-1.me) 890968 | 366680
+> [ 32.999400] (2:node@c-1.me) 1415256 | 366680
+> [ 32.999400] (2:node@c-1.me) 2463832 | 366680
+> [ 32.999400] (2:node@c-1.me) 4560984 | 366680
+> [ 32.999400] (2:node@c-1.me) 8755288 | 366680
+> [ 32.999400] (2:node@c-1.me) Predecessor: 533744
+> [ 33.999400] (2:node@c-1.me) My finger table:
+> [ 33.999400] (2:node@c-1.me) Start | Succ
+> [ 33.999400] (2:node@c-1.me) 366681 | 42
+> [ 33.999400] (2:node@c-1.me) 366682 | 366680
+> [ 33.999400] (2:node@c-1.me) 366684 | 366680
+> [ 33.999400] (2:node@c-1.me) 366688 | 366680
+> [ 33.999400] (2:node@c-1.me) 366696 | 366680
+> [ 33.999400] (2:node@c-1.me) 366712 | 366680
+> [ 33.999400] (2:node@c-1.me) 366744 | 366680
+> [ 33.999400] (2:node@c-1.me) 366808 | 366680
+> [ 33.999400] (2:node@c-1.me) 366936 | 366680
+> [ 33.999400] (2:node@c-1.me) 367192 | 366680
+> [ 33.999400] (2:node@c-1.me) 367704 | 366680
+> [ 33.999400] (2:node@c-1.me) 368728 | 366680
+> [ 33.999400] (2:node@c-1.me) 370776 | 366680
+> [ 33.999400] (2:node@c-1.me) 374872 | 366680
+> [ 33.999400] (2:node@c-1.me) 383064 | 366680
+> [ 33.999400] (2:node@c-1.me) 399448 | 366680
+> [ 33.999400] (2:node@c-1.me) 432216 | 366680
+> [ 33.999400] (2:node@c-1.me) 497752 | 366680
+> [ 33.999400] (2:node@c-1.me) 628824 | 366680
+> [ 33.999400] (2:node@c-1.me) 890968 | 366680
+> [ 33.999400] (2:node@c-1.me) 1415256 | 366680
+> [ 33.999400] (2:node@c-1.me) 2463832 | 366680
+> [ 33.999400] (2:node@c-1.me) 4560984 | 366680
+> [ 33.999400] (2:node@c-1.me) 8755288 | 366680
+> [ 33.999400] (2:node@c-1.me) Predecessor: 16509405
+> [ 35.999300] (4:node@c-3.me) My finger table:
+> [ 35.999300] (4:node@c-3.me) Start | Succ
+> [ 35.999300] (4:node@c-3.me) 1319739 | 42
+> [ 35.999300] (4:node@c-3.me) 1319740 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1319742 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1319746 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1319754 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1319770 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1319802 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1319866 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1319994 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1320250 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1320762 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1321786 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1323834 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1327930 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1336122 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1352506 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1385274 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1450810 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1581882 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1844026 | 1319738
+> [ 35.999300] (4:node@c-3.me) 2368314 | 1319738
+> [ 35.999300] (4:node@c-3.me) 3416890 | 1319738
+> [ 35.999300] (4:node@c-3.me) 5514042 | 1319738
+> [ 35.999300] (4:node@c-3.me) 9708346 | 1319738
+> [ 35.999300] (4:node@c-3.me) Predecessor: 16728096
+> [ 49.999000] (1:node@c-0.me) My finger table:
+> [ 49.999000] (1:node@c-0.me) Start | Succ
+> [ 49.999000] (1:node@c-0.me) 43 | 42
+> [ 49.999000] (1:node@c-0.me) 44 | 42
+> [ 49.999000] (1:node@c-0.me) 46 | 42
+> [ 49.999000] (1:node@c-0.me) 50 | 42
+> [ 49.999000] (1:node@c-0.me) 58 | 42
+> [ 49.999000] (1:node@c-0.me) 74 | 42
+> [ 49.999000] (1:node@c-0.me) 106 | 42
+> [ 49.999000] (1:node@c-0.me) 170 | 42
+> [ 49.999000] (1:node@c-0.me) 298 | 42
+> [ 49.999000] (1:node@c-0.me) 554 | 42
+> [ 49.999000] (1:node@c-0.me) 1066 | 42
+> [ 49.999000] (1:node@c-0.me) 2090 | 42
+> [ 49.999000] (1:node@c-0.me) 4138 | 42
+> [ 49.999000] (1:node@c-0.me) 8234 | 42
+> [ 49.999000] (1:node@c-0.me) 16426 | 42
+> [ 49.999000] (1:node@c-0.me) 32810 | 42
+> [ 49.999000] (1:node@c-0.me) 65578 | 42
+> [ 49.999000] (1:node@c-0.me) 131114 | 42
+> [ 49.999000] (1:node@c-0.me) 262186 | 42
+> [ 49.999000] (1:node@c-0.me) 524330 | 42
+> [ 49.999000] (1:node@c-0.me) 1048618 | 42
+> [ 49.999000] (1:node@c-0.me) 2097194 | 42
+> [ 49.999000] (1:node@c-0.me) 4194346 | 42
+> [ 49.999000] (1:node@c-0.me) 8388650 | 42
+> [ 49.999000] (1:node@c-0.me) Predecessor: 366680
+> [ 59.998800] (1:node@c-0.me) My finger table:
+> [ 59.998800] (1:node@c-0.me) Start | Succ
+> [ 59.998800] (1:node@c-0.me) 43 | 366680
+> [ 59.998800] (1:node@c-0.me) 44 | 42
+> [ 59.998800] (1:node@c-0.me) 46 | 42
+> [ 59.998800] (1:node@c-0.me) 50 | 42
+> [ 59.998800] (1:node@c-0.me) 58 | 42
+> [ 59.998800] (1:node@c-0.me) 74 | 42
+> [ 59.998800] (1:node@c-0.me) 106 | 42
+> [ 59.998800] (1:node@c-0.me) 170 | 42
+> [ 59.998800] (1:node@c-0.me) 298 | 42
+> [ 59.998800] (1:node@c-0.me) 554 | 42
+> [ 59.998800] (1:node@c-0.me) 1066 | 42
+> [ 59.998800] (1:node@c-0.me) 2090 | 42
+> [ 59.998800] (1:node@c-0.me) 4138 | 42
+> [ 59.998800] (1:node@c-0.me) 8234 | 42
+> [ 59.998800] (1:node@c-0.me) 16426 | 42
+> [ 59.998800] (1:node@c-0.me) 32810 | 42
+> [ 59.998800] (1:node@c-0.me) 65578 | 42
+> [ 59.998800] (1:node@c-0.me) 131114 | 42
+> [ 59.998800] (1:node@c-0.me) 262186 | 42
+> [ 59.998800] (1:node@c-0.me) 524330 | 42
+> [ 59.998800] (1:node@c-0.me) 1048618 | 42
+> [ 59.998800] (1:node@c-0.me) 2097194 | 42
+> [ 59.998800] (1:node@c-0.me) 4194346 | 42
+> [ 59.998800] (1:node@c-0.me) 8388650 | 42
+> [ 59.998800] (1:node@c-0.me) Predecessor: 1319738
+> [ 69.998600] (1:node@c-0.me) My finger table:
+> [ 69.998600] (1:node@c-0.me) Start | Succ
+> [ 69.998600] (1:node@c-0.me) 43 | 366680
+> [ 69.998600] (1:node@c-0.me) 44 | 42
+> [ 69.998600] (1:node@c-0.me) 46 | 42
+> [ 69.998600] (1:node@c-0.me) 50 | 42
+> [ 69.998600] (1:node@c-0.me) 58 | 42
+> [ 69.998600] (1:node@c-0.me) 74 | 42
+> [ 69.998600] (1:node@c-0.me) 106 | 42
+> [ 69.998600] (1:node@c-0.me) 170 | 42
+> [ 69.998600] (1:node@c-0.me) 298 | 42
+> [ 69.998600] (1:node@c-0.me) 554 | 42
+> [ 69.998600] (1:node@c-0.me) 1066 | 42
+> [ 69.998600] (1:node@c-0.me) 2090 | 42
+> [ 69.998600] (1:node@c-0.me) 4138 | 42
+> [ 69.998600] (1:node@c-0.me) 8234 | 42
+> [ 69.998600] (1:node@c-0.me) 16426 | 42
+> [ 69.998600] (1:node@c-0.me) 32810 | 42
+> [ 69.998600] (1:node@c-0.me) 65578 | 42
+> [ 69.998600] (1:node@c-0.me) 131114 | 42
+> [ 69.998600] (1:node@c-0.me) 262186 | 42
+> [ 69.998600] (1:node@c-0.me) 524330 | 42
+> [ 69.998600] (1:node@c-0.me) 1048618 | 42
+> [ 69.998600] (1:node@c-0.me) 2097194 | 42
+> [ 69.998600] (1:node@c-0.me) 4194346 | 42
+> [ 69.998600] (1:node@c-0.me) 8388650 | 42
+> [ 69.998600] (1:node@c-0.me) Predecessor: 6518808
+> [ 81.998500] (2:node@c-1.me) My finger table:
+> [ 81.998500] (2:node@c-1.me) Start | Succ
+> [ 81.998500] (2:node@c-1.me) 366681 | 6518808
+> [ 81.998500] (2:node@c-1.me) 366682 | 366680
+> [ 81.998500] (2:node@c-1.me) 366684 | 366680
+> [ 81.998500] (2:node@c-1.me) 366688 | 366680
+> [ 81.998500] (2:node@c-1.me) 366696 | 366680
+> [ 81.998500] (2:node@c-1.me) 366712 | 366680
+> [ 81.998500] (2:node@c-1.me) 366744 | 366680
+> [ 81.998500] (2:node@c-1.me) 366808 | 366680
+> [ 81.998500] (2:node@c-1.me) 366936 | 366680
+> [ 81.998500] (2:node@c-1.me) 367192 | 366680
+> [ 81.998500] (2:node@c-1.me) 367704 | 366680
+> [ 81.998500] (2:node@c-1.me) 368728 | 366680
+> [ 81.998500] (2:node@c-1.me) 370776 | 366680
+> [ 81.998500] (2:node@c-1.me) 374872 | 366680
+> [ 81.998500] (2:node@c-1.me) 383064 | 366680
+> [ 81.998500] (2:node@c-1.me) 399448 | 366680
+> [ 81.998500] (2:node@c-1.me) 432216 | 366680
+> [ 81.998500] (2:node@c-1.me) 497752 | 366680
+> [ 81.998500] (2:node@c-1.me) 628824 | 366680
+> [ 81.998500] (2:node@c-1.me) 890968 | 366680
+> [ 81.998500] (2:node@c-1.me) 1415256 | 366680
+> [ 81.998500] (2:node@c-1.me) 2463832 | 366680
+> [ 81.998500] (2:node@c-1.me) 4560984 | 366680
+> [ 81.998500] (2:node@c-1.me) 8755288 | 366680
+> [ 81.998500] (2:node@c-1.me) Predecessor: 42
+> [ 98.998100] (7:node@c-6.me) My finger table:
+> [ 98.998100] (7:node@c-6.me) Start | Succ
+> [ 98.998100] (7:node@c-6.me) 16728097 | 1319738
+> [ 98.998100] (7:node@c-6.me) 16728098 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16728100 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16728104 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16728112 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16728128 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16728160 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16728224 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16728352 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16728608 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16729120 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16730144 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16732192 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16736288 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16744480 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16760864 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16416 | 16728096
+> [ 98.998100] (7:node@c-6.me) 81952 | 16728096
+> [ 98.998100] (7:node@c-6.me) 213024 | 16728096
+> [ 98.998100] (7:node@c-6.me) 475168 | 16728096
+> [ 98.998100] (7:node@c-6.me) 999456 | 16728096
+> [ 98.998100] (7:node@c-6.me) 2048032 | 16728096
+> [ 98.998100] (7:node@c-6.me) 4145184 | 16728096
+> [ 98.998100] (7:node@c-6.me) 8339488 | 16728096
+> [ 98.998100] (7:node@c-6.me) Predecessor: 2015253
+> [ 110.998000] (9:node@c-8.me) My finger table:
+> [ 110.998000] (9:node@c-8.me) Start | Succ
+> [ 110.998000] (9:node@c-8.me) 6518809 | 42
+> [ 110.998000] (9:node@c-8.me) 6518810 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6518812 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6518816 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6518824 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6518840 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6518872 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6518936 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6519064 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6519320 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6519832 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6520856 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6522904 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6527000 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6535192 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6551576 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6584344 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6649880 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6780952 | 6518808
+> [ 110.998000] (9:node@c-8.me) 7043096 | 6518808
+> [ 110.998000] (9:node@c-8.me) 7567384 | 6518808
+> [ 110.998000] (9:node@c-8.me) 8615960 | 6518808
+> [ 110.998000] (9:node@c-8.me) 10713112 | 6518808
+> [ 110.998000] (9:node@c-8.me) 14907416 | 6518808
+> [ 110.998000] (9:node@c-8.me) Predecessor: 366680
+> [ 111.998000] (9:node@c-8.me) My finger table:
+> [ 111.998000] (9:node@c-8.me) Start | Succ
+> [ 111.998000] (9:node@c-8.me) 6518809 | 42
+> [ 111.998000] (9:node@c-8.me) 6518810 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6518812 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6518816 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6518824 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6518840 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6518872 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6518936 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6519064 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6519320 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6519832 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6520856 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6522904 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6527000 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6535192 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6551576 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6584344 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6649880 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6780952 | 6518808
+> [ 111.998000] (9:node@c-8.me) 7043096 | 6518808
+> [ 111.998000] (9:node@c-8.me) 7567384 | 6518808
+> [ 111.998000] (9:node@c-8.me) 8615960 | 6518808
+> [ 111.998000] (9:node@c-8.me) 10713112 | 6518808
+> [ 111.998000] (9:node@c-8.me) 14907416 | 6518808
+> [ 111.998000] (9:node@c-8.me) Predecessor: 1319738
+> [ 127.997700] (8:node@c-7.me) My finger table:
+> [ 127.997700] (8:node@c-7.me) Start | Succ
+> [ 127.997700] (8:node@c-7.me) 10004761 | 16509405
+> [ 127.997700] (8:node@c-7.me) 10004762 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10004764 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10004768 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10004776 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10004792 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10004824 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10004888 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10005016 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10005272 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10005784 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10006808 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10008856 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10012952 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10021144 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10037528 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10070296 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10135832 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10266904 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10529048 | 10004760
+> [ 127.997700] (8:node@c-7.me) 11053336 | 10004760
+> [ 127.997700] (8:node@c-7.me) 12101912 | 10004760
+> [ 127.997700] (8:node@c-7.me) 14199064 | 10004760
+> [ 127.997700] (8:node@c-7.me) 1616152 | 10004760
+> [ 127.997700] (8:node@c-7.me) Predecessor: 533744
+> [ 137.997600] (1:node@c-0.me) My finger table:
+> [ 137.997600] (1:node@c-0.me) Start | Succ
+> [ 137.997600] (1:node@c-0.me) 43 | 366680
+> [ 137.997600] (1:node@c-0.me) 44 | 42
+> [ 137.997600] (1:node@c-0.me) 46 | 42
+> [ 137.997600] (1:node@c-0.me) 50 | 42
+> [ 137.997600] (1:node@c-0.me) 58 | 42
+> [ 137.997600] (1:node@c-0.me) 74 | 42
+> [ 137.997600] (1:node@c-0.me) 106 | 42
+> [ 137.997600] (1:node@c-0.me) 170 | 42
+> [ 137.997600] (1:node@c-0.me) 298 | 42
+> [ 137.997600] (1:node@c-0.me) 554 | 42
+> [ 137.997600] (1:node@c-0.me) 1066 | 42
+> [ 137.997600] (1:node@c-0.me) 2090 | 42
+> [ 137.997600] (1:node@c-0.me) 4138 | 42
+> [ 137.997600] (1:node@c-0.me) 8234 | 42
+> [ 137.997600] (1:node@c-0.me) 16426 | 42
+> [ 137.997600] (1:node@c-0.me) 32810 | 42
+> [ 137.997600] (1:node@c-0.me) 65578 | 42
+> [ 137.997600] (1:node@c-0.me) 131114 | 42
+> [ 137.997600] (1:node@c-0.me) 262186 | 42
+> [ 137.997600] (1:node@c-0.me) 524330 | 42
+> [ 137.997600] (1:node@c-0.me) 1048618 | 42
+> [ 137.997600] (1:node@c-0.me) 2097194 | 42
+> [ 137.997600] (1:node@c-0.me) 4194346 | 42
+> [ 137.997600] (1:node@c-0.me) 8388650 | 42
+> [ 137.997600] (1:node@c-0.me) Predecessor: 16509405
+> [ 165.997100] (4:node@c-3.me) My finger table:
+> [ 165.997100] (4:node@c-3.me) Start | Succ
+> [ 165.997100] (4:node@c-3.me) 1319739 | 6518808
+> [ 165.997100] (4:node@c-3.me) 1319740 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1319742 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1319746 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1319754 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1319770 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1319802 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1319866 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1319994 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1320250 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1320762 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1321786 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1323834 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1327930 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1336122 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1352506 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1385274 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1450810 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1581882 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1844026 | 1319738
+> [ 165.997100] (4:node@c-3.me) 2368314 | 1319738
+> [ 165.997100] (4:node@c-3.me) 3416890 | 1319738
+> [ 165.997100] (4:node@c-3.me) 5514042 | 1319738
+> [ 165.997100] (4:node@c-3.me) 9708346 | 1319738
+> [ 165.997100] (4:node@c-3.me) Predecessor: 366680
+> [ 209.996500] (8:node@c-7.me) My finger table:
+> [ 209.996500] (8:node@c-7.me) Start | Succ
+> [ 209.996500] (8:node@c-7.me) 10004761 | 16509405
+> [ 209.996500] (8:node@c-7.me) 10004762 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10004764 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10004768 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10004776 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10004792 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10004824 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10004888 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10005016 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10005272 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10005784 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10006808 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10008856 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10012952 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10021144 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10037528 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10070296 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10135832 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10266904 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10529048 | 10004760
+> [ 209.996500] (8:node@c-7.me) 11053336 | 10004760
+> [ 209.996500] (8:node@c-7.me) 12101912 | 10004760
+> [ 209.996500] (8:node@c-7.me) 14199064 | 10004760
+> [ 209.996500] (8:node@c-7.me) 1616152 | 10004760
+> [ 209.996500] (8:node@c-7.me) Predecessor: 6518808
+> [ 247.995800] (6:node@c-5.me) My finger table:
+> [ 247.995800] (6:node@c-5.me) Start | Succ
+> [ 247.995800] (6:node@c-5.me) 10874877 | 533744
+> [ 247.995800] (6:node@c-5.me) 10874878 | 533744
+> [ 247.995800] (6:node@c-5.me) 10874880 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10874884 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10874892 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10874908 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10874940 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10875004 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10875132 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10875388 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10875900 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10876924 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10878972 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10883068 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10891260 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10907644 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10940412 | 10874876
+> [ 247.995800] (6:node@c-5.me) 11005948 | 10874876
+> [ 247.995800] (6:node@c-5.me) 11137020 | 10874876
+> [ 247.995800] (6:node@c-5.me) 11399164 | 10874876
+> [ 247.995800] (6:node@c-5.me) 11923452 | 10874876
+> [ 247.995800] (6:node@c-5.me) 12972028 | 10874876
+> [ 247.995800] (6:node@c-5.me) 15069180 | 10874876
+> [ 247.995800] (6:node@c-5.me) 2486268 | 10874876
+> [ 247.995800] (6:node@c-5.me) Predecessor: -1
+> [ 249.995700] (7:node@c-6.me) My finger table:
+> [ 249.995700] (7:node@c-6.me) Start | Succ
+> [ 249.995700] (7:node@c-6.me) 16728097 | 42
+> [ 249.995700] (7:node@c-6.me) 16728098 | 42
+> [ 249.995700] (7:node@c-6.me) 16728100 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16728104 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16728112 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16728128 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16728160 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16728224 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16728352 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16728608 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16729120 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16730144 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16732192 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16736288 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16744480 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16760864 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16416 | 16728096
+> [ 249.995700] (7:node@c-6.me) 81952 | 16728096
+> [ 249.995700] (7:node@c-6.me) 213024 | 16728096
+> [ 249.995700] (7:node@c-6.me) 475168 | 16728096
+> [ 249.995700] (7:node@c-6.me) 999456 | 16728096
+> [ 249.995700] (7:node@c-6.me) 2048032 | 16728096
+> [ 249.995700] (7:node@c-6.me) 4145184 | 16728096
+> [ 249.995700] (7:node@c-6.me) 8339488 | 16728096
+> [ 249.995700] (7:node@c-6.me) Predecessor: 2015253
+> [ 251.995700] (8:node@c-7.me) My finger table:
+> [ 251.995700] (8:node@c-7.me) Start | Succ
+> [ 251.995700] (8:node@c-7.me) 10004761 | 16509405
+> [ 251.995700] (8:node@c-7.me) 10004762 | 16509405
+> [ 251.995700] (8:node@c-7.me) 10004764 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10004768 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10004776 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10004792 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10004824 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10004888 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10005016 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10005272 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10005784 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10006808 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10008856 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10012952 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10021144 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10037528 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10070296 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10135832 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10266904 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10529048 | 10004760
+> [ 251.995700] (8:node@c-7.me) 11053336 | 10004760
+> [ 251.995700] (8:node@c-7.me) 12101912 | 10004760
+> [ 251.995700] (8:node@c-7.me) 14199064 | 10004760
+> [ 251.995700] (8:node@c-7.me) 1616152 | 10004760
+> [ 251.995700] (8:node@c-7.me) Predecessor: 6518808
+> [ 252.995700] (2:node@c-1.me) My finger table:
+> [ 252.995700] (2:node@c-1.me) Start | Succ
+> [ 252.995700] (2:node@c-1.me) 366681 | 1319738
+> [ 252.995700] (2:node@c-1.me) 366682 | 1319738
+> [ 252.995700] (2:node@c-1.me) 366684 | 366680
+> [ 252.995700] (2:node@c-1.me) 366688 | 366680
+> [ 252.995700] (2:node@c-1.me) 366696 | 366680
+> [ 252.995700] (2:node@c-1.me) 366712 | 366680
+> [ 252.995700] (2:node@c-1.me) 366744 | 366680
+> [ 252.995700] (2:node@c-1.me) 366808 | 366680
+> [ 252.995700] (2:node@c-1.me) 366936 | 366680
+> [ 252.995700] (2:node@c-1.me) 367192 | 366680
+> [ 252.995700] (2:node@c-1.me) 367704 | 366680
+> [ 252.995700] (2:node@c-1.me) 368728 | 366680
+> [ 252.995700] (2:node@c-1.me) 370776 | 366680
+> [ 252.995700] (2:node@c-1.me) 374872 | 366680
+> [ 252.995700] (2:node@c-1.me) 383064 | 366680
+> [ 252.995700] (2:node@c-1.me) 399448 | 366680
+> [ 252.995700] (2:node@c-1.me) 432216 | 366680
+> [ 252.995700] (2:node@c-1.me) 497752 | 366680
+> [ 252.995700] (2:node@c-1.me) 628824 | 366680
+> [ 252.995700] (2:node@c-1.me) 890968 | 366680
+> [ 252.995700] (2:node@c-1.me) 1415256 | 366680
+> [ 252.995700] (2:node@c-1.me) 2463832 | 366680
+> [ 252.995700] (2:node@c-1.me) 4560984 | 366680
+> [ 252.995700] (2:node@c-1.me) 8755288 | 366680
+> [ 252.995700] (2:node@c-1.me) Predecessor: 42
+> [ 254.995700] (1:node@c-0.me) My finger table:
+> [ 254.995700] (1:node@c-0.me) Start | Succ
+> [ 254.995700] (1:node@c-0.me) 43 | 366680
+> [ 254.995700] (1:node@c-0.me) 44 | 42
+> [ 254.995700] (1:node@c-0.me) 46 | 42
+> [ 254.995700] (1:node@c-0.me) 50 | 42
+> [ 254.995700] (1:node@c-0.me) 58 | 42
+> [ 254.995700] (1:node@c-0.me) 74 | 42
+> [ 254.995700] (1:node@c-0.me) 106 | 42
+> [ 254.995700] (1:node@c-0.me) 170 | 42
+> [ 254.995700] (1:node@c-0.me) 298 | 42
+> [ 254.995700] (1:node@c-0.me) 554 | 42
+> [ 254.995700] (1:node@c-0.me) 1066 | 42
+> [ 254.995700] (1:node@c-0.me) 2090 | 42
+> [ 254.995700] (1:node@c-0.me) 4138 | 42
+> [ 254.995700] (1:node@c-0.me) 8234 | 42
+> [ 254.995700] (1:node@c-0.me) 16426 | 42
+> [ 254.995700] (1:node@c-0.me) 32810 | 42
+> [ 254.995700] (1:node@c-0.me) 65578 | 42
+> [ 254.995700] (1:node@c-0.me) 131114 | 42
+> [ 254.995700] (1:node@c-0.me) 262186 | 42
+> [ 254.995700] (1:node@c-0.me) 524330 | 42
+> [ 254.995700] (1:node@c-0.me) 1048618 | 42
+> [ 254.995700] (1:node@c-0.me) 2097194 | 42
+> [ 254.995700] (1:node@c-0.me) 4194346 | 42
+> [ 254.995700] (1:node@c-0.me) 8388650 | 42
+> [ 254.995700] (1:node@c-0.me) Predecessor: 16728096
+> [ 254.995700] (4:node@c-3.me) My finger table:
+> [ 254.995700] (4:node@c-3.me) Start | Succ
+> [ 254.995700] (4:node@c-3.me) 1319739 | 6518808
+> [ 254.995700] (4:node@c-3.me) 1319740 | 6518808
+> [ 254.995700] (4:node@c-3.me) 1319742 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1319746 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1319754 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1319770 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1319802 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1319866 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1319994 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1320250 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1320762 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1321786 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1323834 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1327930 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1336122 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1352506 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1385274 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1450810 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1581882 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1844026 | 1319738
+> [ 254.995700] (4:node@c-3.me) 2368314 | 1319738
+> [ 254.995700] (4:node@c-3.me) 3416890 | 1319738
+> [ 254.995700] (4:node@c-3.me) 5514042 | 1319738
+> [ 254.995700] (4:node@c-3.me) 9708346 | 1319738
+> [ 254.995700] (4:node@c-3.me) Predecessor: 366680
+> [ 255.995700] (1:node@c-0.me) My finger table:
+> [ 255.995700] (1:node@c-0.me) Start | Succ
+> [ 255.995700] (1:node@c-0.me) 43 | 366680
+> [ 255.995700] (1:node@c-0.me) 44 | 366680
+> [ 255.995700] (1:node@c-0.me) 46 | 42
+> [ 255.995700] (1:node@c-0.me) 50 | 42
+> [ 255.995700] (1:node@c-0.me) 58 | 42
+> [ 255.995700] (1:node@c-0.me) 74 | 42
+> [ 255.995700] (1:node@c-0.me) 106 | 42
+> [ 255.995700] (1:node@c-0.me) 170 | 42
+> [ 255.995700] (1:node@c-0.me) 298 | 42
+> [ 255.995700] (1:node@c-0.me) 554 | 42
+> [ 255.995700] (1:node@c-0.me) 1066 | 42
+> [ 255.995700] (1:node@c-0.me) 2090 | 42
+> [ 255.995700] (1:node@c-0.me) 4138 | 42
+> [ 255.995700] (1:node@c-0.me) 8234 | 42
+> [ 255.995700] (1:node@c-0.me) 16426 | 42
+> [ 255.995700] (1:node@c-0.me) 32810 | 42
+> [ 255.995700] (1:node@c-0.me) 65578 | 42
+> [ 255.995700] (1:node@c-0.me) 131114 | 42
+> [ 255.995700] (1:node@c-0.me) 262186 | 42
+> [ 255.995700] (1:node@c-0.me) 524330 | 42
+> [ 255.995700] (1:node@c-0.me) 1048618 | 42
+> [ 255.995700] (1:node@c-0.me) 2097194 | 42
+> [ 255.995700] (1:node@c-0.me) 4194346 | 42
+> [ 255.995700] (1:node@c-0.me) 8388650 | 42
+> [ 255.995700] (1:node@c-0.me) Predecessor: 16728096
+> [ 255.995700] (5:node@c-4.me) My finger table:
+> [ 255.995700] (5:node@c-4.me) Start | Succ
+> [ 255.995700] (5:node@c-4.me) 16509406 | 42
+> [ 255.995700] (5:node@c-4.me) 16509407 | 42
+> [ 255.995700] (5:node@c-4.me) 16509409 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16509413 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16509421 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16509437 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16509469 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16509533 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16509661 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16509917 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16510429 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16511453 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16513501 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16517597 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16525789 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16542173 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16574941 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16640477 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16771549 | 16509405
+> [ 255.995700] (5:node@c-4.me) 256477 | 16509405
+> [ 255.995700] (5:node@c-4.me) 780765 | 16509405
+> [ 255.995700] (5:node@c-4.me) 1829341 | 16509405
+> [ 255.995700] (5:node@c-4.me) 3926493 | 16509405
+> [ 255.995700] (5:node@c-4.me) 8120797 | 16509405
+> [ 255.995700] (5:node@c-4.me) Predecessor: 10004760
+> [ 257.995700] (10:node@c-9.me) My finger table:
+> [ 257.995700] (10:node@c-9.me) Start | Succ
+> [ 257.995700] (10:node@c-9.me) 2015254 | 16728096
+> [ 257.995700] (10:node@c-9.me) 2015255 | 16728096
+> [ 257.995700] (10:node@c-9.me) 2015257 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2015261 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2015269 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2015285 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2015317 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2015381 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2015509 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2015765 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2016277 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2017301 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2019349 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2023445 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2031637 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2048021 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2080789 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2146325 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2277397 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2539541 | 2015253
+> [ 257.995700] (10:node@c-9.me) 3063829 | 2015253
+> [ 257.995700] (10:node@c-9.me) 4112405 | 2015253
+> [ 257.995700] (10:node@c-9.me) 6209557 | 2015253
+> [ 257.995700] (10:node@c-9.me) 10403861 | 2015253
+> [ 257.995700] (10:node@c-9.me) Predecessor: -1
+> [ 263.995700] (3:node@c-2.me) My finger table:
+> [ 263.995700] (3:node@c-2.me) Start | Succ
+> [ 263.995700] (3:node@c-2.me) 533745 | 1319738
+> [ 263.995700] (3:node@c-2.me) 533746 | 1319738
+> [ 263.995700] (3:node@c-2.me) 533748 | 533744
+> [ 263.995700] (3:node@c-2.me) 533752 | 533744
+> [ 263.995700] (3:node@c-2.me) 533760 | 533744
+> [ 263.995700] (3:node@c-2.me) 533776 | 533744
+> [ 263.995700] (3:node@c-2.me) 533808 | 533744
+> [ 263.995700] (3:node@c-2.me) 533872 | 533744
+> [ 263.995700] (3:node@c-2.me) 534000 | 533744
+> [ 263.995700] (3:node@c-2.me) 534256 | 533744
+> [ 263.995700] (3:node@c-2.me) 534768 | 533744
+> [ 263.995700] (3:node@c-2.me) 535792 | 533744
+> [ 263.995700] (3:node@c-2.me) 537840 | 533744
+> [ 263.995700] (3:node@c-2.me) 541936 | 533744
+> [ 263.995700] (3:node@c-2.me) 550128 | 533744
+> [ 263.995700] (3:node@c-2.me) 566512 | 533744
+> [ 263.995700] (3:node@c-2.me) 599280 | 533744
+> [ 263.995700] (3:node@c-2.me) 664816 | 533744
+> [ 263.995700] (3:node@c-2.me) 795888 | 533744
+> [ 263.995700] (3:node@c-2.me) 1058032 | 533744
+> [ 263.995700] (3:node@c-2.me) 1582320 | 533744
+> [ 263.995700] (3:node@c-2.me) 2630896 | 533744
+> [ 263.995700] (3:node@c-2.me) 4728048 | 533744
+> [ 263.995700] (3:node@c-2.me) 8922352 | 533744
+> [ 263.995700] (3:node@c-2.me) Predecessor: 10874876
+> [ 264.995500] (9:node@c-8.me) My finger table:
+> [ 264.995500] (9:node@c-8.me) Start | Succ
+> [ 264.995500] (9:node@c-8.me) 6518809 | 10004760
+> [ 264.995500] (9:node@c-8.me) 6518810 | 10004760
+> [ 264.995500] (9:node@c-8.me) 6518812 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6518816 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6518824 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6518840 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6518872 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6518936 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6519064 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6519320 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6519832 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6520856 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6522904 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6527000 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6535192 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6551576 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6584344 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6649880 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6780952 | 6518808
+> [ 264.995500] (9:node@c-8.me) 7043096 | 6518808
+> [ 264.995500] (9:node@c-8.me) 7567384 | 6518808
+> [ 264.995500] (9:node@c-8.me) 8615960 | 6518808
+> [ 264.995500] (9:node@c-8.me) 10713112 | 6518808
+> [ 264.995500] (9:node@c-8.me) 14907416 | 6518808
+> [ 264.995500] (9:node@c-8.me) Predecessor: 1319738
+> [ 310.994900] (4:node@c-3.me) My finger table:
+> [ 310.994900] (4:node@c-3.me) Start | Succ
+> [ 310.994900] (4:node@c-3.me) 1319739 | 6518808
+> [ 310.994900] (4:node@c-3.me) 1319740 | 6518808
+> [ 310.994900] (4:node@c-3.me) 1319742 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1319746 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1319754 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1319770 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1319802 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1319866 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1319994 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1320250 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1320762 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1321786 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1323834 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1327930 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1336122 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1352506 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1385274 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1450810 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1581882 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1844026 | 1319738
+> [ 310.994900] (4:node@c-3.me) 2368314 | 1319738
+> [ 310.994900] (4:node@c-3.me) 3416890 | 1319738
+> [ 310.994900] (4:node@c-3.me) 5514042 | 1319738
+> [ 310.994900] (4:node@c-3.me) 9708346 | 1319738
+> [ 310.994900] (4:node@c-3.me) Predecessor: 533744
+> [ 335.994500] (7:node@c-6.me) My finger table:
+> [ 335.994500] (7:node@c-6.me) Start | Succ
+> [ 335.994500] (7:node@c-6.me) 16728097 | 42
+> [ 335.994500] (7:node@c-6.me) 16728098 | 42
+> [ 335.994500] (7:node@c-6.me) 16728100 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16728104 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16728112 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16728128 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16728160 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16728224 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16728352 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16728608 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16729120 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16730144 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16732192 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16736288 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16744480 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16760864 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16416 | 16728096
+> [ 335.994500] (7:node@c-6.me) 81952 | 16728096
+> [ 335.994500] (7:node@c-6.me) 213024 | 16728096
+> [ 335.994500] (7:node@c-6.me) 475168 | 16728096
+> [ 335.994500] (7:node@c-6.me) 999456 | 16728096
+> [ 335.994500] (7:node@c-6.me) 2048032 | 16728096
+> [ 335.994500] (7:node@c-6.me) 4145184 | 16728096
+> [ 335.994500] (7:node@c-6.me) 8339488 | 16728096
+> [ 335.994500] (7:node@c-6.me) Predecessor: 16509405
+> [ 366.994000] (3:node@c-2.me) My finger table:
+> [ 366.994000] (3:node@c-2.me) Start | Succ
+> [ 366.994000] (3:node@c-2.me) 533745 | 1319738
+> [ 366.994000] (3:node@c-2.me) 533746 | 1319738
+> [ 366.994000] (3:node@c-2.me) 533748 | 533744
+> [ 366.994000] (3:node@c-2.me) 533752 | 533744
+> [ 366.994000] (3:node@c-2.me) 533760 | 533744
+> [ 366.994000] (3:node@c-2.me) 533776 | 533744
+> [ 366.994000] (3:node@c-2.me) 533808 | 533744
+> [ 366.994000] (3:node@c-2.me) 533872 | 533744
+> [ 366.994000] (3:node@c-2.me) 534000 | 533744
+> [ 366.994000] (3:node@c-2.me) 534256 | 533744
+> [ 366.994000] (3:node@c-2.me) 534768 | 533744
+> [ 366.994000] (3:node@c-2.me) 535792 | 533744
+> [ 366.994000] (3:node@c-2.me) 537840 | 533744
+> [ 366.994000] (3:node@c-2.me) 541936 | 533744
+> [ 366.994000] (3:node@c-2.me) 550128 | 533744
+> [ 366.994000] (3:node@c-2.me) 566512 | 533744
+> [ 366.994000] (3:node@c-2.me) 599280 | 533744
+> [ 366.994000] (3:node@c-2.me) 664816 | 533744
+> [ 366.994000] (3:node@c-2.me) 795888 | 533744
+> [ 366.994000] (3:node@c-2.me) 1058032 | 533744
+> [ 366.994000] (3:node@c-2.me) 1582320 | 533744
+> [ 366.994000] (3:node@c-2.me) 2630896 | 533744
+> [ 366.994000] (3:node@c-2.me) 4728048 | 533744
+> [ 366.994000] (3:node@c-2.me) 8922352 | 533744
+> [ 366.994000] (3:node@c-2.me) Predecessor: 366680
+> [ 370.993500] (6:node@c-5.me) My finger table:
+> [ 370.993500] (6:node@c-5.me) Start | Succ
+> [ 370.993500] (6:node@c-5.me) 10874877 | 533744
+> [ 370.993500] (6:node@c-5.me) 10874878 | 533744
+> [ 370.993500] (6:node@c-5.me) 10874880 | 533744
+> [ 370.993500] (6:node@c-5.me) 10874884 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10874892 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10874908 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10874940 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10875004 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10875132 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10875388 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10875900 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10876924 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10878972 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10883068 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10891260 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10907644 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10940412 | 10874876
+> [ 370.993500] (6:node@c-5.me) 11005948 | 10874876
+> [ 370.993500] (6:node@c-5.me) 11137020 | 10874876
+> [ 370.993500] (6:node@c-5.me) 11399164 | 10874876
+> [ 370.993500] (6:node@c-5.me) 11923452 | 10874876
+> [ 370.993500] (6:node@c-5.me) 12972028 | 10874876
+> [ 370.993500] (6:node@c-5.me) 15069180 | 10874876
+> [ 370.993500] (6:node@c-5.me) 2486268 | 10874876
+> [ 370.993500] (6:node@c-5.me) Predecessor: -1
+> [ 375.993800] (2:node@c-1.me) My finger table:
+> [ 375.993800] (2:node@c-1.me) Start | Succ
+> [ 375.993800] (2:node@c-1.me) 366681 | 533744
+> [ 375.993800] (2:node@c-1.me) 366682 | 1319738
+> [ 375.993800] (2:node@c-1.me) 366684 | 533744
+> [ 375.993800] (2:node@c-1.me) 366688 | 366680
+> [ 375.993800] (2:node@c-1.me) 366696 | 366680
+> [ 375.993800] (2:node@c-1.me) 366712 | 366680
+> [ 375.993800] (2:node@c-1.me) 366744 | 366680
+> [ 375.993800] (2:node@c-1.me) 366808 | 366680
+> [ 375.993800] (2:node@c-1.me) 366936 | 366680
+> [ 375.993800] (2:node@c-1.me) 367192 | 366680
+> [ 375.993800] (2:node@c-1.me) 367704 | 366680
+> [ 375.993800] (2:node@c-1.me) 368728 | 366680
+> [ 375.993800] (2:node@c-1.me) 370776 | 366680
+> [ 375.993800] (2:node@c-1.me) 374872 | 366680
+> [ 375.993800] (2:node@c-1.me) 383064 | 366680
+> [ 375.993800] (2:node@c-1.me) 399448 | 366680
+> [ 375.993800] (2:node@c-1.me) 432216 | 366680
+> [ 375.993800] (2:node@c-1.me) 497752 | 366680
+> [ 375.993800] (2:node@c-1.me) 628824 | 366680
+> [ 375.993800] (2:node@c-1.me) 890968 | 366680
+> [ 375.993800] (2:node@c-1.me) 1415256 | 366680
+> [ 375.993800] (2:node@c-1.me) 2463832 | 366680
+> [ 375.993800] (2:node@c-1.me) 4560984 | 366680
+> [ 375.993800] (2:node@c-1.me) 8755288 | 366680
+> [ 375.993800] (2:node@c-1.me) Predecessor: 42
+> [ 376.993800] (1:node@c-0.me) My finger table:
+> [ 376.993800] (1:node@c-0.me) Start | Succ
+> [ 376.993800] (1:node@c-0.me) 43 | 366680
+> [ 376.993800] (1:node@c-0.me) 44 | 366680
+> [ 376.993800] (1:node@c-0.me) 46 | 366680
+> [ 376.993800] (1:node@c-0.me) 50 | 42
+> [ 376.993800] (1:node@c-0.me) 58 | 42
+> [ 376.993800] (1:node@c-0.me) 74 | 42
+> [ 376.993800] (1:node@c-0.me) 106 | 42
+> [ 376.993800] (1:node@c-0.me) 170 | 42
+> [ 376.993800] (1:node@c-0.me) 298 | 42
+> [ 376.993800] (1:node@c-0.me) 554 | 42
+> [ 376.993800] (1:node@c-0.me) 1066 | 42
+> [ 376.993800] (1:node@c-0.me) 2090 | 42
+> [ 376.993800] (1:node@c-0.me) 4138 | 42
+> [ 376.993800] (1:node@c-0.me) 8234 | 42
+> [ 376.993800] (1:node@c-0.me) 16426 | 42
+> [ 376.993800] (1:node@c-0.me) 32810 | 42
+> [ 376.993800] (1:node@c-0.me) 65578 | 42
+> [ 376.993800] (1:node@c-0.me) 131114 | 42
+> [ 376.993800] (1:node@c-0.me) 262186 | 42
+> [ 376.993800] (1:node@c-0.me) 524330 | 42
+> [ 376.993800] (1:node@c-0.me) 1048618 | 42
+> [ 376.993800] (1:node@c-0.me) 2097194 | 42
+> [ 376.993800] (1:node@c-0.me) 4194346 | 42
+> [ 376.993800] (1:node@c-0.me) 8388650 | 42
+> [ 376.993800] (1:node@c-0.me) Predecessor: 16728096
+> [ 376.993800] (4:node@c-3.me) My finger table:
+> [ 376.993800] (4:node@c-3.me) Start | Succ
+> [ 376.993800] (4:node@c-3.me) 1319739 | 6518808
+> [ 376.993800] (4:node@c-3.me) 1319740 | 6518808
+> [ 376.993800] (4:node@c-3.me) 1319742 | 6518808
+> [ 376.993800] (4:node@c-3.me) 1319746 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1319754 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1319770 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1319802 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1319866 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1319994 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1320250 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1320762 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1321786 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1323834 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1327930 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1336122 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1352506 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1385274 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1450810 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1581882 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1844026 | 1319738
+> [ 376.993800] (4:node@c-3.me) 2368314 | 1319738
+> [ 376.993800] (4:node@c-3.me) 3416890 | 1319738
+> [ 376.993800] (4:node@c-3.me) 5514042 | 1319738
+> [ 376.993800] (4:node@c-3.me) 9708346 | 1319738
+> [ 376.993800] (4:node@c-3.me) Predecessor: 533744
+> [ 378.993800] (10:node@c-9.me) My finger table:
+> [ 378.993800] (10:node@c-9.me) Start | Succ
+> [ 378.993800] (10:node@c-9.me) 2015254 | 10004760
+> [ 378.993800] (10:node@c-9.me) 2015255 | 16728096
+> [ 378.993800] (10:node@c-9.me) 2015257 | 10004760
+> [ 378.993800] (10:node@c-9.me) 2015261 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2015269 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2015285 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2015317 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2015381 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2015509 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2015765 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2016277 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2017301 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2019349 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2023445 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2031637 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2048021 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2080789 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2146325 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2277397 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2539541 | 2015253
+> [ 378.993800] (10:node@c-9.me) 3063829 | 2015253
+> [ 378.993800] (10:node@c-9.me) 4112405 | 2015253
+> [ 378.993800] (10:node@c-9.me) 6209557 | 2015253
+> [ 378.993800] (10:node@c-9.me) 10403861 | 2015253
+> [ 378.993800] (10:node@c-9.me) Predecessor: -1
+> [ 378.993800] (5:node@c-4.me) My finger table:
+> [ 378.993800] (5:node@c-4.me) Start | Succ
+> [ 378.993800] (5:node@c-4.me) 16509406 | 16728096
+> [ 378.993800] (5:node@c-4.me) 16509407 | 42
+> [ 378.993800] (5:node@c-4.me) 16509409 | 16728096
+> [ 378.993800] (5:node@c-4.me) 16509413 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16509421 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16509437 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16509469 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16509533 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16509661 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16509917 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16510429 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16511453 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16513501 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16517597 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16525789 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16542173 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16574941 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16640477 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16771549 | 16509405
+> [ 378.993800] (5:node@c-4.me) 256477 | 16509405
+> [ 378.993800] (5:node@c-4.me) 780765 | 16509405
+> [ 378.993800] (5:node@c-4.me) 1829341 | 16509405
+> [ 378.993800] (5:node@c-4.me) 3926493 | 16509405
+> [ 378.993800] (5:node@c-4.me) 8120797 | 16509405
+> [ 378.993800] (5:node@c-4.me) Predecessor: 10004760
+> [ 379.993800] (8:node@c-7.me) My finger table:
+> [ 379.993800] (8:node@c-7.me) Start | Succ
+> [ 379.993800] (8:node@c-7.me) 10004761 | 16509405
+> [ 379.993800] (8:node@c-7.me) 10004762 | 16509405
+> [ 379.993800] (8:node@c-7.me) 10004764 | 16509405
+> [ 379.993800] (8:node@c-7.me) 10004768 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10004776 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10004792 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10004824 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10004888 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10005016 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10005272 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10005784 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10006808 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10008856 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10012952 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10021144 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10037528 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10070296 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10135832 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10266904 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10529048 | 10004760
+> [ 379.993800] (8:node@c-7.me) 11053336 | 10004760
+> [ 379.993800] (8:node@c-7.me) 12101912 | 10004760
+> [ 379.993800] (8:node@c-7.me) 14199064 | 10004760
+> [ 379.993800] (8:node@c-7.me) 1616152 | 10004760
+> [ 379.993800] (8:node@c-7.me) Predecessor: 6518808
+> [ 385.993700] (3:node@c-2.me) My finger table:
+> [ 385.993700] (3:node@c-2.me) Start | Succ
+> [ 385.993700] (3:node@c-2.me) 533745 | 1319738
+> [ 385.993700] (3:node@c-2.me) 533746 | 1319738
+> [ 385.993700] (3:node@c-2.me) 533748 | 1319738
+> [ 385.993700] (3:node@c-2.me) 533752 | 533744
+> [ 385.993700] (3:node@c-2.me) 533760 | 533744
+> [ 385.993700] (3:node@c-2.me) 533776 | 533744
+> [ 385.993700] (3:node@c-2.me) 533808 | 533744
+> [ 385.993700] (3:node@c-2.me) 533872 | 533744
+> [ 385.993700] (3:node@c-2.me) 534000 | 533744
+> [ 385.993700] (3:node@c-2.me) 534256 | 533744
+> [ 385.993700] (3:node@c-2.me) 534768 | 533744
+> [ 385.993700] (3:node@c-2.me) 535792 | 533744
+> [ 385.993700] (3:node@c-2.me) 537840 | 533744
+> [ 385.993700] (3:node@c-2.me) 541936 | 533744
+> [ 385.993700] (3:node@c-2.me) 550128 | 533744
+> [ 385.993700] (3:node@c-2.me) 566512 | 533744
+> [ 385.993700] (3:node@c-2.me) 599280 | 533744
+> [ 385.993700] (3:node@c-2.me) 664816 | 533744
+> [ 385.993700] (3:node@c-2.me) 795888 | 533744
+> [ 385.993700] (3:node@c-2.me) 1058032 | 533744
+> [ 385.993700] (3:node@c-2.me) 1582320 | 533744
+> [ 385.993700] (3:node@c-2.me) 2630896 | 533744
+> [ 385.993700] (3:node@c-2.me) 4728048 | 533744
+> [ 385.993700] (3:node@c-2.me) 8922352 | 533744
+> [ 385.993700] (3:node@c-2.me) Predecessor: 366680
+> [ 387.993700] (7:node@c-6.me) My finger table:
+> [ 387.993700] (7:node@c-6.me) Start | Succ
+> [ 387.993700] (7:node@c-6.me) 16728097 | 42
+> [ 387.993700] (7:node@c-6.me) 16728098 | 42
+> [ 387.993700] (7:node@c-6.me) 16728100 | 42
+> [ 387.993700] (7:node@c-6.me) 16728104 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16728112 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16728128 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16728160 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16728224 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16728352 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16728608 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16729120 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16730144 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16732192 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16736288 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16744480 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16760864 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16416 | 16728096
+> [ 387.993700] (7:node@c-6.me) 81952 | 16728096
+> [ 387.993700] (7:node@c-6.me) 213024 | 16728096
+> [ 387.993700] (7:node@c-6.me) 475168 | 16728096
+> [ 387.993700] (7:node@c-6.me) 999456 | 16728096
+> [ 387.993700] (7:node@c-6.me) 2048032 | 16728096
+> [ 387.993700] (7:node@c-6.me) 4145184 | 16728096
+> [ 387.993700] (7:node@c-6.me) 8339488 | 16728096
+> [ 387.993700] (7:node@c-6.me) Predecessor: 16509405
+> [ 389.993600] (9:node@c-8.me) My finger table:
+> [ 389.993600] (9:node@c-8.me) Start | Succ
+> [ 389.993600] (9:node@c-8.me) 6518809 | 10004760
+> [ 389.993600] (9:node@c-8.me) 6518810 | 10004760
+> [ 389.993600] (9:node@c-8.me) 6518812 | 10004760
+> [ 389.993600] (9:node@c-8.me) 6518816 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6518824 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6518840 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6518872 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6518936 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6519064 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6519320 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6519832 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6520856 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6522904 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6527000 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6535192 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6551576 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6584344 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6649880 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6780952 | 6518808
+> [ 389.993600] (9:node@c-8.me) 7043096 | 6518808
+> [ 389.993600] (9:node@c-8.me) 7567384 | 6518808
+> [ 389.993600] (9:node@c-8.me) 8615960 | 6518808
+> [ 389.993600] (9:node@c-8.me) 10713112 | 6518808
+> [ 389.993600] (9:node@c-8.me) 14907416 | 6518808
+> [ 389.993600] (9:node@c-8.me) Predecessor: 1319738
+> [ 435.993000] (9:node@c-8.me) My finger table:
+> [ 435.993000] (9:node@c-8.me) Start | Succ
+> [ 435.993000] (9:node@c-8.me) 6518809 | 10004760
+> [ 435.993000] (9:node@c-8.me) 6518810 | 10004760
+> [ 435.993000] (9:node@c-8.me) 6518812 | 10004760
+> [ 435.993000] (9:node@c-8.me) 6518816 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6518824 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6518840 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6518872 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6518936 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6519064 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6519320 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6519832 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6520856 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6522904 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6527000 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6535192 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6551576 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6584344 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6649880 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6780952 | 6518808
+> [ 435.993000] (9:node@c-8.me) 7043096 | 6518808
+> [ 435.993000] (9:node@c-8.me) 7567384 | 6518808
+> [ 435.993000] (9:node@c-8.me) 8615960 | 6518808
+> [ 435.993000] (9:node@c-8.me) 10713112 | 6518808
+> [ 435.993000] (9:node@c-8.me) 14907416 | 6518808
+> [ 435.993000] (9:node@c-8.me) Predecessor: 2015253
+> [ 492.992000] (6:node@c-5.me) My finger table:
+> [ 492.992000] (6:node@c-5.me) Start | Succ
+> [ 492.992000] (6:node@c-5.me) 10874877 | 16509405
+> [ 492.992000] (6:node@c-5.me) 10874878 | 533744
+> [ 492.992000] (6:node@c-5.me) 10874880 | 533744
+> [ 492.992000] (6:node@c-5.me) 10874884 | 16509405
+> [ 492.992000] (6:node@c-5.me) 10874892 | 10874876
+> [ 492.992000] (6:node@c-5.me) 10874908 | 10874876
+> [ 492.992000] (6:node@c-5.me) 10874940 | 10874876
+> [ 492.992000] (6:node@c-5.me) 10875004 | 10874876
+> [ 492.992000] (6:node@c-5.me) 10875132 | 10874876
+> [ 492.992000] (6:node@c-5.me) 10875388 | 10874876
+> [ 492.992000] (6:node@c-5.me) 10875900 | 10874876
+> [ 492.992000] (6:node@c-5.me) 10876924 | 10874876
+> [ 492.992000] (6:node@c-5.me) 10878972 | 10874876
+> [ 492.992000] (6:node@c-5.me) 10883068 | 10874876
+> [ 492.992000] (6:node@c-5.me) 10891260 | 10874876
+> [ 492.992000] (6:node@c-5.me) 10907644 | 10874876
+> [ 492.992000] (6:node@c-5.me) 10940412 | 10874876
+> [ 492.992000] (6:node@c-5.me) 11005948 | 10874876
+> [ 492.992000] (6:node@c-5.me) 11137020 | 10874876
+> [ 492.992000] (6:node@c-5.me) 11399164 | 10874876
+> [ 492.992000] (6:node@c-5.me) 11923452 | 10874876
+> [ 492.992000] (6:node@c-5.me) 12972028 | 10874876
+> [ 492.992000] (6:node@c-5.me) 15069180 | 10874876
+> [ 492.992000] (6:node@c-5.me) 2486268 | 10874876
+> [ 492.992000] (6:node@c-5.me) Predecessor: -1
+> [ 500.991800] (1:node@c-0.me) My finger table:
+> [ 500.991800] (1:node@c-0.me) Start | Succ
+> [ 500.991800] (1:node@c-0.me) 43 | 366680
+> [ 500.991800] (1:node@c-0.me) 44 | 366680
+> [ 500.991800] (1:node@c-0.me) 46 | 366680
+> [ 500.991800] (1:node@c-0.me) 50 | 366680
+> [ 500.991800] (1:node@c-0.me) 58 | 42
+> [ 500.991800] (1:node@c-0.me) 74 | 42
+> [ 500.991800] (1:node@c-0.me) 106 | 42
+> [ 500.991800] (1:node@c-0.me) 170 | 42
+> [ 500.991800] (1:node@c-0.me) 298 | 42
+> [ 500.991800] (1:node@c-0.me) 554 | 42
+> [ 500.991800] (1:node@c-0.me) 1066 | 42
+> [ 500.991800] (1:node@c-0.me) 2090 | 42
+> [ 500.991800] (1:node@c-0.me) 4138 | 42
+> [ 500.991800] (1:node@c-0.me) 8234 | 42
+> [ 500.991800] (1:node@c-0.me) 16426 | 42
+> [ 500.991800] (1:node@c-0.me) 32810 | 42
+> [ 500.991800] (1:node@c-0.me) 65578 | 42
+> [ 500.991800] (1:node@c-0.me) 131114 | 42
+> [ 500.991800] (1:node@c-0.me) 262186 | 42
+> [ 500.991800] (1:node@c-0.me) 524330 | 42
+> [ 500.991800] (1:node@c-0.me) 1048618 | 42
+> [ 500.991800] (1:node@c-0.me) 2097194 | 42
+> [ 500.991800] (1:node@c-0.me) 4194346 | 42
+> [ 500.991800] (1:node@c-0.me) 8388650 | 42
+> [ 500.991800] (1:node@c-0.me) Predecessor: 16728096
+> [ 504.991900] (5:node@c-4.me) My finger table:
+> [ 504.991900] (5:node@c-4.me) Start | Succ
+> [ 504.991900] (5:node@c-4.me) 16509406 | 16728096
+> [ 504.991900] (5:node@c-4.me) 16509407 | 42
+> [ 504.991900] (5:node@c-4.me) 16509409 | 16728096
+> [ 504.991900] (5:node@c-4.me) 16509413 | 16728096
+> [ 504.991900] (5:node@c-4.me) 16509421 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16509437 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16509469 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16509533 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16509661 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16509917 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16510429 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16511453 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16513501 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16517597 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16525789 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16542173 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16574941 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16640477 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16771549 | 16509405
+> [ 504.991900] (5:node@c-4.me) 256477 | 16509405
+> [ 504.991900] (5:node@c-4.me) 780765 | 16509405
+> [ 504.991900] (5:node@c-4.me) 1829341 | 16509405
+> [ 504.991900] (5:node@c-4.me) 3926493 | 16509405
+> [ 504.991900] (5:node@c-4.me) 8120797 | 16509405
+> [ 504.991900] (5:node@c-4.me) Predecessor: 10004760
+> [ 508.991700] (4:node@c-3.me) My finger table:
+> [ 508.991700] (4:node@c-3.me) Start | Succ
+> [ 508.991700] (4:node@c-3.me) 1319739 | 2015253
+> [ 508.991700] (4:node@c-3.me) 1319740 | 6518808
+> [ 508.991700] (4:node@c-3.me) 1319742 | 6518808
+> [ 508.991700] (4:node@c-3.me) 1319746 | 2015253
+> [ 508.991700] (4:node@c-3.me) 1319754 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1319770 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1319802 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1319866 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1319994 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1320250 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1320762 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1321786 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1323834 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1327930 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1336122 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1352506 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1385274 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1450810 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1581882 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1844026 | 1319738
+> [ 508.991700] (4:node@c-3.me) 2368314 | 1319738
+> [ 508.991700] (4:node@c-3.me) 3416890 | 1319738
+> [ 508.991700] (4:node@c-3.me) 5514042 | 1319738
+> [ 508.991700] (4:node@c-3.me) 9708346 | 1319738
+> [ 508.991700] (4:node@c-3.me) Predecessor: 533744
+> [ 509.991700] (10:node@c-9.me) My finger table:
+> [ 509.991700] (10:node@c-9.me) Start | Succ
+> [ 509.991700] (10:node@c-9.me) 2015254 | 6518808
+> [ 509.991700] (10:node@c-9.me) 2015255 | 16728096
+> [ 509.991700] (10:node@c-9.me) 2015257 | 10004760
+> [ 509.991700] (10:node@c-9.me) 2015261 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2015269 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2015285 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2015317 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2015381 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2015509 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2015765 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2016277 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2017301 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2019349 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2023445 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2031637 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2048021 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2080789 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2146325 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2277397 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2539541 | 2015253
+> [ 509.991700] (10:node@c-9.me) 3063829 | 2015253
+> [ 509.991700] (10:node@c-9.me) 4112405 | 2015253
+> [ 509.991700] (10:node@c-9.me) 6209557 | 2015253
+> [ 509.991700] (10:node@c-9.me) 10403861 | 2015253
+> [ 509.991700] (10:node@c-9.me) Predecessor: 1319738
+> [ 513.991600] (2:node@c-1.me) My finger table:
+> [ 513.991600] (2:node@c-1.me) Start | Succ
+> [ 513.991600] (2:node@c-1.me) 366681 | 533744
+> [ 513.991600] (2:node@c-1.me) 366682 | 1319738
+> [ 513.991600] (2:node@c-1.me) 366684 | 533744
+> [ 513.991600] (2:node@c-1.me) 366688 | 533744
+> [ 513.991600] (2:node@c-1.me) 366696 | 366680
+> [ 513.991600] (2:node@c-1.me) 366712 | 366680
+> [ 513.991600] (2:node@c-1.me) 366744 | 366680
+> [ 513.991600] (2:node@c-1.me) 366808 | 366680
+> [ 513.991600] (2:node@c-1.me) 366936 | 366680
+> [ 513.991600] (2:node@c-1.me) 367192 | 366680
+> [ 513.991600] (2:node@c-1.me) 367704 | 366680
+> [ 513.991600] (2:node@c-1.me) 368728 | 366680
+> [ 513.991600] (2:node@c-1.me) 370776 | 366680
+> [ 513.991600] (2:node@c-1.me) 374872 | 366680
+> [ 513.991600] (2:node@c-1.me) 383064 | 366680
+> [ 513.991600] (2:node@c-1.me) 399448 | 366680
+> [ 513.991600] (2:node@c-1.me) 432216 | 366680
+> [ 513.991600] (2:node@c-1.me) 497752 | 366680
+> [ 513.991600] (2:node@c-1.me) 628824 | 366680
+> [ 513.991600] (2:node@c-1.me) 890968 | 366680
+> [ 513.991600] (2:node@c-1.me) 1415256 | 366680
+> [ 513.991600] (2:node@c-1.me) 2463832 | 366680
+> [ 513.991600] (2:node@c-1.me) 4560984 | 366680
+> [ 513.991600] (2:node@c-1.me) 8755288 | 366680
+> [ 513.991600] (2:node@c-1.me) Predecessor: 42
+> [ 516.991600] (10:node@c-9.me) My finger table:
+> [ 516.991600] (10:node@c-9.me) Start | Succ
+> [ 516.991600] (10:node@c-9.me) 2015254 | 6518808
+> [ 516.991600] (10:node@c-9.me) 2015255 | 16728096
+> [ 516.991600] (10:node@c-9.me) 2015257 | 10004760
+> [ 516.991600] (10:node@c-9.me) 2015261 | 6518808
+> [ 516.991600] (10:node@c-9.me) 2015269 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2015285 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2015317 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2015381 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2015509 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2015765 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2016277 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2017301 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2019349 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2023445 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2031637 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2048021 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2080789 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2146325 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2277397 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2539541 | 2015253
+> [ 516.991600] (10:node@c-9.me) 3063829 | 2015253
+> [ 516.991600] (10:node@c-9.me) 4112405 | 2015253
+> [ 516.991600] (10:node@c-9.me) 6209557 | 2015253
+> [ 516.991600] (10:node@c-9.me) 10403861 | 2015253
+> [ 516.991600] (10:node@c-9.me) Predecessor: 1319738
+> [ 516.991600] (3:node@c-2.me) My finger table:
+> [ 516.991600] (3:node@c-2.me) Start | Succ
+> [ 516.991600] (3:node@c-2.me) 533745 | 1319738
+> [ 516.991600] (3:node@c-2.me) 533746 | 1319738
+> [ 516.991600] (3:node@c-2.me) 533748 | 1319738
+> [ 516.991600] (3:node@c-2.me) 533752 | 1319738
+> [ 516.991600] (3:node@c-2.me) 533760 | 533744
+> [ 516.991600] (3:node@c-2.me) 533776 | 533744
+> [ 516.991600] (3:node@c-2.me) 533808 | 533744
+> [ 516.991600] (3:node@c-2.me) 533872 | 533744
+> [ 516.991600] (3:node@c-2.me) 534000 | 533744
+> [ 516.991600] (3:node@c-2.me) 534256 | 533744
+> [ 516.991600] (3:node@c-2.me) 534768 | 533744
+> [ 516.991600] (3:node@c-2.me) 535792 | 533744
+> [ 516.991600] (3:node@c-2.me) 537840 | 533744
+> [ 516.991600] (3:node@c-2.me) 541936 | 533744
+> [ 516.991600] (3:node@c-2.me) 550128 | 533744
+> [ 516.991600] (3:node@c-2.me) 566512 | 533744
+> [ 516.991600] (3:node@c-2.me) 599280 | 533744
+> [ 516.991600] (3:node@c-2.me) 664816 | 533744
+> [ 516.991600] (3:node@c-2.me) 795888 | 533744
+> [ 516.991600] (3:node@c-2.me) 1058032 | 533744
+> [ 516.991600] (3:node@c-2.me) 1582320 | 533744
+> [ 516.991600] (3:node@c-2.me) 2630896 | 533744
+> [ 516.991600] (3:node@c-2.me) 4728048 | 533744
+> [ 516.991600] (3:node@c-2.me) 8922352 | 533744
+> [ 516.991600] (3:node@c-2.me) Predecessor: 366680
+> [ 519.991600] (7:node@c-6.me) My finger table:
+> [ 519.991600] (7:node@c-6.me) Start | Succ
+> [ 519.991600] (7:node@c-6.me) 16728097 | 42
+> [ 519.991600] (7:node@c-6.me) 16728098 | 42
+> [ 519.991600] (7:node@c-6.me) 16728100 | 42
+> [ 519.991600] (7:node@c-6.me) 16728104 | 42
+> [ 519.991600] (7:node@c-6.me) 16728112 | 16728096
+> [ 519.991600] (7:node@c-6.me) 16728128 | 16728096
+> [ 519.991600] (7:node@c-6.me) 16728160 | 16728096
+> [ 519.991600] (7:node@c-6.me) 16728224 | 16728096
+> [ 519.991600] (7:node@c-6.me) 16728352 | 16728096
+> [ 519.991600] (7:node@c-6.me) 16728608 | 16728096
+> [ 519.991600] (7:node@c-6.me) 16729120 | 16728096
+> [ 519.991600] (7:node@c-6.me) 16730144 | 16728096
+> [ 519.991600] (7:node@c-6.me) 16732192 | 16728096
+> [ 519.991600] (7:node@c-6.me) 16736288 | 16728096
+> [ 519.991600] (7:node@c-6.me) 16744480 | 16728096
+> [ 519.991600] (7:node@c-6.me) 16760864 | 16728096
+> [ 519.991600] (7:node@c-6.me) 16416 | 16728096
+> [ 519.991600] (7:node@c-6.me) 81952 | 16728096
+> [ 519.991600] (7:node@c-6.me) 213024 | 16728096
+> [ 519.991600] (7:node@c-6.me) 475168 | 16728096
+> [ 519.991600] (7:node@c-6.me) 999456 | 16728096
+> [ 519.991600] (7:node@c-6.me) 2048032 | 16728096
+> [ 519.991600] (7:node@c-6.me) 4145184 | 16728096
+> [ 519.991600] (7:node@c-6.me) 8339488 | 16728096
+> [ 519.991600] (7:node@c-6.me) Predecessor: 16509405
+> [ 524.991500] (8:node@c-7.me) My finger table:
+> [ 524.991500] (8:node@c-7.me) Start | Succ
+> [ 524.991500] (8:node@c-7.me) 10004761 | 16509405
+> [ 524.991500] (8:node@c-7.me) 10004762 | 16509405
+> [ 524.991500] (8:node@c-7.me) 10004764 | 16509405
+> [ 524.991500] (8:node@c-7.me) 10004768 | 16509405
+> [ 524.991500] (8:node@c-7.me) 10004776 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10004792 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10004824 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10004888 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10005016 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10005272 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10005784 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10006808 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10008856 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10012952 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10021144 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10037528 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10070296 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10135832 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10266904 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10529048 | 10004760
+> [ 524.991500] (8:node@c-7.me) 11053336 | 10004760
+> [ 524.991500] (8:node@c-7.me) 12101912 | 10004760
+> [ 524.991500] (8:node@c-7.me) 14199064 | 10004760
+> [ 524.991500] (8:node@c-7.me) 1616152 | 10004760
+> [ 524.991500] (8:node@c-7.me) Predecessor: 6518808
+> [ 529.991500] (5:node@c-4.me) My finger table:
+> [ 529.991500] (5:node@c-4.me) Start | Succ
+> [ 529.991500] (5:node@c-4.me) 16509406 | 16728096
+> [ 529.991500] (5:node@c-4.me) 16509407 | 42
+> [ 529.991500] (5:node@c-4.me) 16509409 | 16728096
+> [ 529.991500] (5:node@c-4.me) 16509413 | 16728096
+> [ 529.991500] (5:node@c-4.me) 16509421 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16509437 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16509469 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16509533 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16509661 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16509917 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16510429 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16511453 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16513501 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16517597 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16525789 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16542173 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16574941 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16640477 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16771549 | 16509405
+> [ 529.991500] (5:node@c-4.me) 256477 | 16509405
+> [ 529.991500] (5:node@c-4.me) 780765 | 16509405
+> [ 529.991500] (5:node@c-4.me) 1829341 | 16509405
+> [ 529.991500] (5:node@c-4.me) 3926493 | 16509405
+> [ 529.991500] (5:node@c-4.me) 8120797 | 16509405
+> [ 529.991500] (5:node@c-4.me) Predecessor: 10874876
+> [ 540.991400] (9:node@c-8.me) My finger table:
+> [ 540.991400] (9:node@c-8.me) Start | Succ
+> [ 540.991400] (9:node@c-8.me) 6518809 | 10004760
+> [ 540.991400] (9:node@c-8.me) 6518810 | 10004760
+> [ 540.991400] (9:node@c-8.me) 6518812 | 10004760
+> [ 540.991400] (9:node@c-8.me) 6518816 | 10004760
+> [ 540.991400] (9:node@c-8.me) 6518824 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6518840 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6518872 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6518936 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6519064 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6519320 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6519832 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6520856 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6522904 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6527000 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6535192 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6551576 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6584344 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6649880 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6780952 | 6518808
+> [ 540.991400] (9:node@c-8.me) 7043096 | 6518808
+> [ 540.991400] (9:node@c-8.me) 7567384 | 6518808
+> [ 540.991400] (9:node@c-8.me) 8615960 | 6518808
+> [ 540.991400] (9:node@c-8.me) 10713112 | 6518808
+> [ 540.991400] (9:node@c-8.me) 14907416 | 6518808
+> [ 540.991400] (9:node@c-8.me) Predecessor: 2015253
+> [ 613.990100] (6:node@c-5.me) My finger table:
+> [ 613.990100] (6:node@c-5.me) Start | Succ
+> [ 613.990100] (6:node@c-5.me) 10874877 | 16509405
+> [ 613.990100] (6:node@c-5.me) 10874878 | 533744
+> [ 613.990100] (6:node@c-5.me) 10874880 | 533744
+> [ 613.990100] (6:node@c-5.me) 10874884 | 16509405
+> [ 613.990100] (6:node@c-5.me) 10874892 | 10874876
+> [ 613.990100] (6:node@c-5.me) 10874908 | 10874876
+> [ 613.990100] (6:node@c-5.me) 10874940 | 10874876
+> [ 613.990100] (6:node@c-5.me) 10875004 | 10874876
+> [ 613.990100] (6:node@c-5.me) 10875132 | 10874876
+> [ 613.990100] (6:node@c-5.me) 10875388 | 10874876
+> [ 613.990100] (6:node@c-5.me) 10875900 | 10874876
+> [ 613.990100] (6:node@c-5.me) 10876924 | 10874876
+> [ 613.990100] (6:node@c-5.me) 10878972 | 10874876
+> [ 613.990100] (6:node@c-5.me) 10883068 | 10874876
+> [ 613.990100] (6:node@c-5.me) 10891260 | 10874876
+> [ 613.990100] (6:node@c-5.me) 10907644 | 10874876
+> [ 613.990100] (6:node@c-5.me) 10940412 | 10874876
+> [ 613.990100] (6:node@c-5.me) 11005948 | 10874876
+> [ 613.990100] (6:node@c-5.me) 11137020 | 10874876
+> [ 613.990100] (6:node@c-5.me) 11399164 | 10874876
+> [ 613.990100] (6:node@c-5.me) 11923452 | 10874876
+> [ 613.990100] (6:node@c-5.me) 12972028 | 10874876
+> [ 613.990100] (6:node@c-5.me) 15069180 | 10874876
+> [ 613.990100] (6:node@c-5.me) 2486268 | 10874876
+> [ 613.990100] (6:node@c-5.me) Predecessor: 10004760
+> [ 629.989800] (1:node@c-0.me) My finger table:
+> [ 629.989800] (1:node@c-0.me) Start | Succ
+> [ 629.989800] (1:node@c-0.me) 43 | 366680
+> [ 629.989800] (1:node@c-0.me) 44 | 366680
+> [ 629.989800] (1:node@c-0.me) 46 | 366680
+> [ 629.989800] (1:node@c-0.me) 50 | 366680
+> [ 629.989800] (1:node@c-0.me) 58 | 366680
+> [ 629.989800] (1:node@c-0.me) 74 | 42
+> [ 629.989800] (1:node@c-0.me) 106 | 42
+> [ 629.989800] (1:node@c-0.me) 170 | 42
+> [ 629.989800] (1:node@c-0.me) 298 | 42
+> [ 629.989800] (1:node@c-0.me) 554 | 42
+> [ 629.989800] (1:node@c-0.me) 1066 | 42
+> [ 629.989800] (1:node@c-0.me) 2090 | 42
+> [ 629.989800] (1:node@c-0.me) 4138 | 42
+> [ 629.989800] (1:node@c-0.me) 8234 | 42
+> [ 629.989800] (1:node@c-0.me) 16426 | 42
+> [ 629.989800] (1:node@c-0.me) 32810 | 42
+> [ 629.989800] (1:node@c-0.me) 65578 | 42
+> [ 629.989800] (1:node@c-0.me) 131114 | 42
+> [ 629.989800] (1:node@c-0.me) 262186 | 42
+> [ 629.989800] (1:node@c-0.me) 524330 | 42
+> [ 629.989800] (1:node@c-0.me) 1048618 | 42
+> [ 629.989800] (1:node@c-0.me) 2097194 | 42
+> [ 629.989800] (1:node@c-0.me) 4194346 | 42
+> [ 629.989800] (1:node@c-0.me) 8388650 | 42
+> [ 629.989800] (1:node@c-0.me) Predecessor: 16728096
+> [ 629.989800] (6:node@c-5.me) My finger table:
+> [ 629.989800] (6:node@c-5.me) Start | Succ
+> [ 629.989800] (6:node@c-5.me) 10874877 | 16509405
+> [ 629.989800] (6:node@c-5.me) 10874878 | 533744
+> [ 629.989800] (6:node@c-5.me) 10874880 | 533744
+> [ 629.989800] (6:node@c-5.me) 10874884 | 16509405
+> [ 629.989800] (6:node@c-5.me) 10874892 | 16509405
+> [ 629.989800] (6:node@c-5.me) 10874908 | 10874876
+> [ 629.989800] (6:node@c-5.me) 10874940 | 10874876
+> [ 629.989800] (6:node@c-5.me) 10875004 | 10874876
+> [ 629.989800] (6:node@c-5.me) 10875132 | 10874876
+> [ 629.989800] (6:node@c-5.me) 10875388 | 10874876
+> [ 629.989800] (6:node@c-5.me) 10875900 | 10874876
+> [ 629.989800] (6:node@c-5.me) 10876924 | 10874876
+> [ 629.989800] (6:node@c-5.me) 10878972 | 10874876
+> [ 629.989800] (6:node@c-5.me) 10883068 | 10874876
+> [ 629.989800] (6:node@c-5.me) 10891260 | 10874876
+> [ 629.989800] (6:node@c-5.me) 10907644 | 10874876
+> [ 629.989800] (6:node@c-5.me) 10940412 | 10874876
+> [ 629.989800] (6:node@c-5.me) 11005948 | 10874876
+> [ 629.989800] (6:node@c-5.me) 11137020 | 10874876
+> [ 629.989800] (6:node@c-5.me) 11399164 | 10874876
+> [ 629.989800] (6:node@c-5.me) 11923452 | 10874876
+> [ 629.989800] (6:node@c-5.me) 12972028 | 10874876
+> [ 629.989800] (6:node@c-5.me) 15069180 | 10874876
+> [ 629.989800] (6:node@c-5.me) 2486268 | 10874876
+> [ 629.989800] (6:node@c-5.me) Predecessor: 10004760
+> [ 632.989700] (4:node@c-3.me) My finger table:
+> [ 632.989700] (4:node@c-3.me) Start | Succ
+> [ 632.989700] (4:node@c-3.me) 1319739 | 2015253
+> [ 632.989700] (4:node@c-3.me) 1319740 | 6518808
+> [ 632.989700] (4:node@c-3.me) 1319742 | 6518808
+> [ 632.989700] (4:node@c-3.me) 1319746 | 2015253
+> [ 632.989700] (4:node@c-3.me) 1319754 | 2015253
+> [ 632.989700] (4:node@c-3.me) 1319770 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1319802 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1319866 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1319994 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1320250 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1320762 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1321786 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1323834 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1327930 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1336122 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1352506 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1385274 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1450810 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1581882 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1844026 | 1319738
+> [ 632.989700] (4:node@c-3.me) 2368314 | 1319738
+> [ 632.989700] (4:node@c-3.me) 3416890 | 1319738
+> [ 632.989700] (4:node@c-3.me) 5514042 | 1319738
+> [ 632.989700] (4:node@c-3.me) 9708346 | 1319738
+> [ 632.989700] (4:node@c-3.me) Predecessor: 533744
+> [ 637.989600] (2:node@c-1.me) My finger table:
+> [ 637.989600] (2:node@c-1.me) Start | Succ
+> [ 637.989600] (2:node@c-1.me) 366681 | 533744
+> [ 637.989600] (2:node@c-1.me) 366682 | 1319738
+> [ 637.989600] (2:node@c-1.me) 366684 | 533744
+> [ 637.989600] (2:node@c-1.me) 366688 | 533744
+> [ 637.989600] (2:node@c-1.me) 366696 | 533744
+> [ 637.989600] (2:node@c-1.me) 366712 | 366680
+> [ 637.989600] (2:node@c-1.me) 366744 | 366680
+> [ 637.989600] (2:node@c-1.me) 366808 | 366680
+> [ 637.989600] (2:node@c-1.me) 366936 | 366680
+> [ 637.989600] (2:node@c-1.me) 367192 | 366680
+> [ 637.989600] (2:node@c-1.me) 367704 | 366680
+> [ 637.989600] (2:node@c-1.me) 368728 | 366680
+> [ 637.989600] (2:node@c-1.me) 370776 | 366680
+> [ 637.989600] (2:node@c-1.me) 374872 | 366680
+> [ 637.989600] (2:node@c-1.me) 383064 | 366680
+> [ 637.989600] (2:node@c-1.me) 399448 | 366680
+> [ 637.989600] (2:node@c-1.me) 432216 | 366680
+> [ 637.989600] (2:node@c-1.me) 497752 | 366680
+> [ 637.989600] (2:node@c-1.me) 628824 | 366680
+> [ 637.989600] (2:node@c-1.me) 890968 | 366680
+> [ 637.989600] (2:node@c-1.me) 1415256 | 366680
+> [ 637.989600] (2:node@c-1.me) 2463832 | 366680
+> [ 637.989600] (2:node@c-1.me) 4560984 | 366680
+> [ 637.989600] (2:node@c-1.me) 8755288 | 366680
+> [ 637.989600] (2:node@c-1.me) Predecessor: 42
+> [ 638.989600] (3:node@c-2.me) My finger table:
+> [ 638.989600] (3:node@c-2.me) Start | Succ
+> [ 638.989600] (3:node@c-2.me) 533745 | 1319738
+> [ 638.989600] (3:node@c-2.me) 533746 | 1319738
+> [ 638.989600] (3:node@c-2.me) 533748 | 1319738
+> [ 638.989600] (3:node@c-2.me) 533752 | 1319738
+> [ 638.989600] (3:node@c-2.me) 533760 | 1319738
+> [ 638.989600] (3:node@c-2.me) 533776 | 533744
+> [ 638.989600] (3:node@c-2.me) 533808 | 533744
+> [ 638.989600] (3:node@c-2.me) 533872 | 533744
+> [ 638.989600] (3:node@c-2.me) 534000 | 533744
+> [ 638.989600] (3:node@c-2.me) 534256 | 533744
+> [ 638.989600] (3:node@c-2.me) 534768 | 533744
+> [ 638.989600] (3:node@c-2.me) 535792 | 533744
+> [ 638.989600] (3:node@c-2.me) 537840 | 533744
+> [ 638.989600] (3:node@c-2.me) 541936 | 533744
+> [ 638.989600] (3:node@c-2.me) 550128 | 533744
+> [ 638.989600] (3:node@c-2.me) 566512 | 533744
+> [ 638.989600] (3:node@c-2.me) 599280 | 533744
+> [ 638.989600] (3:node@c-2.me) 664816 | 533744
+> [ 638.989600] (3:node@c-2.me) 795888 | 533744
+> [ 638.989600] (3:node@c-2.me) 1058032 | 533744
+> [ 638.989600] (3:node@c-2.me) 1582320 | 533744
+> [ 638.989600] (3:node@c-2.me) 2630896 | 533744
+> [ 638.989600] (3:node@c-2.me) 4728048 | 533744
+> [ 638.989600] (3:node@c-2.me) 8922352 | 533744
+> [ 638.989600] (3:node@c-2.me) Predecessor: 366680
+> [ 641.989600] (10:node@c-9.me) My finger table:
+> [ 641.989600] (10:node@c-9.me) Start | Succ
+> [ 641.989600] (10:node@c-9.me) 2015254 | 6518808
+> [ 641.989600] (10:node@c-9.me) 2015255 | 16728096
+> [ 641.989600] (10:node@c-9.me) 2015257 | 10004760
+> [ 641.989600] (10:node@c-9.me) 2015261 | 6518808
+> [ 641.989600] (10:node@c-9.me) 2015269 | 6518808
+> [ 641.989600] (10:node@c-9.me) 2015285 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2015317 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2015381 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2015509 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2015765 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2016277 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2017301 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2019349 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2023445 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2031637 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2048021 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2080789 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2146325 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2277397 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2539541 | 2015253
+> [ 641.989600] (10:node@c-9.me) 3063829 | 2015253
+> [ 641.989600] (10:node@c-9.me) 4112405 | 2015253
+> [ 641.989600] (10:node@c-9.me) 6209557 | 2015253
+> [ 641.989600] (10:node@c-9.me) 10403861 | 2015253
+> [ 641.989600] (10:node@c-9.me) Predecessor: 1319738
+> [ 645.989500] (7:node@c-6.me) My finger table:
+> [ 645.989500] (7:node@c-6.me) Start | Succ
+> [ 645.989500] (7:node@c-6.me) 16728097 | 42
+> [ 645.989500] (7:node@c-6.me) 16728098 | 42
+> [ 645.989500] (7:node@c-6.me) 16728100 | 42
+> [ 645.989500] (7:node@c-6.me) 16728104 | 42
+> [ 645.989500] (7:node@c-6.me) 16728112 | 42
+> [ 645.989500] (7:node@c-6.me) 16728128 | 16728096
+> [ 645.989500] (7:node@c-6.me) 16728160 | 16728096
+> [ 645.989500] (7:node@c-6.me) 16728224 | 16728096
+> [ 645.989500] (7:node@c-6.me) 16728352 | 16728096
+> [ 645.989500] (7:node@c-6.me) 16728608 | 16728096
+> [ 645.989500] (7:node@c-6.me) 16729120 | 16728096
+> [ 645.989500] (7:node@c-6.me) 16730144 | 16728096
+> [ 645.989500] (7:node@c-6.me) 16732192 | 16728096
+> [ 645.989500] (7:node@c-6.me) 16736288 | 16728096
+> [ 645.989500] (7:node@c-6.me) 16744480 | 16728096
+> [ 645.989500] (7:node@c-6.me) 16760864 | 16728096
+> [ 645.989500] (7:node@c-6.me) 16416 | 16728096
+> [ 645.989500] (7:node@c-6.me) 81952 | 16728096
+> [ 645.989500] (7:node@c-6.me) 213024 | 16728096
+> [ 645.989500] (7:node@c-6.me) 475168 | 16728096
+> [ 645.989500] (7:node@c-6.me) 999456 | 16728096
+> [ 645.989500] (7:node@c-6.me) 2048032 | 16728096
+> [ 645.989500] (7:node@c-6.me) 4145184 | 16728096
+> [ 645.989500] (7:node@c-6.me) 8339488 | 16728096
+> [ 645.989500] (7:node@c-6.me) Predecessor: 16509405
+> [ 645.989600] (5:node@c-4.me) My finger table:
+> [ 645.989600] (5:node@c-4.me) Start | Succ
+> [ 645.989600] (5:node@c-4.me) 16509406 | 16728096
+> [ 645.989600] (5:node@c-4.me) 16509407 | 42
+> [ 645.989600] (5:node@c-4.me) 16509409 | 16728096
+> [ 645.989600] (5:node@c-4.me) 16509413 | 16728096
+> [ 645.989600] (5:node@c-4.me) 16509421 | 16728096
+> [ 645.989600] (5:node@c-4.me) 16509437 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16509469 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16509533 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16509661 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16509917 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16510429 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16511453 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16513501 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16517597 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16525789 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16542173 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16574941 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16640477 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16771549 | 16509405
+> [ 645.989600] (5:node@c-4.me) 256477 | 16509405
+> [ 645.989600] (5:node@c-4.me) 780765 | 16509405
+> [ 645.989600] (5:node@c-4.me) 1829341 | 16509405
+> [ 645.989600] (5:node@c-4.me) 3926493 | 16509405
+> [ 645.989600] (5:node@c-4.me) 8120797 | 16509405
+> [ 645.989600] (5:node@c-4.me) Predecessor: 10874876
+> [ 655.989400] (8:node@c-7.me) My finger table:
+> [ 655.989400] (8:node@c-7.me) Start | Succ
+> [ 655.989400] (8:node@c-7.me) 10004761 | 10874876
+> [ 655.989400] (8:node@c-7.me) 10004762 | 16509405
+> [ 655.989400] (8:node@c-7.me) 10004764 | 16509405
+> [ 655.989400] (8:node@c-7.me) 10004768 | 16509405
+> [ 655.989400] (8:node@c-7.me) 10004776 | 10874876
+> [ 655.989400] (8:node@c-7.me) 10004792 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10004824 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10004888 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10005016 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10005272 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10005784 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10006808 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10008856 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10012952 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10021144 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10037528 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10070296 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10135832 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10266904 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10529048 | 10004760
+> [ 655.989400] (8:node@c-7.me) 11053336 | 10004760
+> [ 655.989400] (8:node@c-7.me) 12101912 | 10004760
+> [ 655.989400] (8:node@c-7.me) 14199064 | 10004760
+> [ 655.989400] (8:node@c-7.me) 1616152 | 10004760
+> [ 655.989400] (8:node@c-7.me) Predecessor: 6518808
+> [ 662.989300] (9:node@c-8.me) My finger table:
+> [ 662.989300] (9:node@c-8.me) Start | Succ
+> [ 662.989300] (9:node@c-8.me) 6518809 | 10004760
+> [ 662.989300] (9:node@c-8.me) 6518810 | 10004760
+> [ 662.989300] (9:node@c-8.me) 6518812 | 10004760
+> [ 662.989300] (9:node@c-8.me) 6518816 | 10004760
+> [ 662.989300] (9:node@c-8.me) 6518824 | 10004760
+> [ 662.989300] (9:node@c-8.me) 6518840 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6518872 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6518936 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6519064 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6519320 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6519832 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6520856 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6522904 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6527000 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6535192 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6551576 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6584344 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6649880 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6780952 | 6518808
+> [ 662.989300] (9:node@c-8.me) 7043096 | 6518808
+> [ 662.989300] (9:node@c-8.me) 7567384 | 6518808
+> [ 662.989300] (9:node@c-8.me) 8615960 | 6518808
+> [ 662.989300] (9:node@c-8.me) 10713112 | 6518808
+> [ 662.989300] (9:node@c-8.me) 14907416 | 6518808
+> [ 662.989300] (9:node@c-8.me) Predecessor: 2015253
+> [ 754.987800] (1:node@c-0.me) My finger table:
+> [ 754.987800] (1:node@c-0.me) Start | Succ
+> [ 754.987800] (1:node@c-0.me) 43 | 366680
+> [ 754.987800] (1:node@c-0.me) 44 | 366680
+> [ 754.987800] (1:node@c-0.me) 46 | 366680
+> [ 754.987800] (1:node@c-0.me) 50 | 366680
+> [ 754.987800] (1:node@c-0.me) 58 | 366680
+> [ 754.987800] (1:node@c-0.me) 74 | 366680
+> [ 754.987800] (1:node@c-0.me) 106 | 42
+> [ 754.987800] (1:node@c-0.me) 170 | 42
+> [ 754.987800] (1:node@c-0.me) 298 | 42
+> [ 754.987800] (1:node@c-0.me) 554 | 42
+> [ 754.987800] (1:node@c-0.me) 1066 | 42
+> [ 754.987800] (1:node@c-0.me) 2090 | 42
+> [ 754.987800] (1:node@c-0.me) 4138 | 42
+> [ 754.987800] (1:node@c-0.me) 8234 | 42
+> [ 754.987800] (1:node@c-0.me) 16426 | 42
+> [ 754.987800] (1:node@c-0.me) 32810 | 42
+> [ 754.987800] (1:node@c-0.me) 65578 | 42
+> [ 754.987800] (1:node@c-0.me) 131114 | 42
+> [ 754.987800] (1:node@c-0.me) 262186 | 42
+> [ 754.987800] (1:node@c-0.me) 524330 | 42
+> [ 754.987800] (1:node@c-0.me) 1048618 | 42
+> [ 754.987800] (1:node@c-0.me) 2097194 | 42
+> [ 754.987800] (1:node@c-0.me) 4194346 | 42
+> [ 754.987800] (1:node@c-0.me) 8388650 | 42
+> [ 754.987800] (1:node@c-0.me) Predecessor: 16728096
+> [ 757.987800] (4:node@c-3.me) My finger table:
+> [ 757.987800] (4:node@c-3.me) Start | Succ
+> [ 757.987800] (4:node@c-3.me) 1319739 | 2015253
+> [ 757.987800] (4:node@c-3.me) 1319740 | 6518808
+> [ 757.987800] (4:node@c-3.me) 1319742 | 6518808
+> [ 757.987800] (4:node@c-3.me) 1319746 | 2015253
+> [ 757.987800] (4:node@c-3.me) 1319754 | 2015253
+> [ 757.987800] (4:node@c-3.me) 1319770 | 2015253
+> [ 757.987800] (4:node@c-3.me) 1319802 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1319866 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1319994 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1320250 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1320762 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1321786 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1323834 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1327930 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1336122 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1352506 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1385274 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1450810 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1581882 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1844026 | 1319738
+> [ 757.987800] (4:node@c-3.me) 2368314 | 1319738
+> [ 757.987800] (4:node@c-3.me) 3416890 | 1319738
+> [ 757.987800] (4:node@c-3.me) 5514042 | 1319738
+> [ 757.987800] (4:node@c-3.me) 9708346 | 1319738
+> [ 757.987800] (4:node@c-3.me) Predecessor: 533744
+> [ 762.987700] (10:node@c-9.me) My finger table:
+> [ 762.987700] (10:node@c-9.me) Start | Succ
+> [ 762.987700] (10:node@c-9.me) 2015254 | 6518808
+> [ 762.987700] (10:node@c-9.me) 2015255 | 16728096
+> [ 762.987700] (10:node@c-9.me) 2015257 | 10004760
+> [ 762.987700] (10:node@c-9.me) 2015261 | 6518808
+> [ 762.987700] (10:node@c-9.me) 2015269 | 6518808
+> [ 762.987700] (10:node@c-9.me) 2015285 | 6518808
+> [ 762.987700] (10:node@c-9.me) 2015317 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2015381 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2015509 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2015765 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2016277 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2017301 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2019349 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2023445 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2031637 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2048021 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2080789 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2146325 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2277397 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2539541 | 2015253
+> [ 762.987700] (10:node@c-9.me) 3063829 | 2015253
+> [ 762.987700] (10:node@c-9.me) 4112405 | 2015253
+> [ 762.987700] (10:node@c-9.me) 6209557 | 2015253
+> [ 762.987700] (10:node@c-9.me) 10403861 | 2015253
+> [ 762.987700] (10:node@c-9.me) Predecessor: 1319738
+> [ 762.987700] (6:node@c-5.me) My finger table:
+> [ 762.987700] (6:node@c-5.me) Start | Succ
+> [ 762.987700] (6:node@c-5.me) 10874877 | 16509405
+> [ 762.987700] (6:node@c-5.me) 10874878 | 533744
+> [ 762.987700] (6:node@c-5.me) 10874880 | 533744
+> [ 762.987700] (6:node@c-5.me) 10874884 | 16509405
+> [ 762.987700] (6:node@c-5.me) 10874892 | 16509405
+> [ 762.987700] (6:node@c-5.me) 10874908 | 16509405
+> [ 762.987700] (6:node@c-5.me) 10874940 | 10874876
+> [ 762.987700] (6:node@c-5.me) 10875004 | 10874876
+> [ 762.987700] (6:node@c-5.me) 10875132 | 10874876
+> [ 762.987700] (6:node@c-5.me) 10875388 | 10874876
+> [ 762.987700] (6:node@c-5.me) 10875900 | 10874876
+> [ 762.987700] (6:node@c-5.me) 10876924 | 10874876
+> [ 762.987700] (6:node@c-5.me) 10878972 | 10874876
+> [ 762.987700] (6:node@c-5.me) 10883068 | 10874876
+> [ 762.987700] (6:node@c-5.me) 10891260 | 10874876
+> [ 762.987700] (6:node@c-5.me) 10907644 | 10874876
+> [ 762.987700] (6:node@c-5.me) 10940412 | 10874876
+> [ 762.987700] (6:node@c-5.me) 11005948 | 10874876
+> [ 762.987700] (6:node@c-5.me) 11137020 | 10874876
+> [ 762.987700] (6:node@c-5.me) 11399164 | 10874876
+> [ 762.987700] (6:node@c-5.me) 11923452 | 10874876
+> [ 762.987700] (6:node@c-5.me) 12972028 | 10874876
+> [ 762.987700] (6:node@c-5.me) 15069180 | 10874876
+> [ 762.987700] (6:node@c-5.me) 2486268 | 10874876
+> [ 762.987700] (6:node@c-5.me) Predecessor: 10004760
+> [ 767.987600] (2:node@c-1.me) My finger table:
+> [ 767.987600] (2:node@c-1.me) Start | Succ
+> [ 767.987600] (2:node@c-1.me) 366681 | 533744
+> [ 767.987600] (2:node@c-1.me) 366682 | 1319738
+> [ 767.987600] (2:node@c-1.me) 366684 | 533744
+> [ 767.987600] (2:node@c-1.me) 366688 | 533744
+> [ 767.987600] (2:node@c-1.me) 366696 | 533744
+> [ 767.987600] (2:node@c-1.me) 366712 | 533744
+> [ 767.987600] (2:node@c-1.me) 366744 | 366680
+> [ 767.987600] (2:node@c-1.me) 366808 | 366680
+> [ 767.987600] (2:node@c-1.me) 366936 | 366680
+> [ 767.987600] (2:node@c-1.me) 367192 | 366680
+> [ 767.987600] (2:node@c-1.me) 367704 | 366680
+> [ 767.987600] (2:node@c-1.me) 368728 | 366680
+> [ 767.987600] (2:node@c-1.me) 370776 | 366680
+> [ 767.987600] (2:node@c-1.me) 374872 | 366680
+> [ 767.987600] (2:node@c-1.me) 383064 | 366680
+> [ 767.987600] (2:node@c-1.me) 399448 | 366680
+> [ 767.987600] (2:node@c-1.me) 432216 | 366680
+> [ 767.987600] (2:node@c-1.me) 497752 | 366680
+> [ 767.987600] (2:node@c-1.me) 628824 | 366680
+> [ 767.987600] (2:node@c-1.me) 890968 | 366680
+> [ 767.987600] (2:node@c-1.me) 1415256 | 366680
+> [ 767.987600] (2:node@c-1.me) 2463832 | 366680
+> [ 767.987600] (2:node@c-1.me) 4560984 | 366680
+> [ 767.987600] (2:node@c-1.me) 8755288 | 366680
+> [ 767.987600] (2:node@c-1.me) Predecessor: 42
+> [ 771.987500] (5:node@c-4.me) My finger table:
+> [ 771.987500] (5:node@c-4.me) Start | Succ
+> [ 771.987500] (5:node@c-4.me) 16509406 | 16728096
+> [ 771.987500] (5:node@c-4.me) 16509407 | 42
+> [ 771.987500] (5:node@c-4.me) 16509409 | 16728096
+> [ 771.987500] (5:node@c-4.me) 16509413 | 16728096
+> [ 771.987500] (5:node@c-4.me) 16509421 | 16728096
+> [ 771.987500] (5:node@c-4.me) 16509437 | 16728096
+> [ 771.987500] (5:node@c-4.me) 16509469 | 16509405
+> [ 771.987500] (5:node@c-4.me) 16509533 | 16509405
+> [ 771.987500] (5:node@c-4.me) 16509661 | 16509405
+> [ 771.987500] (5:node@c-4.me) 16509917 | 16509405
+> [ 771.987500] (5:node@c-4.me) 16510429 | 16509405
+> [ 771.987500] (5:node@c-4.me) 16511453 | 16509405
+> [ 771.987500] (5:node@c-4.me) 16513501 | 16509405
+> [ 771.987500] (5:node@c-4.me) 16517597 | 16509405
+> [ 771.987500] (5:node@c-4.me) 16525789 | 16509405
+> [ 771.987500] (5:node@c-4.me) 16542173 | 16509405
+> [ 771.987500] (5:node@c-4.me) 16574941 | 16509405
+> [ 771.987500] (5:node@c-4.me) 16640477 | 16509405
+> [ 771.987500] (5:node@c-4.me) 16771549 | 16509405
+> [ 771.987500] (5:node@c-4.me) 256477 | 16509405
+> [ 771.987500] (5:node@c-4.me) 780765 | 16509405
+> [ 771.987500] (5:node@c-4.me) 1829341 | 16509405
+> [ 771.987500] (5:node@c-4.me) 3926493 | 16509405
+> [ 771.987500] (5:node@c-4.me) 8120797 | 16509405
+> [ 771.987500] (5:node@c-4.me) Predecessor: 10874876
+> [ 776.987500] (3:node@c-2.me) My finger table:
+> [ 776.987500] (3:node@c-2.me) Start | Succ
+> [ 776.987500] (3:node@c-2.me) 533745 | 1319738
+> [ 776.987500] (3:node@c-2.me) 533746 | 1319738
+> [ 776.987500] (3:node@c-2.me) 533748 | 1319738
+> [ 776.987500] (3:node@c-2.me) 533752 | 1319738
+> [ 776.987500] (3:node@c-2.me) 533760 | 1319738
+> [ 776.987500] (3:node@c-2.me) 533776 | 1319738
+> [ 776.987500] (3:node@c-2.me) 533808 | 533744
+> [ 776.987500] (3:node@c-2.me) 533872 | 533744
+> [ 776.987500] (3:node@c-2.me) 534000 | 533744
+> [ 776.987500] (3:node@c-2.me) 534256 | 533744
+> [ 776.987500] (3:node@c-2.me) 534768 | 533744
+> [ 776.987500] (3:node@c-2.me) 535792 | 533744
+> [ 776.987500] (3:node@c-2.me) 537840 | 533744
+> [ 776.987500] (3:node@c-2.me) 541936 | 533744
+> [ 776.987500] (3:node@c-2.me) 550128 | 533744
+> [ 776.987500] (3:node@c-2.me) 566512 | 533744
+> [ 776.987500] (3:node@c-2.me) 599280 | 533744
+> [ 776.987500] (3:node@c-2.me) 664816 | 533744
+> [ 776.987500] (3:node@c-2.me) 795888 | 533744
+> [ 776.987500] (3:node@c-2.me) 1058032 | 533744
+> [ 776.987500] (3:node@c-2.me) 1582320 | 533744
+> [ 776.987500] (3:node@c-2.me) 2630896 | 533744
+> [ 776.987500] (3:node@c-2.me) 4728048 | 533744
+> [ 776.987500] (3:node@c-2.me) 8922352 | 533744
+> [ 776.987500] (3:node@c-2.me) Predecessor: 366680
+> [ 823.987500] (8:node@c-7.me) My finger table:
+> [ 823.987500] (8:node@c-7.me) Start | Succ
+> [ 823.987500] (8:node@c-7.me) 10004761 | 10874876
+> [ 823.987500] (8:node@c-7.me) 10004762 | 16509405
+> [ 823.987500] (8:node@c-7.me) 10004764 | 16509405
+> [ 823.987500] (8:node@c-7.me) 10004768 | 16509405
+> [ 823.987500] (8:node@c-7.me) 10004776 | 10874876
+> [ 823.987500] (8:node@c-7.me) 10004792 | 10874876
+> [ 823.987500] (8:node@c-7.me) 10004824 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10004888 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10005016 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10005272 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10005784 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10006808 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10008856 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10012952 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10021144 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10037528 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10070296 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10135832 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10266904 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10529048 | 10004760
+> [ 823.987500] (8:node@c-7.me) 11053336 | 10004760
+> [ 823.987500] (8:node@c-7.me) 12101912 | 10004760
+> [ 823.987500] (8:node@c-7.me) 14199064 | 10004760
+> [ 823.987500] (8:node@c-7.me) 1616152 | 10004760
+> [ 823.987500] (8:node@c-7.me) Predecessor: 6518808
+> [ 824.987500] (7:node@c-6.me) My finger table:
+> [ 824.987500] (7:node@c-6.me) Start | Succ
+> [ 824.987500] (7:node@c-6.me) 16728097 | 42
+> [ 824.987500] (7:node@c-6.me) 16728098 | 42
+> [ 824.987500] (7:node@c-6.me) 16728100 | 42
+> [ 824.987500] (7:node@c-6.me) 16728104 | 42
+> [ 824.987500] (7:node@c-6.me) 16728112 | 42
+> [ 824.987500] (7:node@c-6.me) 16728128 | 42
+> [ 824.987500] (7:node@c-6.me) 16728160 | 16728096
+> [ 824.987500] (7:node@c-6.me) 16728224 | 16728096
+> [ 824.987500] (7:node@c-6.me) 16728352 | 16728096
+> [ 824.987500] (7:node@c-6.me) 16728608 | 16728096
+> [ 824.987500] (7:node@c-6.me) 16729120 | 16728096
+> [ 824.987500] (7:node@c-6.me) 16730144 | 16728096
+> [ 824.987500] (7:node@c-6.me) 16732192 | 16728096
+> [ 824.987500] (7:node@c-6.me) 16736288 | 16728096
+> [ 824.987500] (7:node@c-6.me) 16744480 | 16728096
+> [ 824.987500] (7:node@c-6.me) 16760864 | 16728096
+> [ 824.987500] (7:node@c-6.me) 16416 | 16728096
+> [ 824.987500] (7:node@c-6.me) 81952 | 16728096
+> [ 824.987500] (7:node@c-6.me) 213024 | 16728096
+> [ 824.987500] (7:node@c-6.me) 475168 | 16728096
+> [ 824.987500] (7:node@c-6.me) 999456 | 16728096
+> [ 824.987500] (7:node@c-6.me) 2048032 | 16728096
+> [ 824.987500] (7:node@c-6.me) 4145184 | 16728096
+> [ 824.987500] (7:node@c-6.me) 8339488 | 16728096
+> [ 824.987500] (7:node@c-6.me) Predecessor: 16509405
+> [ 876.987500] (9:node@c-8.me) My finger table:
+> [ 876.987500] (9:node@c-8.me) Start | Succ
+> [ 876.987500] (9:node@c-8.me) 6518809 | 10004760
+> [ 876.987500] (9:node@c-8.me) 6518810 | 10004760
+> [ 876.987500] (9:node@c-8.me) 6518812 | 10004760
+> [ 876.987500] (9:node@c-8.me) 6518816 | 10004760
+> [ 876.987500] (9:node@c-8.me) 6518824 | 10004760
+> [ 876.987500] (9:node@c-8.me) 6518840 | 10004760
+> [ 876.987500] (9:node@c-8.me) 6518872 | 6518808
+> [ 876.987500] (9:node@c-8.me) 6518936 | 6518808
+> [ 876.987500] (9:node@c-8.me) 6519064 | 6518808
+> [ 876.987500] (9:node@c-8.me) 6519320 | 6518808
+> [ 876.987500] (9:node@c-8.me) 6519832 | 6518808
+> [ 876.987500] (9:node@c-8.me) 6520856 | 6518808
+> [ 876.987500] (9:node@c-8.me) 6522904 | 6518808
+> [ 876.987500] (9:node@c-8.me) 6527000 | 6518808
+> [ 876.987500] (9:node@c-8.me) 6535192 | 6518808
+> [ 876.987500] (9:node@c-8.me) 6551576 | 6518808
+> [ 876.987500] (9:node@c-8.me) 6584344 | 6518808
+> [ 876.987500] (9:node@c-8.me) 6649880 | 6518808
+> [ 876.987500] (9:node@c-8.me) 6780952 | 6518808
+> [ 876.987500] (9:node@c-8.me) 7043096 | 6518808
+> [ 876.987500] (9:node@c-8.me) 7567384 | 6518808
+> [ 876.987500] (9:node@c-8.me) 8615960 | 6518808
+> [ 876.987500] (9:node@c-8.me) 10713112 | 6518808
+> [ 876.987500] (9:node@c-8.me) 14907416 | 6518808
+> [ 876.987500] (9:node@c-8.me) Predecessor: 2015253
+> [ 880.986500] (1:node@c-0.me) My finger table:
+> [ 880.986500] (1:node@c-0.me) Start | Succ
+> [ 880.986500] (1:node@c-0.me) 43 | 366680
+> [ 880.986500] (1:node@c-0.me) 44 | 366680
+> [ 880.986500] (1:node@c-0.me) 46 | 366680
+> [ 880.986500] (1:node@c-0.me) 50 | 366680
+> [ 880.986500] (1:node@c-0.me) 58 | 366680
+> [ 880.986500] (1:node@c-0.me) 74 | 366680
+> [ 880.986500] (1:node@c-0.me) 106 | 366680
+> [ 880.986500] (1:node@c-0.me) 170 | 42
+> [ 880.986500] (1:node@c-0.me) 298 | 42
+> [ 880.986500] (1:node@c-0.me) 554 | 42
+> [ 880.986500] (1:node@c-0.me) 1066 | 42
+> [ 880.986500] (1:node@c-0.me) 2090 | 42
+> [ 880.986500] (1:node@c-0.me) 4138 | 42
+> [ 880.986500] (1:node@c-0.me) 8234 | 42
+> [ 880.986500] (1:node@c-0.me) 16426 | 42
+> [ 880.986500] (1:node@c-0.me) 32810 | 42
+> [ 880.986500] (1:node@c-0.me) 65578 | 42
+> [ 880.986500] (1:node@c-0.me) 131114 | 42
+> [ 880.986500] (1:node@c-0.me) 262186 | 42
+> [ 880.986500] (1:node@c-0.me) 524330 | 42
+> [ 880.986500] (1:node@c-0.me) 1048618 | 42
+> [ 880.986500] (1:node@c-0.me) 2097194 | 42
+> [ 880.986500] (1:node@c-0.me) 4194346 | 42
+> [ 880.986500] (1:node@c-0.me) 8388650 | 42
+> [ 880.986500] (1:node@c-0.me) Predecessor: 16728096
+> [ 904.987100] (3:node@c-2.me) My finger table:
+> [ 904.987100] (3:node@c-2.me) Start | Succ
+> [ 904.987100] (3:node@c-2.me) 533745 | 1319738
+> [ 904.987100] (3:node@c-2.me) 533746 | 1319738
+> [ 904.987100] (3:node@c-2.me) 533748 | 1319738
+> [ 904.987100] (3:node@c-2.me) 533752 | 1319738
+> [ 904.987100] (3:node@c-2.me) 533760 | 1319738
+> [ 904.987100] (3:node@c-2.me) 533776 | 1319738
+> [ 904.987100] (3:node@c-2.me) 533808 | 1319738
+> [ 904.987100] (3:node@c-2.me) 533872 | 533744
+> [ 904.987100] (3:node@c-2.me) 534000 | 533744
+> [ 904.987100] (3:node@c-2.me) 534256 | 533744
+> [ 904.987100] (3:node@c-2.me) 534768 | 533744
+> [ 904.987100] (3:node@c-2.me) 535792 | 533744
+> [ 904.987100] (3:node@c-2.me) 537840 | 533744
+> [ 904.987100] (3:node@c-2.me) 541936 | 533744
+> [ 904.987100] (3:node@c-2.me) 550128 | 533744
+> [ 904.987100] (3:node@c-2.me) 566512 | 533744
+> [ 904.987100] (3:node@c-2.me) 599280 | 533744
+> [ 904.987100] (3:node@c-2.me) 664816 | 533744
+> [ 904.987100] (3:node@c-2.me) 795888 | 533744
+> [ 904.987100] (3:node@c-2.me) 1058032 | 533744
+> [ 904.987100] (3:node@c-2.me) 1582320 | 533744
+> [ 904.987100] (3:node@c-2.me) 2630896 | 533744
+> [ 904.987100] (3:node@c-2.me) 4728048 | 533744
+> [ 904.987100] (3:node@c-2.me) 8922352 | 533744
+> [ 904.987100] (3:node@c-2.me) Predecessor: 366680
+> [ 924.987500] (5:node@c-4.me) My finger table:
+> [ 924.987500] (5:node@c-4.me) Start | Succ
+> [ 924.987500] (5:node@c-4.me) 16509406 | 16728096
+> [ 924.987500] (5:node@c-4.me) 16509407 | 42
+> [ 924.987500] (5:node@c-4.me) 16509409 | 16728096
+> [ 924.987500] (5:node@c-4.me) 16509413 | 16728096
+> [ 924.987500] (5:node@c-4.me) 16509421 | 16728096
+> [ 924.987500] (5:node@c-4.me) 16509437 | 16728096
+> [ 924.987500] (5:node@c-4.me) 16509469 | 16728096
+> [ 924.987500] (5:node@c-4.me) 16509533 | 16509405
+> [ 924.987500] (5:node@c-4.me) 16509661 | 16509405
+> [ 924.987500] (5:node@c-4.me) 16509917 | 16509405
+> [ 924.987500] (5:node@c-4.me) 16510429 | 16509405
+> [ 924.987500] (5:node@c-4.me) 16511453 | 16509405
+> [ 924.987500] (5:node@c-4.me) 16513501 | 16509405
+> [ 924.987500] (5:node@c-4.me) 16517597 | 16509405
+> [ 924.987500] (5:node@c-4.me) 16525789 | 16509405
+> [ 924.987500] (5:node@c-4.me) 16542173 | 16509405
+> [ 924.987500] (5:node@c-4.me) 16574941 | 16509405
+> [ 924.987500] (5:node@c-4.me) 16640477 | 16509405
+> [ 924.987500] (5:node@c-4.me) 16771549 | 16509405
+> [ 924.987500] (5:node@c-4.me) 256477 | 16509405
+> [ 924.987500] (5:node@c-4.me) 780765 | 16509405
+> [ 924.987500] (5:node@c-4.me) 1829341 | 16509405
+> [ 924.987500] (5:node@c-4.me) 3926493 | 16509405
+> [ 924.987500] (5:node@c-4.me) 8120797 | 16509405
+> [ 924.987500] (5:node@c-4.me) Predecessor: 10874876
+> [ 936.987400] (6:node@c-5.me) My finger table:
+> [ 936.987400] (6:node@c-5.me) Start | Succ
+> [ 936.987400] (6:node@c-5.me) 10874877 | 16509405
+> [ 936.987400] (6:node@c-5.me) 10874878 | 533744
+> [ 936.987400] (6:node@c-5.me) 10874880 | 533744
+> [ 936.987400] (6:node@c-5.me) 10874884 | 16509405
+> [ 936.987400] (6:node@c-5.me) 10874892 | 16509405
+> [ 936.987400] (6:node@c-5.me) 10874908 | 16509405
+> [ 936.987400] (6:node@c-5.me) 10874940 | 16509405
+> [ 936.987400] (6:node@c-5.me) 10875004 | 10874876
+> [ 936.987400] (6:node@c-5.me) 10875132 | 10874876
+> [ 936.987400] (6:node@c-5.me) 10875388 | 10874876
+> [ 936.987400] (6:node@c-5.me) 10875900 | 10874876
+> [ 936.987400] (6:node@c-5.me) 10876924 | 10874876
+> [ 936.987400] (6:node@c-5.me) 10878972 | 10874876
+> [ 936.987400] (6:node@c-5.me) 10883068 | 10874876
+> [ 936.987400] (6:node@c-5.me) 10891260 | 10874876
+> [ 936.987400] (6:node@c-5.me) 10907644 | 10874876
+> [ 936.987400] (6:node@c-5.me) 10940412 | 10874876
+> [ 936.987400] (6:node@c-5.me) 11005948 | 10874876
+> [ 936.987400] (6:node@c-5.me) 11137020 | 10874876
+> [ 936.987400] (6:node@c-5.me) 11399164 | 10874876
+> [ 936.987400] (6:node@c-5.me) 11923452 | 10874876
+> [ 936.987400] (6:node@c-5.me) 12972028 | 10874876
+> [ 936.987400] (6:node@c-5.me) 15069180 | 10874876
+> [ 936.987400] (6:node@c-5.me) 2486268 | 10874876
+> [ 936.987400] (6:node@c-5.me) Predecessor: 10004760
+> [ 945.985300] (7:node@c-6.me) My finger table:
+> [ 945.985300] (7:node@c-6.me) Start | Succ
+> [ 945.985300] (7:node@c-6.me) 16728097 | 42
+> [ 945.985300] (7:node@c-6.me) 16728098 | 42
+> [ 945.985300] (7:node@c-6.me) 16728100 | 42
+> [ 945.985300] (7:node@c-6.me) 16728104 | 42
+> [ 945.985300] (7:node@c-6.me) 16728112 | 42
+> [ 945.985300] (7:node@c-6.me) 16728128 | 42
+> [ 945.985300] (7:node@c-6.me) 16728160 | 42
+> [ 945.985300] (7:node@c-6.me) 16728224 | 16728096
+> [ 945.985300] (7:node@c-6.me) 16728352 | 16728096
+> [ 945.985300] (7:node@c-6.me) 16728608 | 16728096
+> [ 945.985300] (7:node@c-6.me) 16729120 | 16728096
+> [ 945.985300] (7:node@c-6.me) 16730144 | 16728096
+> [ 945.985300] (7:node@c-6.me) 16732192 | 16728096
+> [ 945.985300] (7:node@c-6.me) 16736288 | 16728096
+> [ 945.985300] (7:node@c-6.me) 16744480 | 16728096
+> [ 945.985300] (7:node@c-6.me) 16760864 | 16728096
+> [ 945.985300] (7:node@c-6.me) 16416 | 16728096
+> [ 945.985300] (7:node@c-6.me) 81952 | 16728096
+> [ 945.985300] (7:node@c-6.me) 213024 | 16728096
+> [ 945.985300] (7:node@c-6.me) 475168 | 16728096
+> [ 945.985300] (7:node@c-6.me) 999456 | 16728096
+> [ 945.985300] (7:node@c-6.me) 2048032 | 16728096
+> [ 945.985300] (7:node@c-6.me) 4145184 | 16728096
+> [ 945.985300] (7:node@c-6.me) 8339488 | 16728096
+> [ 945.985300] (7:node@c-6.me) Predecessor: 16509405
+> [ 952.985200] (2:node@c-1.me) My finger table:
+> [ 952.985200] (2:node@c-1.me) Start | Succ
+> [ 952.985200] (2:node@c-1.me) 366681 | 533744
+> [ 952.985200] (2:node@c-1.me) 366682 | 1319738
+> [ 952.985200] (2:node@c-1.me) 366684 | 533744
+> [ 952.985200] (2:node@c-1.me) 366688 | 533744
+> [ 952.985200] (2:node@c-1.me) 366696 | 533744
+> [ 952.985200] (2:node@c-1.me) 366712 | 533744
+> [ 952.985200] (2:node@c-1.me) 366744 | 533744
+> [ 952.985200] (2:node@c-1.me) 366808 | 366680
+> [ 952.985200] (2:node@c-1.me) 366936 | 366680
+> [ 952.985200] (2:node@c-1.me) 367192 | 366680
+> [ 952.985200] (2:node@c-1.me) 367704 | 366680
+> [ 952.985200] (2:node@c-1.me) 368728 | 366680
+> [ 952.985200] (2:node@c-1.me) 370776 | 366680
+> [ 952.985200] (2:node@c-1.me) 374872 | 366680
+> [ 952.985200] (2:node@c-1.me) 383064 | 366680
+> [ 952.985200] (2:node@c-1.me) 399448 | 366680
+> [ 952.985200] (2:node@c-1.me) 432216 | 366680
+> [ 952.985200] (2:node@c-1.me) 497752 | 366680
+> [ 952.985200] (2:node@c-1.me) 628824 | 366680
+> [ 952.985200] (2:node@c-1.me) 890968 | 366680
+> [ 952.985200] (2:node@c-1.me) 1415256 | 366680
+> [ 952.985200] (2:node@c-1.me) 2463832 | 366680
+> [ 952.985200] (2:node@c-1.me) 4560984 | 366680
+> [ 952.985200] (2:node@c-1.me) 8755288 | 366680
+> [ 952.985200] (2:node@c-1.me) Predecessor: 42
+> [ 967.986900] (4:node@c-3.me) My finger table:
+> [ 967.986900] (4:node@c-3.me) Start | Succ
+> [ 967.986900] (4:node@c-3.me) 1319739 | 2015253
+> [ 967.986900] (4:node@c-3.me) 1319740 | 6518808
+> [ 967.986900] (4:node@c-3.me) 1319742 | 6518808
+> [ 967.986900] (4:node@c-3.me) 1319746 | 2015253
+> [ 967.986900] (4:node@c-3.me) 1319754 | 2015253
+> [ 967.986900] (4:node@c-3.me) 1319770 | 2015253
+> [ 967.986900] (4:node@c-3.me) 1319802 | 2015253
+> [ 967.986900] (4:node@c-3.me) 1319866 | 1319738
+> [ 967.986900] (4:node@c-3.me) 1319994 | 1319738
+> [ 967.986900] (4:node@c-3.me) 1320250 | 1319738
+> [ 967.986900] (4:node@c-3.me) 1320762 | 1319738
+> [ 967.986900] (4:node@c-3.me) 1321786 | 1319738
+> [ 967.986900] (4:node@c-3.me) 1323834 | 1319738
+> [ 967.986900] (4:node@c-3.me) 1327930 | 1319738
+> [ 967.986900] (4:node@c-3.me) 1336122 | 1319738
+> [ 967.986900] (4:node@c-3.me) 1352506 | 1319738
+> [ 967.986900] (4:node@c-3.me) 1385274 | 1319738
+> [ 967.986900] (4:node@c-3.me) 1450810 | 1319738
+> [ 967.986900] (4:node@c-3.me) 1581882 | 1319738
+> [ 967.986900] (4:node@c-3.me) 1844026 | 1319738
+> [ 967.986900] (4:node@c-3.me) 2368314 | 1319738
+> [ 967.986900] (4:node@c-3.me) 3416890 | 1319738
+> [ 967.986900] (4:node@c-3.me) 5514042 | 1319738
+> [ 967.986900] (4:node@c-3.me) 9708346 | 1319738
+> [ 967.986900] (4:node@c-3.me) Predecessor: 533744
+> [1207.985300] (0:@) Messages created: 1690
+> [1207.985300] (0:@) Simulated time: 1207.99
#! ./tesh
-p Testing the Chord implementation with MSG
+p> Testing the Chord implementation with MSG
! output sort
$ $SG_TEST_EXENV ${bindir:=.}/chord$EXEEXT -nb_bits=6 ${srcdir:=.}/../msg_platform.xml ${srcdir:=.}/chord.xml --log=msg_chord.thres:verbose "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
> [ 0.000000] (8:node@Jacquelin) 17 | 1
> [ 0.000000] (8:node@Jacquelin) 33 | 1
> [ 0.000000] (8:node@Jacquelin) Predecessor: -1
-> [ 6.274448] (1:node@Gatien) My finger table:
-> [ 6.274448] (1:node@Gatien) Start | Succ
-> [ 6.274448] (1:node@Gatien) 49 | 1
-> [ 6.274448] (1:node@Gatien) 50 | 48
-> [ 6.274448] (1:node@Gatien) 52 | 48
-> [ 6.274448] (1:node@Gatien) 56 | 48
-> [ 6.274448] (1:node@Gatien) 0 | 48
-> [ 6.274448] (1:node@Gatien) 16 | 48
-> [ 6.274448] (1:node@Gatien) Predecessor: -1
-> [ 10.888356] (2:node@McGee) My finger table:
-> [ 10.888356] (2:node@McGee) Start | Succ
-> [ 10.888356] (2:node@McGee) 43 | 1
-> [ 10.888356] (2:node@McGee) 44 | 42
-> [ 10.888356] (2:node@McGee) 46 | 42
-> [ 10.888356] (2:node@McGee) 50 | 42
-> [ 10.888356] (2:node@McGee) 58 | 42
-> [ 10.888356] (2:node@McGee) 10 | 42
-> [ 10.888356] (2:node@McGee) Predecessor: -1
-> [ 18.043675] (3:node@iRMX) My finger table:
-> [ 18.043675] (3:node@iRMX) Start | Succ
-> [ 18.043675] (3:node@iRMX) 39 | 1
-> [ 18.043675] (3:node@iRMX) 40 | 38
-> [ 18.043675] (3:node@iRMX) 42 | 38
-> [ 18.043675] (3:node@iRMX) 46 | 38
-> [ 18.043675] (3:node@iRMX) 54 | 38
-> [ 18.043675] (3:node@iRMX) 6 | 38
-> [ 18.043675] (3:node@iRMX) Predecessor: -1
-> [ 20.005344] (4:node@Geoff) My finger table:
-> [ 20.005344] (4:node@Geoff) Start | Succ
-> [ 20.005344] (4:node@Geoff) 33 | 1
-> [ 20.005344] (4:node@Geoff) 34 | 32
-> [ 20.005344] (4:node@Geoff) 36 | 32
-> [ 20.005344] (4:node@Geoff) 40 | 32
-> [ 20.005344] (4:node@Geoff) 48 | 32
-> [ 20.005344] (4:node@Geoff) 0 | 32
-> [ 20.005344] (4:node@Geoff) Predecessor: -1
-> [ 26.812602] (5:node@TeX) My finger table:
-> [ 26.812602] (5:node@TeX) Start | Succ
-> [ 26.812602] (5:node@TeX) 22 | 1
-> [ 26.812602] (5:node@TeX) 23 | 21
-> [ 26.812602] (5:node@TeX) 25 | 21
-> [ 26.812602] (5:node@TeX) 29 | 21
-> [ 26.812602] (5:node@TeX) 37 | 21
-> [ 26.812602] (5:node@TeX) 53 | 21
-> [ 26.812602] (5:node@TeX) Predecessor: -1
-> [ 30.925131] (6:node@Jean_Yves) My finger table:
-> [ 30.925131] (6:node@Jean_Yves) Start | Succ
-> [ 30.925131] (6:node@Jean_Yves) 15 | 1
-> [ 30.925131] (6:node@Jean_Yves) 16 | 14
-> [ 30.925131] (6:node@Jean_Yves) 18 | 14
-> [ 30.925131] (6:node@Jean_Yves) 22 | 14
-> [ 30.925131] (6:node@Jean_Yves) 30 | 14
-> [ 30.925131] (6:node@Jean_Yves) 46 | 14
-> [ 30.925131] (6:node@Jean_Yves) Predecessor: -1
-> [ 36.048886] (7:node@Boivin) My finger table:
-> [ 36.048886] (7:node@Boivin) Start | Succ
-> [ 36.048886] (7:node@Boivin) 9 | 1
-> [ 36.048886] (7:node@Boivin) 10 | 8
-> [ 36.048886] (7:node@Boivin) 12 | 8
-> [ 36.048886] (7:node@Boivin) 16 | 8
-> [ 36.048886] (7:node@Boivin) 24 | 8
-> [ 36.048886] (7:node@Boivin) 40 | 8
-> [ 36.048886] (7:node@Boivin) Predecessor: -1
-> [ 75.000000] (8:node@Jacquelin) My finger table:
-> [ 75.000000] (8:node@Jacquelin) Start | Succ
-> [ 75.000000] (8:node@Jacquelin) 2 | 1
-> [ 75.000000] (8:node@Jacquelin) 3 | 1
-> [ 75.000000] (8:node@Jacquelin) 5 | 1
-> [ 75.000000] (8:node@Jacquelin) 9 | 1
-> [ 75.000000] (8:node@Jacquelin) 17 | 1
-> [ 75.000000] (8:node@Jacquelin) 33 | 1
-> [ 75.000000] (8:node@Jacquelin) Predecessor: 32
-> [ 80.000000] (8:node@Jacquelin) My finger table:
-> [ 80.000000] (8:node@Jacquelin) Start | Succ
-> [ 80.000000] (8:node@Jacquelin) 2 | 1
-> [ 80.000000] (8:node@Jacquelin) 3 | 1
-> [ 80.000000] (8:node@Jacquelin) 5 | 1
-> [ 80.000000] (8:node@Jacquelin) 9 | 1
-> [ 80.000000] (8:node@Jacquelin) 17 | 1
-> [ 80.000000] (8:node@Jacquelin) 33 | 1
-> [ 80.000000] (8:node@Jacquelin) Predecessor: 42
-> [ 81.274448] (8:node@Jacquelin) My finger table:
-> [ 81.274448] (8:node@Jacquelin) Start | Succ
-> [ 81.274448] (8:node@Jacquelin) 2 | 42
-> [ 81.274448] (8:node@Jacquelin) 3 | 1
-> [ 81.274448] (8:node@Jacquelin) 5 | 1
-> [ 81.274448] (8:node@Jacquelin) 9 | 1
-> [ 81.274448] (8:node@Jacquelin) 17 | 1
-> [ 81.274448] (8:node@Jacquelin) 33 | 1
-> [ 81.274448] (8:node@Jacquelin) Predecessor: 48
-> [116.655207] (2:node@McGee) My finger table:
-> [116.655207] (2:node@McGee) Start | Succ
-> [116.655207] (2:node@McGee) 43 | 48
-> [116.655207] (2:node@McGee) 44 | 42
-> [116.655207] (2:node@McGee) 46 | 42
-> [116.655207] (2:node@McGee) 50 | 42
-> [116.655207] (2:node@McGee) 58 | 42
-> [116.655207] (2:node@McGee) 10 | 42
-> [116.655207] (2:node@McGee) Predecessor: 1
-> [141.383343] (1:node@Gatien) My finger table:
-> [141.383343] (1:node@Gatien) Start | Succ
-> [141.383343] (1:node@Gatien) 49 | 1
-> [141.383343] (1:node@Gatien) 50 | 48
-> [141.383343] (1:node@Gatien) 52 | 48
-> [141.383343] (1:node@Gatien) 56 | 48
-> [141.383343] (1:node@Gatien) 0 | 48
-> [141.383343] (1:node@Gatien) 16 | 48
-> [141.383343] (1:node@Gatien) Predecessor: 42
-> [193.730915] (2:node@McGee) My finger table:
-> [193.730915] (2:node@McGee) Start | Succ
-> [193.730915] (2:node@McGee) 43 | 48
-> [193.730915] (2:node@McGee) 44 | 42
-> [193.730915] (2:node@McGee) 46 | 42
-> [193.730915] (2:node@McGee) 50 | 42
-> [193.730915] (2:node@McGee) 58 | 42
-> [193.730915] (2:node@McGee) 10 | 42
-> [193.730915] (2:node@McGee) Predecessor: 8
-> [242.028917] (1:node@Gatien) My finger table:
-> [242.028917] (1:node@Gatien) Start | Succ
-> [242.028917] (1:node@Gatien) 49 | 1
-> [242.028917] (1:node@Gatien) 50 | 1
-> [242.028917] (1:node@Gatien) 52 | 48
-> [242.028917] (1:node@Gatien) 56 | 48
-> [242.028917] (1:node@Gatien) 0 | 48
-> [242.028917] (1:node@Gatien) 16 | 48
-> [242.028917] (1:node@Gatien) Predecessor: 42
-> [242.939681] (2:node@McGee) My finger table:
-> [242.939681] (2:node@McGee) Start | Succ
-> [242.939681] (2:node@McGee) 43 | 48
-> [242.939681] (2:node@McGee) 44 | 42
-> [242.939681] (2:node@McGee) 46 | 42
-> [242.939681] (2:node@McGee) 50 | 42
-> [242.939681] (2:node@McGee) 58 | 42
-> [242.939681] (2:node@McGee) 10 | 42
-> [242.939681] (2:node@McGee) Predecessor: 38
-> [246.478513] (2:node@McGee) My finger table:
-> [246.478513] (2:node@McGee) Start | Succ
-> [246.478513] (2:node@McGee) 43 | 48
-> [246.478513] (2:node@McGee) 44 | 48
-> [246.478513] (2:node@McGee) 46 | 42
-> [246.478513] (2:node@McGee) 50 | 42
-> [246.478513] (2:node@McGee) 58 | 42
-> [246.478513] (2:node@McGee) 10 | 42
-> [246.478513] (2:node@McGee) Predecessor: 38
-> [248.768529] (7:node@Boivin) My finger table:
-> [248.768529] (7:node@Boivin) Start | Succ
-> [248.768529] (7:node@Boivin) 9 | 38
-> [248.768529] (7:node@Boivin) 10 | 38
-> [248.768529] (7:node@Boivin) 12 | 8
-> [248.768529] (7:node@Boivin) 16 | 8
-> [248.768529] (7:node@Boivin) 24 | 8
-> [248.768529] (7:node@Boivin) 40 | 8
-> [248.768529] (7:node@Boivin) Predecessor: -1
-> [255.578816] (4:node@Geoff) My finger table:
-> [255.578816] (4:node@Geoff) Start | Succ
-> [255.578816] (4:node@Geoff) 33 | 42
-> [255.578816] (4:node@Geoff) 34 | 42
-> [255.578816] (4:node@Geoff) 36 | 32
-> [255.578816] (4:node@Geoff) 40 | 32
-> [255.578816] (4:node@Geoff) 48 | 32
-> [255.578816] (4:node@Geoff) 0 | 32
-> [255.578816] (4:node@Geoff) Predecessor: -1
-> [268.081409] (8:node@Jacquelin) My finger table:
-> [268.081409] (8:node@Jacquelin) Start | Succ
-> [268.081409] (8:node@Jacquelin) 2 | 8
-> [268.081409] (8:node@Jacquelin) 3 | 8
-> [268.081409] (8:node@Jacquelin) 5 | 1
-> [268.081409] (8:node@Jacquelin) 9 | 1
-> [268.081409] (8:node@Jacquelin) 17 | 1
-> [268.081409] (8:node@Jacquelin) 33 | 1
-> [268.081409] (8:node@Jacquelin) Predecessor: 48
-> [269.130295] (7:node@Boivin) My finger table:
-> [269.130295] (7:node@Boivin) Start | Succ
-> [269.130295] (7:node@Boivin) 9 | 38
-> [269.130295] (7:node@Boivin) 10 | 38
-> [269.130295] (7:node@Boivin) 12 | 8
-> [269.130295] (7:node@Boivin) 16 | 8
-> [269.130295] (7:node@Boivin) 24 | 8
-> [269.130295] (7:node@Boivin) 40 | 8
-> [269.130295] (7:node@Boivin) Predecessor: 1
-> [272.405922] (3:node@iRMX) My finger table:
-> [272.405922] (3:node@iRMX) Start | Succ
-> [272.405922] (3:node@iRMX) 39 | 42
-> [272.405922] (3:node@iRMX) 40 | 42
-> [272.405922] (3:node@iRMX) 42 | 38
-> [272.405922] (3:node@iRMX) 46 | 38
-> [272.405922] (3:node@iRMX) 54 | 38
-> [272.405922] (3:node@iRMX) 6 | 38
-> [272.405922] (3:node@iRMX) Predecessor: -1
-> [284.571217] (5:node@TeX) My finger table:
-> [284.571217] (5:node@TeX) Start | Succ
-> [284.571217] (5:node@TeX) 22 | 38
-> [284.571217] (5:node@TeX) 23 | 38
-> [284.571217] (5:node@TeX) 25 | 21
-> [284.571217] (5:node@TeX) 29 | 21
-> [284.571217] (5:node@TeX) 37 | 21
-> [284.571217] (5:node@TeX) 53 | 21
-> [284.571217] (5:node@TeX) Predecessor: -1
-> [289.289472] (3:node@iRMX) My finger table:
-> [289.289472] (3:node@iRMX) Start | Succ
-> [289.289472] (3:node@iRMX) 39 | 42
-> [289.289472] (3:node@iRMX) 40 | 42
-> [289.289472] (3:node@iRMX) 42 | 38
-> [289.289472] (3:node@iRMX) 46 | 38
-> [289.289472] (3:node@iRMX) 54 | 38
-> [289.289472] (3:node@iRMX) 6 | 38
-> [289.289472] (3:node@iRMX) Predecessor: 21
-> [305.097152] (6:node@Jean_Yves) My finger table:
-> [305.097152] (6:node@Jean_Yves) Start | Succ
-> [305.097152] (6:node@Jean_Yves) 15 | 21
-> [305.097152] (6:node@Jean_Yves) 16 | 21
-> [305.097152] (6:node@Jean_Yves) 18 | 14
-> [305.097152] (6:node@Jean_Yves) 22 | 14
-> [305.097152] (6:node@Jean_Yves) 30 | 14
-> [305.097152] (6:node@Jean_Yves) 46 | 14
-> [305.097152] (6:node@Jean_Yves) Predecessor: -1
-> [313.745119] (3:node@iRMX) My finger table:
-> [313.745119] (3:node@iRMX) Start | Succ
-> [313.745119] (3:node@iRMX) 39 | 42
-> [313.745119] (3:node@iRMX) 40 | 42
-> [313.745119] (3:node@iRMX) 42 | 38
-> [313.745119] (3:node@iRMX) 46 | 38
-> [313.745119] (3:node@iRMX) 54 | 38
-> [313.745119] (3:node@iRMX) 6 | 38
-> [313.745119] (3:node@iRMX) Predecessor: 32
-> [338.952043] (5:node@TeX) My finger table:
-> [338.952043] (5:node@TeX) Start | Succ
-> [338.952043] (5:node@TeX) 22 | 32
-> [338.952043] (5:node@TeX) 23 | 38
-> [338.952043] (5:node@TeX) 25 | 21
-> [338.952043] (5:node@TeX) 29 | 21
-> [338.952043] (5:node@TeX) 37 | 21
-> [338.952043] (5:node@TeX) 53 | 21
-> [338.952043] (5:node@TeX) Predecessor: 14
-> [359.463171] (4:node@Geoff) My finger table:
-> [359.463171] (4:node@Geoff) Start | Succ
-> [359.463171] (4:node@Geoff) 33 | 38
-> [359.463171] (4:node@Geoff) 34 | 42
-> [359.463171] (4:node@Geoff) 36 | 32
-> [359.463171] (4:node@Geoff) 40 | 32
-> [359.463171] (4:node@Geoff) 48 | 32
-> [359.463171] (4:node@Geoff) 0 | 32
-> [359.463171] (4:node@Geoff) Predecessor: 21
-> [365.649541] (1:node@Gatien) My finger table:
-> [365.649541] (1:node@Gatien) Start | Succ
-> [365.649541] (1:node@Gatien) 49 | 1
-> [365.649541] (1:node@Gatien) 50 | 1
-> [365.649541] (1:node@Gatien) 52 | 1
-> [365.649541] (1:node@Gatien) 56 | 48
-> [365.649541] (1:node@Gatien) 0 | 48
-> [365.649541] (1:node@Gatien) 16 | 48
-> [365.649541] (1:node@Gatien) Predecessor: 42
-> [367.870562] (2:node@McGee) My finger table:
-> [367.870562] (2:node@McGee) Start | Succ
-> [367.870562] (2:node@McGee) 43 | 48
-> [367.870562] (2:node@McGee) 44 | 48
-> [367.870562] (2:node@McGee) 46 | 48
-> [367.870562] (2:node@McGee) 50 | 42
-> [367.870562] (2:node@McGee) 58 | 42
-> [367.870562] (2:node@McGee) 10 | 42
-> [367.870562] (2:node@McGee) Predecessor: 38
-> [371.550256] (7:node@Boivin) My finger table:
-> [371.550256] (7:node@Boivin) Start | Succ
-> [371.550256] (7:node@Boivin) 9 | 21
-> [371.550256] (7:node@Boivin) 10 | 38
-> [371.550256] (7:node@Boivin) 12 | 21
-> [371.550256] (7:node@Boivin) 16 | 8
-> [371.550256] (7:node@Boivin) 24 | 8
-> [371.550256] (7:node@Boivin) 40 | 8
-> [371.550256] (7:node@Boivin) Predecessor: 1
-> [388.564180] (4:node@Geoff) My finger table:
-> [388.564180] (4:node@Geoff) Start | Succ
-> [388.564180] (4:node@Geoff) 33 | 38
-> [388.564180] (4:node@Geoff) 34 | 42
-> [388.564180] (4:node@Geoff) 36 | 38
-> [388.564180] (4:node@Geoff) 40 | 32
-> [388.564180] (4:node@Geoff) 48 | 32
-> [388.564180] (4:node@Geoff) 0 | 32
-> [388.564180] (4:node@Geoff) Predecessor: 21
-> [389.021761] (8:node@Jacquelin) My finger table:
-> [389.021761] (8:node@Jacquelin) Start | Succ
-> [389.021761] (8:node@Jacquelin) 2 | 8
-> [389.021761] (8:node@Jacquelin) 3 | 8
-> [389.021761] (8:node@Jacquelin) 5 | 8
-> [389.021761] (8:node@Jacquelin) 9 | 1
-> [389.021761] (8:node@Jacquelin) 17 | 1
-> [389.021761] (8:node@Jacquelin) 33 | 1
-> [389.021761] (8:node@Jacquelin) Predecessor: 48
-> [393.088792] (3:node@iRMX) My finger table:
-> [393.088792] (3:node@iRMX) Start | Succ
-> [393.088792] (3:node@iRMX) 39 | 42
-> [393.088792] (3:node@iRMX) 40 | 42
-> [393.088792] (3:node@iRMX) 42 | 42
-> [393.088792] (3:node@iRMX) 46 | 38
-> [393.088792] (3:node@iRMX) 54 | 38
-> [393.088792] (3:node@iRMX) 6 | 38
-> [393.088792] (3:node@iRMX) Predecessor: 32
-> [412.961743] (5:node@TeX) My finger table:
-> [412.961743] (5:node@TeX) Start | Succ
-> [412.961743] (5:node@TeX) 22 | 32
-> [412.961743] (5:node@TeX) 23 | 38
-> [412.961743] (5:node@TeX) 25 | 32
-> [412.961743] (5:node@TeX) 29 | 21
-> [412.961743] (5:node@TeX) 37 | 21
-> [412.961743] (5:node@TeX) 53 | 21
-> [412.961743] (5:node@TeX) Predecessor: 14
-> [434.596538] (6:node@Jean_Yves) My finger table:
-> [434.596538] (6:node@Jean_Yves) Start | Succ
-> [434.596538] (6:node@Jean_Yves) 15 | 21
-> [434.596538] (6:node@Jean_Yves) 16 | 21
-> [434.596538] (6:node@Jean_Yves) 18 | 14
-> [434.596538] (6:node@Jean_Yves) 22 | 14
-> [434.596538] (6:node@Jean_Yves) 30 | 14
-> [434.596538] (6:node@Jean_Yves) 46 | 14
-> [434.596538] (6:node@Jean_Yves) Predecessor: 8
-> [443.806985] (6:node@Jean_Yves) My finger table:
-> [443.806985] (6:node@Jean_Yves) Start | Succ
-> [443.806985] (6:node@Jean_Yves) 15 | 21
-> [443.806985] (6:node@Jean_Yves) 16 | 21
-> [443.806985] (6:node@Jean_Yves) 18 | 21
-> [443.806985] (6:node@Jean_Yves) 22 | 14
-> [443.806985] (6:node@Jean_Yves) 30 | 14
-> [443.806985] (6:node@Jean_Yves) 46 | 14
-> [443.806985] (6:node@Jean_Yves) Predecessor: 8
-> [488.763655] (1:node@Gatien) My finger table:
-> [488.763655] (1:node@Gatien) Start | Succ
-> [488.763655] (1:node@Gatien) 49 | 1
-> [488.763655] (1:node@Gatien) 50 | 1
-> [488.763655] (1:node@Gatien) 52 | 1
-> [488.763655] (1:node@Gatien) 56 | 1
-> [488.763655] (1:node@Gatien) 0 | 48
-> [488.763655] (1:node@Gatien) 16 | 48
-> [488.763655] (1:node@Gatien) Predecessor: 42
-> [502.910503] (2:node@McGee) My finger table:
-> [502.910503] (2:node@McGee) Start | Succ
-> [502.910503] (2:node@McGee) 43 | 48
-> [502.910503] (2:node@McGee) 44 | 48
-> [502.910503] (2:node@McGee) 46 | 48
-> [502.910503] (2:node@McGee) 50 | 1
-> [502.910503] (2:node@McGee) 58 | 42
-> [502.910503] (2:node@McGee) 10 | 42
-> [502.910503] (2:node@McGee) Predecessor: 38
-> [511.133139] (8:node@Jacquelin) My finger table:
-> [511.133139] (8:node@Jacquelin) Start | Succ
-> [511.133139] (8:node@Jacquelin) 2 | 8
-> [511.133139] (8:node@Jacquelin) 3 | 8
-> [511.133139] (8:node@Jacquelin) 5 | 8
-> [511.133139] (8:node@Jacquelin) 9 | 14
-> [511.133139] (8:node@Jacquelin) 17 | 1
-> [511.133139] (8:node@Jacquelin) 33 | 1
-> [511.133139] (8:node@Jacquelin) Predecessor: 48
-> [528.169821] (7:node@Boivin) My finger table:
-> [528.169821] (7:node@Boivin) Start | Succ
-> [528.169821] (7:node@Boivin) 9 | 14
-> [528.169821] (7:node@Boivin) 10 | 38
-> [528.169821] (7:node@Boivin) 12 | 21
-> [528.169821] (7:node@Boivin) 16 | 21
-> [528.169821] (7:node@Boivin) 24 | 8
-> [528.169821] (7:node@Boivin) 40 | 8
-> [528.169821] (7:node@Boivin) Predecessor: 1
-> [538.778249] (3:node@iRMX) My finger table:
-> [538.778249] (3:node@iRMX) Start | Succ
-> [538.778249] (3:node@iRMX) 39 | 42
-> [538.778249] (3:node@iRMX) 40 | 42
-> [538.778249] (3:node@iRMX) 42 | 42
-> [538.778249] (3:node@iRMX) 46 | 48
-> [538.778249] (3:node@iRMX) 54 | 38
-> [538.778249] (3:node@iRMX) 6 | 38
-> [538.778249] (3:node@iRMX) Predecessor: 32
-> [561.853873] (5:node@TeX) My finger table:
-> [561.853873] (5:node@TeX) Start | Succ
-> [561.853873] (5:node@TeX) 22 | 32
-> [561.853873] (5:node@TeX) 23 | 38
-> [561.853873] (5:node@TeX) 25 | 32
-> [561.853873] (5:node@TeX) 29 | 32
-> [561.853873] (5:node@TeX) 37 | 21
-> [561.853873] (5:node@TeX) 53 | 21
-> [561.853873] (5:node@TeX) Predecessor: 14
-> [564.892208] (4:node@Geoff) My finger table:
-> [564.892208] (4:node@Geoff) Start | Succ
-> [564.892208] (4:node@Geoff) 33 | 38
-> [564.892208] (4:node@Geoff) 34 | 42
-> [564.892208] (4:node@Geoff) 36 | 38
-> [564.892208] (4:node@Geoff) 40 | 42
-> [564.892208] (4:node@Geoff) 48 | 32
-> [564.892208] (4:node@Geoff) 0 | 32
-> [564.892208] (4:node@Geoff) Predecessor: 21
-> [580.440544] (6:node@Jean_Yves) My finger table:
-> [580.440544] (6:node@Jean_Yves) Start | Succ
-> [580.440544] (6:node@Jean_Yves) 15 | 21
-> [580.440544] (6:node@Jean_Yves) 16 | 21
-> [580.440544] (6:node@Jean_Yves) 18 | 21
-> [580.440544] (6:node@Jean_Yves) 22 | 32
-> [580.440544] (6:node@Jean_Yves) 30 | 14
-> [580.440544] (6:node@Jean_Yves) 46 | 14
-> [580.440544] (6:node@Jean_Yves) Predecessor: 8
-> [805.312658] (0:@) Messages created: 789
-> [805.312658] (0:@) Simulated time: 805.313
+> [ 6.274348] (1:node@Gatien) My finger table:
+> [ 6.274348] (1:node@Gatien) Start | Succ
+> [ 6.274348] (1:node@Gatien) 49 | 1
+> [ 6.274348] (1:node@Gatien) 50 | 48
+> [ 6.274348] (1:node@Gatien) 52 | 48
+> [ 6.274348] (1:node@Gatien) 56 | 48
+> [ 6.274348] (1:node@Gatien) 0 | 48
+> [ 6.274348] (1:node@Gatien) 16 | 48
+> [ 6.274348] (1:node@Gatien) Predecessor: -1
+> [ 10.888156] (2:node@McGee) My finger table:
+> [ 10.888156] (2:node@McGee) Start | Succ
+> [ 10.888156] (2:node@McGee) 43 | 1
+> [ 10.888156] (2:node@McGee) 44 | 42
+> [ 10.888156] (2:node@McGee) 46 | 42
+> [ 10.888156] (2:node@McGee) 50 | 42
+> [ 10.888156] (2:node@McGee) 58 | 42
+> [ 10.888156] (2:node@McGee) 10 | 42
+> [ 10.888156] (2:node@McGee) Predecessor: -1
+> [ 18.043375] (3:node@iRMX) My finger table:
+> [ 18.043375] (3:node@iRMX) Start | Succ
+> [ 18.043375] (3:node@iRMX) 39 | 1
+> [ 18.043375] (3:node@iRMX) 40 | 38
+> [ 18.043375] (3:node@iRMX) 42 | 38
+> [ 18.043375] (3:node@iRMX) 46 | 38
+> [ 18.043375] (3:node@iRMX) 54 | 38
+> [ 18.043375] (3:node@iRMX) 6 | 38
+> [ 18.043375] (3:node@iRMX) Predecessor: -1
+> [ 20.004944] (4:node@Geoff) My finger table:
+> [ 20.004944] (4:node@Geoff) Start | Succ
+> [ 20.004944] (4:node@Geoff) 33 | 1
+> [ 20.004944] (4:node@Geoff) 34 | 32
+> [ 20.004944] (4:node@Geoff) 36 | 32
+> [ 20.004944] (4:node@Geoff) 40 | 32
+> [ 20.004944] (4:node@Geoff) 48 | 32
+> [ 20.004944] (4:node@Geoff) 0 | 32
+> [ 20.004944] (4:node@Geoff) Predecessor: -1
+> [ 26.812102] (5:node@TeX) My finger table:
+> [ 26.812102] (5:node@TeX) Start | Succ
+> [ 26.812102] (5:node@TeX) 22 | 1
+> [ 26.812102] (5:node@TeX) 23 | 21
+> [ 26.812102] (5:node@TeX) 25 | 21
+> [ 26.812102] (5:node@TeX) 29 | 21
+> [ 26.812102] (5:node@TeX) 37 | 21
+> [ 26.812102] (5:node@TeX) 53 | 21
+> [ 26.812102] (5:node@TeX) Predecessor: -1
+> [ 30.924531] (6:node@Jean_Yves) My finger table:
+> [ 30.924531] (6:node@Jean_Yves) Start | Succ
+> [ 30.924531] (6:node@Jean_Yves) 15 | 1
+> [ 30.924531] (6:node@Jean_Yves) 16 | 14
+> [ 30.924531] (6:node@Jean_Yves) 18 | 14
+> [ 30.924531] (6:node@Jean_Yves) 22 | 14
+> [ 30.924531] (6:node@Jean_Yves) 30 | 14
+> [ 30.924531] (6:node@Jean_Yves) 46 | 14
+> [ 30.924531] (6:node@Jean_Yves) Predecessor: -1
+> [ 36.048186] (7:node@Boivin) My finger table:
+> [ 36.048186] (7:node@Boivin) Start | Succ
+> [ 36.048186] (7:node@Boivin) 9 | 1
+> [ 36.048186] (7:node@Boivin) 10 | 8
+> [ 36.048186] (7:node@Boivin) 12 | 8
+> [ 36.048186] (7:node@Boivin) 16 | 8
+> [ 36.048186] (7:node@Boivin) 24 | 8
+> [ 36.048186] (7:node@Boivin) 40 | 8
+> [ 36.048186] (7:node@Boivin) Predecessor: -1
+> [ 74.998500] (8:node@Jacquelin) My finger table:
+> [ 74.998500] (8:node@Jacquelin) Start | Succ
+> [ 74.998500] (8:node@Jacquelin) 2 | 1
+> [ 74.998500] (8:node@Jacquelin) 3 | 1
+> [ 74.998500] (8:node@Jacquelin) 5 | 1
+> [ 74.998500] (8:node@Jacquelin) 9 | 1
+> [ 74.998500] (8:node@Jacquelin) 17 | 1
+> [ 74.998500] (8:node@Jacquelin) 33 | 1
+> [ 74.998500] (8:node@Jacquelin) Predecessor: 32
+> [ 75.886856] (8:node@Jacquelin) My finger table:
+> [ 75.886856] (8:node@Jacquelin) Start | Succ
+> [ 75.886856] (8:node@Jacquelin) 2 | 32
+> [ 75.886856] (8:node@Jacquelin) 3 | 1
+> [ 75.886856] (8:node@Jacquelin) 5 | 1
+> [ 75.886856] (8:node@Jacquelin) 9 | 1
+> [ 75.886856] (8:node@Jacquelin) 17 | 1
+> [ 75.886856] (8:node@Jacquelin) 33 | 1
+> [ 75.886856] (8:node@Jacquelin) Predecessor: 42
+> [ 77.161304] (8:node@Jacquelin) My finger table:
+> [ 77.161304] (8:node@Jacquelin) Start | Succ
+> [ 77.161304] (8:node@Jacquelin) 2 | 32
+> [ 77.161304] (8:node@Jacquelin) 3 | 1
+> [ 77.161304] (8:node@Jacquelin) 5 | 1
+> [ 77.161304] (8:node@Jacquelin) 9 | 1
+> [ 77.161304] (8:node@Jacquelin) 17 | 1
+> [ 77.161304] (8:node@Jacquelin) 33 | 1
+> [ 77.161304] (8:node@Jacquelin) Predecessor: 48
+> [102.428555] (4:node@Geoff) My finger table:
+> [102.428555] (4:node@Geoff) Start | Succ
+> [102.428555] (4:node@Geoff) 33 | 48
+> [102.428555] (4:node@Geoff) 34 | 32
+> [102.428555] (4:node@Geoff) 36 | 32
+> [102.428555] (4:node@Geoff) 40 | 32
+> [102.428555] (4:node@Geoff) 48 | 32
+> [102.428555] (4:node@Geoff) 0 | 32
+> [102.428555] (4:node@Geoff) Predecessor: 1
+> [128.446154] (1:node@Gatien) My finger table:
+> [128.446154] (1:node@Gatien) Start | Succ
+> [128.446154] (1:node@Gatien) 49 | 1
+> [128.446154] (1:node@Gatien) 50 | 48
+> [128.446154] (1:node@Gatien) 52 | 48
+> [128.446154] (1:node@Gatien) 56 | 48
+> [128.446154] (1:node@Gatien) 0 | 48
+> [128.446154] (1:node@Gatien) 16 | 48
+> [128.446154] (1:node@Gatien) Predecessor: 32
+> [138.445954] (1:node@Gatien) My finger table:
+> [138.445954] (1:node@Gatien) Start | Succ
+> [138.445954] (1:node@Gatien) 49 | 1
+> [138.445954] (1:node@Gatien) 50 | 48
+> [138.445954] (1:node@Gatien) 52 | 48
+> [138.445954] (1:node@Gatien) 56 | 48
+> [138.445954] (1:node@Gatien) 0 | 48
+> [138.445954] (1:node@Gatien) 16 | 48
+> [138.445954] (1:node@Gatien) Predecessor: 42
+> [211.728421] (2:node@McGee) My finger table:
+> [211.728421] (2:node@McGee) Start | Succ
+> [211.728421] (2:node@McGee) 43 | 48
+> [211.728421] (2:node@McGee) 44 | 42
+> [211.728421] (2:node@McGee) 46 | 42
+> [211.728421] (2:node@McGee) 50 | 42
+> [211.728421] (2:node@McGee) 58 | 42
+> [211.728421] (2:node@McGee) 10 | 42
+> [211.728421] (2:node@McGee) Predecessor: 38
+> [248.221993] (1:node@Gatien) My finger table:
+> [248.221993] (1:node@Gatien) Start | Succ
+> [248.221993] (1:node@Gatien) 49 | 1
+> [248.221993] (1:node@Gatien) 50 | 1
+> [248.221993] (1:node@Gatien) 52 | 48
+> [248.221993] (1:node@Gatien) 56 | 48
+> [248.221993] (1:node@Gatien) 0 | 48
+> [248.221993] (1:node@Gatien) 16 | 48
+> [248.221993] (1:node@Gatien) Predecessor: 42
+> [251.135518] (7:node@Boivin) My finger table:
+> [251.135518] (7:node@Boivin) Start | Succ
+> [251.135518] (7:node@Boivin) 9 | 38
+> [251.135518] (7:node@Boivin) 10 | 38
+> [251.135518] (7:node@Boivin) 12 | 8
+> [251.135518] (7:node@Boivin) 16 | 8
+> [251.135518] (7:node@Boivin) 24 | 8
+> [251.135518] (7:node@Boivin) 40 | 8
+> [251.135518] (7:node@Boivin) Predecessor: -1
+> [259.451693] (2:node@McGee) My finger table:
+> [259.451693] (2:node@McGee) Start | Succ
+> [259.451693] (2:node@McGee) 43 | 48
+> [259.451693] (2:node@McGee) 44 | 48
+> [259.451693] (2:node@McGee) 46 | 42
+> [259.451693] (2:node@McGee) 50 | 42
+> [259.451693] (2:node@McGee) 58 | 42
+> [259.451693] (2:node@McGee) 10 | 42
+> [259.451693] (2:node@McGee) Predecessor: 38
+> [309.452319] (4:node@Geoff) My finger table:
+> [309.452319] (4:node@Geoff) Start | Succ
+> [309.452319] (4:node@Geoff) 33 | 38
+> [309.452319] (4:node@Geoff) 34 | 38
+> [309.452319] (4:node@Geoff) 36 | 32
+> [309.452319] (4:node@Geoff) 40 | 32
+> [309.452319] (4:node@Geoff) 48 | 32
+> [309.452319] (4:node@Geoff) 0 | 32
+> [309.452319] (4:node@Geoff) Predecessor: 1
+> [309.457663] (8:node@Jacquelin) My finger table:
+> [309.457663] (8:node@Jacquelin) Start | Succ
+> [309.457663] (8:node@Jacquelin) 2 | 32
+> [309.457663] (8:node@Jacquelin) 3 | 32
+> [309.457663] (8:node@Jacquelin) 5 | 1
+> [309.457663] (8:node@Jacquelin) 9 | 1
+> [309.457663] (8:node@Jacquelin) 17 | 1
+> [309.457663] (8:node@Jacquelin) 33 | 1
+> [309.457663] (8:node@Jacquelin) Predecessor: 48
+> [323.904249] (6:node@Jean_Yves) My finger table:
+> [323.904249] (6:node@Jean_Yves) Start | Succ
+> [323.904249] (6:node@Jean_Yves) 15 | 38
+> [323.904249] (6:node@Jean_Yves) 16 | 38
+> [323.904249] (6:node@Jean_Yves) 18 | 14
+> [323.904249] (6:node@Jean_Yves) 22 | 14
+> [323.904249] (6:node@Jean_Yves) 30 | 14
+> [323.904249] (6:node@Jean_Yves) 46 | 14
+> [323.904249] (6:node@Jean_Yves) Predecessor: -1
+> [325.353251] (3:node@iRMX) My finger table:
+> [325.353251] (3:node@iRMX) Start | Succ
+> [325.353251] (3:node@iRMX) 39 | 42
+> [325.353251] (3:node@iRMX) 40 | 38
+> [325.353251] (3:node@iRMX) 42 | 38
+> [325.353251] (3:node@iRMX) 46 | 38
+> [325.353251] (3:node@iRMX) 54 | 38
+> [325.353251] (3:node@iRMX) 6 | 38
+> [325.353251] (3:node@iRMX) Predecessor: 32
+> [330.576799] (3:node@iRMX) My finger table:
+> [330.576799] (3:node@iRMX) Start | Succ
+> [330.576799] (3:node@iRMX) 39 | 42
+> [330.576799] (3:node@iRMX) 40 | 42
+> [330.576799] (3:node@iRMX) 42 | 38
+> [330.576799] (3:node@iRMX) 46 | 38
+> [330.576799] (3:node@iRMX) 54 | 38
+> [330.576799] (3:node@iRMX) 6 | 38
+> [330.576799] (3:node@iRMX) Predecessor: 32
+> [352.615320] (5:node@TeX) My finger table:
+> [352.615320] (5:node@TeX) Start | Succ
+> [352.615320] (5:node@TeX) 22 | 32
+> [352.615320] (5:node@TeX) 23 | 32
+> [352.615320] (5:node@TeX) 25 | 21
+> [352.615320] (5:node@TeX) 29 | 21
+> [352.615320] (5:node@TeX) 37 | 21
+> [352.615320] (5:node@TeX) 53 | 21
+> [352.615320] (5:node@TeX) Predecessor: -1
+> [369.575244] (1:node@Gatien) My finger table:
+> [369.575244] (1:node@Gatien) Start | Succ
+> [369.575244] (1:node@Gatien) 49 | 1
+> [369.575244] (1:node@Gatien) 50 | 1
+> [369.575244] (1:node@Gatien) 52 | 1
+> [369.575244] (1:node@Gatien) 56 | 48
+> [369.575244] (1:node@Gatien) 0 | 48
+> [369.575244] (1:node@Gatien) 16 | 48
+> [369.575244] (1:node@Gatien) Predecessor: 42
+> [382.882723] (2:node@McGee) My finger table:
+> [382.882723] (2:node@McGee) Start | Succ
+> [382.882723] (2:node@McGee) 43 | 48
+> [382.882723] (2:node@McGee) 44 | 48
+> [382.882723] (2:node@McGee) 46 | 48
+> [382.882723] (2:node@McGee) 50 | 42
+> [382.882723] (2:node@McGee) 58 | 42
+> [382.882723] (2:node@McGee) 10 | 42
+> [382.882723] (2:node@McGee) Predecessor: 38
+> [384.345510] (4:node@Geoff) My finger table:
+> [384.345510] (4:node@Geoff) Start | Succ
+> [384.345510] (4:node@Geoff) 33 | 38
+> [384.345510] (4:node@Geoff) 34 | 38
+> [384.345510] (4:node@Geoff) 36 | 32
+> [384.345510] (4:node@Geoff) 40 | 32
+> [384.345510] (4:node@Geoff) 48 | 32
+> [384.345510] (4:node@Geoff) 0 | 32
+> [384.345510] (4:node@Geoff) Predecessor: 21
+> [420.326446] (7:node@Boivin) My finger table:
+> [420.326446] (7:node@Boivin) Start | Succ
+> [420.326446] (7:node@Boivin) 9 | 21
+> [420.326446] (7:node@Boivin) 10 | 38
+> [420.326446] (7:node@Boivin) 12 | 21
+> [420.326446] (7:node@Boivin) 16 | 8
+> [420.326446] (7:node@Boivin) 24 | 8
+> [420.326446] (7:node@Boivin) 40 | 8
+> [420.326446] (7:node@Boivin) Predecessor: -1
+> [440.893903] (5:node@TeX) My finger table:
+> [440.893903] (5:node@TeX) Start | Succ
+> [440.893903] (5:node@TeX) 22 | 32
+> [440.893903] (5:node@TeX) 23 | 32
+> [440.893903] (5:node@TeX) 25 | 21
+> [440.893903] (5:node@TeX) 29 | 21
+> [440.893903] (5:node@TeX) 37 | 21
+> [440.893903] (5:node@TeX) 53 | 21
+> [440.893903] (5:node@TeX) Predecessor: 14
+> [479.759018] (3:node@iRMX) My finger table:
+> [479.759018] (3:node@iRMX) Start | Succ
+> [479.759018] (3:node@iRMX) 39 | 42
+> [479.759018] (3:node@iRMX) 40 | 42
+> [479.759018] (3:node@iRMX) 42 | 42
+> [479.759018] (3:node@iRMX) 46 | 38
+> [479.759018] (3:node@iRMX) 54 | 38
+> [479.759018] (3:node@iRMX) 6 | 38
+> [479.759018] (3:node@iRMX) Predecessor: 32
+> [482.033272] (4:node@Geoff) My finger table:
+> [482.033272] (4:node@Geoff) Start | Succ
+> [482.033272] (4:node@Geoff) 33 | 38
+> [482.033272] (4:node@Geoff) 34 | 38
+> [482.033272] (4:node@Geoff) 36 | 38
+> [482.033272] (4:node@Geoff) 40 | 32
+> [482.033272] (4:node@Geoff) 48 | 32
+> [482.033272] (4:node@Geoff) 0 | 32
+> [482.033272] (4:node@Geoff) Predecessor: 21
+> [490.659190] (1:node@Gatien) My finger table:
+> [490.659190] (1:node@Gatien) Start | Succ
+> [490.659190] (1:node@Gatien) 49 | 1
+> [490.659190] (1:node@Gatien) 50 | 1
+> [490.659190] (1:node@Gatien) 52 | 1
+> [490.659190] (1:node@Gatien) 56 | 1
+> [490.659190] (1:node@Gatien) 0 | 48
+> [490.659190] (1:node@Gatien) 16 | 48
+> [490.659190] (1:node@Gatien) Predecessor: 42
+> [498.176314] (3:node@iRMX) My finger table:
+> [498.176314] (3:node@iRMX) Start | Succ
+> [498.176314] (3:node@iRMX) 39 | 42
+> [498.176314] (3:node@iRMX) 40 | 42
+> [498.176314] (3:node@iRMX) 42 | 42
+> [498.176314] (3:node@iRMX) 46 | 38
+> [498.176314] (3:node@iRMX) 54 | 38
+> [498.176314] (3:node@iRMX) 6 | 38
+> [498.176314] (3:node@iRMX) Predecessor: 32
+> [498.611193] (6:node@Jean_Yves) My finger table:
+> [498.611193] (6:node@Jean_Yves) Start | Succ
+> [498.611193] (6:node@Jean_Yves) 15 | 21
+> [498.611193] (6:node@Jean_Yves) 16 | 38
+> [498.611193] (6:node@Jean_Yves) 18 | 21
+> [498.611193] (6:node@Jean_Yves) 22 | 14
+> [498.611193] (6:node@Jean_Yves) 30 | 14
+> [498.611193] (6:node@Jean_Yves) 46 | 14
+> [498.611193] (6:node@Jean_Yves) Predecessor: -1
+> [500.558742] (8:node@Jacquelin) My finger table:
+> [500.558742] (8:node@Jacquelin) Start | Succ
+> [500.558742] (8:node@Jacquelin) 2 | 14
+> [500.558742] (8:node@Jacquelin) 3 | 32
+> [500.558742] (8:node@Jacquelin) 5 | 14
+> [500.558742] (8:node@Jacquelin) 9 | 1
+> [500.558742] (8:node@Jacquelin) 17 | 1
+> [500.558742] (8:node@Jacquelin) 33 | 1
+> [500.558742] (8:node@Jacquelin) Predecessor: 48
+> [505.760908] (2:node@McGee) My finger table:
+> [505.760908] (2:node@McGee) Start | Succ
+> [505.760908] (2:node@McGee) 43 | 48
+> [505.760908] (2:node@McGee) 44 | 48
+> [505.760908] (2:node@McGee) 46 | 48
+> [505.760908] (2:node@McGee) 50 | 1
+> [505.760908] (2:node@McGee) 58 | 42
+> [505.760908] (2:node@McGee) 10 | 42
+> [505.760908] (2:node@McGee) Predecessor: 38
+> [509.829088] (5:node@TeX) My finger table:
+> [509.829088] (5:node@TeX) Start | Succ
+> [509.829088] (5:node@TeX) 22 | 32
+> [509.829088] (5:node@TeX) 23 | 32
+> [509.829088] (5:node@TeX) 25 | 32
+> [509.829088] (5:node@TeX) 29 | 21
+> [509.829088] (5:node@TeX) 37 | 21
+> [509.829088] (5:node@TeX) 53 | 21
+> [509.829088] (5:node@TeX) Predecessor: 14
+> [533.786389] (6:node@Jean_Yves) My finger table:
+> [533.786389] (6:node@Jean_Yves) Start | Succ
+> [533.786389] (6:node@Jean_Yves) 15 | 21
+> [533.786389] (6:node@Jean_Yves) 16 | 38
+> [533.786389] (6:node@Jean_Yves) 18 | 21
+> [533.786389] (6:node@Jean_Yves) 22 | 14
+> [533.786389] (6:node@Jean_Yves) 30 | 14
+> [533.786389] (6:node@Jean_Yves) 46 | 14
+> [533.786389] (6:node@Jean_Yves) Predecessor: 8
+> [549.075353] (7:node@Boivin) My finger table:
+> [549.075353] (7:node@Boivin) Start | Succ
+> [549.075353] (7:node@Boivin) 9 | 14
+> [549.075353] (7:node@Boivin) 10 | 38
+> [549.075353] (7:node@Boivin) 12 | 21
+> [549.075353] (7:node@Boivin) 16 | 21
+> [549.075353] (7:node@Boivin) 24 | 8
+> [549.075353] (7:node@Boivin) 40 | 8
+> [549.075353] (7:node@Boivin) Predecessor: -1
+> [753.389688] (0:@) Messages created: 605
+> [753.389688] (0:@) Simulated time: 753.39
! output sort
$ $SG_TEST_EXENV ${bindir:=.}/chord$EXEEXT ${srcdir:=.}/../../platforms/cluster.xml ${srcdir:=.}/chord10.xml --log=msg_chord.thres:verbose "--log=root.fmt:[%11.6r]%e(%i:%P@%h)%e%m%n" --cfg=network/model:Constant
> [ 5.000000] (8:node@c-7.me) 14199064 | 10004760
> [ 5.000000] (8:node@c-7.me) 1616152 | 10004760
> [ 5.000000] (8:node@c-7.me) Predecessor: -1
-> [ 6.000000] (2:node@c-1.me) My finger table:
-> [ 6.000000] (2:node@c-1.me) Start | Succ
-> [ 6.000000] (2:node@c-1.me) 366681 | 42
-> [ 6.000000] (2:node@c-1.me) 366682 | 366680
-> [ 6.000000] (2:node@c-1.me) 366684 | 366680
-> [ 6.000000] (2:node@c-1.me) 366688 | 366680
-> [ 6.000000] (2:node@c-1.me) 366696 | 366680
-> [ 6.000000] (2:node@c-1.me) 366712 | 366680
-> [ 6.000000] (2:node@c-1.me) 366744 | 366680
-> [ 6.000000] (2:node@c-1.me) 366808 | 366680
-> [ 6.000000] (2:node@c-1.me) 366936 | 366680
-> [ 6.000000] (2:node@c-1.me) 367192 | 366680
-> [ 6.000000] (2:node@c-1.me) 367704 | 366680
-> [ 6.000000] (2:node@c-1.me) 368728 | 366680
-> [ 6.000000] (2:node@c-1.me) 370776 | 366680
-> [ 6.000000] (2:node@c-1.me) 374872 | 366680
-> [ 6.000000] (2:node@c-1.me) 383064 | 366680
-> [ 6.000000] (2:node@c-1.me) 399448 | 366680
-> [ 6.000000] (2:node@c-1.me) 432216 | 366680
-> [ 6.000000] (2:node@c-1.me) 497752 | 366680
-> [ 6.000000] (2:node@c-1.me) 628824 | 366680
-> [ 6.000000] (2:node@c-1.me) 890968 | 366680
-> [ 6.000000] (2:node@c-1.me) 1415256 | 366680
-> [ 6.000000] (2:node@c-1.me) 2463832 | 366680
-> [ 6.000000] (2:node@c-1.me) 4560984 | 366680
-> [ 6.000000] (2:node@c-1.me) 8755288 | 366680
-> [ 6.000000] (2:node@c-1.me) Predecessor: -1
-> [ 8.000000] (7:node@c-6.me) My finger table:
-> [ 8.000000] (7:node@c-6.me) Start | Succ
-> [ 8.000000] (7:node@c-6.me) 16728097 | 1319738
-> [ 8.000000] (7:node@c-6.me) 16728098 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16728100 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16728104 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16728112 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16728128 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16728160 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16728224 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16728352 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16728608 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16729120 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16730144 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16732192 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16736288 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16744480 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16760864 | 16728096
-> [ 8.000000] (7:node@c-6.me) 16416 | 16728096
-> [ 8.000000] (7:node@c-6.me) 81952 | 16728096
-> [ 8.000000] (7:node@c-6.me) 213024 | 16728096
-> [ 8.000000] (7:node@c-6.me) 475168 | 16728096
-> [ 8.000000] (7:node@c-6.me) 999456 | 16728096
-> [ 8.000000] (7:node@c-6.me) 2048032 | 16728096
-> [ 8.000000] (7:node@c-6.me) 4145184 | 16728096
-> [ 8.000000] (7:node@c-6.me) 8339488 | 16728096
-> [ 8.000000] (7:node@c-6.me) Predecessor: -1
-> [ 9.000000] (10:node@c-9.me) My finger table:
-> [ 9.000000] (10:node@c-9.me) Start | Succ
-> [ 9.000000] (10:node@c-9.me) 2015254 | 1319738
-> [ 9.000000] (10:node@c-9.me) 2015255 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2015257 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2015261 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2015269 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2015285 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2015317 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2015381 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2015509 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2015765 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2016277 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2017301 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2019349 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2023445 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2031637 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2048021 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2080789 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2146325 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2277397 | 2015253
-> [ 9.000000] (10:node@c-9.me) 2539541 | 2015253
-> [ 9.000000] (10:node@c-9.me) 3063829 | 2015253
-> [ 9.000000] (10:node@c-9.me) 4112405 | 2015253
-> [ 9.000000] (10:node@c-9.me) 6209557 | 2015253
-> [ 9.000000] (10:node@c-9.me) 10403861 | 2015253
-> [ 9.000000] (10:node@c-9.me) Predecessor: -1
-> [ 11.000000] (4:node@c-3.me) My finger table:
-> [ 11.000000] (4:node@c-3.me) Start | Succ
-> [ 11.000000] (4:node@c-3.me) 1319739 | 42
-> [ 11.000000] (4:node@c-3.me) 1319740 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1319742 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1319746 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1319754 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1319770 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1319802 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1319866 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1319994 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1320250 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1320762 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1321786 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1323834 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1327930 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1336122 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1352506 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1385274 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1450810 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1581882 | 1319738
-> [ 11.000000] (4:node@c-3.me) 1844026 | 1319738
-> [ 11.000000] (4:node@c-3.me) 2368314 | 1319738
-> [ 11.000000] (4:node@c-3.me) 3416890 | 1319738
-> [ 11.000000] (4:node@c-3.me) 5514042 | 1319738
-> [ 11.000000] (4:node@c-3.me) 9708346 | 1319738
-> [ 11.000000] (4:node@c-3.me) Predecessor: -1
-> [ 16.000000] (9:node@c-8.me) My finger table:
-> [ 16.000000] (9:node@c-8.me) Start | Succ
-> [ 16.000000] (9:node@c-8.me) 6518809 | 42
-> [ 16.000000] (9:node@c-8.me) 6518810 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6518812 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6518816 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6518824 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6518840 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6518872 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6518936 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6519064 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6519320 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6519832 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6520856 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6522904 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6527000 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6535192 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6551576 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6584344 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6649880 | 6518808
-> [ 16.000000] (9:node@c-8.me) 6780952 | 6518808
-> [ 16.000000] (9:node@c-8.me) 7043096 | 6518808
-> [ 16.000000] (9:node@c-8.me) 7567384 | 6518808
-> [ 16.000000] (9:node@c-8.me) 8615960 | 6518808
-> [ 16.000000] (9:node@c-8.me) 10713112 | 6518808
-> [ 16.000000] (9:node@c-8.me) 14907416 | 6518808
-> [ 16.000000] (9:node@c-8.me) Predecessor: -1
-> [ 26.000000] (4:node@c-3.me) My finger table:
-> [ 26.000000] (4:node@c-3.me) Start | Succ
-> [ 26.000000] (4:node@c-3.me) 1319739 | 42
-> [ 26.000000] (4:node@c-3.me) 1319740 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1319742 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1319746 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1319754 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1319770 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1319802 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1319866 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1319994 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1320250 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1320762 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1321786 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1323834 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1327930 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1336122 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1352506 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1385274 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1450810 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1581882 | 1319738
-> [ 26.000000] (4:node@c-3.me) 1844026 | 1319738
-> [ 26.000000] (4:node@c-3.me) 2368314 | 1319738
-> [ 26.000000] (4:node@c-3.me) 3416890 | 1319738
-> [ 26.000000] (4:node@c-3.me) 5514042 | 1319738
-> [ 26.000000] (4:node@c-3.me) 9708346 | 1319738
-> [ 26.000000] (4:node@c-3.me) Predecessor: 16728096
-> [ 31.000000] (2:node@c-1.me) My finger table:
-> [ 31.000000] (2:node@c-1.me) Start | Succ
-> [ 31.000000] (2:node@c-1.me) 366681 | 42
-> [ 31.000000] (2:node@c-1.me) 366682 | 366680
-> [ 31.000000] (2:node@c-1.me) 366684 | 366680
-> [ 31.000000] (2:node@c-1.me) 366688 | 366680
-> [ 31.000000] (2:node@c-1.me) 366696 | 366680
-> [ 31.000000] (2:node@c-1.me) 366712 | 366680
-> [ 31.000000] (2:node@c-1.me) 366744 | 366680
-> [ 31.000000] (2:node@c-1.me) 366808 | 366680
-> [ 31.000000] (2:node@c-1.me) 366936 | 366680
-> [ 31.000000] (2:node@c-1.me) 367192 | 366680
-> [ 31.000000] (2:node@c-1.me) 367704 | 366680
-> [ 31.000000] (2:node@c-1.me) 368728 | 366680
-> [ 31.000000] (2:node@c-1.me) 370776 | 366680
-> [ 31.000000] (2:node@c-1.me) 374872 | 366680
-> [ 31.000000] (2:node@c-1.me) 383064 | 366680
-> [ 31.000000] (2:node@c-1.me) 399448 | 366680
-> [ 31.000000] (2:node@c-1.me) 432216 | 366680
-> [ 31.000000] (2:node@c-1.me) 497752 | 366680
-> [ 31.000000] (2:node@c-1.me) 628824 | 366680
-> [ 31.000000] (2:node@c-1.me) 890968 | 366680
-> [ 31.000000] (2:node@c-1.me) 1415256 | 366680
-> [ 31.000000] (2:node@c-1.me) 2463832 | 366680
-> [ 31.000000] (2:node@c-1.me) 4560984 | 366680
-> [ 31.000000] (2:node@c-1.me) 8755288 | 366680
-> [ 31.000000] (2:node@c-1.me) Predecessor: 16509405
-> [ 32.000000] (5:node@c-4.me) My finger table:
-> [ 32.000000] (5:node@c-4.me) Start | Succ
-> [ 32.000000] (5:node@c-4.me) 16509406 | 366680
-> [ 32.000000] (5:node@c-4.me) 16509407 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16509409 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16509413 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16509421 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16509437 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16509469 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16509533 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16509661 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16509917 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16510429 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16511453 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16513501 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16517597 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16525789 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16542173 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16574941 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16640477 | 16509405
-> [ 32.000000] (5:node@c-4.me) 16771549 | 16509405
-> [ 32.000000] (5:node@c-4.me) 256477 | 16509405
-> [ 32.000000] (5:node@c-4.me) 780765 | 16509405
-> [ 32.000000] (5:node@c-4.me) 1829341 | 16509405
-> [ 32.000000] (5:node@c-4.me) 3926493 | 16509405
-> [ 32.000000] (5:node@c-4.me) 8120797 | 16509405
-> [ 32.000000] (5:node@c-4.me) Predecessor: 10004760
-> [ 38.000000] (3:node@c-2.me) My finger table:
-> [ 38.000000] (3:node@c-2.me) Start | Succ
-> [ 38.000000] (3:node@c-2.me) 533745 | 16509405
-> [ 38.000000] (3:node@c-2.me) 533746 | 533744
-> [ 38.000000] (3:node@c-2.me) 533748 | 533744
-> [ 38.000000] (3:node@c-2.me) 533752 | 533744
-> [ 38.000000] (3:node@c-2.me) 533760 | 533744
-> [ 38.000000] (3:node@c-2.me) 533776 | 533744
-> [ 38.000000] (3:node@c-2.me) 533808 | 533744
-> [ 38.000000] (3:node@c-2.me) 533872 | 533744
-> [ 38.000000] (3:node@c-2.me) 534000 | 533744
-> [ 38.000000] (3:node@c-2.me) 534256 | 533744
-> [ 38.000000] (3:node@c-2.me) 534768 | 533744
-> [ 38.000000] (3:node@c-2.me) 535792 | 533744
-> [ 38.000000] (3:node@c-2.me) 537840 | 533744
-> [ 38.000000] (3:node@c-2.me) 541936 | 533744
-> [ 38.000000] (3:node@c-2.me) 550128 | 533744
-> [ 38.000000] (3:node@c-2.me) 566512 | 533744
-> [ 38.000000] (3:node@c-2.me) 599280 | 533744
-> [ 38.000000] (3:node@c-2.me) 664816 | 533744
-> [ 38.000000] (3:node@c-2.me) 795888 | 533744
-> [ 38.000000] (3:node@c-2.me) 1058032 | 533744
-> [ 38.000000] (3:node@c-2.me) 1582320 | 533744
-> [ 38.000000] (3:node@c-2.me) 2630896 | 533744
-> [ 38.000000] (3:node@c-2.me) 4728048 | 533744
-> [ 38.000000] (3:node@c-2.me) 8922352 | 533744
-> [ 38.000000] (3:node@c-2.me) Predecessor: 10874876
-> [ 50.000000] (1:node@c-0.me) My finger table:
-> [ 50.000000] (1:node@c-0.me) Start | Succ
-> [ 50.000000] (1:node@c-0.me) 43 | 42
-> [ 50.000000] (1:node@c-0.me) 44 | 42
-> [ 50.000000] (1:node@c-0.me) 46 | 42
-> [ 50.000000] (1:node@c-0.me) 50 | 42
-> [ 50.000000] (1:node@c-0.me) 58 | 42
-> [ 50.000000] (1:node@c-0.me) 74 | 42
-> [ 50.000000] (1:node@c-0.me) 106 | 42
-> [ 50.000000] (1:node@c-0.me) 170 | 42
-> [ 50.000000] (1:node@c-0.me) 298 | 42
-> [ 50.000000] (1:node@c-0.me) 554 | 42
-> [ 50.000000] (1:node@c-0.me) 1066 | 42
-> [ 50.000000] (1:node@c-0.me) 2090 | 42
-> [ 50.000000] (1:node@c-0.me) 4138 | 42
-> [ 50.000000] (1:node@c-0.me) 8234 | 42
-> [ 50.000000] (1:node@c-0.me) 16426 | 42
-> [ 50.000000] (1:node@c-0.me) 32810 | 42
-> [ 50.000000] (1:node@c-0.me) 65578 | 42
-> [ 50.000000] (1:node@c-0.me) 131114 | 42
-> [ 50.000000] (1:node@c-0.me) 262186 | 42
-> [ 50.000000] (1:node@c-0.me) 524330 | 42
-> [ 50.000000] (1:node@c-0.me) 1048618 | 42
-> [ 50.000000] (1:node@c-0.me) 2097194 | 42
-> [ 50.000000] (1:node@c-0.me) 4194346 | 42
-> [ 50.000000] (1:node@c-0.me) 8388650 | 42
-> [ 50.000000] (1:node@c-0.me) Predecessor: 366680
-> [ 60.000000] (1:node@c-0.me) My finger table:
-> [ 60.000000] (1:node@c-0.me) Start | Succ
-> [ 60.000000] (1:node@c-0.me) 43 | 42
-> [ 60.000000] (1:node@c-0.me) 44 | 42
-> [ 60.000000] (1:node@c-0.me) 46 | 42
-> [ 60.000000] (1:node@c-0.me) 50 | 42
-> [ 60.000000] (1:node@c-0.me) 58 | 42
-> [ 60.000000] (1:node@c-0.me) 74 | 42
-> [ 60.000000] (1:node@c-0.me) 106 | 42
-> [ 60.000000] (1:node@c-0.me) 170 | 42
-> [ 60.000000] (1:node@c-0.me) 298 | 42
-> [ 60.000000] (1:node@c-0.me) 554 | 42
-> [ 60.000000] (1:node@c-0.me) 1066 | 42
-> [ 60.000000] (1:node@c-0.me) 2090 | 42
-> [ 60.000000] (1:node@c-0.me) 4138 | 42
-> [ 60.000000] (1:node@c-0.me) 8234 | 42
-> [ 60.000000] (1:node@c-0.me) 16426 | 42
-> [ 60.000000] (1:node@c-0.me) 32810 | 42
-> [ 60.000000] (1:node@c-0.me) 65578 | 42
-> [ 60.000000] (1:node@c-0.me) 131114 | 42
-> [ 60.000000] (1:node@c-0.me) 262186 | 42
-> [ 60.000000] (1:node@c-0.me) 524330 | 42
-> [ 60.000000] (1:node@c-0.me) 1048618 | 42
-> [ 60.000000] (1:node@c-0.me) 2097194 | 42
-> [ 60.000000] (1:node@c-0.me) 4194346 | 42
-> [ 60.000000] (1:node@c-0.me) 8388650 | 42
-> [ 60.000000] (1:node@c-0.me) Predecessor: 1319738
-> [ 70.000000] (1:node@c-0.me) My finger table:
-> [ 70.000000] (1:node@c-0.me) Start | Succ
-> [ 70.000000] (1:node@c-0.me) 43 | 1319738
-> [ 70.000000] (1:node@c-0.me) 44 | 42
-> [ 70.000000] (1:node@c-0.me) 46 | 42
-> [ 70.000000] (1:node@c-0.me) 50 | 42
-> [ 70.000000] (1:node@c-0.me) 58 | 42
-> [ 70.000000] (1:node@c-0.me) 74 | 42
-> [ 70.000000] (1:node@c-0.me) 106 | 42
-> [ 70.000000] (1:node@c-0.me) 170 | 42
-> [ 70.000000] (1:node@c-0.me) 298 | 42
-> [ 70.000000] (1:node@c-0.me) 554 | 42
-> [ 70.000000] (1:node@c-0.me) 1066 | 42
-> [ 70.000000] (1:node@c-0.me) 2090 | 42
-> [ 70.000000] (1:node@c-0.me) 4138 | 42
-> [ 70.000000] (1:node@c-0.me) 8234 | 42
-> [ 70.000000] (1:node@c-0.me) 16426 | 42
-> [ 70.000000] (1:node@c-0.me) 32810 | 42
-> [ 70.000000] (1:node@c-0.me) 65578 | 42
-> [ 70.000000] (1:node@c-0.me) 131114 | 42
-> [ 70.000000] (1:node@c-0.me) 262186 | 42
-> [ 70.000000] (1:node@c-0.me) 524330 | 42
-> [ 70.000000] (1:node@c-0.me) 1048618 | 42
-> [ 70.000000] (1:node@c-0.me) 2097194 | 42
-> [ 70.000000] (1:node@c-0.me) 4194346 | 42
-> [ 70.000000] (1:node@c-0.me) 8388650 | 42
-> [ 70.000000] (1:node@c-0.me) Predecessor: 6518808
-> [ 85.000000] (4:node@c-3.me) My finger table:
-> [ 85.000000] (4:node@c-3.me) Start | Succ
-> [ 85.000000] (4:node@c-3.me) 1319739 | 6518808
-> [ 85.000000] (4:node@c-3.me) 1319740 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1319742 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1319746 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1319754 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1319770 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1319802 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1319866 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1319994 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1320250 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1320762 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1321786 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1323834 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1327930 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1336122 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1352506 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1385274 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1450810 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1581882 | 1319738
-> [ 85.000000] (4:node@c-3.me) 1844026 | 1319738
-> [ 85.000000] (4:node@c-3.me) 2368314 | 1319738
-> [ 85.000000] (4:node@c-3.me) 3416890 | 1319738
-> [ 85.000000] (4:node@c-3.me) 5514042 | 1319738
-> [ 85.000000] (4:node@c-3.me) 9708346 | 1319738
-> [ 85.000000] (4:node@c-3.me) Predecessor: 42
-> [ 86.000000] (8:node@c-7.me) My finger table:
-> [ 86.000000] (8:node@c-7.me) Start | Succ
-> [ 86.000000] (8:node@c-7.me) 10004761 | 16509405
-> [ 86.000000] (8:node@c-7.me) 10004762 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10004764 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10004768 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10004776 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10004792 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10004824 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10004888 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10005016 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10005272 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10005784 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10006808 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10008856 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10012952 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10021144 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10037528 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10070296 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10135832 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10266904 | 10004760
-> [ 86.000000] (8:node@c-7.me) 10529048 | 10004760
-> [ 86.000000] (8:node@c-7.me) 11053336 | 10004760
-> [ 86.000000] (8:node@c-7.me) 12101912 | 10004760
-> [ 86.000000] (8:node@c-7.me) 14199064 | 10004760
-> [ 86.000000] (8:node@c-7.me) 1616152 | 10004760
-> [ 86.000000] (8:node@c-7.me) Predecessor: 533744
-> [ 90.000000] (7:node@c-6.me) My finger table:
-> [ 90.000000] (7:node@c-6.me) Start | Succ
-> [ 90.000000] (7:node@c-6.me) 16728097 | 1319738
-> [ 90.000000] (7:node@c-6.me) 16728098 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16728100 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16728104 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16728112 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16728128 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16728160 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16728224 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16728352 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16728608 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16729120 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16730144 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16732192 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16736288 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16744480 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16760864 | 16728096
-> [ 90.000000] (7:node@c-6.me) 16416 | 16728096
-> [ 90.000000] (7:node@c-6.me) 81952 | 16728096
-> [ 90.000000] (7:node@c-6.me) 213024 | 16728096
-> [ 90.000000] (7:node@c-6.me) 475168 | 16728096
-> [ 90.000000] (7:node@c-6.me) 999456 | 16728096
-> [ 90.000000] (7:node@c-6.me) 2048032 | 16728096
-> [ 90.000000] (7:node@c-6.me) 4145184 | 16728096
-> [ 90.000000] (7:node@c-6.me) 8339488 | 16728096
-> [ 90.000000] (7:node@c-6.me) Predecessor: 2015253
-> [ 109.000000] (9:node@c-8.me) My finger table:
-> [ 109.000000] (9:node@c-8.me) Start | Succ
-> [ 109.000000] (9:node@c-8.me) 6518809 | 42
-> [ 109.000000] (9:node@c-8.me) 6518810 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6518812 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6518816 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6518824 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6518840 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6518872 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6518936 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6519064 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6519320 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6519832 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6520856 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6522904 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6527000 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6535192 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6551576 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6584344 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6649880 | 6518808
-> [ 109.000000] (9:node@c-8.me) 6780952 | 6518808
-> [ 109.000000] (9:node@c-8.me) 7043096 | 6518808
-> [ 109.000000] (9:node@c-8.me) 7567384 | 6518808
-> [ 109.000000] (9:node@c-8.me) 8615960 | 6518808
-> [ 109.000000] (9:node@c-8.me) 10713112 | 6518808
-> [ 109.000000] (9:node@c-8.me) 14907416 | 6518808
-> [ 109.000000] (9:node@c-8.me) Predecessor: 366680
-> [ 110.000000] (9:node@c-8.me) My finger table:
-> [ 110.000000] (9:node@c-8.me) Start | Succ
-> [ 110.000000] (9:node@c-8.me) 6518809 | 42
-> [ 110.000000] (9:node@c-8.me) 6518810 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6518812 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6518816 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6518824 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6518840 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6518872 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6518936 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6519064 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6519320 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6519832 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6520856 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6522904 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6527000 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6535192 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6551576 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6584344 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6649880 | 6518808
-> [ 110.000000] (9:node@c-8.me) 6780952 | 6518808
-> [ 110.000000] (9:node@c-8.me) 7043096 | 6518808
-> [ 110.000000] (9:node@c-8.me) 7567384 | 6518808
-> [ 110.000000] (9:node@c-8.me) 8615960 | 6518808
-> [ 110.000000] (9:node@c-8.me) 10713112 | 6518808
-> [ 110.000000] (9:node@c-8.me) 14907416 | 6518808
-> [ 110.000000] (9:node@c-8.me) Predecessor: 1319738
-> [ 174.000000] (1:node@c-0.me) My finger table:
-> [ 174.000000] (1:node@c-0.me) Start | Succ
-> [ 174.000000] (1:node@c-0.me) 43 | 1319738
-> [ 174.000000] (1:node@c-0.me) 44 | 42
-> [ 174.000000] (1:node@c-0.me) 46 | 42
-> [ 174.000000] (1:node@c-0.me) 50 | 42
-> [ 174.000000] (1:node@c-0.me) 58 | 42
-> [ 174.000000] (1:node@c-0.me) 74 | 42
-> [ 174.000000] (1:node@c-0.me) 106 | 42
-> [ 174.000000] (1:node@c-0.me) 170 | 42
-> [ 174.000000] (1:node@c-0.me) 298 | 42
-> [ 174.000000] (1:node@c-0.me) 554 | 42
-> [ 174.000000] (1:node@c-0.me) 1066 | 42
-> [ 174.000000] (1:node@c-0.me) 2090 | 42
-> [ 174.000000] (1:node@c-0.me) 4138 | 42
-> [ 174.000000] (1:node@c-0.me) 8234 | 42
-> [ 174.000000] (1:node@c-0.me) 16426 | 42
-> [ 174.000000] (1:node@c-0.me) 32810 | 42
-> [ 174.000000] (1:node@c-0.me) 65578 | 42
-> [ 174.000000] (1:node@c-0.me) 131114 | 42
-> [ 174.000000] (1:node@c-0.me) 262186 | 42
-> [ 174.000000] (1:node@c-0.me) 524330 | 42
-> [ 174.000000] (1:node@c-0.me) 1048618 | 42
-> [ 174.000000] (1:node@c-0.me) 2097194 | 42
-> [ 174.000000] (1:node@c-0.me) 4194346 | 42
-> [ 174.000000] (1:node@c-0.me) 8388650 | 42
-> [ 174.000000] (1:node@c-0.me) Predecessor: 16728096
-> [ 245.000000] (8:node@c-7.me) My finger table:
-> [ 245.000000] (8:node@c-7.me) Start | Succ
-> [ 245.000000] (8:node@c-7.me) 10004761 | 16509405
-> [ 245.000000] (8:node@c-7.me) 10004762 | 16509405
-> [ 245.000000] (8:node@c-7.me) 10004764 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10004768 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10004776 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10004792 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10004824 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10004888 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10005016 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10005272 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10005784 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10006808 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10008856 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10012952 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10021144 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10037528 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10070296 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10135832 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10266904 | 10004760
-> [ 245.000000] (8:node@c-7.me) 10529048 | 10004760
-> [ 245.000000] (8:node@c-7.me) 11053336 | 10004760
-> [ 245.000000] (8:node@c-7.me) 12101912 | 10004760
-> [ 245.000000] (8:node@c-7.me) 14199064 | 10004760
-> [ 245.000000] (8:node@c-7.me) 1616152 | 10004760
-> [ 245.000000] (8:node@c-7.me) Predecessor: 533744
-> [ 246.000000] (3:node@c-2.me) My finger table:
-> [ 246.000000] (3:node@c-2.me) Start | Succ
-> [ 246.000000] (3:node@c-2.me) 533745 | 10004760
-> [ 246.000000] (3:node@c-2.me) 533746 | 10004760
-> [ 246.000000] (3:node@c-2.me) 533748 | 533744
-> [ 246.000000] (3:node@c-2.me) 533752 | 533744
-> [ 246.000000] (3:node@c-2.me) 533760 | 533744
-> [ 246.000000] (3:node@c-2.me) 533776 | 533744
-> [ 246.000000] (3:node@c-2.me) 533808 | 533744
-> [ 246.000000] (3:node@c-2.me) 533872 | 533744
-> [ 246.000000] (3:node@c-2.me) 534000 | 533744
-> [ 246.000000] (3:node@c-2.me) 534256 | 533744
-> [ 246.000000] (3:node@c-2.me) 534768 | 533744
-> [ 246.000000] (3:node@c-2.me) 535792 | 533744
-> [ 246.000000] (3:node@c-2.me) 537840 | 533744
-> [ 246.000000] (3:node@c-2.me) 541936 | 533744
-> [ 246.000000] (3:node@c-2.me) 550128 | 533744
-> [ 246.000000] (3:node@c-2.me) 566512 | 533744
-> [ 246.000000] (3:node@c-2.me) 599280 | 533744
-> [ 246.000000] (3:node@c-2.me) 664816 | 533744
-> [ 246.000000] (3:node@c-2.me) 795888 | 533744
-> [ 246.000000] (3:node@c-2.me) 1058032 | 533744
-> [ 246.000000] (3:node@c-2.me) 1582320 | 533744
-> [ 246.000000] (3:node@c-2.me) 2630896 | 533744
-> [ 246.000000] (3:node@c-2.me) 4728048 | 533744
-> [ 246.000000] (3:node@c-2.me) 8922352 | 533744
-> [ 246.000000] (3:node@c-2.me) Predecessor: 10874876
-> [ 246.000000] (5:node@c-4.me) My finger table:
-> [ 246.000000] (5:node@c-4.me) Start | Succ
-> [ 246.000000] (5:node@c-4.me) 16509406 | 366680
-> [ 246.000000] (5:node@c-4.me) 16509407 | 366680
-> [ 246.000000] (5:node@c-4.me) 16509409 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16509413 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16509421 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16509437 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16509469 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16509533 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16509661 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16509917 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16510429 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16511453 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16513501 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16517597 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16525789 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16542173 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16574941 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16640477 | 16509405
-> [ 246.000000] (5:node@c-4.me) 16771549 | 16509405
-> [ 246.000000] (5:node@c-4.me) 256477 | 16509405
-> [ 246.000000] (5:node@c-4.me) 780765 | 16509405
-> [ 246.000000] (5:node@c-4.me) 1829341 | 16509405
-> [ 246.000000] (5:node@c-4.me) 3926493 | 16509405
-> [ 246.000000] (5:node@c-4.me) 8120797 | 16509405
-> [ 246.000000] (5:node@c-4.me) Predecessor: 10004760
-> [ 247.000000] (6:node@c-5.me) My finger table:
-> [ 247.000000] (6:node@c-5.me) Start | Succ
-> [ 247.000000] (6:node@c-5.me) 10874877 | 533744
-> [ 247.000000] (6:node@c-5.me) 10874878 | 533744
-> [ 247.000000] (6:node@c-5.me) 10874880 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10874884 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10874892 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10874908 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10874940 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10875004 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10875132 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10875388 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10875900 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10876924 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10878972 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10883068 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10891260 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10907644 | 10874876
-> [ 247.000000] (6:node@c-5.me) 10940412 | 10874876
-> [ 247.000000] (6:node@c-5.me) 11005948 | 10874876
-> [ 247.000000] (6:node@c-5.me) 11137020 | 10874876
-> [ 247.000000] (6:node@c-5.me) 11399164 | 10874876
-> [ 247.000000] (6:node@c-5.me) 11923452 | 10874876
-> [ 247.000000] (6:node@c-5.me) 12972028 | 10874876
-> [ 247.000000] (6:node@c-5.me) 15069180 | 10874876
-> [ 247.000000] (6:node@c-5.me) 2486268 | 10874876
-> [ 247.000000] (6:node@c-5.me) Predecessor: -1
-> [ 247.000000] (7:node@c-6.me) My finger table:
-> [ 247.000000] (7:node@c-6.me) Start | Succ
-> [ 247.000000] (7:node@c-6.me) 16728097 | 42
-> [ 247.000000] (7:node@c-6.me) 16728098 | 42
-> [ 247.000000] (7:node@c-6.me) 16728100 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16728104 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16728112 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16728128 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16728160 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16728224 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16728352 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16728608 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16729120 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16730144 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16732192 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16736288 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16744480 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16760864 | 16728096
-> [ 247.000000] (7:node@c-6.me) 16416 | 16728096
-> [ 247.000000] (7:node@c-6.me) 81952 | 16728096
-> [ 247.000000] (7:node@c-6.me) 213024 | 16728096
-> [ 247.000000] (7:node@c-6.me) 475168 | 16728096
-> [ 247.000000] (7:node@c-6.me) 999456 | 16728096
-> [ 247.000000] (7:node@c-6.me) 2048032 | 16728096
-> [ 247.000000] (7:node@c-6.me) 4145184 | 16728096
-> [ 247.000000] (7:node@c-6.me) 8339488 | 16728096
-> [ 247.000000] (7:node@c-6.me) Predecessor: 2015253
-> [ 253.000000] (1:node@c-0.me) My finger table:
-> [ 253.000000] (1:node@c-0.me) Start | Succ
-> [ 253.000000] (1:node@c-0.me) 43 | 1319738
-> [ 253.000000] (1:node@c-0.me) 44 | 1319738
-> [ 253.000000] (1:node@c-0.me) 46 | 42
-> [ 253.000000] (1:node@c-0.me) 50 | 42
-> [ 253.000000] (1:node@c-0.me) 58 | 42
-> [ 253.000000] (1:node@c-0.me) 74 | 42
-> [ 253.000000] (1:node@c-0.me) 106 | 42
-> [ 253.000000] (1:node@c-0.me) 170 | 42
-> [ 253.000000] (1:node@c-0.me) 298 | 42
-> [ 253.000000] (1:node@c-0.me) 554 | 42
-> [ 253.000000] (1:node@c-0.me) 1066 | 42
-> [ 253.000000] (1:node@c-0.me) 2090 | 42
-> [ 253.000000] (1:node@c-0.me) 4138 | 42
-> [ 253.000000] (1:node@c-0.me) 8234 | 42
-> [ 253.000000] (1:node@c-0.me) 16426 | 42
-> [ 253.000000] (1:node@c-0.me) 32810 | 42
-> [ 253.000000] (1:node@c-0.me) 65578 | 42
-> [ 253.000000] (1:node@c-0.me) 131114 | 42
-> [ 253.000000] (1:node@c-0.me) 262186 | 42
-> [ 253.000000] (1:node@c-0.me) 524330 | 42
-> [ 253.000000] (1:node@c-0.me) 1048618 | 42
-> [ 253.000000] (1:node@c-0.me) 2097194 | 42
-> [ 253.000000] (1:node@c-0.me) 4194346 | 42
-> [ 253.000000] (1:node@c-0.me) 8388650 | 42
-> [ 253.000000] (1:node@c-0.me) Predecessor: 16728096
-> [ 255.000000] (2:node@c-1.me) My finger table:
-> [ 255.000000] (2:node@c-1.me) Start | Succ
-> [ 255.000000] (2:node@c-1.me) 366681 | 1319738
-> [ 255.000000] (2:node@c-1.me) 366682 | 1319738
-> [ 255.000000] (2:node@c-1.me) 366684 | 366680
-> [ 255.000000] (2:node@c-1.me) 366688 | 366680
-> [ 255.000000] (2:node@c-1.me) 366696 | 366680
-> [ 255.000000] (2:node@c-1.me) 366712 | 366680
-> [ 255.000000] (2:node@c-1.me) 366744 | 366680
-> [ 255.000000] (2:node@c-1.me) 366808 | 366680
-> [ 255.000000] (2:node@c-1.me) 366936 | 366680
-> [ 255.000000] (2:node@c-1.me) 367192 | 366680
-> [ 255.000000] (2:node@c-1.me) 367704 | 366680
-> [ 255.000000] (2:node@c-1.me) 368728 | 366680
-> [ 255.000000] (2:node@c-1.me) 370776 | 366680
-> [ 255.000000] (2:node@c-1.me) 374872 | 366680
-> [ 255.000000] (2:node@c-1.me) 383064 | 366680
-> [ 255.000000] (2:node@c-1.me) 399448 | 366680
-> [ 255.000000] (2:node@c-1.me) 432216 | 366680
-> [ 255.000000] (2:node@c-1.me) 497752 | 366680
-> [ 255.000000] (2:node@c-1.me) 628824 | 366680
-> [ 255.000000] (2:node@c-1.me) 890968 | 366680
-> [ 255.000000] (2:node@c-1.me) 1415256 | 366680
-> [ 255.000000] (2:node@c-1.me) 2463832 | 366680
-> [ 255.000000] (2:node@c-1.me) 4560984 | 366680
-> [ 255.000000] (2:node@c-1.me) 8755288 | 366680
-> [ 255.000000] (2:node@c-1.me) Predecessor: 16509405
-> [ 260.000000] (4:node@c-3.me) My finger table:
-> [ 260.000000] (4:node@c-3.me) Start | Succ
-> [ 260.000000] (4:node@c-3.me) 1319739 | 6518808
-> [ 260.000000] (4:node@c-3.me) 1319740 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1319742 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1319746 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1319754 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1319770 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1319802 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1319866 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1319994 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1320250 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1320762 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1321786 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1323834 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1327930 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1336122 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1352506 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1385274 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1450810 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1581882 | 1319738
-> [ 260.000000] (4:node@c-3.me) 1844026 | 1319738
-> [ 260.000000] (4:node@c-3.me) 2368314 | 1319738
-> [ 260.000000] (4:node@c-3.me) 3416890 | 1319738
-> [ 260.000000] (4:node@c-3.me) 5514042 | 1319738
-> [ 260.000000] (4:node@c-3.me) 9708346 | 1319738
-> [ 260.000000] (4:node@c-3.me) Predecessor: 366680
-> [ 292.000000] (7:node@c-6.me) My finger table:
-> [ 292.000000] (7:node@c-6.me) Start | Succ
-> [ 292.000000] (7:node@c-6.me) 16728097 | 42
-> [ 292.000000] (7:node@c-6.me) 16728098 | 42
-> [ 292.000000] (7:node@c-6.me) 16728100 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16728104 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16728112 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16728128 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16728160 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16728224 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16728352 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16728608 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16729120 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16730144 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16732192 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16736288 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16744480 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16760864 | 16728096
-> [ 292.000000] (7:node@c-6.me) 16416 | 16728096
-> [ 292.000000] (7:node@c-6.me) 81952 | 16728096
-> [ 292.000000] (7:node@c-6.me) 213024 | 16728096
-> [ 292.000000] (7:node@c-6.me) 475168 | 16728096
-> [ 292.000000] (7:node@c-6.me) 999456 | 16728096
-> [ 292.000000] (7:node@c-6.me) 2048032 | 16728096
-> [ 292.000000] (7:node@c-6.me) 4145184 | 16728096
-> [ 292.000000] (7:node@c-6.me) 8339488 | 16728096
-> [ 292.000000] (7:node@c-6.me) Predecessor: 6518808
-> [ 300.000000] (9:node@c-8.me) My finger table:
-> [ 300.000000] (9:node@c-8.me) Start | Succ
-> [ 300.000000] (9:node@c-8.me) 6518809 | 16728096
-> [ 300.000000] (9:node@c-8.me) 6518810 | 16728096
-> [ 300.000000] (9:node@c-8.me) 6518812 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6518816 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6518824 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6518840 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6518872 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6518936 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6519064 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6519320 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6519832 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6520856 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6522904 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6527000 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6535192 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6551576 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6584344 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6649880 | 6518808
-> [ 300.000000] (9:node@c-8.me) 6780952 | 6518808
-> [ 300.000000] (9:node@c-8.me) 7043096 | 6518808
-> [ 300.000000] (9:node@c-8.me) 7567384 | 6518808
-> [ 300.000000] (9:node@c-8.me) 8615960 | 6518808
-> [ 300.000000] (9:node@c-8.me) 10713112 | 6518808
-> [ 300.000000] (9:node@c-8.me) 14907416 | 6518808
-> [ 300.000000] (9:node@c-8.me) Predecessor: 1319738
-> [ 301.000000] (10:node@c-9.me) My finger table:
-> [ 301.000000] (10:node@c-9.me) Start | Succ
-> [ 301.000000] (10:node@c-9.me) 2015254 | 16728096
-> [ 301.000000] (10:node@c-9.me) 2015255 | 16728096
-> [ 301.000000] (10:node@c-9.me) 2015257 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2015261 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2015269 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2015285 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2015317 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2015381 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2015509 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2015765 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2016277 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2017301 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2019349 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2023445 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2031637 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2048021 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2080789 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2146325 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2277397 | 2015253
-> [ 301.000000] (10:node@c-9.me) 2539541 | 2015253
-> [ 301.000000] (10:node@c-9.me) 3063829 | 2015253
-> [ 301.000000] (10:node@c-9.me) 4112405 | 2015253
-> [ 301.000000] (10:node@c-9.me) 6209557 | 2015253
-> [ 301.000000] (10:node@c-9.me) 10403861 | 2015253
-> [ 301.000000] (10:node@c-9.me) Predecessor: -1
-> [ 302.000000] (2:node@c-1.me) My finger table:
-> [ 302.000000] (2:node@c-1.me) Start | Succ
-> [ 302.000000] (2:node@c-1.me) 366681 | 1319738
-> [ 302.000000] (2:node@c-1.me) 366682 | 1319738
-> [ 302.000000] (2:node@c-1.me) 366684 | 366680
-> [ 302.000000] (2:node@c-1.me) 366688 | 366680
-> [ 302.000000] (2:node@c-1.me) 366696 | 366680
-> [ 302.000000] (2:node@c-1.me) 366712 | 366680
-> [ 302.000000] (2:node@c-1.me) 366744 | 366680
-> [ 302.000000] (2:node@c-1.me) 366808 | 366680
-> [ 302.000000] (2:node@c-1.me) 366936 | 366680
-> [ 302.000000] (2:node@c-1.me) 367192 | 366680
-> [ 302.000000] (2:node@c-1.me) 367704 | 366680
-> [ 302.000000] (2:node@c-1.me) 368728 | 366680
-> [ 302.000000] (2:node@c-1.me) 370776 | 366680
-> [ 302.000000] (2:node@c-1.me) 374872 | 366680
-> [ 302.000000] (2:node@c-1.me) 383064 | 366680
-> [ 302.000000] (2:node@c-1.me) 399448 | 366680
-> [ 302.000000] (2:node@c-1.me) 432216 | 366680
-> [ 302.000000] (2:node@c-1.me) 497752 | 366680
-> [ 302.000000] (2:node@c-1.me) 628824 | 366680
-> [ 302.000000] (2:node@c-1.me) 890968 | 366680
-> [ 302.000000] (2:node@c-1.me) 1415256 | 366680
-> [ 302.000000] (2:node@c-1.me) 2463832 | 366680
-> [ 302.000000] (2:node@c-1.me) 4560984 | 366680
-> [ 302.000000] (2:node@c-1.me) 8755288 | 366680
-> [ 302.000000] (2:node@c-1.me) Predecessor: 42
-> [ 306.000000] (4:node@c-3.me) My finger table:
-> [ 306.000000] (4:node@c-3.me) Start | Succ
-> [ 306.000000] (4:node@c-3.me) 1319739 | 6518808
-> [ 306.000000] (4:node@c-3.me) 1319740 | 6518808
-> [ 306.000000] (4:node@c-3.me) 1319742 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1319746 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1319754 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1319770 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1319802 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1319866 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1319994 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1320250 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1320762 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1321786 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1323834 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1327930 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1336122 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1352506 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1385274 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1450810 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1581882 | 1319738
-> [ 306.000000] (4:node@c-3.me) 1844026 | 1319738
-> [ 306.000000] (4:node@c-3.me) 2368314 | 1319738
-> [ 306.000000] (4:node@c-3.me) 3416890 | 1319738
-> [ 306.000000] (4:node@c-3.me) 5514042 | 1319738
-> [ 306.000000] (4:node@c-3.me) 9708346 | 1319738
-> [ 306.000000] (4:node@c-3.me) Predecessor: 366680
-> [ 339.000000] (9:node@c-8.me) My finger table:
-> [ 339.000000] (9:node@c-8.me) Start | Succ
-> [ 339.000000] (9:node@c-8.me) 6518809 | 16728096
-> [ 339.000000] (9:node@c-8.me) 6518810 | 16728096
-> [ 339.000000] (9:node@c-8.me) 6518812 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6518816 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6518824 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6518840 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6518872 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6518936 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6519064 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6519320 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6519832 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6520856 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6522904 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6527000 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6535192 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6551576 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6584344 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6649880 | 6518808
-> [ 339.000000] (9:node@c-8.me) 6780952 | 6518808
-> [ 339.000000] (9:node@c-8.me) 7043096 | 6518808
-> [ 339.000000] (9:node@c-8.me) 7567384 | 6518808
-> [ 339.000000] (9:node@c-8.me) 8615960 | 6518808
-> [ 339.000000] (9:node@c-8.me) 10713112 | 6518808
-> [ 339.000000] (9:node@c-8.me) 14907416 | 6518808
-> [ 339.000000] (9:node@c-8.me) Predecessor: 2015253
-> [ 367.000000] (6:node@c-5.me) My finger table:
-> [ 367.000000] (6:node@c-5.me) Start | Succ
-> [ 367.000000] (6:node@c-5.me) 10874877 | 533744
-> [ 367.000000] (6:node@c-5.me) 10874878 | 533744
-> [ 367.000000] (6:node@c-5.me) 10874880 | 533744
-> [ 367.000000] (6:node@c-5.me) 10874884 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10874892 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10874908 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10874940 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10875004 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10875132 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10875388 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10875900 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10876924 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10878972 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10883068 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10891260 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10907644 | 10874876
-> [ 367.000000] (6:node@c-5.me) 10940412 | 10874876
-> [ 367.000000] (6:node@c-5.me) 11005948 | 10874876
-> [ 367.000000] (6:node@c-5.me) 11137020 | 10874876
-> [ 367.000000] (6:node@c-5.me) 11399164 | 10874876
-> [ 367.000000] (6:node@c-5.me) 11923452 | 10874876
-> [ 367.000000] (6:node@c-5.me) 12972028 | 10874876
-> [ 367.000000] (6:node@c-5.me) 15069180 | 10874876
-> [ 367.000000] (6:node@c-5.me) 2486268 | 10874876
-> [ 367.000000] (6:node@c-5.me) Predecessor: -1
-> [ 368.000000] (3:node@c-2.me) My finger table:
-> [ 368.000000] (3:node@c-2.me) Start | Succ
-> [ 368.000000] (3:node@c-2.me) 533745 | 10004760
-> [ 368.000000] (3:node@c-2.me) 533746 | 10004760
-> [ 368.000000] (3:node@c-2.me) 533748 | 10004760
-> [ 368.000000] (3:node@c-2.me) 533752 | 533744
-> [ 368.000000] (3:node@c-2.me) 533760 | 533744
-> [ 368.000000] (3:node@c-2.me) 533776 | 533744
-> [ 368.000000] (3:node@c-2.me) 533808 | 533744
-> [ 368.000000] (3:node@c-2.me) 533872 | 533744
-> [ 368.000000] (3:node@c-2.me) 534000 | 533744
-> [ 368.000000] (3:node@c-2.me) 534256 | 533744
-> [ 368.000000] (3:node@c-2.me) 534768 | 533744
-> [ 368.000000] (3:node@c-2.me) 535792 | 533744
-> [ 368.000000] (3:node@c-2.me) 537840 | 533744
-> [ 368.000000] (3:node@c-2.me) 541936 | 533744
-> [ 368.000000] (3:node@c-2.me) 550128 | 533744
-> [ 368.000000] (3:node@c-2.me) 566512 | 533744
-> [ 368.000000] (3:node@c-2.me) 599280 | 533744
-> [ 368.000000] (3:node@c-2.me) 664816 | 533744
-> [ 368.000000] (3:node@c-2.me) 795888 | 533744
-> [ 368.000000] (3:node@c-2.me) 1058032 | 533744
-> [ 368.000000] (3:node@c-2.me) 1582320 | 533744
-> [ 368.000000] (3:node@c-2.me) 2630896 | 533744
-> [ 368.000000] (3:node@c-2.me) 4728048 | 533744
-> [ 368.000000] (3:node@c-2.me) 8922352 | 533744
-> [ 368.000000] (3:node@c-2.me) Predecessor: 10874876
-> [ 368.000000] (5:node@c-4.me) My finger table:
-> [ 368.000000] (5:node@c-4.me) Start | Succ
-> [ 368.000000] (5:node@c-4.me) 16509406 | 16728096
-> [ 368.000000] (5:node@c-4.me) 16509407 | 366680
-> [ 368.000000] (5:node@c-4.me) 16509409 | 16728096
-> [ 368.000000] (5:node@c-4.me) 16509413 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16509421 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16509437 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16509469 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16509533 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16509661 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16509917 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16510429 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16511453 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16513501 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16517597 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16525789 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16542173 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16574941 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16640477 | 16509405
-> [ 368.000000] (5:node@c-4.me) 16771549 | 16509405
-> [ 368.000000] (5:node@c-4.me) 256477 | 16509405
-> [ 368.000000] (5:node@c-4.me) 780765 | 16509405
-> [ 368.000000] (5:node@c-4.me) 1829341 | 16509405
-> [ 368.000000] (5:node@c-4.me) 3926493 | 16509405
-> [ 368.000000] (5:node@c-4.me) 8120797 | 16509405
-> [ 368.000000] (5:node@c-4.me) Predecessor: 10004760
-> [ 370.000000] (8:node@c-7.me) My finger table:
-> [ 370.000000] (8:node@c-7.me) Start | Succ
-> [ 370.000000] (8:node@c-7.me) 10004761 | 16509405
-> [ 370.000000] (8:node@c-7.me) 10004762 | 16509405
-> [ 370.000000] (8:node@c-7.me) 10004764 | 16509405
-> [ 370.000000] (8:node@c-7.me) 10004768 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10004776 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10004792 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10004824 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10004888 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10005016 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10005272 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10005784 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10006808 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10008856 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10012952 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10021144 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10037528 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10070296 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10135832 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10266904 | 10004760
-> [ 370.000000] (8:node@c-7.me) 10529048 | 10004760
-> [ 370.000000] (8:node@c-7.me) 11053336 | 10004760
-> [ 370.000000] (8:node@c-7.me) 12101912 | 10004760
-> [ 370.000000] (8:node@c-7.me) 14199064 | 10004760
-> [ 370.000000] (8:node@c-7.me) 1616152 | 10004760
-> [ 370.000000] (8:node@c-7.me) Predecessor: 533744
-> [ 373.000000] (7:node@c-6.me) My finger table:
-> [ 373.000000] (7:node@c-6.me) Start | Succ
-> [ 373.000000] (7:node@c-6.me) 16728097 | 42
-> [ 373.000000] (7:node@c-6.me) 16728098 | 42
-> [ 373.000000] (7:node@c-6.me) 16728100 | 42
-> [ 373.000000] (7:node@c-6.me) 16728104 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16728112 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16728128 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16728160 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16728224 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16728352 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16728608 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16729120 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16730144 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16732192 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16736288 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16744480 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16760864 | 16728096
-> [ 373.000000] (7:node@c-6.me) 16416 | 16728096
-> [ 373.000000] (7:node@c-6.me) 81952 | 16728096
-> [ 373.000000] (7:node@c-6.me) 213024 | 16728096
-> [ 373.000000] (7:node@c-6.me) 475168 | 16728096
-> [ 373.000000] (7:node@c-6.me) 999456 | 16728096
-> [ 373.000000] (7:node@c-6.me) 2048032 | 16728096
-> [ 373.000000] (7:node@c-6.me) 4145184 | 16728096
-> [ 373.000000] (7:node@c-6.me) 8339488 | 16728096
-> [ 373.000000] (7:node@c-6.me) Predecessor: 6518808
-> [ 375.000000] (2:node@c-1.me) My finger table:
-> [ 375.000000] (2:node@c-1.me) Start | Succ
-> [ 375.000000] (2:node@c-1.me) 366681 | 1319738
-> [ 375.000000] (2:node@c-1.me) 366682 | 1319738
-> [ 375.000000] (2:node@c-1.me) 366684 | 1319738
-> [ 375.000000] (2:node@c-1.me) 366688 | 366680
-> [ 375.000000] (2:node@c-1.me) 366696 | 366680
-> [ 375.000000] (2:node@c-1.me) 366712 | 366680
-> [ 375.000000] (2:node@c-1.me) 366744 | 366680
-> [ 375.000000] (2:node@c-1.me) 366808 | 366680
-> [ 375.000000] (2:node@c-1.me) 366936 | 366680
-> [ 375.000000] (2:node@c-1.me) 367192 | 366680
-> [ 375.000000] (2:node@c-1.me) 367704 | 366680
-> [ 375.000000] (2:node@c-1.me) 368728 | 366680
-> [ 375.000000] (2:node@c-1.me) 370776 | 366680
-> [ 375.000000] (2:node@c-1.me) 374872 | 366680
-> [ 375.000000] (2:node@c-1.me) 383064 | 366680
-> [ 375.000000] (2:node@c-1.me) 399448 | 366680
-> [ 375.000000] (2:node@c-1.me) 432216 | 366680
-> [ 375.000000] (2:node@c-1.me) 497752 | 366680
-> [ 375.000000] (2:node@c-1.me) 628824 | 366680
-> [ 375.000000] (2:node@c-1.me) 890968 | 366680
-> [ 375.000000] (2:node@c-1.me) 1415256 | 366680
-> [ 375.000000] (2:node@c-1.me) 2463832 | 366680
-> [ 375.000000] (2:node@c-1.me) 4560984 | 366680
-> [ 375.000000] (2:node@c-1.me) 8755288 | 366680
-> [ 375.000000] (2:node@c-1.me) Predecessor: 42
-> [ 382.000000] (1:node@c-0.me) My finger table:
-> [ 382.000000] (1:node@c-0.me) Start | Succ
-> [ 382.000000] (1:node@c-0.me) 43 | 366680
-> [ 382.000000] (1:node@c-0.me) 44 | 1319738
-> [ 382.000000] (1:node@c-0.me) 46 | 366680
-> [ 382.000000] (1:node@c-0.me) 50 | 42
-> [ 382.000000] (1:node@c-0.me) 58 | 42
-> [ 382.000000] (1:node@c-0.me) 74 | 42
-> [ 382.000000] (1:node@c-0.me) 106 | 42
-> [ 382.000000] (1:node@c-0.me) 170 | 42
-> [ 382.000000] (1:node@c-0.me) 298 | 42
-> [ 382.000000] (1:node@c-0.me) 554 | 42
-> [ 382.000000] (1:node@c-0.me) 1066 | 42
-> [ 382.000000] (1:node@c-0.me) 2090 | 42
-> [ 382.000000] (1:node@c-0.me) 4138 | 42
-> [ 382.000000] (1:node@c-0.me) 8234 | 42
-> [ 382.000000] (1:node@c-0.me) 16426 | 42
-> [ 382.000000] (1:node@c-0.me) 32810 | 42
-> [ 382.000000] (1:node@c-0.me) 65578 | 42
-> [ 382.000000] (1:node@c-0.me) 131114 | 42
-> [ 382.000000] (1:node@c-0.me) 262186 | 42
-> [ 382.000000] (1:node@c-0.me) 524330 | 42
-> [ 382.000000] (1:node@c-0.me) 1048618 | 42
-> [ 382.000000] (1:node@c-0.me) 2097194 | 42
-> [ 382.000000] (1:node@c-0.me) 4194346 | 42
-> [ 382.000000] (1:node@c-0.me) 8388650 | 42
-> [ 382.000000] (1:node@c-0.me) Predecessor: 16728096
-> [ 383.000000] (7:node@c-6.me) My finger table:
-> [ 383.000000] (7:node@c-6.me) Start | Succ
-> [ 383.000000] (7:node@c-6.me) 16728097 | 42
-> [ 383.000000] (7:node@c-6.me) 16728098 | 42
-> [ 383.000000] (7:node@c-6.me) 16728100 | 42
-> [ 383.000000] (7:node@c-6.me) 16728104 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16728112 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16728128 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16728160 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16728224 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16728352 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16728608 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16729120 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16730144 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16732192 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16736288 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16744480 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16760864 | 16728096
-> [ 383.000000] (7:node@c-6.me) 16416 | 16728096
-> [ 383.000000] (7:node@c-6.me) 81952 | 16728096
-> [ 383.000000] (7:node@c-6.me) 213024 | 16728096
-> [ 383.000000] (7:node@c-6.me) 475168 | 16728096
-> [ 383.000000] (7:node@c-6.me) 999456 | 16728096
-> [ 383.000000] (7:node@c-6.me) 2048032 | 16728096
-> [ 383.000000] (7:node@c-6.me) 4145184 | 16728096
-> [ 383.000000] (7:node@c-6.me) 8339488 | 16728096
-> [ 383.000000] (7:node@c-6.me) Predecessor: 16509405
-> [ 385.000000] (10:node@c-9.me) My finger table:
-> [ 385.000000] (10:node@c-9.me) Start | Succ
-> [ 385.000000] (10:node@c-9.me) 2015254 | 6518808
-> [ 385.000000] (10:node@c-9.me) 2015255 | 16728096
-> [ 385.000000] (10:node@c-9.me) 2015257 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2015261 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2015269 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2015285 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2015317 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2015381 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2015509 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2015765 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2016277 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2017301 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2019349 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2023445 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2031637 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2048021 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2080789 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2146325 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2277397 | 2015253
-> [ 385.000000] (10:node@c-9.me) 2539541 | 2015253
-> [ 385.000000] (10:node@c-9.me) 3063829 | 2015253
-> [ 385.000000] (10:node@c-9.me) 4112405 | 2015253
-> [ 385.000000] (10:node@c-9.me) 6209557 | 2015253
-> [ 385.000000] (10:node@c-9.me) 10403861 | 2015253
-> [ 385.000000] (10:node@c-9.me) Predecessor: 1319738
-> [ 427.000000] (9:node@c-8.me) My finger table:
-> [ 427.000000] (9:node@c-8.me) Start | Succ
-> [ 427.000000] (9:node@c-8.me) 6518809 | 10004760
-> [ 427.000000] (9:node@c-8.me) 6518810 | 16728096
-> [ 427.000000] (9:node@c-8.me) 6518812 | 10004760
-> [ 427.000000] (9:node@c-8.me) 6518816 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6518824 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6518840 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6518872 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6518936 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6519064 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6519320 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6519832 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6520856 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6522904 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6527000 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6535192 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6551576 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6584344 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6649880 | 6518808
-> [ 427.000000] (9:node@c-8.me) 6780952 | 6518808
-> [ 427.000000] (9:node@c-8.me) 7043096 | 6518808
-> [ 427.000000] (9:node@c-8.me) 7567384 | 6518808
-> [ 427.000000] (9:node@c-8.me) 8615960 | 6518808
-> [ 427.000000] (9:node@c-8.me) 10713112 | 6518808
-> [ 427.000000] (9:node@c-8.me) 14907416 | 6518808
-> [ 427.000000] (9:node@c-8.me) Predecessor: 2015253
-> [ 432.000000] (10:node@c-9.me) My finger table:
-> [ 432.000000] (10:node@c-9.me) Start | Succ
-> [ 432.000000] (10:node@c-9.me) 2015254 | 6518808
-> [ 432.000000] (10:node@c-9.me) 2015255 | 16728096
-> [ 432.000000] (10:node@c-9.me) 2015257 | 6518808
-> [ 432.000000] (10:node@c-9.me) 2015261 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2015269 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2015285 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2015317 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2015381 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2015509 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2015765 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2016277 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2017301 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2019349 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2023445 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2031637 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2048021 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2080789 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2146325 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2277397 | 2015253
-> [ 432.000000] (10:node@c-9.me) 2539541 | 2015253
-> [ 432.000000] (10:node@c-9.me) 3063829 | 2015253
-> [ 432.000000] (10:node@c-9.me) 4112405 | 2015253
-> [ 432.000000] (10:node@c-9.me) 6209557 | 2015253
-> [ 432.000000] (10:node@c-9.me) 10403861 | 2015253
-> [ 432.000000] (10:node@c-9.me) Predecessor: 1319738
-> [ 484.000000] (4:node@c-3.me) My finger table:
-> [ 484.000000] (4:node@c-3.me) Start | Succ
-> [ 484.000000] (4:node@c-3.me) 1319739 | 2015253
-> [ 484.000000] (4:node@c-3.me) 1319740 | 6518808
-> [ 484.000000] (4:node@c-3.me) 1319742 | 2015253
-> [ 484.000000] (4:node@c-3.me) 1319746 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1319754 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1319770 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1319802 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1319866 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1319994 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1320250 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1320762 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1321786 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1323834 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1327930 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1336122 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1352506 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1385274 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1450810 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1581882 | 1319738
-> [ 484.000000] (4:node@c-3.me) 1844026 | 1319738
-> [ 484.000000] (4:node@c-3.me) 2368314 | 1319738
-> [ 484.000000] (4:node@c-3.me) 3416890 | 1319738
-> [ 484.000000] (4:node@c-3.me) 5514042 | 1319738
-> [ 484.000000] (4:node@c-3.me) 9708346 | 1319738
-> [ 484.000000] (4:node@c-3.me) Predecessor: 366680
-> [ 487.000000] (6:node@c-5.me) My finger table:
-> [ 487.000000] (6:node@c-5.me) Start | Succ
-> [ 487.000000] (6:node@c-5.me) 10874877 | 533744
-> [ 487.000000] (6:node@c-5.me) 10874878 | 533744
-> [ 487.000000] (6:node@c-5.me) 10874880 | 533744
-> [ 487.000000] (6:node@c-5.me) 10874884 | 533744
-> [ 487.000000] (6:node@c-5.me) 10874892 | 10874876
-> [ 487.000000] (6:node@c-5.me) 10874908 | 10874876
-> [ 487.000000] (6:node@c-5.me) 10874940 | 10874876
-> [ 487.000000] (6:node@c-5.me) 10875004 | 10874876
-> [ 487.000000] (6:node@c-5.me) 10875132 | 10874876
-> [ 487.000000] (6:node@c-5.me) 10875388 | 10874876
-> [ 487.000000] (6:node@c-5.me) 10875900 | 10874876
-> [ 487.000000] (6:node@c-5.me) 10876924 | 10874876
-> [ 487.000000] (6:node@c-5.me) 10878972 | 10874876
-> [ 487.000000] (6:node@c-5.me) 10883068 | 10874876
-> [ 487.000000] (6:node@c-5.me) 10891260 | 10874876
-> [ 487.000000] (6:node@c-5.me) 10907644 | 10874876
-> [ 487.000000] (6:node@c-5.me) 10940412 | 10874876
-> [ 487.000000] (6:node@c-5.me) 11005948 | 10874876
-> [ 487.000000] (6:node@c-5.me) 11137020 | 10874876
-> [ 487.000000] (6:node@c-5.me) 11399164 | 10874876
-> [ 487.000000] (6:node@c-5.me) 11923452 | 10874876
-> [ 487.000000] (6:node@c-5.me) 12972028 | 10874876
-> [ 487.000000] (6:node@c-5.me) 15069180 | 10874876
-> [ 487.000000] (6:node@c-5.me) 2486268 | 10874876
-> [ 487.000000] (6:node@c-5.me) Predecessor: -1
-> [ 490.000000] (8:node@c-7.me) My finger table:
-> [ 490.000000] (8:node@c-7.me) Start | Succ
-> [ 490.000000] (8:node@c-7.me) 10004761 | 16509405
-> [ 490.000000] (8:node@c-7.me) 10004762 | 16509405
-> [ 490.000000] (8:node@c-7.me) 10004764 | 16509405
-> [ 490.000000] (8:node@c-7.me) 10004768 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10004776 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10004792 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10004824 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10004888 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10005016 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10005272 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10005784 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10006808 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10008856 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10012952 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10021144 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10037528 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10070296 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10135832 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10266904 | 10004760
-> [ 490.000000] (8:node@c-7.me) 10529048 | 10004760
-> [ 490.000000] (8:node@c-7.me) 11053336 | 10004760
-> [ 490.000000] (8:node@c-7.me) 12101912 | 10004760
-> [ 490.000000] (8:node@c-7.me) 14199064 | 10004760
-> [ 490.000000] (8:node@c-7.me) 1616152 | 10004760
-> [ 490.000000] (8:node@c-7.me) Predecessor: 6518808
-> [ 491.000000] (8:node@c-7.me) My finger table:
-> [ 491.000000] (8:node@c-7.me) Start | Succ
-> [ 491.000000] (8:node@c-7.me) 10004761 | 16509405
-> [ 491.000000] (8:node@c-7.me) 10004762 | 16509405
-> [ 491.000000] (8:node@c-7.me) 10004764 | 16509405
-> [ 491.000000] (8:node@c-7.me) 10004768 | 16509405
-> [ 491.000000] (8:node@c-7.me) 10004776 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10004792 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10004824 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10004888 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10005016 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10005272 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10005784 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10006808 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10008856 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10012952 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10021144 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10037528 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10070296 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10135832 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10266904 | 10004760
-> [ 491.000000] (8:node@c-7.me) 10529048 | 10004760
-> [ 491.000000] (8:node@c-7.me) 11053336 | 10004760
-> [ 491.000000] (8:node@c-7.me) 12101912 | 10004760
-> [ 491.000000] (8:node@c-7.me) 14199064 | 10004760
-> [ 491.000000] (8:node@c-7.me) 1616152 | 10004760
-> [ 491.000000] (8:node@c-7.me) Predecessor: 6518808
-> [ 496.000000] (7:node@c-6.me) My finger table:
-> [ 496.000000] (7:node@c-6.me) Start | Succ
-> [ 496.000000] (7:node@c-6.me) 16728097 | 42
-> [ 496.000000] (7:node@c-6.me) 16728098 | 42
-> [ 496.000000] (7:node@c-6.me) 16728100 | 42
-> [ 496.000000] (7:node@c-6.me) 16728104 | 42
-> [ 496.000000] (7:node@c-6.me) 16728112 | 16728096
-> [ 496.000000] (7:node@c-6.me) 16728128 | 16728096
-> [ 496.000000] (7:node@c-6.me) 16728160 | 16728096
-> [ 496.000000] (7:node@c-6.me) 16728224 | 16728096
-> [ 496.000000] (7:node@c-6.me) 16728352 | 16728096
-> [ 496.000000] (7:node@c-6.me) 16728608 | 16728096
-> [ 496.000000] (7:node@c-6.me) 16729120 | 16728096
-> [ 496.000000] (7:node@c-6.me) 16730144 | 16728096
-> [ 496.000000] (7:node@c-6.me) 16732192 | 16728096
-> [ 496.000000] (7:node@c-6.me) 16736288 | 16728096
-> [ 496.000000] (7:node@c-6.me) 16744480 | 16728096
-> [ 496.000000] (7:node@c-6.me) 16760864 | 16728096
-> [ 496.000000] (7:node@c-6.me) 16416 | 16728096
-> [ 496.000000] (7:node@c-6.me) 81952 | 16728096
-> [ 496.000000] (7:node@c-6.me) 213024 | 16728096
-> [ 496.000000] (7:node@c-6.me) 475168 | 16728096
-> [ 496.000000] (7:node@c-6.me) 999456 | 16728096
-> [ 496.000000] (7:node@c-6.me) 2048032 | 16728096
-> [ 496.000000] (7:node@c-6.me) 4145184 | 16728096
-> [ 496.000000] (7:node@c-6.me) 8339488 | 16728096
-> [ 496.000000] (7:node@c-6.me) Predecessor: 16509405
-> [ 497.000000] (3:node@c-2.me) My finger table:
-> [ 497.000000] (3:node@c-2.me) Start | Succ
-> [ 497.000000] (3:node@c-2.me) 533745 | 6518808
-> [ 497.000000] (3:node@c-2.me) 533746 | 10004760
-> [ 497.000000] (3:node@c-2.me) 533748 | 10004760
-> [ 497.000000] (3:node@c-2.me) 533752 | 6518808
-> [ 497.000000] (3:node@c-2.me) 533760 | 533744
-> [ 497.000000] (3:node@c-2.me) 533776 | 533744
-> [ 497.000000] (3:node@c-2.me) 533808 | 533744
-> [ 497.000000] (3:node@c-2.me) 533872 | 533744
-> [ 497.000000] (3:node@c-2.me) 534000 | 533744
-> [ 497.000000] (3:node@c-2.me) 534256 | 533744
-> [ 497.000000] (3:node@c-2.me) 534768 | 533744
-> [ 497.000000] (3:node@c-2.me) 535792 | 533744
-> [ 497.000000] (3:node@c-2.me) 537840 | 533744
-> [ 497.000000] (3:node@c-2.me) 541936 | 533744
-> [ 497.000000] (3:node@c-2.me) 550128 | 533744
-> [ 497.000000] (3:node@c-2.me) 566512 | 533744
-> [ 497.000000] (3:node@c-2.me) 599280 | 533744
-> [ 497.000000] (3:node@c-2.me) 664816 | 533744
-> [ 497.000000] (3:node@c-2.me) 795888 | 533744
-> [ 497.000000] (3:node@c-2.me) 1058032 | 533744
-> [ 497.000000] (3:node@c-2.me) 1582320 | 533744
-> [ 497.000000] (3:node@c-2.me) 2630896 | 533744
-> [ 497.000000] (3:node@c-2.me) 4728048 | 533744
-> [ 497.000000] (3:node@c-2.me) 8922352 | 533744
-> [ 497.000000] (3:node@c-2.me) Predecessor: 10874876
-> [ 502.000000] (1:node@c-0.me) My finger table:
-> [ 502.000000] (1:node@c-0.me) Start | Succ
-> [ 502.000000] (1:node@c-0.me) 43 | 366680
-> [ 502.000000] (1:node@c-0.me) 44 | 1319738
-> [ 502.000000] (1:node@c-0.me) 46 | 366680
-> [ 502.000000] (1:node@c-0.me) 50 | 366680
-> [ 502.000000] (1:node@c-0.me) 58 | 42
-> [ 502.000000] (1:node@c-0.me) 74 | 42
-> [ 502.000000] (1:node@c-0.me) 106 | 42
-> [ 502.000000] (1:node@c-0.me) 170 | 42
-> [ 502.000000] (1:node@c-0.me) 298 | 42
-> [ 502.000000] (1:node@c-0.me) 554 | 42
-> [ 502.000000] (1:node@c-0.me) 1066 | 42
-> [ 502.000000] (1:node@c-0.me) 2090 | 42
-> [ 502.000000] (1:node@c-0.me) 4138 | 42
-> [ 502.000000] (1:node@c-0.me) 8234 | 42
-> [ 502.000000] (1:node@c-0.me) 16426 | 42
-> [ 502.000000] (1:node@c-0.me) 32810 | 42
-> [ 502.000000] (1:node@c-0.me) 65578 | 42
-> [ 502.000000] (1:node@c-0.me) 131114 | 42
-> [ 502.000000] (1:node@c-0.me) 262186 | 42
-> [ 502.000000] (1:node@c-0.me) 524330 | 42
-> [ 502.000000] (1:node@c-0.me) 1048618 | 42
-> [ 502.000000] (1:node@c-0.me) 2097194 | 42
-> [ 502.000000] (1:node@c-0.me) 4194346 | 42
-> [ 502.000000] (1:node@c-0.me) 8388650 | 42
-> [ 502.000000] (1:node@c-0.me) Predecessor: 16728096
-> [ 505.000000] (2:node@c-1.me) My finger table:
-> [ 505.000000] (2:node@c-1.me) Start | Succ
-> [ 505.000000] (2:node@c-1.me) 366681 | 1319738
-> [ 505.000000] (2:node@c-1.me) 366682 | 1319738
-> [ 505.000000] (2:node@c-1.me) 366684 | 1319738
-> [ 505.000000] (2:node@c-1.me) 366688 | 1319738
-> [ 505.000000] (2:node@c-1.me) 366696 | 366680
-> [ 505.000000] (2:node@c-1.me) 366712 | 366680
-> [ 505.000000] (2:node@c-1.me) 366744 | 366680
-> [ 505.000000] (2:node@c-1.me) 366808 | 366680
-> [ 505.000000] (2:node@c-1.me) 366936 | 366680
-> [ 505.000000] (2:node@c-1.me) 367192 | 366680
-> [ 505.000000] (2:node@c-1.me) 367704 | 366680
-> [ 505.000000] (2:node@c-1.me) 368728 | 366680
-> [ 505.000000] (2:node@c-1.me) 370776 | 366680
-> [ 505.000000] (2:node@c-1.me) 374872 | 366680
-> [ 505.000000] (2:node@c-1.me) 383064 | 366680
-> [ 505.000000] (2:node@c-1.me) 399448 | 366680
-> [ 505.000000] (2:node@c-1.me) 432216 | 366680
-> [ 505.000000] (2:node@c-1.me) 497752 | 366680
-> [ 505.000000] (2:node@c-1.me) 628824 | 366680
-> [ 505.000000] (2:node@c-1.me) 890968 | 366680
-> [ 505.000000] (2:node@c-1.me) 1415256 | 366680
-> [ 505.000000] (2:node@c-1.me) 2463832 | 366680
-> [ 505.000000] (2:node@c-1.me) 4560984 | 366680
-> [ 505.000000] (2:node@c-1.me) 8755288 | 366680
-> [ 505.000000] (2:node@c-1.me) Predecessor: 42
-> [ 513.000000] (5:node@c-4.me) My finger table:
-> [ 513.000000] (5:node@c-4.me) Start | Succ
-> [ 513.000000] (5:node@c-4.me) 16509406 | 16728096
-> [ 513.000000] (5:node@c-4.me) 16509407 | 366680
-> [ 513.000000] (5:node@c-4.me) 16509409 | 16728096
-> [ 513.000000] (5:node@c-4.me) 16509413 | 16728096
-> [ 513.000000] (5:node@c-4.me) 16509421 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16509437 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16509469 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16509533 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16509661 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16509917 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16510429 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16511453 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16513501 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16517597 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16525789 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16542173 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16574941 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16640477 | 16509405
-> [ 513.000000] (5:node@c-4.me) 16771549 | 16509405
-> [ 513.000000] (5:node@c-4.me) 256477 | 16509405
-> [ 513.000000] (5:node@c-4.me) 780765 | 16509405
-> [ 513.000000] (5:node@c-4.me) 1829341 | 16509405
-> [ 513.000000] (5:node@c-4.me) 3926493 | 16509405
-> [ 513.000000] (5:node@c-4.me) 8120797 | 16509405
-> [ 513.000000] (5:node@c-4.me) Predecessor: 10004760
-> [ 558.000000] (9:node@c-8.me) My finger table:
-> [ 558.000000] (9:node@c-8.me) Start | Succ
-> [ 558.000000] (9:node@c-8.me) 6518809 | 10004760
-> [ 558.000000] (9:node@c-8.me) 6518810 | 16728096
-> [ 558.000000] (9:node@c-8.me) 6518812 | 10004760
-> [ 558.000000] (9:node@c-8.me) 6518816 | 10004760
-> [ 558.000000] (9:node@c-8.me) 6518824 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6518840 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6518872 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6518936 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6519064 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6519320 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6519832 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6520856 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6522904 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6527000 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6535192 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6551576 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6584344 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6649880 | 6518808
-> [ 558.000000] (9:node@c-8.me) 6780952 | 6518808
-> [ 558.000000] (9:node@c-8.me) 7043096 | 6518808
-> [ 558.000000] (9:node@c-8.me) 7567384 | 6518808
-> [ 558.000000] (9:node@c-8.me) 8615960 | 6518808
-> [ 558.000000] (9:node@c-8.me) 10713112 | 6518808
-> [ 558.000000] (9:node@c-8.me) 14907416 | 6518808
-> [ 558.000000] (9:node@c-8.me) Predecessor: 2015253
-> [ 573.000000] (10:node@c-9.me) My finger table:
-> [ 573.000000] (10:node@c-9.me) Start | Succ
-> [ 573.000000] (10:node@c-9.me) 2015254 | 6518808
-> [ 573.000000] (10:node@c-9.me) 2015255 | 16728096
-> [ 573.000000] (10:node@c-9.me) 2015257 | 6518808
-> [ 573.000000] (10:node@c-9.me) 2015261 | 6518808
-> [ 573.000000] (10:node@c-9.me) 2015269 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2015285 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2015317 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2015381 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2015509 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2015765 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2016277 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2017301 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2019349 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2023445 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2031637 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2048021 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2080789 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2146325 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2277397 | 2015253
-> [ 573.000000] (10:node@c-9.me) 2539541 | 2015253
-> [ 573.000000] (10:node@c-9.me) 3063829 | 2015253
-> [ 573.000000] (10:node@c-9.me) 4112405 | 2015253
-> [ 573.000000] (10:node@c-9.me) 6209557 | 2015253
-> [ 573.000000] (10:node@c-9.me) 10403861 | 2015253
-> [ 573.000000] (10:node@c-9.me) Predecessor: 1319738
-> [ 600.000000] (4:node@c-3.me) My finger table:
-> [ 600.000000] (4:node@c-3.me) Start | Succ
-> [ 600.000000] (4:node@c-3.me) 1319739 | 2015253
-> [ 600.000000] (4:node@c-3.me) 1319740 | 6518808
-> [ 600.000000] (4:node@c-3.me) 1319742 | 2015253
-> [ 600.000000] (4:node@c-3.me) 1319746 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1319754 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1319770 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1319802 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1319866 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1319994 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1320250 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1320762 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1321786 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1323834 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1327930 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1336122 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1352506 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1385274 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1450810 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1581882 | 1319738
-> [ 600.000000] (4:node@c-3.me) 1844026 | 1319738
-> [ 600.000000] (4:node@c-3.me) 2368314 | 1319738
-> [ 600.000000] (4:node@c-3.me) 3416890 | 1319738
-> [ 600.000000] (4:node@c-3.me) 5514042 | 1319738
-> [ 600.000000] (4:node@c-3.me) 9708346 | 1319738
-> [ 600.000000] (4:node@c-3.me) Predecessor: 533744
-> [ 610.000000] (6:node@c-5.me) My finger table:
-> [ 610.000000] (6:node@c-5.me) Start | Succ
-> [ 610.000000] (6:node@c-5.me) 10874877 | 533744
-> [ 610.000000] (6:node@c-5.me) 10874878 | 533744
-> [ 610.000000] (6:node@c-5.me) 10874880 | 533744
-> [ 610.000000] (6:node@c-5.me) 10874884 | 533744
-> [ 610.000000] (6:node@c-5.me) 10874892 | 533744
-> [ 610.000000] (6:node@c-5.me) 10874908 | 10874876
-> [ 610.000000] (6:node@c-5.me) 10874940 | 10874876
-> [ 610.000000] (6:node@c-5.me) 10875004 | 10874876
-> [ 610.000000] (6:node@c-5.me) 10875132 | 10874876
-> [ 610.000000] (6:node@c-5.me) 10875388 | 10874876
-> [ 610.000000] (6:node@c-5.me) 10875900 | 10874876
-> [ 610.000000] (6:node@c-5.me) 10876924 | 10874876
-> [ 610.000000] (6:node@c-5.me) 10878972 | 10874876
-> [ 610.000000] (6:node@c-5.me) 10883068 | 10874876
-> [ 610.000000] (6:node@c-5.me) 10891260 | 10874876
-> [ 610.000000] (6:node@c-5.me) 10907644 | 10874876
-> [ 610.000000] (6:node@c-5.me) 10940412 | 10874876
-> [ 610.000000] (6:node@c-5.me) 11005948 | 10874876
-> [ 610.000000] (6:node@c-5.me) 11137020 | 10874876
-> [ 610.000000] (6:node@c-5.me) 11399164 | 10874876
-> [ 610.000000] (6:node@c-5.me) 11923452 | 10874876
-> [ 610.000000] (6:node@c-5.me) 12972028 | 10874876
-> [ 610.000000] (6:node@c-5.me) 15069180 | 10874876
-> [ 610.000000] (6:node@c-5.me) 2486268 | 10874876
-> [ 610.000000] (6:node@c-5.me) Predecessor: -1
-> [ 656.000000] (5:node@c-4.me) My finger table:
-> [ 656.000000] (5:node@c-4.me) Start | Succ
-> [ 656.000000] (5:node@c-4.me) 16509406 | 16728096
-> [ 656.000000] (5:node@c-4.me) 16509407 | 366680
-> [ 656.000000] (5:node@c-4.me) 16509409 | 16728096
-> [ 656.000000] (5:node@c-4.me) 16509413 | 16728096
-> [ 656.000000] (5:node@c-4.me) 16509421 | 16728096
-> [ 656.000000] (5:node@c-4.me) 16509437 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16509469 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16509533 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16509661 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16509917 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16510429 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16511453 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16513501 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16517597 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16525789 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16542173 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16574941 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16640477 | 16509405
-> [ 656.000000] (5:node@c-4.me) 16771549 | 16509405
-> [ 656.000000] (5:node@c-4.me) 256477 | 16509405
-> [ 656.000000] (5:node@c-4.me) 780765 | 16509405
-> [ 656.000000] (5:node@c-4.me) 1829341 | 16509405
-> [ 656.000000] (5:node@c-4.me) 3926493 | 16509405
-> [ 656.000000] (5:node@c-4.me) 8120797 | 16509405
-> [ 656.000000] (5:node@c-4.me) Predecessor: 10004760
-> [ 657.000000] (7:node@c-6.me) My finger table:
-> [ 657.000000] (7:node@c-6.me) Start | Succ
-> [ 657.000000] (7:node@c-6.me) 16728097 | 42
-> [ 657.000000] (7:node@c-6.me) 16728098 | 42
-> [ 657.000000] (7:node@c-6.me) 16728100 | 42
-> [ 657.000000] (7:node@c-6.me) 16728104 | 42
-> [ 657.000000] (7:node@c-6.me) 16728112 | 42
-> [ 657.000000] (7:node@c-6.me) 16728128 | 16728096
-> [ 657.000000] (7:node@c-6.me) 16728160 | 16728096
-> [ 657.000000] (7:node@c-6.me) 16728224 | 16728096
-> [ 657.000000] (7:node@c-6.me) 16728352 | 16728096
-> [ 657.000000] (7:node@c-6.me) 16728608 | 16728096
-> [ 657.000000] (7:node@c-6.me) 16729120 | 16728096
-> [ 657.000000] (7:node@c-6.me) 16730144 | 16728096
-> [ 657.000000] (7:node@c-6.me) 16732192 | 16728096
-> [ 657.000000] (7:node@c-6.me) 16736288 | 16728096
-> [ 657.000000] (7:node@c-6.me) 16744480 | 16728096
-> [ 657.000000] (7:node@c-6.me) 16760864 | 16728096
-> [ 657.000000] (7:node@c-6.me) 16416 | 16728096
-> [ 657.000000] (7:node@c-6.me) 81952 | 16728096
-> [ 657.000000] (7:node@c-6.me) 213024 | 16728096
-> [ 657.000000] (7:node@c-6.me) 475168 | 16728096
-> [ 657.000000] (7:node@c-6.me) 999456 | 16728096
-> [ 657.000000] (7:node@c-6.me) 2048032 | 16728096
-> [ 657.000000] (7:node@c-6.me) 4145184 | 16728096
-> [ 657.000000] (7:node@c-6.me) 8339488 | 16728096
-> [ 657.000000] (7:node@c-6.me) Predecessor: 16509405
-> [ 663.000000] (4:node@c-3.me) My finger table:
-> [ 663.000000] (4:node@c-3.me) Start | Succ
-> [ 663.000000] (4:node@c-3.me) 1319739 | 2015253
-> [ 663.000000] (4:node@c-3.me) 1319740 | 6518808
-> [ 663.000000] (4:node@c-3.me) 1319742 | 2015253
-> [ 663.000000] (4:node@c-3.me) 1319746 | 2015253
-> [ 663.000000] (4:node@c-3.me) 1319754 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1319770 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1319802 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1319866 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1319994 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1320250 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1320762 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1321786 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1323834 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1327930 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1336122 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1352506 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1385274 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1450810 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1581882 | 1319738
-> [ 663.000000] (4:node@c-3.me) 1844026 | 1319738
-> [ 663.000000] (4:node@c-3.me) 2368314 | 1319738
-> [ 663.000000] (4:node@c-3.me) 3416890 | 1319738
-> [ 663.000000] (4:node@c-3.me) 5514042 | 1319738
-> [ 663.000000] (4:node@c-3.me) 9708346 | 1319738
-> [ 663.000000] (4:node@c-3.me) Predecessor: 533744
-> [ 665.000000] (1:node@c-0.me) My finger table:
-> [ 665.000000] (1:node@c-0.me) Start | Succ
-> [ 665.000000] (1:node@c-0.me) 43 | 366680
-> [ 665.000000] (1:node@c-0.me) 44 | 1319738
-> [ 665.000000] (1:node@c-0.me) 46 | 366680
-> [ 665.000000] (1:node@c-0.me) 50 | 366680
-> [ 665.000000] (1:node@c-0.me) 58 | 366680
-> [ 665.000000] (1:node@c-0.me) 74 | 42
-> [ 665.000000] (1:node@c-0.me) 106 | 42
-> [ 665.000000] (1:node@c-0.me) 170 | 42
-> [ 665.000000] (1:node@c-0.me) 298 | 42
-> [ 665.000000] (1:node@c-0.me) 554 | 42
-> [ 665.000000] (1:node@c-0.me) 1066 | 42
-> [ 665.000000] (1:node@c-0.me) 2090 | 42
-> [ 665.000000] (1:node@c-0.me) 4138 | 42
-> [ 665.000000] (1:node@c-0.me) 8234 | 42
-> [ 665.000000] (1:node@c-0.me) 16426 | 42
-> [ 665.000000] (1:node@c-0.me) 32810 | 42
-> [ 665.000000] (1:node@c-0.me) 65578 | 42
-> [ 665.000000] (1:node@c-0.me) 131114 | 42
-> [ 665.000000] (1:node@c-0.me) 262186 | 42
-> [ 665.000000] (1:node@c-0.me) 524330 | 42
-> [ 665.000000] (1:node@c-0.me) 1048618 | 42
-> [ 665.000000] (1:node@c-0.me) 2097194 | 42
-> [ 665.000000] (1:node@c-0.me) 4194346 | 42
-> [ 665.000000] (1:node@c-0.me) 8388650 | 42
-> [ 665.000000] (1:node@c-0.me) Predecessor: 16728096
-> [ 669.000000] (8:node@c-7.me) My finger table:
-> [ 669.000000] (8:node@c-7.me) Start | Succ
-> [ 669.000000] (8:node@c-7.me) 10004761 | 16509405
-> [ 669.000000] (8:node@c-7.me) 10004762 | 16509405
-> [ 669.000000] (8:node@c-7.me) 10004764 | 16509405
-> [ 669.000000] (8:node@c-7.me) 10004768 | 16509405
-> [ 669.000000] (8:node@c-7.me) 10004776 | 16509405
-> [ 669.000000] (8:node@c-7.me) 10004792 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10004824 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10004888 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10005016 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10005272 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10005784 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10006808 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10008856 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10012952 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10021144 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10037528 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10070296 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10135832 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10266904 | 10004760
-> [ 669.000000] (8:node@c-7.me) 10529048 | 10004760
-> [ 669.000000] (8:node@c-7.me) 11053336 | 10004760
-> [ 669.000000] (8:node@c-7.me) 12101912 | 10004760
-> [ 669.000000] (8:node@c-7.me) 14199064 | 10004760
-> [ 669.000000] (8:node@c-7.me) 1616152 | 10004760
-> [ 669.000000] (8:node@c-7.me) Predecessor: 6518808
-> [ 671.000000] (3:node@c-2.me) My finger table:
-> [ 671.000000] (3:node@c-2.me) Start | Succ
-> [ 671.000000] (3:node@c-2.me) 533745 | 1319738
-> [ 671.000000] (3:node@c-2.me) 533746 | 10004760
-> [ 671.000000] (3:node@c-2.me) 533748 | 10004760
-> [ 671.000000] (3:node@c-2.me) 533752 | 6518808
-> [ 671.000000] (3:node@c-2.me) 533760 | 1319738
-> [ 671.000000] (3:node@c-2.me) 533776 | 533744
-> [ 671.000000] (3:node@c-2.me) 533808 | 533744
-> [ 671.000000] (3:node@c-2.me) 533872 | 533744
-> [ 671.000000] (3:node@c-2.me) 534000 | 533744
-> [ 671.000000] (3:node@c-2.me) 534256 | 533744
-> [ 671.000000] (3:node@c-2.me) 534768 | 533744
-> [ 671.000000] (3:node@c-2.me) 535792 | 533744
-> [ 671.000000] (3:node@c-2.me) 537840 | 533744
-> [ 671.000000] (3:node@c-2.me) 541936 | 533744
-> [ 671.000000] (3:node@c-2.me) 550128 | 533744
-> [ 671.000000] (3:node@c-2.me) 566512 | 533744
-> [ 671.000000] (3:node@c-2.me) 599280 | 533744
-> [ 671.000000] (3:node@c-2.me) 664816 | 533744
-> [ 671.000000] (3:node@c-2.me) 795888 | 533744
-> [ 671.000000] (3:node@c-2.me) 1058032 | 533744
-> [ 671.000000] (3:node@c-2.me) 1582320 | 533744
-> [ 671.000000] (3:node@c-2.me) 2630896 | 533744
-> [ 671.000000] (3:node@c-2.me) 4728048 | 533744
-> [ 671.000000] (3:node@c-2.me) 8922352 | 533744
-> [ 671.000000] (3:node@c-2.me) Predecessor: 10874876
-> [ 678.000000] (9:node@c-8.me) My finger table:
-> [ 678.000000] (9:node@c-8.me) Start | Succ
-> [ 678.000000] (9:node@c-8.me) 6518809 | 10004760
-> [ 678.000000] (9:node@c-8.me) 6518810 | 16728096
-> [ 678.000000] (9:node@c-8.me) 6518812 | 10004760
-> [ 678.000000] (9:node@c-8.me) 6518816 | 10004760
-> [ 678.000000] (9:node@c-8.me) 6518824 | 10004760
-> [ 678.000000] (9:node@c-8.me) 6518840 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6518872 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6518936 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6519064 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6519320 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6519832 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6520856 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6522904 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6527000 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6535192 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6551576 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6584344 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6649880 | 6518808
-> [ 678.000000] (9:node@c-8.me) 6780952 | 6518808
-> [ 678.000000] (9:node@c-8.me) 7043096 | 6518808
-> [ 678.000000] (9:node@c-8.me) 7567384 | 6518808
-> [ 678.000000] (9:node@c-8.me) 8615960 | 6518808
-> [ 678.000000] (9:node@c-8.me) 10713112 | 6518808
-> [ 678.000000] (9:node@c-8.me) 14907416 | 6518808
-> [ 678.000000] (9:node@c-8.me) Predecessor: 2015253
-> [ 683.000000] (2:node@c-1.me) My finger table:
-> [ 683.000000] (2:node@c-1.me) Start | Succ
-> [ 683.000000] (2:node@c-1.me) 366681 | 533744
-> [ 683.000000] (2:node@c-1.me) 366682 | 1319738
-> [ 683.000000] (2:node@c-1.me) 366684 | 1319738
-> [ 683.000000] (2:node@c-1.me) 366688 | 1319738
-> [ 683.000000] (2:node@c-1.me) 366696 | 533744
-> [ 683.000000] (2:node@c-1.me) 366712 | 366680
-> [ 683.000000] (2:node@c-1.me) 366744 | 366680
-> [ 683.000000] (2:node@c-1.me) 366808 | 366680
-> [ 683.000000] (2:node@c-1.me) 366936 | 366680
-> [ 683.000000] (2:node@c-1.me) 367192 | 366680
-> [ 683.000000] (2:node@c-1.me) 367704 | 366680
-> [ 683.000000] (2:node@c-1.me) 368728 | 366680
-> [ 683.000000] (2:node@c-1.me) 370776 | 366680
-> [ 683.000000] (2:node@c-1.me) 374872 | 366680
-> [ 683.000000] (2:node@c-1.me) 383064 | 366680
-> [ 683.000000] (2:node@c-1.me) 399448 | 366680
-> [ 683.000000] (2:node@c-1.me) 432216 | 366680
-> [ 683.000000] (2:node@c-1.me) 497752 | 366680
-> [ 683.000000] (2:node@c-1.me) 628824 | 366680
-> [ 683.000000] (2:node@c-1.me) 890968 | 366680
-> [ 683.000000] (2:node@c-1.me) 1415256 | 366680
-> [ 683.000000] (2:node@c-1.me) 2463832 | 366680
-> [ 683.000000] (2:node@c-1.me) 4560984 | 366680
-> [ 683.000000] (2:node@c-1.me) 8755288 | 366680
-> [ 683.000000] (2:node@c-1.me) Predecessor: 42
-> [ 684.000000] (3:node@c-2.me) My finger table:
-> [ 684.000000] (3:node@c-2.me) Start | Succ
-> [ 684.000000] (3:node@c-2.me) 533745 | 1319738
-> [ 684.000000] (3:node@c-2.me) 533746 | 10004760
-> [ 684.000000] (3:node@c-2.me) 533748 | 10004760
-> [ 684.000000] (3:node@c-2.me) 533752 | 6518808
-> [ 684.000000] (3:node@c-2.me) 533760 | 1319738
-> [ 684.000000] (3:node@c-2.me) 533776 | 533744
-> [ 684.000000] (3:node@c-2.me) 533808 | 533744
-> [ 684.000000] (3:node@c-2.me) 533872 | 533744
-> [ 684.000000] (3:node@c-2.me) 534000 | 533744
-> [ 684.000000] (3:node@c-2.me) 534256 | 533744
-> [ 684.000000] (3:node@c-2.me) 534768 | 533744
-> [ 684.000000] (3:node@c-2.me) 535792 | 533744
-> [ 684.000000] (3:node@c-2.me) 537840 | 533744
-> [ 684.000000] (3:node@c-2.me) 541936 | 533744
-> [ 684.000000] (3:node@c-2.me) 550128 | 533744
-> [ 684.000000] (3:node@c-2.me) 566512 | 533744
-> [ 684.000000] (3:node@c-2.me) 599280 | 533744
-> [ 684.000000] (3:node@c-2.me) 664816 | 533744
-> [ 684.000000] (3:node@c-2.me) 795888 | 533744
-> [ 684.000000] (3:node@c-2.me) 1058032 | 533744
-> [ 684.000000] (3:node@c-2.me) 1582320 | 533744
-> [ 684.000000] (3:node@c-2.me) 2630896 | 533744
-> [ 684.000000] (3:node@c-2.me) 4728048 | 533744
-> [ 684.000000] (3:node@c-2.me) 8922352 | 533744
-> [ 684.000000] (3:node@c-2.me) Predecessor: 366680
-> [ 721.000000] (10:node@c-9.me) My finger table:
-> [ 721.000000] (10:node@c-9.me) Start | Succ
-> [ 721.000000] (10:node@c-9.me) 2015254 | 6518808
-> [ 721.000000] (10:node@c-9.me) 2015255 | 16728096
-> [ 721.000000] (10:node@c-9.me) 2015257 | 6518808
-> [ 721.000000] (10:node@c-9.me) 2015261 | 6518808
-> [ 721.000000] (10:node@c-9.me) 2015269 | 6518808
-> [ 721.000000] (10:node@c-9.me) 2015285 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2015317 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2015381 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2015509 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2015765 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2016277 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2017301 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2019349 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2023445 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2031637 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2048021 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2080789 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2146325 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2277397 | 2015253
-> [ 721.000000] (10:node@c-9.me) 2539541 | 2015253
-> [ 721.000000] (10:node@c-9.me) 3063829 | 2015253
-> [ 721.000000] (10:node@c-9.me) 4112405 | 2015253
-> [ 721.000000] (10:node@c-9.me) 6209557 | 2015253
-> [ 721.000000] (10:node@c-9.me) 10403861 | 2015253
-> [ 721.000000] (10:node@c-9.me) Predecessor: 1319738
-> [ 744.000000] (6:node@c-5.me) My finger table:
-> [ 744.000000] (6:node@c-5.me) Start | Succ
-> [ 744.000000] (6:node@c-5.me) 10874877 | 16728096
-> [ 744.000000] (6:node@c-5.me) 10874878 | 533744
-> [ 744.000000] (6:node@c-5.me) 10874880 | 533744
-> [ 744.000000] (6:node@c-5.me) 10874884 | 533744
-> [ 744.000000] (6:node@c-5.me) 10874892 | 533744
-> [ 744.000000] (6:node@c-5.me) 10874908 | 16728096
-> [ 744.000000] (6:node@c-5.me) 10874940 | 10874876
-> [ 744.000000] (6:node@c-5.me) 10875004 | 10874876
-> [ 744.000000] (6:node@c-5.me) 10875132 | 10874876
-> [ 744.000000] (6:node@c-5.me) 10875388 | 10874876
-> [ 744.000000] (6:node@c-5.me) 10875900 | 10874876
-> [ 744.000000] (6:node@c-5.me) 10876924 | 10874876
-> [ 744.000000] (6:node@c-5.me) 10878972 | 10874876
-> [ 744.000000] (6:node@c-5.me) 10883068 | 10874876
-> [ 744.000000] (6:node@c-5.me) 10891260 | 10874876
-> [ 744.000000] (6:node@c-5.me) 10907644 | 10874876
-> [ 744.000000] (6:node@c-5.me) 10940412 | 10874876
-> [ 744.000000] (6:node@c-5.me) 11005948 | 10874876
-> [ 744.000000] (6:node@c-5.me) 11137020 | 10874876
-> [ 744.000000] (6:node@c-5.me) 11399164 | 10874876
-> [ 744.000000] (6:node@c-5.me) 11923452 | 10874876
-> [ 744.000000] (6:node@c-5.me) 12972028 | 10874876
-> [ 744.000000] (6:node@c-5.me) 15069180 | 10874876
-> [ 744.000000] (6:node@c-5.me) 2486268 | 10874876
-> [ 744.000000] (6:node@c-5.me) Predecessor: -1
-> [ 777.000000] (7:node@c-6.me) My finger table:
-> [ 777.000000] (7:node@c-6.me) Start | Succ
-> [ 777.000000] (7:node@c-6.me) 16728097 | 42
-> [ 777.000000] (7:node@c-6.me) 16728098 | 42
-> [ 777.000000] (7:node@c-6.me) 16728100 | 42
-> [ 777.000000] (7:node@c-6.me) 16728104 | 42
-> [ 777.000000] (7:node@c-6.me) 16728112 | 42
-> [ 777.000000] (7:node@c-6.me) 16728128 | 42
-> [ 777.000000] (7:node@c-6.me) 16728160 | 16728096
-> [ 777.000000] (7:node@c-6.me) 16728224 | 16728096
-> [ 777.000000] (7:node@c-6.me) 16728352 | 16728096
-> [ 777.000000] (7:node@c-6.me) 16728608 | 16728096
-> [ 777.000000] (7:node@c-6.me) 16729120 | 16728096
-> [ 777.000000] (7:node@c-6.me) 16730144 | 16728096
-> [ 777.000000] (7:node@c-6.me) 16732192 | 16728096
-> [ 777.000000] (7:node@c-6.me) 16736288 | 16728096
-> [ 777.000000] (7:node@c-6.me) 16744480 | 16728096
-> [ 777.000000] (7:node@c-6.me) 16760864 | 16728096
-> [ 777.000000] (7:node@c-6.me) 16416 | 16728096
-> [ 777.000000] (7:node@c-6.me) 81952 | 16728096
-> [ 777.000000] (7:node@c-6.me) 213024 | 16728096
-> [ 777.000000] (7:node@c-6.me) 475168 | 16728096
-> [ 777.000000] (7:node@c-6.me) 999456 | 16728096
-> [ 777.000000] (7:node@c-6.me) 2048032 | 16728096
-> [ 777.000000] (7:node@c-6.me) 4145184 | 16728096
-> [ 777.000000] (7:node@c-6.me) 8339488 | 16728096
-> [ 777.000000] (7:node@c-6.me) Predecessor: 16509405
-> [ 786.000000] (5:node@c-4.me) My finger table:
-> [ 786.000000] (5:node@c-4.me) Start | Succ
-> [ 786.000000] (5:node@c-4.me) 16509406 | 16728096
-> [ 786.000000] (5:node@c-4.me) 16509407 | 366680
-> [ 786.000000] (5:node@c-4.me) 16509409 | 16728096
-> [ 786.000000] (5:node@c-4.me) 16509413 | 16728096
-> [ 786.000000] (5:node@c-4.me) 16509421 | 16728096
-> [ 786.000000] (5:node@c-4.me) 16509437 | 16728096
-> [ 786.000000] (5:node@c-4.me) 16509469 | 16509405
-> [ 786.000000] (5:node@c-4.me) 16509533 | 16509405
-> [ 786.000000] (5:node@c-4.me) 16509661 | 16509405
-> [ 786.000000] (5:node@c-4.me) 16509917 | 16509405
-> [ 786.000000] (5:node@c-4.me) 16510429 | 16509405
-> [ 786.000000] (5:node@c-4.me) 16511453 | 16509405
-> [ 786.000000] (5:node@c-4.me) 16513501 | 16509405
-> [ 786.000000] (5:node@c-4.me) 16517597 | 16509405
-> [ 786.000000] (5:node@c-4.me) 16525789 | 16509405
-> [ 786.000000] (5:node@c-4.me) 16542173 | 16509405
-> [ 786.000000] (5:node@c-4.me) 16574941 | 16509405
-> [ 786.000000] (5:node@c-4.me) 16640477 | 16509405
-> [ 786.000000] (5:node@c-4.me) 16771549 | 16509405
-> [ 786.000000] (5:node@c-4.me) 256477 | 16509405
-> [ 786.000000] (5:node@c-4.me) 780765 | 16509405
-> [ 786.000000] (5:node@c-4.me) 1829341 | 16509405
-> [ 786.000000] (5:node@c-4.me) 3926493 | 16509405
-> [ 786.000000] (5:node@c-4.me) 8120797 | 16509405
-> [ 786.000000] (5:node@c-4.me) Predecessor: 10004760
-> [ 787.000000] (4:node@c-3.me) My finger table:
-> [ 787.000000] (4:node@c-3.me) Start | Succ
-> [ 787.000000] (4:node@c-3.me) 1319739 | 2015253
-> [ 787.000000] (4:node@c-3.me) 1319740 | 6518808
-> [ 787.000000] (4:node@c-3.me) 1319742 | 2015253
-> [ 787.000000] (4:node@c-3.me) 1319746 | 2015253
-> [ 787.000000] (4:node@c-3.me) 1319754 | 2015253
-> [ 787.000000] (4:node@c-3.me) 1319770 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1319802 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1319866 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1319994 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1320250 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1320762 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1321786 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1323834 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1327930 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1336122 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1352506 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1385274 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1450810 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1581882 | 1319738
-> [ 787.000000] (4:node@c-3.me) 1844026 | 1319738
-> [ 787.000000] (4:node@c-3.me) 2368314 | 1319738
-> [ 787.000000] (4:node@c-3.me) 3416890 | 1319738
-> [ 787.000000] (4:node@c-3.me) 5514042 | 1319738
-> [ 787.000000] (4:node@c-3.me) 9708346 | 1319738
-> [ 787.000000] (4:node@c-3.me) Predecessor: 533744
-> [ 788.000000] (1:node@c-0.me) My finger table:
-> [ 788.000000] (1:node@c-0.me) Start | Succ
-> [ 788.000000] (1:node@c-0.me) 43 | 366680
-> [ 788.000000] (1:node@c-0.me) 44 | 1319738
-> [ 788.000000] (1:node@c-0.me) 46 | 366680
-> [ 788.000000] (1:node@c-0.me) 50 | 366680
-> [ 788.000000] (1:node@c-0.me) 58 | 366680
-> [ 788.000000] (1:node@c-0.me) 74 | 366680
-> [ 788.000000] (1:node@c-0.me) 106 | 42
-> [ 788.000000] (1:node@c-0.me) 170 | 42
-> [ 788.000000] (1:node@c-0.me) 298 | 42
-> [ 788.000000] (1:node@c-0.me) 554 | 42
-> [ 788.000000] (1:node@c-0.me) 1066 | 42
-> [ 788.000000] (1:node@c-0.me) 2090 | 42
-> [ 788.000000] (1:node@c-0.me) 4138 | 42
-> [ 788.000000] (1:node@c-0.me) 8234 | 42
-> [ 788.000000] (1:node@c-0.me) 16426 | 42
-> [ 788.000000] (1:node@c-0.me) 32810 | 42
-> [ 788.000000] (1:node@c-0.me) 65578 | 42
-> [ 788.000000] (1:node@c-0.me) 131114 | 42
-> [ 788.000000] (1:node@c-0.me) 262186 | 42
-> [ 788.000000] (1:node@c-0.me) 524330 | 42
-> [ 788.000000] (1:node@c-0.me) 1048618 | 42
-> [ 788.000000] (1:node@c-0.me) 2097194 | 42
-> [ 788.000000] (1:node@c-0.me) 4194346 | 42
-> [ 788.000000] (1:node@c-0.me) 8388650 | 42
-> [ 788.000000] (1:node@c-0.me) Predecessor: 16728096
-> [ 793.000000] (3:node@c-2.me) My finger table:
-> [ 793.000000] (3:node@c-2.me) Start | Succ
-> [ 793.000000] (3:node@c-2.me) 533745 | 1319738
-> [ 793.000000] (3:node@c-2.me) 533746 | 10004760
-> [ 793.000000] (3:node@c-2.me) 533748 | 10004760
-> [ 793.000000] (3:node@c-2.me) 533752 | 6518808
-> [ 793.000000] (3:node@c-2.me) 533760 | 1319738
-> [ 793.000000] (3:node@c-2.me) 533776 | 1319738
-> [ 793.000000] (3:node@c-2.me) 533808 | 533744
-> [ 793.000000] (3:node@c-2.me) 533872 | 533744
-> [ 793.000000] (3:node@c-2.me) 534000 | 533744
-> [ 793.000000] (3:node@c-2.me) 534256 | 533744
-> [ 793.000000] (3:node@c-2.me) 534768 | 533744
-> [ 793.000000] (3:node@c-2.me) 535792 | 533744
-> [ 793.000000] (3:node@c-2.me) 537840 | 533744
-> [ 793.000000] (3:node@c-2.me) 541936 | 533744
-> [ 793.000000] (3:node@c-2.me) 550128 | 533744
-> [ 793.000000] (3:node@c-2.me) 566512 | 533744
-> [ 793.000000] (3:node@c-2.me) 599280 | 533744
-> [ 793.000000] (3:node@c-2.me) 664816 | 533744
-> [ 793.000000] (3:node@c-2.me) 795888 | 533744
-> [ 793.000000] (3:node@c-2.me) 1058032 | 533744
-> [ 793.000000] (3:node@c-2.me) 1582320 | 533744
-> [ 793.000000] (3:node@c-2.me) 2630896 | 533744
-> [ 793.000000] (3:node@c-2.me) 4728048 | 533744
-> [ 793.000000] (3:node@c-2.me) 8922352 | 533744
-> [ 793.000000] (3:node@c-2.me) Predecessor: 366680
-> [ 797.000000] (5:node@c-4.me) My finger table:
-> [ 797.000000] (5:node@c-4.me) Start | Succ
-> [ 797.000000] (5:node@c-4.me) 16509406 | 16728096
-> [ 797.000000] (5:node@c-4.me) 16509407 | 366680
-> [ 797.000000] (5:node@c-4.me) 16509409 | 16728096
-> [ 797.000000] (5:node@c-4.me) 16509413 | 16728096
-> [ 797.000000] (5:node@c-4.me) 16509421 | 16728096
-> [ 797.000000] (5:node@c-4.me) 16509437 | 16728096
-> [ 797.000000] (5:node@c-4.me) 16509469 | 16509405
-> [ 797.000000] (5:node@c-4.me) 16509533 | 16509405
-> [ 797.000000] (5:node@c-4.me) 16509661 | 16509405
-> [ 797.000000] (5:node@c-4.me) 16509917 | 16509405
-> [ 797.000000] (5:node@c-4.me) 16510429 | 16509405
-> [ 797.000000] (5:node@c-4.me) 16511453 | 16509405
-> [ 797.000000] (5:node@c-4.me) 16513501 | 16509405
-> [ 797.000000] (5:node@c-4.me) 16517597 | 16509405
-> [ 797.000000] (5:node@c-4.me) 16525789 | 16509405
-> [ 797.000000] (5:node@c-4.me) 16542173 | 16509405
-> [ 797.000000] (5:node@c-4.me) 16574941 | 16509405
-> [ 797.000000] (5:node@c-4.me) 16640477 | 16509405
-> [ 797.000000] (5:node@c-4.me) 16771549 | 16509405
-> [ 797.000000] (5:node@c-4.me) 256477 | 16509405
-> [ 797.000000] (5:node@c-4.me) 780765 | 16509405
-> [ 797.000000] (5:node@c-4.me) 1829341 | 16509405
-> [ 797.000000] (5:node@c-4.me) 3926493 | 16509405
-> [ 797.000000] (5:node@c-4.me) 8120797 | 16509405
-> [ 797.000000] (5:node@c-4.me) Predecessor: 10874876
-> [ 798.000000] (8:node@c-7.me) My finger table:
-> [ 798.000000] (8:node@c-7.me) Start | Succ
-> [ 798.000000] (8:node@c-7.me) 10004761 | 16509405
-> [ 798.000000] (8:node@c-7.me) 10004762 | 16509405
-> [ 798.000000] (8:node@c-7.me) 10004764 | 16509405
-> [ 798.000000] (8:node@c-7.me) 10004768 | 16509405
-> [ 798.000000] (8:node@c-7.me) 10004776 | 16509405
-> [ 798.000000] (8:node@c-7.me) 10004792 | 16509405
-> [ 798.000000] (8:node@c-7.me) 10004824 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10004888 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10005016 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10005272 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10005784 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10006808 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10008856 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10012952 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10021144 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10037528 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10070296 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10135832 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10266904 | 10004760
-> [ 798.000000] (8:node@c-7.me) 10529048 | 10004760
-> [ 798.000000] (8:node@c-7.me) 11053336 | 10004760
-> [ 798.000000] (8:node@c-7.me) 12101912 | 10004760
-> [ 798.000000] (8:node@c-7.me) 14199064 | 10004760
-> [ 798.000000] (8:node@c-7.me) 1616152 | 10004760
-> [ 798.000000] (8:node@c-7.me) Predecessor: 6518808
-> [ 801.000000] (9:node@c-8.me) My finger table:
-> [ 801.000000] (9:node@c-8.me) Start | Succ
-> [ 801.000000] (9:node@c-8.me) 6518809 | 10004760
-> [ 801.000000] (9:node@c-8.me) 6518810 | 16728096
-> [ 801.000000] (9:node@c-8.me) 6518812 | 10004760
-> [ 801.000000] (9:node@c-8.me) 6518816 | 10004760
-> [ 801.000000] (9:node@c-8.me) 6518824 | 10004760
-> [ 801.000000] (9:node@c-8.me) 6518840 | 10004760
-> [ 801.000000] (9:node@c-8.me) 6518872 | 6518808
-> [ 801.000000] (9:node@c-8.me) 6518936 | 6518808
-> [ 801.000000] (9:node@c-8.me) 6519064 | 6518808
-> [ 801.000000] (9:node@c-8.me) 6519320 | 6518808
-> [ 801.000000] (9:node@c-8.me) 6519832 | 6518808
-> [ 801.000000] (9:node@c-8.me) 6520856 | 6518808
-> [ 801.000000] (9:node@c-8.me) 6522904 | 6518808
-> [ 801.000000] (9:node@c-8.me) 6527000 | 6518808
-> [ 801.000000] (9:node@c-8.me) 6535192 | 6518808
-> [ 801.000000] (9:node@c-8.me) 6551576 | 6518808
-> [ 801.000000] (9:node@c-8.me) 6584344 | 6518808
-> [ 801.000000] (9:node@c-8.me) 6649880 | 6518808
-> [ 801.000000] (9:node@c-8.me) 6780952 | 6518808
-> [ 801.000000] (9:node@c-8.me) 7043096 | 6518808
-> [ 801.000000] (9:node@c-8.me) 7567384 | 6518808
-> [ 801.000000] (9:node@c-8.me) 8615960 | 6518808
-> [ 801.000000] (9:node@c-8.me) 10713112 | 6518808
-> [ 801.000000] (9:node@c-8.me) 14907416 | 6518808
-> [ 801.000000] (9:node@c-8.me) Predecessor: 2015253
-> [ 804.000000] (2:node@c-1.me) My finger table:
-> [ 804.000000] (2:node@c-1.me) Start | Succ
-> [ 804.000000] (2:node@c-1.me) 366681 | 533744
-> [ 804.000000] (2:node@c-1.me) 366682 | 1319738
-> [ 804.000000] (2:node@c-1.me) 366684 | 1319738
-> [ 804.000000] (2:node@c-1.me) 366688 | 1319738
-> [ 804.000000] (2:node@c-1.me) 366696 | 533744
-> [ 804.000000] (2:node@c-1.me) 366712 | 533744
-> [ 804.000000] (2:node@c-1.me) 366744 | 366680
-> [ 804.000000] (2:node@c-1.me) 366808 | 366680
-> [ 804.000000] (2:node@c-1.me) 366936 | 366680
-> [ 804.000000] (2:node@c-1.me) 367192 | 366680
-> [ 804.000000] (2:node@c-1.me) 367704 | 366680
-> [ 804.000000] (2:node@c-1.me) 368728 | 366680
-> [ 804.000000] (2:node@c-1.me) 370776 | 366680
-> [ 804.000000] (2:node@c-1.me) 374872 | 366680
-> [ 804.000000] (2:node@c-1.me) 383064 | 366680
-> [ 804.000000] (2:node@c-1.me) 399448 | 366680
-> [ 804.000000] (2:node@c-1.me) 432216 | 366680
-> [ 804.000000] (2:node@c-1.me) 497752 | 366680
-> [ 804.000000] (2:node@c-1.me) 628824 | 366680
-> [ 804.000000] (2:node@c-1.me) 890968 | 366680
-> [ 804.000000] (2:node@c-1.me) 1415256 | 366680
-> [ 804.000000] (2:node@c-1.me) 2463832 | 366680
-> [ 804.000000] (2:node@c-1.me) 4560984 | 366680
-> [ 804.000000] (2:node@c-1.me) 8755288 | 366680
-> [ 804.000000] (2:node@c-1.me) Predecessor: 42
-> [ 843.000000] (10:node@c-9.me) My finger table:
-> [ 843.000000] (10:node@c-9.me) Start | Succ
-> [ 843.000000] (10:node@c-9.me) 2015254 | 6518808
-> [ 843.000000] (10:node@c-9.me) 2015255 | 16728096
-> [ 843.000000] (10:node@c-9.me) 2015257 | 6518808
-> [ 843.000000] (10:node@c-9.me) 2015261 | 6518808
-> [ 843.000000] (10:node@c-9.me) 2015269 | 6518808
-> [ 843.000000] (10:node@c-9.me) 2015285 | 6518808
-> [ 843.000000] (10:node@c-9.me) 2015317 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2015381 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2015509 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2015765 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2016277 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2017301 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2019349 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2023445 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2031637 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2048021 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2080789 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2146325 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2277397 | 2015253
-> [ 843.000000] (10:node@c-9.me) 2539541 | 2015253
-> [ 843.000000] (10:node@c-9.me) 3063829 | 2015253
-> [ 843.000000] (10:node@c-9.me) 4112405 | 2015253
-> [ 843.000000] (10:node@c-9.me) 6209557 | 2015253
-> [ 843.000000] (10:node@c-9.me) 10403861 | 2015253
-> [ 843.000000] (10:node@c-9.me) Predecessor: 1319738
-> [ 865.000000] (6:node@c-5.me) My finger table:
-> [ 865.000000] (6:node@c-5.me) Start | Succ
-> [ 865.000000] (6:node@c-5.me) 10874877 | 16509405
-> [ 865.000000] (6:node@c-5.me) 10874878 | 533744
-> [ 865.000000] (6:node@c-5.me) 10874880 | 533744
-> [ 865.000000] (6:node@c-5.me) 10874884 | 533744
-> [ 865.000000] (6:node@c-5.me) 10874892 | 533744
-> [ 865.000000] (6:node@c-5.me) 10874908 | 16728096
-> [ 865.000000] (6:node@c-5.me) 10874940 | 16509405
-> [ 865.000000] (6:node@c-5.me) 10875004 | 10874876
-> [ 865.000000] (6:node@c-5.me) 10875132 | 10874876
-> [ 865.000000] (6:node@c-5.me) 10875388 | 10874876
-> [ 865.000000] (6:node@c-5.me) 10875900 | 10874876
-> [ 865.000000] (6:node@c-5.me) 10876924 | 10874876
-> [ 865.000000] (6:node@c-5.me) 10878972 | 10874876
-> [ 865.000000] (6:node@c-5.me) 10883068 | 10874876
-> [ 865.000000] (6:node@c-5.me) 10891260 | 10874876
-> [ 865.000000] (6:node@c-5.me) 10907644 | 10874876
-> [ 865.000000] (6:node@c-5.me) 10940412 | 10874876
-> [ 865.000000] (6:node@c-5.me) 11005948 | 10874876
-> [ 865.000000] (6:node@c-5.me) 11137020 | 10874876
-> [ 865.000000] (6:node@c-5.me) 11399164 | 10874876
-> [ 865.000000] (6:node@c-5.me) 11923452 | 10874876
-> [ 865.000000] (6:node@c-5.me) 12972028 | 10874876
-> [ 865.000000] (6:node@c-5.me) 15069180 | 10874876
-> [ 865.000000] (6:node@c-5.me) 2486268 | 10874876
-> [ 865.000000] (6:node@c-5.me) Predecessor: -1
-> [ 870.000000] (6:node@c-5.me) My finger table:
-> [ 870.000000] (6:node@c-5.me) Start | Succ
-> [ 870.000000] (6:node@c-5.me) 10874877 | 16509405
-> [ 870.000000] (6:node@c-5.me) 10874878 | 533744
-> [ 870.000000] (6:node@c-5.me) 10874880 | 533744
-> [ 870.000000] (6:node@c-5.me) 10874884 | 533744
-> [ 870.000000] (6:node@c-5.me) 10874892 | 533744
-> [ 870.000000] (6:node@c-5.me) 10874908 | 16728096
-> [ 870.000000] (6:node@c-5.me) 10874940 | 16509405
-> [ 870.000000] (6:node@c-5.me) 10875004 | 10874876
-> [ 870.000000] (6:node@c-5.me) 10875132 | 10874876
-> [ 870.000000] (6:node@c-5.me) 10875388 | 10874876
-> [ 870.000000] (6:node@c-5.me) 10875900 | 10874876
-> [ 870.000000] (6:node@c-5.me) 10876924 | 10874876
-> [ 870.000000] (6:node@c-5.me) 10878972 | 10874876
-> [ 870.000000] (6:node@c-5.me) 10883068 | 10874876
-> [ 870.000000] (6:node@c-5.me) 10891260 | 10874876
-> [ 870.000000] (6:node@c-5.me) 10907644 | 10874876
-> [ 870.000000] (6:node@c-5.me) 10940412 | 10874876
-> [ 870.000000] (6:node@c-5.me) 11005948 | 10874876
-> [ 870.000000] (6:node@c-5.me) 11137020 | 10874876
-> [ 870.000000] (6:node@c-5.me) 11399164 | 10874876
-> [ 870.000000] (6:node@c-5.me) 11923452 | 10874876
-> [ 870.000000] (6:node@c-5.me) 12972028 | 10874876
-> [ 870.000000] (6:node@c-5.me) 15069180 | 10874876
-> [ 870.000000] (6:node@c-5.me) 2486268 | 10874876
-> [ 870.000000] (6:node@c-5.me) Predecessor: 10004760
-> [ 910.000000] (5:node@c-4.me) My finger table:
-> [ 910.000000] (5:node@c-4.me) Start | Succ
-> [ 910.000000] (5:node@c-4.me) 16509406 | 16728096
-> [ 910.000000] (5:node@c-4.me) 16509407 | 366680
-> [ 910.000000] (5:node@c-4.me) 16509409 | 16728096
-> [ 910.000000] (5:node@c-4.me) 16509413 | 16728096
-> [ 910.000000] (5:node@c-4.me) 16509421 | 16728096
-> [ 910.000000] (5:node@c-4.me) 16509437 | 16728096
-> [ 910.000000] (5:node@c-4.me) 16509469 | 16728096
-> [ 910.000000] (5:node@c-4.me) 16509533 | 16509405
-> [ 910.000000] (5:node@c-4.me) 16509661 | 16509405
-> [ 910.000000] (5:node@c-4.me) 16509917 | 16509405
-> [ 910.000000] (5:node@c-4.me) 16510429 | 16509405
-> [ 910.000000] (5:node@c-4.me) 16511453 | 16509405
-> [ 910.000000] (5:node@c-4.me) 16513501 | 16509405
-> [ 910.000000] (5:node@c-4.me) 16517597 | 16509405
-> [ 910.000000] (5:node@c-4.me) 16525789 | 16509405
-> [ 910.000000] (5:node@c-4.me) 16542173 | 16509405
-> [ 910.000000] (5:node@c-4.me) 16574941 | 16509405
-> [ 910.000000] (5:node@c-4.me) 16640477 | 16509405
-> [ 910.000000] (5:node@c-4.me) 16771549 | 16509405
-> [ 910.000000] (5:node@c-4.me) 256477 | 16509405
-> [ 910.000000] (5:node@c-4.me) 780765 | 16509405
-> [ 910.000000] (5:node@c-4.me) 1829341 | 16509405
-> [ 910.000000] (5:node@c-4.me) 3926493 | 16509405
-> [ 910.000000] (5:node@c-4.me) 8120797 | 16509405
-> [ 910.000000] (5:node@c-4.me) Predecessor: 10874876
-> [ 912.000000] (1:node@c-0.me) My finger table:
-> [ 912.000000] (1:node@c-0.me) Start | Succ
-> [ 912.000000] (1:node@c-0.me) 43 | 366680
-> [ 912.000000] (1:node@c-0.me) 44 | 1319738
-> [ 912.000000] (1:node@c-0.me) 46 | 366680
-> [ 912.000000] (1:node@c-0.me) 50 | 366680
-> [ 912.000000] (1:node@c-0.me) 58 | 366680
-> [ 912.000000] (1:node@c-0.me) 74 | 366680
-> [ 912.000000] (1:node@c-0.me) 106 | 366680
-> [ 912.000000] (1:node@c-0.me) 170 | 42
-> [ 912.000000] (1:node@c-0.me) 298 | 42
-> [ 912.000000] (1:node@c-0.me) 554 | 42
-> [ 912.000000] (1:node@c-0.me) 1066 | 42
-> [ 912.000000] (1:node@c-0.me) 2090 | 42
-> [ 912.000000] (1:node@c-0.me) 4138 | 42
-> [ 912.000000] (1:node@c-0.me) 8234 | 42
-> [ 912.000000] (1:node@c-0.me) 16426 | 42
-> [ 912.000000] (1:node@c-0.me) 32810 | 42
-> [ 912.000000] (1:node@c-0.me) 65578 | 42
-> [ 912.000000] (1:node@c-0.me) 131114 | 42
-> [ 912.000000] (1:node@c-0.me) 262186 | 42
-> [ 912.000000] (1:node@c-0.me) 524330 | 42
-> [ 912.000000] (1:node@c-0.me) 1048618 | 42
-> [ 912.000000] (1:node@c-0.me) 2097194 | 42
-> [ 912.000000] (1:node@c-0.me) 4194346 | 42
-> [ 912.000000] (1:node@c-0.me) 8388650 | 42
-> [ 912.000000] (1:node@c-0.me) Predecessor: 16728096
-> [ 913.000000] (3:node@c-2.me) My finger table:
-> [ 913.000000] (3:node@c-2.me) Start | Succ
-> [ 913.000000] (3:node@c-2.me) 533745 | 1319738
-> [ 913.000000] (3:node@c-2.me) 533746 | 10004760
-> [ 913.000000] (3:node@c-2.me) 533748 | 10004760
-> [ 913.000000] (3:node@c-2.me) 533752 | 6518808
-> [ 913.000000] (3:node@c-2.me) 533760 | 1319738
-> [ 913.000000] (3:node@c-2.me) 533776 | 1319738
-> [ 913.000000] (3:node@c-2.me) 533808 | 1319738
-> [ 913.000000] (3:node@c-2.me) 533872 | 533744
-> [ 913.000000] (3:node@c-2.me) 534000 | 533744
-> [ 913.000000] (3:node@c-2.me) 534256 | 533744
-> [ 913.000000] (3:node@c-2.me) 534768 | 533744
-> [ 913.000000] (3:node@c-2.me) 535792 | 533744
-> [ 913.000000] (3:node@c-2.me) 537840 | 533744
-> [ 913.000000] (3:node@c-2.me) 541936 | 533744
-> [ 913.000000] (3:node@c-2.me) 550128 | 533744
-> [ 913.000000] (3:node@c-2.me) 566512 | 533744
-> [ 913.000000] (3:node@c-2.me) 599280 | 533744
-> [ 913.000000] (3:node@c-2.me) 664816 | 533744
-> [ 913.000000] (3:node@c-2.me) 795888 | 533744
-> [ 913.000000] (3:node@c-2.me) 1058032 | 533744
-> [ 913.000000] (3:node@c-2.me) 1582320 | 533744
-> [ 913.000000] (3:node@c-2.me) 2630896 | 533744
-> [ 913.000000] (3:node@c-2.me) 4728048 | 533744
-> [ 913.000000] (3:node@c-2.me) 8922352 | 533744
-> [ 913.000000] (3:node@c-2.me) Predecessor: 366680
-> [ 921.000000] (8:node@c-7.me) My finger table:
-> [ 921.000000] (8:node@c-7.me) Start | Succ
-> [ 921.000000] (8:node@c-7.me) 10004761 | 10874876
-> [ 921.000000] (8:node@c-7.me) 10004762 | 16509405
-> [ 921.000000] (8:node@c-7.me) 10004764 | 16509405
-> [ 921.000000] (8:node@c-7.me) 10004768 | 16509405
-> [ 921.000000] (8:node@c-7.me) 10004776 | 16509405
-> [ 921.000000] (8:node@c-7.me) 10004792 | 16509405
-> [ 921.000000] (8:node@c-7.me) 10004824 | 10874876
-> [ 921.000000] (8:node@c-7.me) 10004888 | 10004760
-> [ 921.000000] (8:node@c-7.me) 10005016 | 10004760
-> [ 921.000000] (8:node@c-7.me) 10005272 | 10004760
-> [ 921.000000] (8:node@c-7.me) 10005784 | 10004760
-> [ 921.000000] (8:node@c-7.me) 10006808 | 10004760
-> [ 921.000000] (8:node@c-7.me) 10008856 | 10004760
-> [ 921.000000] (8:node@c-7.me) 10012952 | 10004760
-> [ 921.000000] (8:node@c-7.me) 10021144 | 10004760
-> [ 921.000000] (8:node@c-7.me) 10037528 | 10004760
-> [ 921.000000] (8:node@c-7.me) 10070296 | 10004760
-> [ 921.000000] (8:node@c-7.me) 10135832 | 10004760
-> [ 921.000000] (8:node@c-7.me) 10266904 | 10004760
-> [ 921.000000] (8:node@c-7.me) 10529048 | 10004760
-> [ 921.000000] (8:node@c-7.me) 11053336 | 10004760
-> [ 921.000000] (8:node@c-7.me) 12101912 | 10004760
-> [ 921.000000] (8:node@c-7.me) 14199064 | 10004760
-> [ 921.000000] (8:node@c-7.me) 1616152 | 10004760
-> [ 921.000000] (8:node@c-7.me) Predecessor: 6518808
-> [ 964.000000] (2:node@c-1.me) My finger table:
-> [ 964.000000] (2:node@c-1.me) Start | Succ
-> [ 964.000000] (2:node@c-1.me) 366681 | 533744
-> [ 964.000000] (2:node@c-1.me) 366682 | 1319738
-> [ 964.000000] (2:node@c-1.me) 366684 | 1319738
-> [ 964.000000] (2:node@c-1.me) 366688 | 1319738
-> [ 964.000000] (2:node@c-1.me) 366696 | 533744
-> [ 964.000000] (2:node@c-1.me) 366712 | 533744
-> [ 964.000000] (2:node@c-1.me) 366744 | 533744
-> [ 964.000000] (2:node@c-1.me) 366808 | 366680
-> [ 964.000000] (2:node@c-1.me) 366936 | 366680
-> [ 964.000000] (2:node@c-1.me) 367192 | 366680
-> [ 964.000000] (2:node@c-1.me) 367704 | 366680
-> [ 964.000000] (2:node@c-1.me) 368728 | 366680
-> [ 964.000000] (2:node@c-1.me) 370776 | 366680
-> [ 964.000000] (2:node@c-1.me) 374872 | 366680
-> [ 964.000000] (2:node@c-1.me) 383064 | 366680
-> [ 964.000000] (2:node@c-1.me) 399448 | 366680
-> [ 964.000000] (2:node@c-1.me) 432216 | 366680
-> [ 964.000000] (2:node@c-1.me) 497752 | 366680
-> [ 964.000000] (2:node@c-1.me) 628824 | 366680
-> [ 964.000000] (2:node@c-1.me) 890968 | 366680
-> [ 964.000000] (2:node@c-1.me) 1415256 | 366680
-> [ 964.000000] (2:node@c-1.me) 2463832 | 366680
-> [ 964.000000] (2:node@c-1.me) 4560984 | 366680
-> [ 964.000000] (2:node@c-1.me) 8755288 | 366680
-> [ 964.000000] (2:node@c-1.me) Predecessor: 42
-> [ 966.000000] (4:node@c-3.me) My finger table:
-> [ 966.000000] (4:node@c-3.me) Start | Succ
-> [ 966.000000] (4:node@c-3.me) 1319739 | 2015253
-> [ 966.000000] (4:node@c-3.me) 1319740 | 6518808
-> [ 966.000000] (4:node@c-3.me) 1319742 | 2015253
-> [ 966.000000] (4:node@c-3.me) 1319746 | 2015253
-> [ 966.000000] (4:node@c-3.me) 1319754 | 2015253
-> [ 966.000000] (4:node@c-3.me) 1319770 | 2015253
-> [ 966.000000] (4:node@c-3.me) 1319802 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1319866 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1319994 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1320250 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1320762 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1321786 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1323834 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1327930 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1336122 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1352506 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1385274 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1450810 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1581882 | 1319738
-> [ 966.000000] (4:node@c-3.me) 1844026 | 1319738
-> [ 966.000000] (4:node@c-3.me) 2368314 | 1319738
-> [ 966.000000] (4:node@c-3.me) 3416890 | 1319738
-> [ 966.000000] (4:node@c-3.me) 5514042 | 1319738
-> [ 966.000000] (4:node@c-3.me) 9708346 | 1319738
-> [ 966.000000] (4:node@c-3.me) Predecessor: 533744
-> [ 966.000000] (7:node@c-6.me) My finger table:
-> [ 966.000000] (7:node@c-6.me) Start | Succ
-> [ 966.000000] (7:node@c-6.me) 16728097 | 42
-> [ 966.000000] (7:node@c-6.me) 16728098 | 42
-> [ 966.000000] (7:node@c-6.me) 16728100 | 42
-> [ 966.000000] (7:node@c-6.me) 16728104 | 42
-> [ 966.000000] (7:node@c-6.me) 16728112 | 42
-> [ 966.000000] (7:node@c-6.me) 16728128 | 42
-> [ 966.000000] (7:node@c-6.me) 16728160 | 42
-> [ 966.000000] (7:node@c-6.me) 16728224 | 16728096
-> [ 966.000000] (7:node@c-6.me) 16728352 | 16728096
-> [ 966.000000] (7:node@c-6.me) 16728608 | 16728096
-> [ 966.000000] (7:node@c-6.me) 16729120 | 16728096
-> [ 966.000000] (7:node@c-6.me) 16730144 | 16728096
-> [ 966.000000] (7:node@c-6.me) 16732192 | 16728096
-> [ 966.000000] (7:node@c-6.me) 16736288 | 16728096
-> [ 966.000000] (7:node@c-6.me) 16744480 | 16728096
-> [ 966.000000] (7:node@c-6.me) 16760864 | 16728096
-> [ 966.000000] (7:node@c-6.me) 16416 | 16728096
-> [ 966.000000] (7:node@c-6.me) 81952 | 16728096
-> [ 966.000000] (7:node@c-6.me) 213024 | 16728096
-> [ 966.000000] (7:node@c-6.me) 475168 | 16728096
-> [ 966.000000] (7:node@c-6.me) 999456 | 16728096
-> [ 966.000000] (7:node@c-6.me) 2048032 | 16728096
-> [ 966.000000] (7:node@c-6.me) 4145184 | 16728096
-> [ 966.000000] (7:node@c-6.me) 8339488 | 16728096
-> [ 966.000000] (7:node@c-6.me) Predecessor: 16509405
-> [ 973.000000] (9:node@c-8.me) My finger table:
-> [ 973.000000] (9:node@c-8.me) Start | Succ
-> [ 973.000000] (9:node@c-8.me) 6518809 | 10004760
-> [ 973.000000] (9:node@c-8.me) 6518810 | 16728096
-> [ 973.000000] (9:node@c-8.me) 6518812 | 10004760
-> [ 973.000000] (9:node@c-8.me) 6518816 | 10004760
-> [ 973.000000] (9:node@c-8.me) 6518824 | 10004760
-> [ 973.000000] (9:node@c-8.me) 6518840 | 10004760
-> [ 973.000000] (9:node@c-8.me) 6518872 | 10004760
-> [ 973.000000] (9:node@c-8.me) 6518936 | 6518808
-> [ 973.000000] (9:node@c-8.me) 6519064 | 6518808
-> [ 973.000000] (9:node@c-8.me) 6519320 | 6518808
-> [ 973.000000] (9:node@c-8.me) 6519832 | 6518808
-> [ 973.000000] (9:node@c-8.me) 6520856 | 6518808
-> [ 973.000000] (9:node@c-8.me) 6522904 | 6518808
-> [ 973.000000] (9:node@c-8.me) 6527000 | 6518808
-> [ 973.000000] (9:node@c-8.me) 6535192 | 6518808
-> [ 973.000000] (9:node@c-8.me) 6551576 | 6518808
-> [ 973.000000] (9:node@c-8.me) 6584344 | 6518808
-> [ 973.000000] (9:node@c-8.me) 6649880 | 6518808
-> [ 973.000000] (9:node@c-8.me) 6780952 | 6518808
-> [ 973.000000] (9:node@c-8.me) 7043096 | 6518808
-> [ 973.000000] (9:node@c-8.me) 7567384 | 6518808
-> [ 973.000000] (9:node@c-8.me) 8615960 | 6518808
-> [ 973.000000] (9:node@c-8.me) 10713112 | 6518808
-> [ 973.000000] (9:node@c-8.me) 14907416 | 6518808
-> [ 973.000000] (9:node@c-8.me) Predecessor: 2015253
-> [ 979.000000] (10:node@c-9.me) My finger table:
-> [ 979.000000] (10:node@c-9.me) Start | Succ
-> [ 979.000000] (10:node@c-9.me) 2015254 | 6518808
-> [ 979.000000] (10:node@c-9.me) 2015255 | 16728096
-> [ 979.000000] (10:node@c-9.me) 2015257 | 6518808
-> [ 979.000000] (10:node@c-9.me) 2015261 | 6518808
-> [ 979.000000] (10:node@c-9.me) 2015269 | 6518808
-> [ 979.000000] (10:node@c-9.me) 2015285 | 6518808
-> [ 979.000000] (10:node@c-9.me) 2015317 | 6518808
-> [ 979.000000] (10:node@c-9.me) 2015381 | 2015253
-> [ 979.000000] (10:node@c-9.me) 2015509 | 2015253
-> [ 979.000000] (10:node@c-9.me) 2015765 | 2015253
-> [ 979.000000] (10:node@c-9.me) 2016277 | 2015253
-> [ 979.000000] (10:node@c-9.me) 2017301 | 2015253
-> [ 979.000000] (10:node@c-9.me) 2019349 | 2015253
-> [ 979.000000] (10:node@c-9.me) 2023445 | 2015253
-> [ 979.000000] (10:node@c-9.me) 2031637 | 2015253
-> [ 979.000000] (10:node@c-9.me) 2048021 | 2015253
-> [ 979.000000] (10:node@c-9.me) 2080789 | 2015253
-> [ 979.000000] (10:node@c-9.me) 2146325 | 2015253
-> [ 979.000000] (10:node@c-9.me) 2277397 | 2015253
-> [ 979.000000] (10:node@c-9.me) 2539541 | 2015253
-> [ 979.000000] (10:node@c-9.me) 3063829 | 2015253
-> [ 979.000000] (10:node@c-9.me) 4112405 | 2015253
-> [ 979.000000] (10:node@c-9.me) 6209557 | 2015253
-> [ 979.000000] (10:node@c-9.me) 10403861 | 2015253
-> [ 979.000000] (10:node@c-9.me) Predecessor: 1319738
-> [ 987.000000] (6:node@c-5.me) My finger table:
-> [ 987.000000] (6:node@c-5.me) Start | Succ
-> [ 987.000000] (6:node@c-5.me) 10874877 | 16509405
-> [ 987.000000] (6:node@c-5.me) 10874878 | 533744
-> [ 987.000000] (6:node@c-5.me) 10874880 | 533744
-> [ 987.000000] (6:node@c-5.me) 10874884 | 533744
-> [ 987.000000] (6:node@c-5.me) 10874892 | 533744
-> [ 987.000000] (6:node@c-5.me) 10874908 | 16728096
-> [ 987.000000] (6:node@c-5.me) 10874940 | 16509405
-> [ 987.000000] (6:node@c-5.me) 10875004 | 16509405
-> [ 987.000000] (6:node@c-5.me) 10875132 | 10874876
-> [ 987.000000] (6:node@c-5.me) 10875388 | 10874876
-> [ 987.000000] (6:node@c-5.me) 10875900 | 10874876
-> [ 987.000000] (6:node@c-5.me) 10876924 | 10874876
-> [ 987.000000] (6:node@c-5.me) 10878972 | 10874876
-> [ 987.000000] (6:node@c-5.me) 10883068 | 10874876
-> [ 987.000000] (6:node@c-5.me) 10891260 | 10874876
-> [ 987.000000] (6:node@c-5.me) 10907644 | 10874876
-> [ 987.000000] (6:node@c-5.me) 10940412 | 10874876
-> [ 987.000000] (6:node@c-5.me) 11005948 | 10874876
-> [ 987.000000] (6:node@c-5.me) 11137020 | 10874876
-> [ 987.000000] (6:node@c-5.me) 11399164 | 10874876
-> [ 987.000000] (6:node@c-5.me) 11923452 | 10874876
-> [ 987.000000] (6:node@c-5.me) 12972028 | 10874876
-> [ 987.000000] (6:node@c-5.me) 15069180 | 10874876
-> [ 987.000000] (6:node@c-5.me) 2486268 | 10874876
-> [ 987.000000] (6:node@c-5.me) Predecessor: 10004760
-> [1196.000000] (0:@) Messages created: 1827
-> [1196.000000] (0:@) Simulated time: 1196
+> [ 5.999900] (2:node@c-1.me) My finger table:
+> [ 5.999900] (2:node@c-1.me) Start | Succ
+> [ 5.999900] (2:node@c-1.me) 366681 | 42
+> [ 5.999900] (2:node@c-1.me) 366682 | 366680
+> [ 5.999900] (2:node@c-1.me) 366684 | 366680
+> [ 5.999900] (2:node@c-1.me) 366688 | 366680
+> [ 5.999900] (2:node@c-1.me) 366696 | 366680
+> [ 5.999900] (2:node@c-1.me) 366712 | 366680
+> [ 5.999900] (2:node@c-1.me) 366744 | 366680
+> [ 5.999900] (2:node@c-1.me) 366808 | 366680
+> [ 5.999900] (2:node@c-1.me) 366936 | 366680
+> [ 5.999900] (2:node@c-1.me) 367192 | 366680
+> [ 5.999900] (2:node@c-1.me) 367704 | 366680
+> [ 5.999900] (2:node@c-1.me) 368728 | 366680
+> [ 5.999900] (2:node@c-1.me) 370776 | 366680
+> [ 5.999900] (2:node@c-1.me) 374872 | 366680
+> [ 5.999900] (2:node@c-1.me) 383064 | 366680
+> [ 5.999900] (2:node@c-1.me) 399448 | 366680
+> [ 5.999900] (2:node@c-1.me) 432216 | 366680
+> [ 5.999900] (2:node@c-1.me) 497752 | 366680
+> [ 5.999900] (2:node@c-1.me) 628824 | 366680
+> [ 5.999900] (2:node@c-1.me) 890968 | 366680
+> [ 5.999900] (2:node@c-1.me) 1415256 | 366680
+> [ 5.999900] (2:node@c-1.me) 2463832 | 366680
+> [ 5.999900] (2:node@c-1.me) 4560984 | 366680
+> [ 5.999900] (2:node@c-1.me) 8755288 | 366680
+> [ 5.999900] (2:node@c-1.me) Predecessor: -1
+> [ 7.999900] (7:node@c-6.me) My finger table:
+> [ 7.999900] (7:node@c-6.me) Start | Succ
+> [ 7.999900] (7:node@c-6.me) 16728097 | 1319738
+> [ 7.999900] (7:node@c-6.me) 16728098 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16728100 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16728104 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16728112 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16728128 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16728160 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16728224 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16728352 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16728608 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16729120 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16730144 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16732192 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16736288 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16744480 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16760864 | 16728096
+> [ 7.999900] (7:node@c-6.me) 16416 | 16728096
+> [ 7.999900] (7:node@c-6.me) 81952 | 16728096
+> [ 7.999900] (7:node@c-6.me) 213024 | 16728096
+> [ 7.999900] (7:node@c-6.me) 475168 | 16728096
+> [ 7.999900] (7:node@c-6.me) 999456 | 16728096
+> [ 7.999900] (7:node@c-6.me) 2048032 | 16728096
+> [ 7.999900] (7:node@c-6.me) 4145184 | 16728096
+> [ 7.999900] (7:node@c-6.me) 8339488 | 16728096
+> [ 7.999900] (7:node@c-6.me) Predecessor: -1
+> [ 8.999900] (10:node@c-9.me) My finger table:
+> [ 8.999900] (10:node@c-9.me) Start | Succ
+> [ 8.999900] (10:node@c-9.me) 2015254 | 1319738
+> [ 8.999900] (10:node@c-9.me) 2015255 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2015257 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2015261 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2015269 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2015285 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2015317 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2015381 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2015509 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2015765 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2016277 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2017301 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2019349 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2023445 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2031637 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2048021 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2080789 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2146325 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2277397 | 2015253
+> [ 8.999900] (10:node@c-9.me) 2539541 | 2015253
+> [ 8.999900] (10:node@c-9.me) 3063829 | 2015253
+> [ 8.999900] (10:node@c-9.me) 4112405 | 2015253
+> [ 8.999900] (10:node@c-9.me) 6209557 | 2015253
+> [ 8.999900] (10:node@c-9.me) 10403861 | 2015253
+> [ 8.999900] (10:node@c-9.me) Predecessor: -1
+> [ 10.999800] (4:node@c-3.me) My finger table:
+> [ 10.999800] (4:node@c-3.me) Start | Succ
+> [ 10.999800] (4:node@c-3.me) 1319739 | 42
+> [ 10.999800] (4:node@c-3.me) 1319740 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1319742 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1319746 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1319754 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1319770 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1319802 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1319866 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1319994 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1320250 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1320762 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1321786 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1323834 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1327930 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1336122 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1352506 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1385274 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1450810 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1581882 | 1319738
+> [ 10.999800] (4:node@c-3.me) 1844026 | 1319738
+> [ 10.999800] (4:node@c-3.me) 2368314 | 1319738
+> [ 10.999800] (4:node@c-3.me) 3416890 | 1319738
+> [ 10.999800] (4:node@c-3.me) 5514042 | 1319738
+> [ 10.999800] (4:node@c-3.me) 9708346 | 1319738
+> [ 10.999800] (4:node@c-3.me) Predecessor: -1
+> [ 15.999700] (9:node@c-8.me) My finger table:
+> [ 15.999700] (9:node@c-8.me) Start | Succ
+> [ 15.999700] (9:node@c-8.me) 6518809 | 42
+> [ 15.999700] (9:node@c-8.me) 6518810 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6518812 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6518816 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6518824 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6518840 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6518872 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6518936 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6519064 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6519320 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6519832 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6520856 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6522904 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6527000 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6535192 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6551576 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6584344 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6649880 | 6518808
+> [ 15.999700] (9:node@c-8.me) 6780952 | 6518808
+> [ 15.999700] (9:node@c-8.me) 7043096 | 6518808
+> [ 15.999700] (9:node@c-8.me) 7567384 | 6518808
+> [ 15.999700] (9:node@c-8.me) 8615960 | 6518808
+> [ 15.999700] (9:node@c-8.me) 10713112 | 6518808
+> [ 15.999700] (9:node@c-8.me) 14907416 | 6518808
+> [ 15.999700] (9:node@c-8.me) Predecessor: -1
+> [ 26.999600] (3:node@c-2.me) My finger table:
+> [ 26.999600] (3:node@c-2.me) Start | Succ
+> [ 26.999600] (3:node@c-2.me) 533745 | 366680
+> [ 26.999600] (3:node@c-2.me) 533746 | 533744
+> [ 26.999600] (3:node@c-2.me) 533748 | 533744
+> [ 26.999600] (3:node@c-2.me) 533752 | 533744
+> [ 26.999600] (3:node@c-2.me) 533760 | 533744
+> [ 26.999600] (3:node@c-2.me) 533776 | 533744
+> [ 26.999600] (3:node@c-2.me) 533808 | 533744
+> [ 26.999600] (3:node@c-2.me) 533872 | 533744
+> [ 26.999600] (3:node@c-2.me) 534000 | 533744
+> [ 26.999600] (3:node@c-2.me) 534256 | 533744
+> [ 26.999600] (3:node@c-2.me) 534768 | 533744
+> [ 26.999600] (3:node@c-2.me) 535792 | 533744
+> [ 26.999600] (3:node@c-2.me) 537840 | 533744
+> [ 26.999600] (3:node@c-2.me) 541936 | 533744
+> [ 26.999600] (3:node@c-2.me) 550128 | 533744
+> [ 26.999600] (3:node@c-2.me) 566512 | 533744
+> [ 26.999600] (3:node@c-2.me) 599280 | 533744
+> [ 26.999600] (3:node@c-2.me) 664816 | 533744
+> [ 26.999600] (3:node@c-2.me) 795888 | 533744
+> [ 26.999600] (3:node@c-2.me) 1058032 | 533744
+> [ 26.999600] (3:node@c-2.me) 1582320 | 533744
+> [ 26.999600] (3:node@c-2.me) 2630896 | 533744
+> [ 26.999600] (3:node@c-2.me) 4728048 | 533744
+> [ 26.999600] (3:node@c-2.me) 8922352 | 533744
+> [ 26.999600] (3:node@c-2.me) Predecessor: 10874876
+> [ 31.999400] (5:node@c-4.me) My finger table:
+> [ 31.999400] (5:node@c-4.me) Start | Succ
+> [ 31.999400] (5:node@c-4.me) 16509406 | 366680
+> [ 31.999400] (5:node@c-4.me) 16509407 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16509409 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16509413 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16509421 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16509437 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16509469 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16509533 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16509661 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16509917 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16510429 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16511453 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16513501 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16517597 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16525789 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16542173 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16574941 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16640477 | 16509405
+> [ 31.999400] (5:node@c-4.me) 16771549 | 16509405
+> [ 31.999400] (5:node@c-4.me) 256477 | 16509405
+> [ 31.999400] (5:node@c-4.me) 780765 | 16509405
+> [ 31.999400] (5:node@c-4.me) 1829341 | 16509405
+> [ 31.999400] (5:node@c-4.me) 3926493 | 16509405
+> [ 31.999400] (5:node@c-4.me) 8120797 | 16509405
+> [ 31.999400] (5:node@c-4.me) Predecessor: 10004760
+> [ 32.999400] (2:node@c-1.me) My finger table:
+> [ 32.999400] (2:node@c-1.me) Start | Succ
+> [ 32.999400] (2:node@c-1.me) 366681 | 42
+> [ 32.999400] (2:node@c-1.me) 366682 | 366680
+> [ 32.999400] (2:node@c-1.me) 366684 | 366680
+> [ 32.999400] (2:node@c-1.me) 366688 | 366680
+> [ 32.999400] (2:node@c-1.me) 366696 | 366680
+> [ 32.999400] (2:node@c-1.me) 366712 | 366680
+> [ 32.999400] (2:node@c-1.me) 366744 | 366680
+> [ 32.999400] (2:node@c-1.me) 366808 | 366680
+> [ 32.999400] (2:node@c-1.me) 366936 | 366680
+> [ 32.999400] (2:node@c-1.me) 367192 | 366680
+> [ 32.999400] (2:node@c-1.me) 367704 | 366680
+> [ 32.999400] (2:node@c-1.me) 368728 | 366680
+> [ 32.999400] (2:node@c-1.me) 370776 | 366680
+> [ 32.999400] (2:node@c-1.me) 374872 | 366680
+> [ 32.999400] (2:node@c-1.me) 383064 | 366680
+> [ 32.999400] (2:node@c-1.me) 399448 | 366680
+> [ 32.999400] (2:node@c-1.me) 432216 | 366680
+> [ 32.999400] (2:node@c-1.me) 497752 | 366680
+> [ 32.999400] (2:node@c-1.me) 628824 | 366680
+> [ 32.999400] (2:node@c-1.me) 890968 | 366680
+> [ 32.999400] (2:node@c-1.me) 1415256 | 366680
+> [ 32.999400] (2:node@c-1.me) 2463832 | 366680
+> [ 32.999400] (2:node@c-1.me) 4560984 | 366680
+> [ 32.999400] (2:node@c-1.me) 8755288 | 366680
+> [ 32.999400] (2:node@c-1.me) Predecessor: 533744
+> [ 33.999400] (2:node@c-1.me) My finger table:
+> [ 33.999400] (2:node@c-1.me) Start | Succ
+> [ 33.999400] (2:node@c-1.me) 366681 | 42
+> [ 33.999400] (2:node@c-1.me) 366682 | 366680
+> [ 33.999400] (2:node@c-1.me) 366684 | 366680
+> [ 33.999400] (2:node@c-1.me) 366688 | 366680
+> [ 33.999400] (2:node@c-1.me) 366696 | 366680
+> [ 33.999400] (2:node@c-1.me) 366712 | 366680
+> [ 33.999400] (2:node@c-1.me) 366744 | 366680
+> [ 33.999400] (2:node@c-1.me) 366808 | 366680
+> [ 33.999400] (2:node@c-1.me) 366936 | 366680
+> [ 33.999400] (2:node@c-1.me) 367192 | 366680
+> [ 33.999400] (2:node@c-1.me) 367704 | 366680
+> [ 33.999400] (2:node@c-1.me) 368728 | 366680
+> [ 33.999400] (2:node@c-1.me) 370776 | 366680
+> [ 33.999400] (2:node@c-1.me) 374872 | 366680
+> [ 33.999400] (2:node@c-1.me) 383064 | 366680
+> [ 33.999400] (2:node@c-1.me) 399448 | 366680
+> [ 33.999400] (2:node@c-1.me) 432216 | 366680
+> [ 33.999400] (2:node@c-1.me) 497752 | 366680
+> [ 33.999400] (2:node@c-1.me) 628824 | 366680
+> [ 33.999400] (2:node@c-1.me) 890968 | 366680
+> [ 33.999400] (2:node@c-1.me) 1415256 | 366680
+> [ 33.999400] (2:node@c-1.me) 2463832 | 366680
+> [ 33.999400] (2:node@c-1.me) 4560984 | 366680
+> [ 33.999400] (2:node@c-1.me) 8755288 | 366680
+> [ 33.999400] (2:node@c-1.me) Predecessor: 16509405
+> [ 35.999300] (4:node@c-3.me) My finger table:
+> [ 35.999300] (4:node@c-3.me) Start | Succ
+> [ 35.999300] (4:node@c-3.me) 1319739 | 42
+> [ 35.999300] (4:node@c-3.me) 1319740 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1319742 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1319746 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1319754 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1319770 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1319802 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1319866 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1319994 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1320250 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1320762 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1321786 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1323834 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1327930 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1336122 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1352506 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1385274 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1450810 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1581882 | 1319738
+> [ 35.999300] (4:node@c-3.me) 1844026 | 1319738
+> [ 35.999300] (4:node@c-3.me) 2368314 | 1319738
+> [ 35.999300] (4:node@c-3.me) 3416890 | 1319738
+> [ 35.999300] (4:node@c-3.me) 5514042 | 1319738
+> [ 35.999300] (4:node@c-3.me) 9708346 | 1319738
+> [ 35.999300] (4:node@c-3.me) Predecessor: 16728096
+> [ 49.999000] (1:node@c-0.me) My finger table:
+> [ 49.999000] (1:node@c-0.me) Start | Succ
+> [ 49.999000] (1:node@c-0.me) 43 | 42
+> [ 49.999000] (1:node@c-0.me) 44 | 42
+> [ 49.999000] (1:node@c-0.me) 46 | 42
+> [ 49.999000] (1:node@c-0.me) 50 | 42
+> [ 49.999000] (1:node@c-0.me) 58 | 42
+> [ 49.999000] (1:node@c-0.me) 74 | 42
+> [ 49.999000] (1:node@c-0.me) 106 | 42
+> [ 49.999000] (1:node@c-0.me) 170 | 42
+> [ 49.999000] (1:node@c-0.me) 298 | 42
+> [ 49.999000] (1:node@c-0.me) 554 | 42
+> [ 49.999000] (1:node@c-0.me) 1066 | 42
+> [ 49.999000] (1:node@c-0.me) 2090 | 42
+> [ 49.999000] (1:node@c-0.me) 4138 | 42
+> [ 49.999000] (1:node@c-0.me) 8234 | 42
+> [ 49.999000] (1:node@c-0.me) 16426 | 42
+> [ 49.999000] (1:node@c-0.me) 32810 | 42
+> [ 49.999000] (1:node@c-0.me) 65578 | 42
+> [ 49.999000] (1:node@c-0.me) 131114 | 42
+> [ 49.999000] (1:node@c-0.me) 262186 | 42
+> [ 49.999000] (1:node@c-0.me) 524330 | 42
+> [ 49.999000] (1:node@c-0.me) 1048618 | 42
+> [ 49.999000] (1:node@c-0.me) 2097194 | 42
+> [ 49.999000] (1:node@c-0.me) 4194346 | 42
+> [ 49.999000] (1:node@c-0.me) 8388650 | 42
+> [ 49.999000] (1:node@c-0.me) Predecessor: 366680
+> [ 59.998800] (1:node@c-0.me) My finger table:
+> [ 59.998800] (1:node@c-0.me) Start | Succ
+> [ 59.998800] (1:node@c-0.me) 43 | 366680
+> [ 59.998800] (1:node@c-0.me) 44 | 42
+> [ 59.998800] (1:node@c-0.me) 46 | 42
+> [ 59.998800] (1:node@c-0.me) 50 | 42
+> [ 59.998800] (1:node@c-0.me) 58 | 42
+> [ 59.998800] (1:node@c-0.me) 74 | 42
+> [ 59.998800] (1:node@c-0.me) 106 | 42
+> [ 59.998800] (1:node@c-0.me) 170 | 42
+> [ 59.998800] (1:node@c-0.me) 298 | 42
+> [ 59.998800] (1:node@c-0.me) 554 | 42
+> [ 59.998800] (1:node@c-0.me) 1066 | 42
+> [ 59.998800] (1:node@c-0.me) 2090 | 42
+> [ 59.998800] (1:node@c-0.me) 4138 | 42
+> [ 59.998800] (1:node@c-0.me) 8234 | 42
+> [ 59.998800] (1:node@c-0.me) 16426 | 42
+> [ 59.998800] (1:node@c-0.me) 32810 | 42
+> [ 59.998800] (1:node@c-0.me) 65578 | 42
+> [ 59.998800] (1:node@c-0.me) 131114 | 42
+> [ 59.998800] (1:node@c-0.me) 262186 | 42
+> [ 59.998800] (1:node@c-0.me) 524330 | 42
+> [ 59.998800] (1:node@c-0.me) 1048618 | 42
+> [ 59.998800] (1:node@c-0.me) 2097194 | 42
+> [ 59.998800] (1:node@c-0.me) 4194346 | 42
+> [ 59.998800] (1:node@c-0.me) 8388650 | 42
+> [ 59.998800] (1:node@c-0.me) Predecessor: 1319738
+> [ 69.998600] (1:node@c-0.me) My finger table:
+> [ 69.998600] (1:node@c-0.me) Start | Succ
+> [ 69.998600] (1:node@c-0.me) 43 | 366680
+> [ 69.998600] (1:node@c-0.me) 44 | 42
+> [ 69.998600] (1:node@c-0.me) 46 | 42
+> [ 69.998600] (1:node@c-0.me) 50 | 42
+> [ 69.998600] (1:node@c-0.me) 58 | 42
+> [ 69.998600] (1:node@c-0.me) 74 | 42
+> [ 69.998600] (1:node@c-0.me) 106 | 42
+> [ 69.998600] (1:node@c-0.me) 170 | 42
+> [ 69.998600] (1:node@c-0.me) 298 | 42
+> [ 69.998600] (1:node@c-0.me) 554 | 42
+> [ 69.998600] (1:node@c-0.me) 1066 | 42
+> [ 69.998600] (1:node@c-0.me) 2090 | 42
+> [ 69.998600] (1:node@c-0.me) 4138 | 42
+> [ 69.998600] (1:node@c-0.me) 8234 | 42
+> [ 69.998600] (1:node@c-0.me) 16426 | 42
+> [ 69.998600] (1:node@c-0.me) 32810 | 42
+> [ 69.998600] (1:node@c-0.me) 65578 | 42
+> [ 69.998600] (1:node@c-0.me) 131114 | 42
+> [ 69.998600] (1:node@c-0.me) 262186 | 42
+> [ 69.998600] (1:node@c-0.me) 524330 | 42
+> [ 69.998600] (1:node@c-0.me) 1048618 | 42
+> [ 69.998600] (1:node@c-0.me) 2097194 | 42
+> [ 69.998600] (1:node@c-0.me) 4194346 | 42
+> [ 69.998600] (1:node@c-0.me) 8388650 | 42
+> [ 69.998600] (1:node@c-0.me) Predecessor: 6518808
+> [ 81.998500] (2:node@c-1.me) My finger table:
+> [ 81.998500] (2:node@c-1.me) Start | Succ
+> [ 81.998500] (2:node@c-1.me) 366681 | 6518808
+> [ 81.998500] (2:node@c-1.me) 366682 | 366680
+> [ 81.998500] (2:node@c-1.me) 366684 | 366680
+> [ 81.998500] (2:node@c-1.me) 366688 | 366680
+> [ 81.998500] (2:node@c-1.me) 366696 | 366680
+> [ 81.998500] (2:node@c-1.me) 366712 | 366680
+> [ 81.998500] (2:node@c-1.me) 366744 | 366680
+> [ 81.998500] (2:node@c-1.me) 366808 | 366680
+> [ 81.998500] (2:node@c-1.me) 366936 | 366680
+> [ 81.998500] (2:node@c-1.me) 367192 | 366680
+> [ 81.998500] (2:node@c-1.me) 367704 | 366680
+> [ 81.998500] (2:node@c-1.me) 368728 | 366680
+> [ 81.998500] (2:node@c-1.me) 370776 | 366680
+> [ 81.998500] (2:node@c-1.me) 374872 | 366680
+> [ 81.998500] (2:node@c-1.me) 383064 | 366680
+> [ 81.998500] (2:node@c-1.me) 399448 | 366680
+> [ 81.998500] (2:node@c-1.me) 432216 | 366680
+> [ 81.998500] (2:node@c-1.me) 497752 | 366680
+> [ 81.998500] (2:node@c-1.me) 628824 | 366680
+> [ 81.998500] (2:node@c-1.me) 890968 | 366680
+> [ 81.998500] (2:node@c-1.me) 1415256 | 366680
+> [ 81.998500] (2:node@c-1.me) 2463832 | 366680
+> [ 81.998500] (2:node@c-1.me) 4560984 | 366680
+> [ 81.998500] (2:node@c-1.me) 8755288 | 366680
+> [ 81.998500] (2:node@c-1.me) Predecessor: 42
+> [ 98.998100] (7:node@c-6.me) My finger table:
+> [ 98.998100] (7:node@c-6.me) Start | Succ
+> [ 98.998100] (7:node@c-6.me) 16728097 | 1319738
+> [ 98.998100] (7:node@c-6.me) 16728098 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16728100 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16728104 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16728112 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16728128 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16728160 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16728224 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16728352 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16728608 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16729120 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16730144 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16732192 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16736288 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16744480 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16760864 | 16728096
+> [ 98.998100] (7:node@c-6.me) 16416 | 16728096
+> [ 98.998100] (7:node@c-6.me) 81952 | 16728096
+> [ 98.998100] (7:node@c-6.me) 213024 | 16728096
+> [ 98.998100] (7:node@c-6.me) 475168 | 16728096
+> [ 98.998100] (7:node@c-6.me) 999456 | 16728096
+> [ 98.998100] (7:node@c-6.me) 2048032 | 16728096
+> [ 98.998100] (7:node@c-6.me) 4145184 | 16728096
+> [ 98.998100] (7:node@c-6.me) 8339488 | 16728096
+> [ 98.998100] (7:node@c-6.me) Predecessor: 2015253
+> [ 110.998000] (9:node@c-8.me) My finger table:
+> [ 110.998000] (9:node@c-8.me) Start | Succ
+> [ 110.998000] (9:node@c-8.me) 6518809 | 42
+> [ 110.998000] (9:node@c-8.me) 6518810 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6518812 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6518816 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6518824 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6518840 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6518872 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6518936 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6519064 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6519320 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6519832 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6520856 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6522904 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6527000 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6535192 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6551576 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6584344 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6649880 | 6518808
+> [ 110.998000] (9:node@c-8.me) 6780952 | 6518808
+> [ 110.998000] (9:node@c-8.me) 7043096 | 6518808
+> [ 110.998000] (9:node@c-8.me) 7567384 | 6518808
+> [ 110.998000] (9:node@c-8.me) 8615960 | 6518808
+> [ 110.998000] (9:node@c-8.me) 10713112 | 6518808
+> [ 110.998000] (9:node@c-8.me) 14907416 | 6518808
+> [ 110.998000] (9:node@c-8.me) Predecessor: 366680
+> [ 111.998000] (9:node@c-8.me) My finger table:
+> [ 111.998000] (9:node@c-8.me) Start | Succ
+> [ 111.998000] (9:node@c-8.me) 6518809 | 42
+> [ 111.998000] (9:node@c-8.me) 6518810 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6518812 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6518816 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6518824 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6518840 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6518872 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6518936 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6519064 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6519320 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6519832 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6520856 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6522904 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6527000 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6535192 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6551576 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6584344 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6649880 | 6518808
+> [ 111.998000] (9:node@c-8.me) 6780952 | 6518808
+> [ 111.998000] (9:node@c-8.me) 7043096 | 6518808
+> [ 111.998000] (9:node@c-8.me) 7567384 | 6518808
+> [ 111.998000] (9:node@c-8.me) 8615960 | 6518808
+> [ 111.998000] (9:node@c-8.me) 10713112 | 6518808
+> [ 111.998000] (9:node@c-8.me) 14907416 | 6518808
+> [ 111.998000] (9:node@c-8.me) Predecessor: 1319738
+> [ 127.997700] (8:node@c-7.me) My finger table:
+> [ 127.997700] (8:node@c-7.me) Start | Succ
+> [ 127.997700] (8:node@c-7.me) 10004761 | 16509405
+> [ 127.997700] (8:node@c-7.me) 10004762 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10004764 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10004768 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10004776 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10004792 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10004824 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10004888 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10005016 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10005272 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10005784 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10006808 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10008856 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10012952 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10021144 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10037528 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10070296 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10135832 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10266904 | 10004760
+> [ 127.997700] (8:node@c-7.me) 10529048 | 10004760
+> [ 127.997700] (8:node@c-7.me) 11053336 | 10004760
+> [ 127.997700] (8:node@c-7.me) 12101912 | 10004760
+> [ 127.997700] (8:node@c-7.me) 14199064 | 10004760
+> [ 127.997700] (8:node@c-7.me) 1616152 | 10004760
+> [ 127.997700] (8:node@c-7.me) Predecessor: 533744
+> [ 137.997600] (1:node@c-0.me) My finger table:
+> [ 137.997600] (1:node@c-0.me) Start | Succ
+> [ 137.997600] (1:node@c-0.me) 43 | 366680
+> [ 137.997600] (1:node@c-0.me) 44 | 42
+> [ 137.997600] (1:node@c-0.me) 46 | 42
+> [ 137.997600] (1:node@c-0.me) 50 | 42
+> [ 137.997600] (1:node@c-0.me) 58 | 42
+> [ 137.997600] (1:node@c-0.me) 74 | 42
+> [ 137.997600] (1:node@c-0.me) 106 | 42
+> [ 137.997600] (1:node@c-0.me) 170 | 42
+> [ 137.997600] (1:node@c-0.me) 298 | 42
+> [ 137.997600] (1:node@c-0.me) 554 | 42
+> [ 137.997600] (1:node@c-0.me) 1066 | 42
+> [ 137.997600] (1:node@c-0.me) 2090 | 42
+> [ 137.997600] (1:node@c-0.me) 4138 | 42
+> [ 137.997600] (1:node@c-0.me) 8234 | 42
+> [ 137.997600] (1:node@c-0.me) 16426 | 42
+> [ 137.997600] (1:node@c-0.me) 32810 | 42
+> [ 137.997600] (1:node@c-0.me) 65578 | 42
+> [ 137.997600] (1:node@c-0.me) 131114 | 42
+> [ 137.997600] (1:node@c-0.me) 262186 | 42
+> [ 137.997600] (1:node@c-0.me) 524330 | 42
+> [ 137.997600] (1:node@c-0.me) 1048618 | 42
+> [ 137.997600] (1:node@c-0.me) 2097194 | 42
+> [ 137.997600] (1:node@c-0.me) 4194346 | 42
+> [ 137.997600] (1:node@c-0.me) 8388650 | 42
+> [ 137.997600] (1:node@c-0.me) Predecessor: 16509405
+> [ 165.997100] (4:node@c-3.me) My finger table:
+> [ 165.997100] (4:node@c-3.me) Start | Succ
+> [ 165.997100] (4:node@c-3.me) 1319739 | 6518808
+> [ 165.997100] (4:node@c-3.me) 1319740 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1319742 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1319746 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1319754 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1319770 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1319802 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1319866 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1319994 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1320250 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1320762 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1321786 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1323834 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1327930 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1336122 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1352506 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1385274 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1450810 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1581882 | 1319738
+> [ 165.997100] (4:node@c-3.me) 1844026 | 1319738
+> [ 165.997100] (4:node@c-3.me) 2368314 | 1319738
+> [ 165.997100] (4:node@c-3.me) 3416890 | 1319738
+> [ 165.997100] (4:node@c-3.me) 5514042 | 1319738
+> [ 165.997100] (4:node@c-3.me) 9708346 | 1319738
+> [ 165.997100] (4:node@c-3.me) Predecessor: 366680
+> [ 209.996500] (8:node@c-7.me) My finger table:
+> [ 209.996500] (8:node@c-7.me) Start | Succ
+> [ 209.996500] (8:node@c-7.me) 10004761 | 16509405
+> [ 209.996500] (8:node@c-7.me) 10004762 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10004764 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10004768 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10004776 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10004792 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10004824 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10004888 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10005016 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10005272 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10005784 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10006808 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10008856 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10012952 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10021144 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10037528 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10070296 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10135832 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10266904 | 10004760
+> [ 209.996500] (8:node@c-7.me) 10529048 | 10004760
+> [ 209.996500] (8:node@c-7.me) 11053336 | 10004760
+> [ 209.996500] (8:node@c-7.me) 12101912 | 10004760
+> [ 209.996500] (8:node@c-7.me) 14199064 | 10004760
+> [ 209.996500] (8:node@c-7.me) 1616152 | 10004760
+> [ 209.996500] (8:node@c-7.me) Predecessor: 6518808
+> [ 247.995800] (6:node@c-5.me) My finger table:
+> [ 247.995800] (6:node@c-5.me) Start | Succ
+> [ 247.995800] (6:node@c-5.me) 10874877 | 533744
+> [ 247.995800] (6:node@c-5.me) 10874878 | 533744
+> [ 247.995800] (6:node@c-5.me) 10874880 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10874884 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10874892 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10874908 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10874940 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10875004 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10875132 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10875388 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10875900 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10876924 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10878972 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10883068 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10891260 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10907644 | 10874876
+> [ 247.995800] (6:node@c-5.me) 10940412 | 10874876
+> [ 247.995800] (6:node@c-5.me) 11005948 | 10874876
+> [ 247.995800] (6:node@c-5.me) 11137020 | 10874876
+> [ 247.995800] (6:node@c-5.me) 11399164 | 10874876
+> [ 247.995800] (6:node@c-5.me) 11923452 | 10874876
+> [ 247.995800] (6:node@c-5.me) 12972028 | 10874876
+> [ 247.995800] (6:node@c-5.me) 15069180 | 10874876
+> [ 247.995800] (6:node@c-5.me) 2486268 | 10874876
+> [ 247.995800] (6:node@c-5.me) Predecessor: -1
+> [ 249.995700] (7:node@c-6.me) My finger table:
+> [ 249.995700] (7:node@c-6.me) Start | Succ
+> [ 249.995700] (7:node@c-6.me) 16728097 | 42
+> [ 249.995700] (7:node@c-6.me) 16728098 | 42
+> [ 249.995700] (7:node@c-6.me) 16728100 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16728104 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16728112 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16728128 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16728160 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16728224 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16728352 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16728608 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16729120 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16730144 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16732192 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16736288 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16744480 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16760864 | 16728096
+> [ 249.995700] (7:node@c-6.me) 16416 | 16728096
+> [ 249.995700] (7:node@c-6.me) 81952 | 16728096
+> [ 249.995700] (7:node@c-6.me) 213024 | 16728096
+> [ 249.995700] (7:node@c-6.me) 475168 | 16728096
+> [ 249.995700] (7:node@c-6.me) 999456 | 16728096
+> [ 249.995700] (7:node@c-6.me) 2048032 | 16728096
+> [ 249.995700] (7:node@c-6.me) 4145184 | 16728096
+> [ 249.995700] (7:node@c-6.me) 8339488 | 16728096
+> [ 249.995700] (7:node@c-6.me) Predecessor: 2015253
+> [ 251.995700] (8:node@c-7.me) My finger table:
+> [ 251.995700] (8:node@c-7.me) Start | Succ
+> [ 251.995700] (8:node@c-7.me) 10004761 | 16509405
+> [ 251.995700] (8:node@c-7.me) 10004762 | 16509405
+> [ 251.995700] (8:node@c-7.me) 10004764 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10004768 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10004776 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10004792 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10004824 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10004888 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10005016 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10005272 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10005784 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10006808 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10008856 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10012952 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10021144 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10037528 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10070296 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10135832 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10266904 | 10004760
+> [ 251.995700] (8:node@c-7.me) 10529048 | 10004760
+> [ 251.995700] (8:node@c-7.me) 11053336 | 10004760
+> [ 251.995700] (8:node@c-7.me) 12101912 | 10004760
+> [ 251.995700] (8:node@c-7.me) 14199064 | 10004760
+> [ 251.995700] (8:node@c-7.me) 1616152 | 10004760
+> [ 251.995700] (8:node@c-7.me) Predecessor: 6518808
+> [ 252.995700] (2:node@c-1.me) My finger table:
+> [ 252.995700] (2:node@c-1.me) Start | Succ
+> [ 252.995700] (2:node@c-1.me) 366681 | 1319738
+> [ 252.995700] (2:node@c-1.me) 366682 | 1319738
+> [ 252.995700] (2:node@c-1.me) 366684 | 366680
+> [ 252.995700] (2:node@c-1.me) 366688 | 366680
+> [ 252.995700] (2:node@c-1.me) 366696 | 366680
+> [ 252.995700] (2:node@c-1.me) 366712 | 366680
+> [ 252.995700] (2:node@c-1.me) 366744 | 366680
+> [ 252.995700] (2:node@c-1.me) 366808 | 366680
+> [ 252.995700] (2:node@c-1.me) 366936 | 366680
+> [ 252.995700] (2:node@c-1.me) 367192 | 366680
+> [ 252.995700] (2:node@c-1.me) 367704 | 366680
+> [ 252.995700] (2:node@c-1.me) 368728 | 366680
+> [ 252.995700] (2:node@c-1.me) 370776 | 366680
+> [ 252.995700] (2:node@c-1.me) 374872 | 366680
+> [ 252.995700] (2:node@c-1.me) 383064 | 366680
+> [ 252.995700] (2:node@c-1.me) 399448 | 366680
+> [ 252.995700] (2:node@c-1.me) 432216 | 366680
+> [ 252.995700] (2:node@c-1.me) 497752 | 366680
+> [ 252.995700] (2:node@c-1.me) 628824 | 366680
+> [ 252.995700] (2:node@c-1.me) 890968 | 366680
+> [ 252.995700] (2:node@c-1.me) 1415256 | 366680
+> [ 252.995700] (2:node@c-1.me) 2463832 | 366680
+> [ 252.995700] (2:node@c-1.me) 4560984 | 366680
+> [ 252.995700] (2:node@c-1.me) 8755288 | 366680
+> [ 252.995700] (2:node@c-1.me) Predecessor: 42
+> [ 254.995700] (1:node@c-0.me) My finger table:
+> [ 254.995700] (1:node@c-0.me) Start | Succ
+> [ 254.995700] (1:node@c-0.me) 43 | 366680
+> [ 254.995700] (1:node@c-0.me) 44 | 42
+> [ 254.995700] (1:node@c-0.me) 46 | 42
+> [ 254.995700] (1:node@c-0.me) 50 | 42
+> [ 254.995700] (1:node@c-0.me) 58 | 42
+> [ 254.995700] (1:node@c-0.me) 74 | 42
+> [ 254.995700] (1:node@c-0.me) 106 | 42
+> [ 254.995700] (1:node@c-0.me) 170 | 42
+> [ 254.995700] (1:node@c-0.me) 298 | 42
+> [ 254.995700] (1:node@c-0.me) 554 | 42
+> [ 254.995700] (1:node@c-0.me) 1066 | 42
+> [ 254.995700] (1:node@c-0.me) 2090 | 42
+> [ 254.995700] (1:node@c-0.me) 4138 | 42
+> [ 254.995700] (1:node@c-0.me) 8234 | 42
+> [ 254.995700] (1:node@c-0.me) 16426 | 42
+> [ 254.995700] (1:node@c-0.me) 32810 | 42
+> [ 254.995700] (1:node@c-0.me) 65578 | 42
+> [ 254.995700] (1:node@c-0.me) 131114 | 42
+> [ 254.995700] (1:node@c-0.me) 262186 | 42
+> [ 254.995700] (1:node@c-0.me) 524330 | 42
+> [ 254.995700] (1:node@c-0.me) 1048618 | 42
+> [ 254.995700] (1:node@c-0.me) 2097194 | 42
+> [ 254.995700] (1:node@c-0.me) 4194346 | 42
+> [ 254.995700] (1:node@c-0.me) 8388650 | 42
+> [ 254.995700] (1:node@c-0.me) Predecessor: 16728096
+> [ 254.995700] (4:node@c-3.me) My finger table:
+> [ 254.995700] (4:node@c-3.me) Start | Succ
+> [ 254.995700] (4:node@c-3.me) 1319739 | 6518808
+> [ 254.995700] (4:node@c-3.me) 1319740 | 6518808
+> [ 254.995700] (4:node@c-3.me) 1319742 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1319746 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1319754 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1319770 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1319802 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1319866 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1319994 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1320250 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1320762 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1321786 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1323834 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1327930 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1336122 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1352506 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1385274 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1450810 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1581882 | 1319738
+> [ 254.995700] (4:node@c-3.me) 1844026 | 1319738
+> [ 254.995700] (4:node@c-3.me) 2368314 | 1319738
+> [ 254.995700] (4:node@c-3.me) 3416890 | 1319738
+> [ 254.995700] (4:node@c-3.me) 5514042 | 1319738
+> [ 254.995700] (4:node@c-3.me) 9708346 | 1319738
+> [ 254.995700] (4:node@c-3.me) Predecessor: 366680
+> [ 255.995700] (1:node@c-0.me) My finger table:
+> [ 255.995700] (1:node@c-0.me) Start | Succ
+> [ 255.995700] (1:node@c-0.me) 43 | 366680
+> [ 255.995700] (1:node@c-0.me) 44 | 366680
+> [ 255.995700] (1:node@c-0.me) 46 | 42
+> [ 255.995700] (1:node@c-0.me) 50 | 42
+> [ 255.995700] (1:node@c-0.me) 58 | 42
+> [ 255.995700] (1:node@c-0.me) 74 | 42
+> [ 255.995700] (1:node@c-0.me) 106 | 42
+> [ 255.995700] (1:node@c-0.me) 170 | 42
+> [ 255.995700] (1:node@c-0.me) 298 | 42
+> [ 255.995700] (1:node@c-0.me) 554 | 42
+> [ 255.995700] (1:node@c-0.me) 1066 | 42
+> [ 255.995700] (1:node@c-0.me) 2090 | 42
+> [ 255.995700] (1:node@c-0.me) 4138 | 42
+> [ 255.995700] (1:node@c-0.me) 8234 | 42
+> [ 255.995700] (1:node@c-0.me) 16426 | 42
+> [ 255.995700] (1:node@c-0.me) 32810 | 42
+> [ 255.995700] (1:node@c-0.me) 65578 | 42
+> [ 255.995700] (1:node@c-0.me) 131114 | 42
+> [ 255.995700] (1:node@c-0.me) 262186 | 42
+> [ 255.995700] (1:node@c-0.me) 524330 | 42
+> [ 255.995700] (1:node@c-0.me) 1048618 | 42
+> [ 255.995700] (1:node@c-0.me) 2097194 | 42
+> [ 255.995700] (1:node@c-0.me) 4194346 | 42
+> [ 255.995700] (1:node@c-0.me) 8388650 | 42
+> [ 255.995700] (1:node@c-0.me) Predecessor: 16728096
+> [ 255.995700] (5:node@c-4.me) My finger table:
+> [ 255.995700] (5:node@c-4.me) Start | Succ
+> [ 255.995700] (5:node@c-4.me) 16509406 | 42
+> [ 255.995700] (5:node@c-4.me) 16509407 | 42
+> [ 255.995700] (5:node@c-4.me) 16509409 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16509413 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16509421 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16509437 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16509469 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16509533 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16509661 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16509917 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16510429 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16511453 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16513501 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16517597 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16525789 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16542173 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16574941 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16640477 | 16509405
+> [ 255.995700] (5:node@c-4.me) 16771549 | 16509405
+> [ 255.995700] (5:node@c-4.me) 256477 | 16509405
+> [ 255.995700] (5:node@c-4.me) 780765 | 16509405
+> [ 255.995700] (5:node@c-4.me) 1829341 | 16509405
+> [ 255.995700] (5:node@c-4.me) 3926493 | 16509405
+> [ 255.995700] (5:node@c-4.me) 8120797 | 16509405
+> [ 255.995700] (5:node@c-4.me) Predecessor: 10004760
+> [ 257.995700] (10:node@c-9.me) My finger table:
+> [ 257.995700] (10:node@c-9.me) Start | Succ
+> [ 257.995700] (10:node@c-9.me) 2015254 | 16728096
+> [ 257.995700] (10:node@c-9.me) 2015255 | 16728096
+> [ 257.995700] (10:node@c-9.me) 2015257 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2015261 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2015269 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2015285 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2015317 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2015381 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2015509 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2015765 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2016277 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2017301 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2019349 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2023445 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2031637 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2048021 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2080789 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2146325 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2277397 | 2015253
+> [ 257.995700] (10:node@c-9.me) 2539541 | 2015253
+> [ 257.995700] (10:node@c-9.me) 3063829 | 2015253
+> [ 257.995700] (10:node@c-9.me) 4112405 | 2015253
+> [ 257.995700] (10:node@c-9.me) 6209557 | 2015253
+> [ 257.995700] (10:node@c-9.me) 10403861 | 2015253
+> [ 257.995700] (10:node@c-9.me) Predecessor: -1
+> [ 263.995700] (3:node@c-2.me) My finger table:
+> [ 263.995700] (3:node@c-2.me) Start | Succ
+> [ 263.995700] (3:node@c-2.me) 533745 | 1319738
+> [ 263.995700] (3:node@c-2.me) 533746 | 1319738
+> [ 263.995700] (3:node@c-2.me) 533748 | 533744
+> [ 263.995700] (3:node@c-2.me) 533752 | 533744
+> [ 263.995700] (3:node@c-2.me) 533760 | 533744
+> [ 263.995700] (3:node@c-2.me) 533776 | 533744
+> [ 263.995700] (3:node@c-2.me) 533808 | 533744
+> [ 263.995700] (3:node@c-2.me) 533872 | 533744
+> [ 263.995700] (3:node@c-2.me) 534000 | 533744
+> [ 263.995700] (3:node@c-2.me) 534256 | 533744
+> [ 263.995700] (3:node@c-2.me) 534768 | 533744
+> [ 263.995700] (3:node@c-2.me) 535792 | 533744
+> [ 263.995700] (3:node@c-2.me) 537840 | 533744
+> [ 263.995700] (3:node@c-2.me) 541936 | 533744
+> [ 263.995700] (3:node@c-2.me) 550128 | 533744
+> [ 263.995700] (3:node@c-2.me) 566512 | 533744
+> [ 263.995700] (3:node@c-2.me) 599280 | 533744
+> [ 263.995700] (3:node@c-2.me) 664816 | 533744
+> [ 263.995700] (3:node@c-2.me) 795888 | 533744
+> [ 263.995700] (3:node@c-2.me) 1058032 | 533744
+> [ 263.995700] (3:node@c-2.me) 1582320 | 533744
+> [ 263.995700] (3:node@c-2.me) 2630896 | 533744
+> [ 263.995700] (3:node@c-2.me) 4728048 | 533744
+> [ 263.995700] (3:node@c-2.me) 8922352 | 533744
+> [ 263.995700] (3:node@c-2.me) Predecessor: 10874876
+> [ 264.995500] (9:node@c-8.me) My finger table:
+> [ 264.995500] (9:node@c-8.me) Start | Succ
+> [ 264.995500] (9:node@c-8.me) 6518809 | 10004760
+> [ 264.995500] (9:node@c-8.me) 6518810 | 10004760
+> [ 264.995500] (9:node@c-8.me) 6518812 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6518816 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6518824 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6518840 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6518872 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6518936 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6519064 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6519320 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6519832 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6520856 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6522904 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6527000 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6535192 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6551576 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6584344 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6649880 | 6518808
+> [ 264.995500] (9:node@c-8.me) 6780952 | 6518808
+> [ 264.995500] (9:node@c-8.me) 7043096 | 6518808
+> [ 264.995500] (9:node@c-8.me) 7567384 | 6518808
+> [ 264.995500] (9:node@c-8.me) 8615960 | 6518808
+> [ 264.995500] (9:node@c-8.me) 10713112 | 6518808
+> [ 264.995500] (9:node@c-8.me) 14907416 | 6518808
+> [ 264.995500] (9:node@c-8.me) Predecessor: 1319738
+> [ 310.994900] (4:node@c-3.me) My finger table:
+> [ 310.994900] (4:node@c-3.me) Start | Succ
+> [ 310.994900] (4:node@c-3.me) 1319739 | 6518808
+> [ 310.994900] (4:node@c-3.me) 1319740 | 6518808
+> [ 310.994900] (4:node@c-3.me) 1319742 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1319746 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1319754 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1319770 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1319802 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1319866 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1319994 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1320250 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1320762 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1321786 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1323834 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1327930 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1336122 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1352506 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1385274 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1450810 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1581882 | 1319738
+> [ 310.994900] (4:node@c-3.me) 1844026 | 1319738
+> [ 310.994900] (4:node@c-3.me) 2368314 | 1319738
+> [ 310.994900] (4:node@c-3.me) 3416890 | 1319738
+> [ 310.994900] (4:node@c-3.me) 5514042 | 1319738
+> [ 310.994900] (4:node@c-3.me) 9708346 | 1319738
+> [ 310.994900] (4:node@c-3.me) Predecessor: 533744
+> [ 335.994500] (7:node@c-6.me) My finger table:
+> [ 335.994500] (7:node@c-6.me) Start | Succ
+> [ 335.994500] (7:node@c-6.me) 16728097 | 42
+> [ 335.994500] (7:node@c-6.me) 16728098 | 42
+> [ 335.994500] (7:node@c-6.me) 16728100 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16728104 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16728112 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16728128 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16728160 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16728224 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16728352 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16728608 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16729120 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16730144 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16732192 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16736288 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16744480 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16760864 | 16728096
+> [ 335.994500] (7:node@c-6.me) 16416 | 16728096
+> [ 335.994500] (7:node@c-6.me) 81952 | 16728096
+> [ 335.994500] (7:node@c-6.me) 213024 | 16728096
+> [ 335.994500] (7:node@c-6.me) 475168 | 16728096
+> [ 335.994500] (7:node@c-6.me) 999456 | 16728096
+> [ 335.994500] (7:node@c-6.me) 2048032 | 16728096
+> [ 335.994500] (7:node@c-6.me) 4145184 | 16728096
+> [ 335.994500] (7:node@c-6.me) 8339488 | 16728096
+> [ 335.994500] (7:node@c-6.me) Predecessor: 16509405
+> [ 366.994000] (3:node@c-2.me) My finger table:
+> [ 366.994000] (3:node@c-2.me) Start | Succ
+> [ 366.994000] (3:node@c-2.me) 533745 | 1319738
+> [ 366.994000] (3:node@c-2.me) 533746 | 1319738
+> [ 366.994000] (3:node@c-2.me) 533748 | 533744
+> [ 366.994000] (3:node@c-2.me) 533752 | 533744
+> [ 366.994000] (3:node@c-2.me) 533760 | 533744
+> [ 366.994000] (3:node@c-2.me) 533776 | 533744
+> [ 366.994000] (3:node@c-2.me) 533808 | 533744
+> [ 366.994000] (3:node@c-2.me) 533872 | 533744
+> [ 366.994000] (3:node@c-2.me) 534000 | 533744
+> [ 366.994000] (3:node@c-2.me) 534256 | 533744
+> [ 366.994000] (3:node@c-2.me) 534768 | 533744
+> [ 366.994000] (3:node@c-2.me) 535792 | 533744
+> [ 366.994000] (3:node@c-2.me) 537840 | 533744
+> [ 366.994000] (3:node@c-2.me) 541936 | 533744
+> [ 366.994000] (3:node@c-2.me) 550128 | 533744
+> [ 366.994000] (3:node@c-2.me) 566512 | 533744
+> [ 366.994000] (3:node@c-2.me) 599280 | 533744
+> [ 366.994000] (3:node@c-2.me) 664816 | 533744
+> [ 366.994000] (3:node@c-2.me) 795888 | 533744
+> [ 366.994000] (3:node@c-2.me) 1058032 | 533744
+> [ 366.994000] (3:node@c-2.me) 1582320 | 533744
+> [ 366.994000] (3:node@c-2.me) 2630896 | 533744
+> [ 366.994000] (3:node@c-2.me) 4728048 | 533744
+> [ 366.994000] (3:node@c-2.me) 8922352 | 533744
+> [ 366.994000] (3:node@c-2.me) Predecessor: 366680
+> [ 370.993500] (6:node@c-5.me) My finger table:
+> [ 370.993500] (6:node@c-5.me) Start | Succ
+> [ 370.993500] (6:node@c-5.me) 10874877 | 533744
+> [ 370.993500] (6:node@c-5.me) 10874878 | 533744
+> [ 370.993500] (6:node@c-5.me) 10874880 | 533744
+> [ 370.993500] (6:node@c-5.me) 10874884 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10874892 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10874908 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10874940 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10875004 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10875132 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10875388 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10875900 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10876924 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10878972 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10883068 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10891260 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10907644 | 10874876
+> [ 370.993500] (6:node@c-5.me) 10940412 | 10874876
+> [ 370.993500] (6:node@c-5.me) 11005948 | 10874876
+> [ 370.993500] (6:node@c-5.me) 11137020 | 10874876
+> [ 370.993500] (6:node@c-5.me) 11399164 | 10874876
+> [ 370.993500] (6:node@c-5.me) 11923452 | 10874876
+> [ 370.993500] (6:node@c-5.me) 12972028 | 10874876
+> [ 370.993500] (6:node@c-5.me) 15069180 | 10874876
+> [ 370.993500] (6:node@c-5.me) 2486268 | 10874876
+> [ 370.993500] (6:node@c-5.me) Predecessor: -1
+> [ 375.993800] (2:node@c-1.me) My finger table:
+> [ 375.993800] (2:node@c-1.me) Start | Succ
+> [ 375.993800] (2:node@c-1.me) 366681 | 533744
+> [ 375.993800] (2:node@c-1.me) 366682 | 1319738
+> [ 375.993800] (2:node@c-1.me) 366684 | 533744
+> [ 375.993800] (2:node@c-1.me) 366688 | 366680
+> [ 375.993800] (2:node@c-1.me) 366696 | 366680
+> [ 375.993800] (2:node@c-1.me) 366712 | 366680
+> [ 375.993800] (2:node@c-1.me) 366744 | 366680
+> [ 375.993800] (2:node@c-1.me) 366808 | 366680
+> [ 375.993800] (2:node@c-1.me) 366936 | 366680
+> [ 375.993800] (2:node@c-1.me) 367192 | 366680
+> [ 375.993800] (2:node@c-1.me) 367704 | 366680
+> [ 375.993800] (2:node@c-1.me) 368728 | 366680
+> [ 375.993800] (2:node@c-1.me) 370776 | 366680
+> [ 375.993800] (2:node@c-1.me) 374872 | 366680
+> [ 375.993800] (2:node@c-1.me) 383064 | 366680
+> [ 375.993800] (2:node@c-1.me) 399448 | 366680
+> [ 375.993800] (2:node@c-1.me) 432216 | 366680
+> [ 375.993800] (2:node@c-1.me) 497752 | 366680
+> [ 375.993800] (2:node@c-1.me) 628824 | 366680
+> [ 375.993800] (2:node@c-1.me) 890968 | 366680
+> [ 375.993800] (2:node@c-1.me) 1415256 | 366680
+> [ 375.993800] (2:node@c-1.me) 2463832 | 366680
+> [ 375.993800] (2:node@c-1.me) 4560984 | 366680
+> [ 375.993800] (2:node@c-1.me) 8755288 | 366680
+> [ 375.993800] (2:node@c-1.me) Predecessor: 42
+> [ 376.993800] (1:node@c-0.me) My finger table:
+> [ 376.993800] (1:node@c-0.me) Start | Succ
+> [ 376.993800] (1:node@c-0.me) 43 | 366680
+> [ 376.993800] (1:node@c-0.me) 44 | 366680
+> [ 376.993800] (1:node@c-0.me) 46 | 366680
+> [ 376.993800] (1:node@c-0.me) 50 | 42
+> [ 376.993800] (1:node@c-0.me) 58 | 42
+> [ 376.993800] (1:node@c-0.me) 74 | 42
+> [ 376.993800] (1:node@c-0.me) 106 | 42
+> [ 376.993800] (1:node@c-0.me) 170 | 42
+> [ 376.993800] (1:node@c-0.me) 298 | 42
+> [ 376.993800] (1:node@c-0.me) 554 | 42
+> [ 376.993800] (1:node@c-0.me) 1066 | 42
+> [ 376.993800] (1:node@c-0.me) 2090 | 42
+> [ 376.993800] (1:node@c-0.me) 4138 | 42
+> [ 376.993800] (1:node@c-0.me) 8234 | 42
+> [ 376.993800] (1:node@c-0.me) 16426 | 42
+> [ 376.993800] (1:node@c-0.me) 32810 | 42
+> [ 376.993800] (1:node@c-0.me) 65578 | 42
+> [ 376.993800] (1:node@c-0.me) 131114 | 42
+> [ 376.993800] (1:node@c-0.me) 262186 | 42
+> [ 376.993800] (1:node@c-0.me) 524330 | 42
+> [ 376.993800] (1:node@c-0.me) 1048618 | 42
+> [ 376.993800] (1:node@c-0.me) 2097194 | 42
+> [ 376.993800] (1:node@c-0.me) 4194346 | 42
+> [ 376.993800] (1:node@c-0.me) 8388650 | 42
+> [ 376.993800] (1:node@c-0.me) Predecessor: 16728096
+> [ 376.993800] (4:node@c-3.me) My finger table:
+> [ 376.993800] (4:node@c-3.me) Start | Succ
+> [ 376.993800] (4:node@c-3.me) 1319739 | 6518808
+> [ 376.993800] (4:node@c-3.me) 1319740 | 6518808
+> [ 376.993800] (4:node@c-3.me) 1319742 | 6518808
+> [ 376.993800] (4:node@c-3.me) 1319746 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1319754 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1319770 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1319802 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1319866 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1319994 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1320250 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1320762 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1321786 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1323834 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1327930 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1336122 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1352506 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1385274 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1450810 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1581882 | 1319738
+> [ 376.993800] (4:node@c-3.me) 1844026 | 1319738
+> [ 376.993800] (4:node@c-3.me) 2368314 | 1319738
+> [ 376.993800] (4:node@c-3.me) 3416890 | 1319738
+> [ 376.993800] (4:node@c-3.me) 5514042 | 1319738
+> [ 376.993800] (4:node@c-3.me) 9708346 | 1319738
+> [ 376.993800] (4:node@c-3.me) Predecessor: 533744
+> [ 378.993800] (10:node@c-9.me) My finger table:
+> [ 378.993800] (10:node@c-9.me) Start | Succ
+> [ 378.993800] (10:node@c-9.me) 2015254 | 10004760
+> [ 378.993800] (10:node@c-9.me) 2015255 | 16728096
+> [ 378.993800] (10:node@c-9.me) 2015257 | 10004760
+> [ 378.993800] (10:node@c-9.me) 2015261 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2015269 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2015285 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2015317 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2015381 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2015509 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2015765 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2016277 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2017301 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2019349 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2023445 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2031637 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2048021 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2080789 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2146325 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2277397 | 2015253
+> [ 378.993800] (10:node@c-9.me) 2539541 | 2015253
+> [ 378.993800] (10:node@c-9.me) 3063829 | 2015253
+> [ 378.993800] (10:node@c-9.me) 4112405 | 2015253
+> [ 378.993800] (10:node@c-9.me) 6209557 | 2015253
+> [ 378.993800] (10:node@c-9.me) 10403861 | 2015253
+> [ 378.993800] (10:node@c-9.me) Predecessor: -1
+> [ 378.993800] (5:node@c-4.me) My finger table:
+> [ 378.993800] (5:node@c-4.me) Start | Succ
+> [ 378.993800] (5:node@c-4.me) 16509406 | 16728096
+> [ 378.993800] (5:node@c-4.me) 16509407 | 42
+> [ 378.993800] (5:node@c-4.me) 16509409 | 16728096
+> [ 378.993800] (5:node@c-4.me) 16509413 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16509421 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16509437 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16509469 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16509533 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16509661 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16509917 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16510429 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16511453 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16513501 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16517597 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16525789 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16542173 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16574941 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16640477 | 16509405
+> [ 378.993800] (5:node@c-4.me) 16771549 | 16509405
+> [ 378.993800] (5:node@c-4.me) 256477 | 16509405
+> [ 378.993800] (5:node@c-4.me) 780765 | 16509405
+> [ 378.993800] (5:node@c-4.me) 1829341 | 16509405
+> [ 378.993800] (5:node@c-4.me) 3926493 | 16509405
+> [ 378.993800] (5:node@c-4.me) 8120797 | 16509405
+> [ 378.993800] (5:node@c-4.me) Predecessor: 10004760
+> [ 379.993800] (8:node@c-7.me) My finger table:
+> [ 379.993800] (8:node@c-7.me) Start | Succ
+> [ 379.993800] (8:node@c-7.me) 10004761 | 16509405
+> [ 379.993800] (8:node@c-7.me) 10004762 | 16509405
+> [ 379.993800] (8:node@c-7.me) 10004764 | 16509405
+> [ 379.993800] (8:node@c-7.me) 10004768 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10004776 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10004792 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10004824 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10004888 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10005016 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10005272 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10005784 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10006808 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10008856 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10012952 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10021144 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10037528 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10070296 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10135832 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10266904 | 10004760
+> [ 379.993800] (8:node@c-7.me) 10529048 | 10004760
+> [ 379.993800] (8:node@c-7.me) 11053336 | 10004760
+> [ 379.993800] (8:node@c-7.me) 12101912 | 10004760
+> [ 379.993800] (8:node@c-7.me) 14199064 | 10004760
+> [ 379.993800] (8:node@c-7.me) 1616152 | 10004760
+> [ 379.993800] (8:node@c-7.me) Predecessor: 6518808
+> [ 385.993700] (3:node@c-2.me) My finger table:
+> [ 385.993700] (3:node@c-2.me) Start | Succ
+> [ 385.993700] (3:node@c-2.me) 533745 | 1319738
+> [ 385.993700] (3:node@c-2.me) 533746 | 1319738
+> [ 385.993700] (3:node@c-2.me) 533748 | 1319738
+> [ 385.993700] (3:node@c-2.me) 533752 | 533744
+> [ 385.993700] (3:node@c-2.me) 533760 | 533744
+> [ 385.993700] (3:node@c-2.me) 533776 | 533744
+> [ 385.993700] (3:node@c-2.me) 533808 | 533744
+> [ 385.993700] (3:node@c-2.me) 533872 | 533744
+> [ 385.993700] (3:node@c-2.me) 534000 | 533744
+> [ 385.993700] (3:node@c-2.me) 534256 | 533744
+> [ 385.993700] (3:node@c-2.me) 534768 | 533744
+> [ 385.993700] (3:node@c-2.me) 535792 | 533744
+> [ 385.993700] (3:node@c-2.me) 537840 | 533744
+> [ 385.993700] (3:node@c-2.me) 541936 | 533744
+> [ 385.993700] (3:node@c-2.me) 550128 | 533744
+> [ 385.993700] (3:node@c-2.me) 566512 | 533744
+> [ 385.993700] (3:node@c-2.me) 599280 | 533744
+> [ 385.993700] (3:node@c-2.me) 664816 | 533744
+> [ 385.993700] (3:node@c-2.me) 795888 | 533744
+> [ 385.993700] (3:node@c-2.me) 1058032 | 533744
+> [ 385.993700] (3:node@c-2.me) 1582320 | 533744
+> [ 385.993700] (3:node@c-2.me) 2630896 | 533744
+> [ 385.993700] (3:node@c-2.me) 4728048 | 533744
+> [ 385.993700] (3:node@c-2.me) 8922352 | 533744
+> [ 385.993700] (3:node@c-2.me) Predecessor: 366680
+> [ 387.993700] (7:node@c-6.me) My finger table:
+> [ 387.993700] (7:node@c-6.me) Start | Succ
+> [ 387.993700] (7:node@c-6.me) 16728097 | 42
+> [ 387.993700] (7:node@c-6.me) 16728098 | 42
+> [ 387.993700] (7:node@c-6.me) 16728100 | 42
+> [ 387.993700] (7:node@c-6.me) 16728104 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16728112 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16728128 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16728160 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16728224 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16728352 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16728608 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16729120 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16730144 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16732192 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16736288 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16744480 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16760864 | 16728096
+> [ 387.993700] (7:node@c-6.me) 16416 | 16728096
+> [ 387.993700] (7:node@c-6.me) 81952 | 16728096
+> [ 387.993700] (7:node@c-6.me) 213024 | 16728096
+> [ 387.993700] (7:node@c-6.me) 475168 | 16728096
+> [ 387.993700] (7:node@c-6.me) 999456 | 16728096
+> [ 387.993700] (7:node@c-6.me) 2048032 | 16728096
+> [ 387.993700] (7:node@c-6.me) 4145184 | 16728096
+> [ 387.993700] (7:node@c-6.me) 8339488 | 16728096
+> [ 387.993700] (7:node@c-6.me) Predecessor: 16509405
+> [ 389.993600] (9:node@c-8.me) My finger table:
+> [ 389.993600] (9:node@c-8.me) Start | Succ
+> [ 389.993600] (9:node@c-8.me) 6518809 | 10004760
+> [ 389.993600] (9:node@c-8.me) 6518810 | 10004760
+> [ 389.993600] (9:node@c-8.me) 6518812 | 10004760
+> [ 389.993600] (9:node@c-8.me) 6518816 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6518824 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6518840 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6518872 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6518936 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6519064 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6519320 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6519832 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6520856 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6522904 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6527000 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6535192 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6551576 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6584344 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6649880 | 6518808
+> [ 389.993600] (9:node@c-8.me) 6780952 | 6518808
+> [ 389.993600] (9:node@c-8.me) 7043096 | 6518808
+> [ 389.993600] (9:node@c-8.me) 7567384 | 6518808
+> [ 389.993600] (9:node@c-8.me) 8615960 | 6518808
+> [ 389.993600] (9:node@c-8.me) 10713112 | 6518808
+> [ 389.993600] (9:node@c-8.me) 14907416 | 6518808
+> [ 389.993600] (9:node@c-8.me) Predecessor: 1319738
+> [ 435.993000] (9:node@c-8.me) My finger table:
+> [ 435.993000] (9:node@c-8.me) Start | Succ
+> [ 435.993000] (9:node@c-8.me) 6518809 | 10004760
+> [ 435.993000] (9:node@c-8.me) 6518810 | 10004760
+> [ 435.993000] (9:node@c-8.me) 6518812 | 10004760
+> [ 435.993000] (9:node@c-8.me) 6518816 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6518824 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6518840 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6518872 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6518936 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6519064 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6519320 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6519832 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6520856 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6522904 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6527000 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6535192 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6551576 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6584344 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6649880 | 6518808
+> [ 435.993000] (9:node@c-8.me) 6780952 | 6518808
+> [ 435.993000] (9:node@c-8.me) 7043096 | 6518808
+> [ 435.993000] (9:node@c-8.me) 7567384 | 6518808
+> [ 435.993000] (9:node@c-8.me) 8615960 | 6518808
+> [ 435.993000] (9:node@c-8.me) 10713112 | 6518808
+> [ 435.993000] (9:node@c-8.me) 14907416 | 6518808
+> [ 435.993000] (9:node@c-8.me) Predecessor: 2015253
+> [ 492.992000] (6:node@c-5.me) My finger table:
+> [ 492.992000] (6:node@c-5.me) Start | Succ
+> [ 492.992000] (6:node@c-5.me) 10874877 | 16509405
+> [ 492.992000] (6:node@c-5.me) 10874878 | 533744
+> [ 492.992000] (6:node@c-5.me) 10874880 | 533744
+> [ 492.992000] (6:node@c-5.me) 10874884 | 16509405
+> [ 492.992000] (6:node@c-5.me) 10874892 | 10874876
+> [ 492.992000] (6:node@c-5.me) 10874908 | 10874876
+> [ 492.992000] (6:node@c-5.me) 10874940 | 10874876
+> [ 492.992000] (6:node@c-5.me) 10875004 | 10874876
+> [ 492.992000] (6:node@c-5.me) 10875132 | 10874876
+> [ 492.992000] (6:node@c-5.me) 10875388 | 10874876
+> [ 492.992000] (6:node@c-5.me) 10875900 | 10874876
+> [ 492.992000] (6:node@c-5.me) 10876924 | 10874876
+> [ 492.992000] (6:node@c-5.me) 10878972 | 10874876
+> [ 492.992000] (6:node@c-5.me) 10883068 | 10874876
+> [ 492.992000] (6:node@c-5.me) 10891260 | 10874876
+> [ 492.992000] (6:node@c-5.me) 10907644 | 10874876
+> [ 492.992000] (6:node@c-5.me) 10940412 | 10874876
+> [ 492.992000] (6:node@c-5.me) 11005948 | 10874876
+> [ 492.992000] (6:node@c-5.me) 11137020 | 10874876
+> [ 492.992000] (6:node@c-5.me) 11399164 | 10874876
+> [ 492.992000] (6:node@c-5.me) 11923452 | 10874876
+> [ 492.992000] (6:node@c-5.me) 12972028 | 10874876
+> [ 492.992000] (6:node@c-5.me) 15069180 | 10874876
+> [ 492.992000] (6:node@c-5.me) 2486268 | 10874876
+> [ 492.992000] (6:node@c-5.me) Predecessor: -1
+> [ 500.991800] (1:node@c-0.me) My finger table:
+> [ 500.991800] (1:node@c-0.me) Start | Succ
+> [ 500.991800] (1:node@c-0.me) 43 | 366680
+> [ 500.991800] (1:node@c-0.me) 44 | 366680
+> [ 500.991800] (1:node@c-0.me) 46 | 366680
+> [ 500.991800] (1:node@c-0.me) 50 | 366680
+> [ 500.991800] (1:node@c-0.me) 58 | 42
+> [ 500.991800] (1:node@c-0.me) 74 | 42
+> [ 500.991800] (1:node@c-0.me) 106 | 42
+> [ 500.991800] (1:node@c-0.me) 170 | 42
+> [ 500.991800] (1:node@c-0.me) 298 | 42
+> [ 500.991800] (1:node@c-0.me) 554 | 42
+> [ 500.991800] (1:node@c-0.me) 1066 | 42
+> [ 500.991800] (1:node@c-0.me) 2090 | 42
+> [ 500.991800] (1:node@c-0.me) 4138 | 42
+> [ 500.991800] (1:node@c-0.me) 8234 | 42
+> [ 500.991800] (1:node@c-0.me) 16426 | 42
+> [ 500.991800] (1:node@c-0.me) 32810 | 42
+> [ 500.991800] (1:node@c-0.me) 65578 | 42
+> [ 500.991800] (1:node@c-0.me) 131114 | 42
+> [ 500.991800] (1:node@c-0.me) 262186 | 42
+> [ 500.991800] (1:node@c-0.me) 524330 | 42
+> [ 500.991800] (1:node@c-0.me) 1048618 | 42
+> [ 500.991800] (1:node@c-0.me) 2097194 | 42
+> [ 500.991800] (1:node@c-0.me) 4194346 | 42
+> [ 500.991800] (1:node@c-0.me) 8388650 | 42
+> [ 500.991800] (1:node@c-0.me) Predecessor: 16728096
+> [ 504.991900] (5:node@c-4.me) My finger table:
+> [ 504.991900] (5:node@c-4.me) Start | Succ
+> [ 504.991900] (5:node@c-4.me) 16509406 | 16728096
+> [ 504.991900] (5:node@c-4.me) 16509407 | 42
+> [ 504.991900] (5:node@c-4.me) 16509409 | 16728096
+> [ 504.991900] (5:node@c-4.me) 16509413 | 16728096
+> [ 504.991900] (5:node@c-4.me) 16509421 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16509437 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16509469 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16509533 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16509661 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16509917 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16510429 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16511453 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16513501 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16517597 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16525789 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16542173 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16574941 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16640477 | 16509405
+> [ 504.991900] (5:node@c-4.me) 16771549 | 16509405
+> [ 504.991900] (5:node@c-4.me) 256477 | 16509405
+> [ 504.991900] (5:node@c-4.me) 780765 | 16509405
+> [ 504.991900] (5:node@c-4.me) 1829341 | 16509405
+> [ 504.991900] (5:node@c-4.me) 3926493 | 16509405
+> [ 504.991900] (5:node@c-4.me) 8120797 | 16509405
+> [ 504.991900] (5:node@c-4.me) Predecessor: 10004760
+> [ 508.991700] (4:node@c-3.me) My finger table:
+> [ 508.991700] (4:node@c-3.me) Start | Succ
+> [ 508.991700] (4:node@c-3.me) 1319739 | 2015253
+> [ 508.991700] (4:node@c-3.me) 1319740 | 6518808
+> [ 508.991700] (4:node@c-3.me) 1319742 | 6518808
+> [ 508.991700] (4:node@c-3.me) 1319746 | 2015253
+> [ 508.991700] (4:node@c-3.me) 1319754 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1319770 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1319802 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1319866 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1319994 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1320250 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1320762 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1321786 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1323834 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1327930 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1336122 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1352506 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1385274 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1450810 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1581882 | 1319738
+> [ 508.991700] (4:node@c-3.me) 1844026 | 1319738
+> [ 508.991700] (4:node@c-3.me) 2368314 | 1319738
+> [ 508.991700] (4:node@c-3.me) 3416890 | 1319738
+> [ 508.991700] (4:node@c-3.me) 5514042 | 1319738
+> [ 508.991700] (4:node@c-3.me) 9708346 | 1319738
+> [ 508.991700] (4:node@c-3.me) Predecessor: 533744
+> [ 509.991700] (10:node@c-9.me) My finger table:
+> [ 509.991700] (10:node@c-9.me) Start | Succ
+> [ 509.991700] (10:node@c-9.me) 2015254 | 6518808
+> [ 509.991700] (10:node@c-9.me) 2015255 | 16728096
+> [ 509.991700] (10:node@c-9.me) 2015257 | 10004760
+> [ 509.991700] (10:node@c-9.me) 2015261 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2015269 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2015285 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2015317 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2015381 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2015509 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2015765 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2016277 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2017301 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2019349 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2023445 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2031637 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2048021 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2080789 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2146325 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2277397 | 2015253
+> [ 509.991700] (10:node@c-9.me) 2539541 | 2015253
+> [ 509.991700] (10:node@c-9.me) 3063829 | 2015253
+> [ 509.991700] (10:node@c-9.me) 4112405 | 2015253
+> [ 509.991700] (10:node@c-9.me) 6209557 | 2015253
+> [ 509.991700] (10:node@c-9.me) 10403861 | 2015253
+> [ 509.991700] (10:node@c-9.me) Predecessor: 1319738
+> [ 513.991600] (2:node@c-1.me) My finger table:
+> [ 513.991600] (2:node@c-1.me) Start | Succ
+> [ 513.991600] (2:node@c-1.me) 366681 | 533744
+> [ 513.991600] (2:node@c-1.me) 366682 | 1319738
+> [ 513.991600] (2:node@c-1.me) 366684 | 533744
+> [ 513.991600] (2:node@c-1.me) 366688 | 533744
+> [ 513.991600] (2:node@c-1.me) 366696 | 366680
+> [ 513.991600] (2:node@c-1.me) 366712 | 366680
+> [ 513.991600] (2:node@c-1.me) 366744 | 366680
+> [ 513.991600] (2:node@c-1.me) 366808 | 366680
+> [ 513.991600] (2:node@c-1.me) 366936 | 366680
+> [ 513.991600] (2:node@c-1.me) 367192 | 366680
+> [ 513.991600] (2:node@c-1.me) 367704 | 366680
+> [ 513.991600] (2:node@c-1.me) 368728 | 366680
+> [ 513.991600] (2:node@c-1.me) 370776 | 366680
+> [ 513.991600] (2:node@c-1.me) 374872 | 366680
+> [ 513.991600] (2:node@c-1.me) 383064 | 366680
+> [ 513.991600] (2:node@c-1.me) 399448 | 366680
+> [ 513.991600] (2:node@c-1.me) 432216 | 366680
+> [ 513.991600] (2:node@c-1.me) 497752 | 366680
+> [ 513.991600] (2:node@c-1.me) 628824 | 366680
+> [ 513.991600] (2:node@c-1.me) 890968 | 366680
+> [ 513.991600] (2:node@c-1.me) 1415256 | 366680
+> [ 513.991600] (2:node@c-1.me) 2463832 | 366680
+> [ 513.991600] (2:node@c-1.me) 4560984 | 366680
+> [ 513.991600] (2:node@c-1.me) 8755288 | 366680
+> [ 513.991600] (2:node@c-1.me) Predecessor: 42
+> [ 516.991600] (10:node@c-9.me) My finger table:
+> [ 516.991600] (10:node@c-9.me) Start | Succ
+> [ 516.991600] (10:node@c-9.me) 2015254 | 6518808
+> [ 516.991600] (10:node@c-9.me) 2015255 | 16728096
+> [ 516.991600] (10:node@c-9.me) 2015257 | 10004760
+> [ 516.991600] (10:node@c-9.me) 2015261 | 6518808
+> [ 516.991600] (10:node@c-9.me) 2015269 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2015285 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2015317 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2015381 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2015509 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2015765 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2016277 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2017301 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2019349 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2023445 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2031637 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2048021 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2080789 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2146325 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2277397 | 2015253
+> [ 516.991600] (10:node@c-9.me) 2539541 | 2015253
+> [ 516.991600] (10:node@c-9.me) 3063829 | 2015253
+> [ 516.991600] (10:node@c-9.me) 4112405 | 2015253
+> [ 516.991600] (10:node@c-9.me) 6209557 | 2015253
+> [ 516.991600] (10:node@c-9.me) 10403861 | 2015253
+> [ 516.991600] (10:node@c-9.me) Predecessor: 1319738
+> [ 516.991600] (3:node@c-2.me) My finger table:
+> [ 516.991600] (3:node@c-2.me) Start | Succ
+> [ 516.991600] (3:node@c-2.me) 533745 | 1319738
+> [ 516.991600] (3:node@c-2.me) 533746 | 1319738
+> [ 516.991600] (3:node@c-2.me) 533748 | 1319738
+> [ 516.991600] (3:node@c-2.me) 533752 | 1319738
+> [ 516.991600] (3:node@c-2.me) 533760 | 533744
+> [ 516.991600] (3:node@c-2.me) 533776 | 533744
+> [ 516.991600] (3:node@c-2.me) 533808 | 533744
+> [ 516.991600] (3:node@c-2.me) 533872 | 533744
+> [ 516.991600] (3:node@c-2.me) 534000 | 533744
+> [ 516.991600] (3:node@c-2.me) 534256 | 533744
+> [ 516.991600] (3:node@c-2.me) 534768 | 533744
+> [ 516.991600] (3:node@c-2.me) 535792 | 533744
+> [ 516.991600] (3:node@c-2.me) 537840 | 533744
+> [ 516.991600] (3:node@c-2.me) 541936 | 533744
+> [ 516.991600] (3:node@c-2.me) 550128 | 533744
+> [ 516.991600] (3:node@c-2.me) 566512 | 533744
+> [ 516.991600] (3:node@c-2.me) 599280 | 533744
+> [ 516.991600] (3:node@c-2.me) 664816 | 533744
+> [ 516.991600] (3:node@c-2.me) 795888 | 533744
+> [ 516.991600] (3:node@c-2.me) 1058032 | 533744
+> [ 516.991600] (3:node@c-2.me) 1582320 | 533744
+> [ 516.991600] (3:node@c-2.me) 2630896 | 533744
+> [ 516.991600] (3:node@c-2.me) 4728048 | 533744
+> [ 516.991600] (3:node@c-2.me) 8922352 | 533744
+> [ 516.991600] (3:node@c-2.me) Predecessor: 366680
+> [ 519.991600] (7:node@c-6.me) My finger table:
+> [ 519.991600] (7:node@c-6.me) Start | Succ
+> [ 519.991600] (7:node@c-6.me) 16728097 | 42
+> [ 519.991600] (7:node@c-6.me) 16728098 | 42
+> [ 519.991600] (7:node@c-6.me) 16728100 | 42
+> [ 519.991600] (7:node@c-6.me) 16728104 | 42
+> [ 519.991600] (7:node@c-6.me) 16728112 | 16728096
+> [ 519.991600] (7:node@c-6.me) 16728128 | 16728096
+> [ 519.991600] (7:node@c-6.me) 16728160 | 16728096
+> [ 519.991600] (7:node@c-6.me) 16728224 | 16728096
+> [ 519.991600] (7:node@c-6.me) 16728352 | 16728096
+> [ 519.991600] (7:node@c-6.me) 16728608 | 16728096
+> [ 519.991600] (7:node@c-6.me) 16729120 | 16728096
+> [ 519.991600] (7:node@c-6.me) 16730144 | 16728096
+> [ 519.991600] (7:node@c-6.me) 16732192 | 16728096
+> [ 519.991600] (7:node@c-6.me) 16736288 | 16728096
+> [ 519.991600] (7:node@c-6.me) 16744480 | 16728096
+> [ 519.991600] (7:node@c-6.me) 16760864 | 16728096
+> [ 519.991600] (7:node@c-6.me) 16416 | 16728096
+> [ 519.991600] (7:node@c-6.me) 81952 | 16728096
+> [ 519.991600] (7:node@c-6.me) 213024 | 16728096
+> [ 519.991600] (7:node@c-6.me) 475168 | 16728096
+> [ 519.991600] (7:node@c-6.me) 999456 | 16728096
+> [ 519.991600] (7:node@c-6.me) 2048032 | 16728096
+> [ 519.991600] (7:node@c-6.me) 4145184 | 16728096
+> [ 519.991600] (7:node@c-6.me) 8339488 | 16728096
+> [ 519.991600] (7:node@c-6.me) Predecessor: 16509405
+> [ 524.991500] (8:node@c-7.me) My finger table:
+> [ 524.991500] (8:node@c-7.me) Start | Succ
+> [ 524.991500] (8:node@c-7.me) 10004761 | 16509405
+> [ 524.991500] (8:node@c-7.me) 10004762 | 16509405
+> [ 524.991500] (8:node@c-7.me) 10004764 | 16509405
+> [ 524.991500] (8:node@c-7.me) 10004768 | 16509405
+> [ 524.991500] (8:node@c-7.me) 10004776 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10004792 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10004824 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10004888 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10005016 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10005272 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10005784 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10006808 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10008856 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10012952 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10021144 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10037528 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10070296 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10135832 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10266904 | 10004760
+> [ 524.991500] (8:node@c-7.me) 10529048 | 10004760
+> [ 524.991500] (8:node@c-7.me) 11053336 | 10004760
+> [ 524.991500] (8:node@c-7.me) 12101912 | 10004760
+> [ 524.991500] (8:node@c-7.me) 14199064 | 10004760
+> [ 524.991500] (8:node@c-7.me) 1616152 | 10004760
+> [ 524.991500] (8:node@c-7.me) Predecessor: 6518808
+> [ 529.991500] (5:node@c-4.me) My finger table:
+> [ 529.991500] (5:node@c-4.me) Start | Succ
+> [ 529.991500] (5:node@c-4.me) 16509406 | 16728096
+> [ 529.991500] (5:node@c-4.me) 16509407 | 42
+> [ 529.991500] (5:node@c-4.me) 16509409 | 16728096
+> [ 529.991500] (5:node@c-4.me) 16509413 | 16728096
+> [ 529.991500] (5:node@c-4.me) 16509421 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16509437 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16509469 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16509533 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16509661 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16509917 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16510429 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16511453 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16513501 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16517597 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16525789 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16542173 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16574941 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16640477 | 16509405
+> [ 529.991500] (5:node@c-4.me) 16771549 | 16509405
+> [ 529.991500] (5:node@c-4.me) 256477 | 16509405
+> [ 529.991500] (5:node@c-4.me) 780765 | 16509405
+> [ 529.991500] (5:node@c-4.me) 1829341 | 16509405
+> [ 529.991500] (5:node@c-4.me) 3926493 | 16509405
+> [ 529.991500] (5:node@c-4.me) 8120797 | 16509405
+> [ 529.991500] (5:node@c-4.me) Predecessor: 10874876
+> [ 540.991400] (9:node@c-8.me) My finger table:
+> [ 540.991400] (9:node@c-8.me) Start | Succ
+> [ 540.991400] (9:node@c-8.me) 6518809 | 10004760
+> [ 540.991400] (9:node@c-8.me) 6518810 | 10004760
+> [ 540.991400] (9:node@c-8.me) 6518812 | 10004760
+> [ 540.991400] (9:node@c-8.me) 6518816 | 10004760
+> [ 540.991400] (9:node@c-8.me) 6518824 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6518840 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6518872 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6518936 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6519064 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6519320 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6519832 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6520856 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6522904 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6527000 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6535192 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6551576 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6584344 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6649880 | 6518808
+> [ 540.991400] (9:node@c-8.me) 6780952 | 6518808
+> [ 540.991400] (9:node@c-8.me) 7043096 | 6518808
+> [ 540.991400] (9:node@c-8.me) 7567384 | 6518808
+> [ 540.991400] (9:node@c-8.me) 8615960 | 6518808
+> [ 540.991400] (9:node@c-8.me) 10713112 | 6518808
+> [ 540.991400] (9:node@c-8.me) 14907416 | 6518808
+> [ 540.991400] (9:node@c-8.me) Predecessor: 2015253
+> [ 613.990100] (6:node@c-5.me) My finger table:
+> [ 613.990100] (6:node@c-5.me) Start | Succ
+> [ 613.990100] (6:node@c-5.me) 10874877 | 16509405
+> [ 613.990100] (6:node@c-5.me) 10874878 | 533744
+> [ 613.990100] (6:node@c-5.me) 10874880 | 533744
+> [ 613.990100] (6:node@c-5.me) 10874884 | 16509405
+> [ 613.990100] (6:node@c-5.me) 10874892 | 10874876
+> [ 613.990100] (6:node@c-5.me) 10874908 | 10874876
+> [ 613.990100] (6:node@c-5.me) 10874940 | 10874876
+> [ 613.990100] (6:node@c-5.me) 10875004 | 10874876
+> [ 613.990100] (6:node@c-5.me) 10875132 | 10874876
+> [ 613.990100] (6:node@c-5.me) 10875388 | 10874876
+> [ 613.990100] (6:node@c-5.me) 10875900 | 10874876
+> [ 613.990100] (6:node@c-5.me) 10876924 | 10874876
+> [ 613.990100] (6:node@c-5.me) 10878972 | 10874876
+> [ 613.990100] (6:node@c-5.me) 10883068 | 10874876
+> [ 613.990100] (6:node@c-5.me) 10891260 | 10874876
+> [ 613.990100] (6:node@c-5.me) 10907644 | 10874876
+> [ 613.990100] (6:node@c-5.me) 10940412 | 10874876
+> [ 613.990100] (6:node@c-5.me) 11005948 | 10874876
+> [ 613.990100] (6:node@c-5.me) 11137020 | 10874876
+> [ 613.990100] (6:node@c-5.me) 11399164 | 10874876
+> [ 613.990100] (6:node@c-5.me) 11923452 | 10874876
+> [ 613.990100] (6:node@c-5.me) 12972028 | 10874876
+> [ 613.990100] (6:node@c-5.me) 15069180 | 10874876
+> [ 613.990100] (6:node@c-5.me) 2486268 | 10874876
+> [ 613.990100] (6:node@c-5.me) Predecessor: 10004760
+> [ 629.989800] (1:node@c-0.me) My finger table:
+> [ 629.989800] (1:node@c-0.me) Start | Succ
+> [ 629.989800] (1:node@c-0.me) 43 | 366680
+> [ 629.989800] (1:node@c-0.me) 44 | 366680
+> [ 629.989800] (1:node@c-0.me) 46 | 366680
+> [ 629.989800] (1:node@c-0.me) 50 | 366680
+> [ 629.989800] (1:node@c-0.me) 58 | 366680
+> [ 629.989800] (1:node@c-0.me) 74 | 42
+> [ 629.989800] (1:node@c-0.me) 106 | 42
+> [ 629.989800] (1:node@c-0.me) 170 | 42
+> [ 629.989800] (1:node@c-0.me) 298 | 42
+> [ 629.989800] (1:node@c-0.me) 554 | 42
+> [ 629.989800] (1:node@c-0.me) 1066 | 42
+> [ 629.989800] (1:node@c-0.me) 2090 | 42
+> [ 629.989800] (1:node@c-0.me) 4138 | 42
+> [ 629.989800] (1:node@c-0.me) 8234 | 42
+> [ 629.989800] (1:node@c-0.me) 16426 | 42
+> [ 629.989800] (1:node@c-0.me) 32810 | 42
+> [ 629.989800] (1:node@c-0.me) 65578 | 42
+> [ 629.989800] (1:node@c-0.me) 131114 | 42
+> [ 629.989800] (1:node@c-0.me) 262186 | 42
+> [ 629.989800] (1:node@c-0.me) 524330 | 42
+> [ 629.989800] (1:node@c-0.me) 1048618 | 42
+> [ 629.989800] (1:node@c-0.me) 2097194 | 42
+> [ 629.989800] (1:node@c-0.me) 4194346 | 42
+> [ 629.989800] (1:node@c-0.me) 8388650 | 42
+> [ 629.989800] (1:node@c-0.me) Predecessor: 16728096
+> [ 629.989800] (6:node@c-5.me) My finger table:
+> [ 629.989800] (6:node@c-5.me) Start | Succ
+> [ 629.989800] (6:node@c-5.me) 10874877 | 16509405
+> [ 629.989800] (6:node@c-5.me) 10874878 | 533744
+> [ 629.989800] (6:node@c-5.me) 10874880 | 533744
+> [ 629.989800] (6:node@c-5.me) 10874884 | 16509405
+> [ 629.989800] (6:node@c-5.me) 10874892 | 16509405
+> [ 629.989800] (6:node@c-5.me) 10874908 | 10874876
+> [ 629.989800] (6:node@c-5.me) 10874940 | 10874876
+> [ 629.989800] (6:node@c-5.me) 10875004 | 10874876
+> [ 629.989800] (6:node@c-5.me) 10875132 | 10874876
+> [ 629.989800] (6:node@c-5.me) 10875388 | 10874876
+> [ 629.989800] (6:node@c-5.me) 10875900 | 10874876
+> [ 629.989800] (6:node@c-5.me) 10876924 | 10874876
+> [ 629.989800] (6:node@c-5.me) 10878972 | 10874876
+> [ 629.989800] (6:node@c-5.me) 10883068 | 10874876
+> [ 629.989800] (6:node@c-5.me) 10891260 | 10874876
+> [ 629.989800] (6:node@c-5.me) 10907644 | 10874876
+> [ 629.989800] (6:node@c-5.me) 10940412 | 10874876
+> [ 629.989800] (6:node@c-5.me) 11005948 | 10874876
+> [ 629.989800] (6:node@c-5.me) 11137020 | 10874876
+> [ 629.989800] (6:node@c-5.me) 11399164 | 10874876
+> [ 629.989800] (6:node@c-5.me) 11923452 | 10874876
+> [ 629.989800] (6:node@c-5.me) 12972028 | 10874876
+> [ 629.989800] (6:node@c-5.me) 15069180 | 10874876
+> [ 629.989800] (6:node@c-5.me) 2486268 | 10874876
+> [ 629.989800] (6:node@c-5.me) Predecessor: 10004760
+> [ 632.989700] (4:node@c-3.me) My finger table:
+> [ 632.989700] (4:node@c-3.me) Start | Succ
+> [ 632.989700] (4:node@c-3.me) 1319739 | 2015253
+> [ 632.989700] (4:node@c-3.me) 1319740 | 6518808
+> [ 632.989700] (4:node@c-3.me) 1319742 | 6518808
+> [ 632.989700] (4:node@c-3.me) 1319746 | 2015253
+> [ 632.989700] (4:node@c-3.me) 1319754 | 2015253
+> [ 632.989700] (4:node@c-3.me) 1319770 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1319802 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1319866 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1319994 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1320250 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1320762 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1321786 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1323834 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1327930 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1336122 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1352506 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1385274 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1450810 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1581882 | 1319738
+> [ 632.989700] (4:node@c-3.me) 1844026 | 1319738
+> [ 632.989700] (4:node@c-3.me) 2368314 | 1319738
+> [ 632.989700] (4:node@c-3.me) 3416890 | 1319738
+> [ 632.989700] (4:node@c-3.me) 5514042 | 1319738
+> [ 632.989700] (4:node@c-3.me) 9708346 | 1319738
+> [ 632.989700] (4:node@c-3.me) Predecessor: 533744
+> [ 637.989600] (2:node@c-1.me) My finger table:
+> [ 637.989600] (2:node@c-1.me) Start | Succ
+> [ 637.989600] (2:node@c-1.me) 366681 | 533744
+> [ 637.989600] (2:node@c-1.me) 366682 | 1319738
+> [ 637.989600] (2:node@c-1.me) 366684 | 533744
+> [ 637.989600] (2:node@c-1.me) 366688 | 533744
+> [ 637.989600] (2:node@c-1.me) 366696 | 533744
+> [ 637.989600] (2:node@c-1.me) 366712 | 366680
+> [ 637.989600] (2:node@c-1.me) 366744 | 366680
+> [ 637.989600] (2:node@c-1.me) 366808 | 366680
+> [ 637.989600] (2:node@c-1.me) 366936 | 366680
+> [ 637.989600] (2:node@c-1.me) 367192 | 366680
+> [ 637.989600] (2:node@c-1.me) 367704 | 366680
+> [ 637.989600] (2:node@c-1.me) 368728 | 366680
+> [ 637.989600] (2:node@c-1.me) 370776 | 366680
+> [ 637.989600] (2:node@c-1.me) 374872 | 366680
+> [ 637.989600] (2:node@c-1.me) 383064 | 366680
+> [ 637.989600] (2:node@c-1.me) 399448 | 366680
+> [ 637.989600] (2:node@c-1.me) 432216 | 366680
+> [ 637.989600] (2:node@c-1.me) 497752 | 366680
+> [ 637.989600] (2:node@c-1.me) 628824 | 366680
+> [ 637.989600] (2:node@c-1.me) 890968 | 366680
+> [ 637.989600] (2:node@c-1.me) 1415256 | 366680
+> [ 637.989600] (2:node@c-1.me) 2463832 | 366680
+> [ 637.989600] (2:node@c-1.me) 4560984 | 366680
+> [ 637.989600] (2:node@c-1.me) 8755288 | 366680
+> [ 637.989600] (2:node@c-1.me) Predecessor: 42
+> [ 638.989600] (3:node@c-2.me) My finger table:
+> [ 638.989600] (3:node@c-2.me) Start | Succ
+> [ 638.989600] (3:node@c-2.me) 533745 | 1319738
+> [ 638.989600] (3:node@c-2.me) 533746 | 1319738
+> [ 638.989600] (3:node@c-2.me) 533748 | 1319738
+> [ 638.989600] (3:node@c-2.me) 533752 | 1319738
+> [ 638.989600] (3:node@c-2.me) 533760 | 1319738
+> [ 638.989600] (3:node@c-2.me) 533776 | 533744
+> [ 638.989600] (3:node@c-2.me) 533808 | 533744
+> [ 638.989600] (3:node@c-2.me) 533872 | 533744
+> [ 638.989600] (3:node@c-2.me) 534000 | 533744
+> [ 638.989600] (3:node@c-2.me) 534256 | 533744
+> [ 638.989600] (3:node@c-2.me) 534768 | 533744
+> [ 638.989600] (3:node@c-2.me) 535792 | 533744
+> [ 638.989600] (3:node@c-2.me) 537840 | 533744
+> [ 638.989600] (3:node@c-2.me) 541936 | 533744
+> [ 638.989600] (3:node@c-2.me) 550128 | 533744
+> [ 638.989600] (3:node@c-2.me) 566512 | 533744
+> [ 638.989600] (3:node@c-2.me) 599280 | 533744
+> [ 638.989600] (3:node@c-2.me) 664816 | 533744
+> [ 638.989600] (3:node@c-2.me) 795888 | 533744
+> [ 638.989600] (3:node@c-2.me) 1058032 | 533744
+> [ 638.989600] (3:node@c-2.me) 1582320 | 533744
+> [ 638.989600] (3:node@c-2.me) 2630896 | 533744
+> [ 638.989600] (3:node@c-2.me) 4728048 | 533744
+> [ 638.989600] (3:node@c-2.me) 8922352 | 533744
+> [ 638.989600] (3:node@c-2.me) Predecessor: 366680
+> [ 641.989600] (10:node@c-9.me) My finger table:
+> [ 641.989600] (10:node@c-9.me) Start | Succ
+> [ 641.989600] (10:node@c-9.me) 2015254 | 6518808
+> [ 641.989600] (10:node@c-9.me) 2015255 | 16728096
+> [ 641.989600] (10:node@c-9.me) 2015257 | 10004760
+> [ 641.989600] (10:node@c-9.me) 2015261 | 6518808
+> [ 641.989600] (10:node@c-9.me) 2015269 | 6518808
+> [ 641.989600] (10:node@c-9.me) 2015285 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2015317 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2015381 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2015509 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2015765 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2016277 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2017301 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2019349 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2023445 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2031637 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2048021 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2080789 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2146325 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2277397 | 2015253
+> [ 641.989600] (10:node@c-9.me) 2539541 | 2015253
+> [ 641.989600] (10:node@c-9.me) 3063829 | 2015253
+> [ 641.989600] (10:node@c-9.me) 4112405 | 2015253
+> [ 641.989600] (10:node@c-9.me) 6209557 | 2015253
+> [ 641.989600] (10:node@c-9.me) 10403861 | 2015253
+> [ 641.989600] (10:node@c-9.me) Predecessor: 1319738
+> [ 645.989500] (7:node@c-6.me) My finger table:
+> [ 645.989500] (7:node@c-6.me) Start | Succ
+> [ 645.989500] (7:node@c-6.me) 16728097 | 42
+> [ 645.989500] (7:node@c-6.me) 16728098 | 42
+> [ 645.989500] (7:node@c-6.me) 16728100 | 42
+> [ 645.989500] (7:node@c-6.me) 16728104 | 42
+> [ 645.989500] (7:node@c-6.me) 16728112 | 42
+> [ 645.989500] (7:node@c-6.me) 16728128 | 16728096
+> [ 645.989500] (7:node@c-6.me) 16728160 | 16728096
+> [ 645.989500] (7:node@c-6.me) 16728224 | 16728096
+> [ 645.989500] (7:node@c-6.me) 16728352 | 16728096
+> [ 645.989500] (7:node@c-6.me) 16728608 | 16728096
+> [ 645.989500] (7:node@c-6.me) 16729120 | 16728096
+> [ 645.989500] (7:node@c-6.me) 16730144 | 16728096
+> [ 645.989500] (7:node@c-6.me) 16732192 | 16728096
+> [ 645.989500] (7:node@c-6.me) 16736288 | 16728096
+> [ 645.989500] (7:node@c-6.me) 16744480 | 16728096
+> [ 645.989500] (7:node@c-6.me) 16760864 | 16728096
+> [ 645.989500] (7:node@c-6.me) 16416 | 16728096
+> [ 645.989500] (7:node@c-6.me) 81952 | 16728096
+> [ 645.989500] (7:node@c-6.me) 213024 | 16728096
+> [ 645.989500] (7:node@c-6.me) 475168 | 16728096
+> [ 645.989500] (7:node@c-6.me) 999456 | 16728096
+> [ 645.989500] (7:node@c-6.me) 2048032 | 16728096
+> [ 645.989500] (7:node@c-6.me) 4145184 | 16728096
+> [ 645.989500] (7:node@c-6.me) 8339488 | 16728096
+> [ 645.989500] (7:node@c-6.me) Predecessor: 16509405
+> [ 645.989600] (5:node@c-4.me) My finger table:
+> [ 645.989600] (5:node@c-4.me) Start | Succ
+> [ 645.989600] (5:node@c-4.me) 16509406 | 16728096
+> [ 645.989600] (5:node@c-4.me) 16509407 | 42
+> [ 645.989600] (5:node@c-4.me) 16509409 | 16728096
+> [ 645.989600] (5:node@c-4.me) 16509413 | 16728096
+> [ 645.989600] (5:node@c-4.me) 16509421 | 16728096
+> [ 645.989600] (5:node@c-4.me) 16509437 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16509469 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16509533 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16509661 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16509917 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16510429 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16511453 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16513501 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16517597 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16525789 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16542173 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16574941 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16640477 | 16509405
+> [ 645.989600] (5:node@c-4.me) 16771549 | 16509405
+> [ 645.989600] (5:node@c-4.me) 256477 | 16509405
+> [ 645.989600] (5:node@c-4.me) 780765 | 16509405
+> [ 645.989600] (5:node@c-4.me) 1829341 | 16509405
+> [ 645.989600] (5:node@c-4.me) 3926493 | 16509405
+> [ 645.989600] (5:node@c-4.me) 8120797 | 16509405
+> [ 645.989600] (5:node@c-4.me) Predecessor: 10874876
+> [ 655.989400] (8:node@c-7.me) My finger table:
+> [ 655.989400] (8:node@c-7.me) Start | Succ
+> [ 655.989400] (8:node@c-7.me) 10004761 | 10874876
+> [ 655.989400] (8:node@c-7.me) 10004762 | 16509405
+> [ 655.989400] (8:node@c-7.me) 10004764 | 16509405
+> [ 655.989400] (8:node@c-7.me) 10004768 | 16509405
+> [ 655.989400] (8:node@c-7.me) 10004776 | 10874876
+> [ 655.989400] (8:node@c-7.me) 10004792 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10004824 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10004888 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10005016 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10005272 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10005784 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10006808 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10008856 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10012952 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10021144 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10037528 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10070296 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10135832 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10266904 | 10004760
+> [ 655.989400] (8:node@c-7.me) 10529048 | 10004760
+> [ 655.989400] (8:node@c-7.me) 11053336 | 10004760
+> [ 655.989400] (8:node@c-7.me) 12101912 | 10004760
+> [ 655.989400] (8:node@c-7.me) 14199064 | 10004760
+> [ 655.989400] (8:node@c-7.me) 1616152 | 10004760
+> [ 655.989400] (8:node@c-7.me) Predecessor: 6518808
+> [ 662.989300] (9:node@c-8.me) My finger table:
+> [ 662.989300] (9:node@c-8.me) Start | Succ
+> [ 662.989300] (9:node@c-8.me) 6518809 | 10004760
+> [ 662.989300] (9:node@c-8.me) 6518810 | 10004760
+> [ 662.989300] (9:node@c-8.me) 6518812 | 10004760
+> [ 662.989300] (9:node@c-8.me) 6518816 | 10004760
+> [ 662.989300] (9:node@c-8.me) 6518824 | 10004760
+> [ 662.989300] (9:node@c-8.me) 6518840 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6518872 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6518936 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6519064 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6519320 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6519832 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6520856 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6522904 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6527000 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6535192 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6551576 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6584344 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6649880 | 6518808
+> [ 662.989300] (9:node@c-8.me) 6780952 | 6518808
+> [ 662.989300] (9:node@c-8.me) 7043096 | 6518808
+> [ 662.989300] (9:node@c-8.me) 7567384 | 6518808
+> [ 662.989300] (9:node@c-8.me) 8615960 | 6518808
+> [ 662.989300] (9:node@c-8.me) 10713112 | 6518808
+> [ 662.989300] (9:node@c-8.me) 14907416 | 6518808
+> [ 662.989300] (9:node@c-8.me) Predecessor: 2015253
+> [ 754.987800] (1:node@c-0.me) My finger table:
+> [ 754.987800] (1:node@c-0.me) Start | Succ
+> [ 754.987800] (1:node@c-0.me) 43 | 366680
+> [ 754.987800] (1:node@c-0.me) 44 | 366680
+> [ 754.987800] (1:node@c-0.me) 46 | 366680
+> [ 754.987800] (1:node@c-0.me) 50 | 366680
+> [ 754.987800] (1:node@c-0.me) 58 | 366680
+> [ 754.987800] (1:node@c-0.me) 74 | 366680
+> [ 754.987800] (1:node@c-0.me) 106 | 42
+> [ 754.987800] (1:node@c-0.me) 170 | 42
+> [ 754.987800] (1:node@c-0.me) 298 | 42
+> [ 754.987800] (1:node@c-0.me) 554 | 42
+> [ 754.987800] (1:node@c-0.me) 1066 | 42
+> [ 754.987800] (1:node@c-0.me) 2090 | 42
+> [ 754.987800] (1:node@c-0.me) 4138 | 42
+> [ 754.987800] (1:node@c-0.me) 8234 | 42
+> [ 754.987800] (1:node@c-0.me) 16426 | 42
+> [ 754.987800] (1:node@c-0.me) 32810 | 42
+> [ 754.987800] (1:node@c-0.me) 65578 | 42
+> [ 754.987800] (1:node@c-0.me) 131114 | 42
+> [ 754.987800] (1:node@c-0.me) 262186 | 42
+> [ 754.987800] (1:node@c-0.me) 524330 | 42
+> [ 754.987800] (1:node@c-0.me) 1048618 | 42
+> [ 754.987800] (1:node@c-0.me) 2097194 | 42
+> [ 754.987800] (1:node@c-0.me) 4194346 | 42
+> [ 754.987800] (1:node@c-0.me) 8388650 | 42
+> [ 754.987800] (1:node@c-0.me) Predecessor: 16728096
+> [ 757.987800] (4:node@c-3.me) My finger table:
+> [ 757.987800] (4:node@c-3.me) Start | Succ
+> [ 757.987800] (4:node@c-3.me) 1319739 | 2015253
+> [ 757.987800] (4:node@c-3.me) 1319740 | 6518808
+> [ 757.987800] (4:node@c-3.me) 1319742 | 6518808
+> [ 757.987800] (4:node@c-3.me) 1319746 | 2015253
+> [ 757.987800] (4:node@c-3.me) 1319754 | 2015253
+> [ 757.987800] (4:node@c-3.me) 1319770 | 2015253
+> [ 757.987800] (4:node@c-3.me) 1319802 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1319866 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1319994 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1320250 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1320762 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1321786 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1323834 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1327930 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1336122 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1352506 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1385274 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1450810 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1581882 | 1319738
+> [ 757.987800] (4:node@c-3.me) 1844026 | 1319738
+> [ 757.987800] (4:node@c-3.me) 2368314 | 1319738
+> [ 757.987800] (4:node@c-3.me) 3416890 | 1319738
+> [ 757.987800] (4:node@c-3.me) 5514042 | 1319738
+> [ 757.987800] (4:node@c-3.me) 9708346 | 1319738
+> [ 757.987800] (4:node@c-3.me) Predecessor: 533744
+> [ 762.987700] (10:node@c-9.me) My finger table:
+> [ 762.987700] (10:node@c-9.me) Start | Succ
+> [ 762.987700] (10:node@c-9.me) 2015254 | 6518808
+> [ 762.987700] (10:node@c-9.me) 2015255 | 16728096
+> [ 762.987700] (10:node@c-9.me) 2015257 | 10004760
+> [ 762.987700] (10:node@c-9.me) 2015261 | 6518808
+> [ 762.987700] (10:node@c-9.me) 2015269 | 6518808
+> [ 762.987700] (10:node@c-9.me) 2015285 | 6518808
+> [ 762.987700] (10:node@c-9.me) 2015317 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2015381 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2015509 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2015765 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2016277 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2017301 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2019349 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2023445 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2031637 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2048021 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2080789 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2146325 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2277397 | 2015253
+> [ 762.987700] (10:node@c-9.me) 2539541 | 2015253
+> [ 762.987700] (10:node@c-9.me) 3063829 | 2015253
+> [ 762.987700] (10:node@c-9.me) 4112405 | 2015253
+> [ 762.987700] (10:node@c-9.me) 6209557 | 2015253
+> [ 762.987700] (10:node@c-9.me) 10403861 | 2015253
+> [ 762.987700] (10:node@c-9.me) Predecessor: 1319738
+> [ 762.987700] (6:node@c-5.me) My finger table:
+> [ 762.987700] (6:node@c-5.me) Start | Succ
+> [ 762.987700] (6:node@c-5.me) 10874877 | 16509405
+> [ 762.987700] (6:node@c-5.me) 10874878 | 533744
+> [ 762.987700] (6:node@c-5.me) 10874880 | 533744
+> [ 762.987700] (6:node@c-5.me) 10874884 | 16509405
+> [ 762.987700] (6:node@c-5.me) 10874892 | 16509405
+> [ 762.987700] (6:node@c-5.me) 10874908 | 16509405
+> [ 762.987700] (6:node@c-5.me) 10874940 | 10874876
+> [ 762.987700] (6:node@c-5.me) 10875004 | 10874876
+> [ 762.987700] (6:node@c-5.me) 10875132 | 10874876
+> [ 762.987700] (6:node@c-5.me) 10875388 | 10874876
+> [ 762.987700] (6:node@c-5.me) 10875900 | 10874876
+> [ 762.987700] (6:node@c-5.me) 10876924 | 10874876
+> [ 762.987700] (6:node@c-5.me) 10878972 | 10874876
+> [ 762.987700] (6:node@c-5.me) 10883068 | 10874876
+> [ 762.987700] (6:node@c-5.me) 10891260 | 10874876
+> [ 762.987700] (6:node@c-5.me) 10907644 | 10874876
+> [ 762.987700] (6:node@c-5.me) 10940412 | 10874876
+> [ 762.987700] (6:node@c-5.me) 11005948 | 10874876
+> [ 762.987700] (6:node@c-5.me) 11137020 | 10874876
+> [ 762.987700] (6:node@c-5.me) 11399164 | 10874876
+> [ 762.987700] (6:node@c-5.me) 11923452 | 10874876
+> [ 762.987700] (6:node@c-5.me) 12972028 | 10874876
+> [ 762.987700] (6:node@c-5.me) 15069180 | 10874876
+> [ 762.987700] (6:node@c-5.me) 2486268 | 10874876
+> [ 762.987700] (6:node@c-5.me) Predecessor: 10004760
+> [ 767.987600] (2:node@c-1.me) My finger table:
+> [ 767.987600] (2:node@c-1.me) Start | Succ
+> [ 767.987600] (2:node@c-1.me) 366681 | 533744
+> [ 767.987600] (2:node@c-1.me) 366682 | 1319738
+> [ 767.987600] (2:node@c-1.me) 366684 | 533744
+> [ 767.987600] (2:node@c-1.me) 366688 | 533744
+> [ 767.987600] (2:node@c-1.me) 366696 | 533744
+> [ 767.987600] (2:node@c-1.me) 366712 | 533744
+> [ 767.987600] (2:node@c-1.me) 366744 | 366680
+> [ 767.987600] (2:node@c-1.me) 366808 | 366680
+> [ 767.987600] (2:node@c-1.me) 366936 | 366680
+> [ 767.987600] (2:node@c-1.me) 367192 | 366680
+> [ 767.987600] (2:node@c-1.me) 367704 | 366680
+> [ 767.987600] (2:node@c-1.me) 368728 | 366680
+> [ 767.987600] (2:node@c-1.me) 370776 | 366680
+> [ 767.987600] (2:node@c-1.me) 374872 | 366680
+> [ 767.987600] (2:node@c-1.me) 383064 | 366680
+> [ 767.987600] (2:node@c-1.me) 399448 | 366680
+> [ 767.987600] (2:node@c-1.me) 432216 | 366680
+> [ 767.987600] (2:node@c-1.me) 497752 | 366680
+> [ 767.987600] (2:node@c-1.me) 628824 | 366680
+> [ 767.987600] (2:node@c-1.me) 890968 | 366680
+> [ 767.987600] (2:node@c-1.me) 1415256 | 366680
+> [ 767.987600] (2:node@c-1.me) 2463832 | 366680
+> [ 767.987600] (2:node@c-1.me) 4560984 | 366680
+> [ 767.987600] (2:node@c-1.me) 8755288 | 366680
+> [ 767.987600] (2:node@c-1.me) Predecessor: 42
+> [ 771.987500] (5:node@c-4.me) My finger table:
+> [ 771.987500] (5:node@c-4.me) Start | Succ
+> [ 771.987500] (5:node@c-4.me) 16509406 | 16728096
+> [ 771.987500] (5:node@c-4.me) 16509407 | 42
+> [ 771.987500] (5:node@c-4.me) 16509409 | 16728096
+> [ 771.987500] (5:node@c-4.me) 16509413 | 16728096
+> [ 771.987500] (5:node@c-4.me) 16509421 | 16728096
+> [ 771.987500] (5:node@c-4.me) 16509437 | 16728096
+> [ 771.987500] (5:node@c-4.me) 16509469 | 16509405
+> [ 771.987500] (5:node@c-4.me) 16509533 | 16509405
+> [ 771.987500] (5:node@c-4.me) 16509661 | 16509405
+> [ 771.987500] (5:node@c-4.me) 16509917 | 16509405
+> [ 771.987500] (5:node@c-4.me) 16510429 | 16509405
+> [ 771.987500] (5:node@c-4.me) 16511453 | 16509405
+> [ 771.987500] (5:node@c-4.me) 16513501 | 16509405
+> [ 771.987500] (5:node@c-4.me) 16517597 | 16509405
+> [ 771.987500] (5:node@c-4.me) 16525789 | 16509405
+> [ 771.987500] (5:node@c-4.me) 16542173 | 16509405
+> [ 771.987500] (5:node@c-4.me) 16574941 | 16509405
+> [ 771.987500] (5:node@c-4.me) 16640477 | 16509405
+> [ 771.987500] (5:node@c-4.me) 16771549 | 16509405
+> [ 771.987500] (5:node@c-4.me) 256477 | 16509405
+> [ 771.987500] (5:node@c-4.me) 780765 | 16509405
+> [ 771.987500] (5:node@c-4.me) 1829341 | 16509405
+> [ 771.987500] (5:node@c-4.me) 3926493 | 16509405
+> [ 771.987500] (5:node@c-4.me) 8120797 | 16509405
+> [ 771.987500] (5:node@c-4.me) Predecessor: 10874876
+> [ 776.987500] (3:node@c-2.me) My finger table:
+> [ 776.987500] (3:node@c-2.me) Start | Succ
+> [ 776.987500] (3:node@c-2.me) 533745 | 1319738
+> [ 776.987500] (3:node@c-2.me) 533746 | 1319738
+> [ 776.987500] (3:node@c-2.me) 533748 | 1319738
+> [ 776.987500] (3:node@c-2.me) 533752 | 1319738
+> [ 776.987500] (3:node@c-2.me) 533760 | 1319738
+> [ 776.987500] (3:node@c-2.me) 533776 | 1319738
+> [ 776.987500] (3:node@c-2.me) 533808 | 533744
+> [ 776.987500] (3:node@c-2.me) 533872 | 533744
+> [ 776.987500] (3:node@c-2.me) 534000 | 533744
+> [ 776.987500] (3:node@c-2.me) 534256 | 533744
+> [ 776.987500] (3:node@c-2.me) 534768 | 533744
+> [ 776.987500] (3:node@c-2.me) 535792 | 533744
+> [ 776.987500] (3:node@c-2.me) 537840 | 533744
+> [ 776.987500] (3:node@c-2.me) 541936 | 533744
+> [ 776.987500] (3:node@c-2.me) 550128 | 533744
+> [ 776.987500] (3:node@c-2.me) 566512 | 533744
+> [ 776.987500] (3:node@c-2.me) 599280 | 533744
+> [ 776.987500] (3:node@c-2.me) 664816 | 533744
+> [ 776.987500] (3:node@c-2.me) 795888 | 533744
+> [ 776.987500] (3:node@c-2.me) 1058032 | 533744
+> [ 776.987500] (3:node@c-2.me) 1582320 | 533744
+> [ 776.987500] (3:node@c-2.me) 2630896 | 533744
+> [ 776.987500] (3:node@c-2.me) 4728048 | 533744
+> [ 776.987500] (3:node@c-2.me) 8922352 | 533744
+> [ 776.987500] (3:node@c-2.me) Predecessor: 366680
+> [ 823.987500] (8:node@c-7.me) My finger table:
+> [ 823.987500] (8:node@c-7.me) Start | Succ
+> [ 823.987500] (8:node@c-7.me) 10004761 | 10874876
+> [ 823.987500] (8:node@c-7.me) 10004762 | 16509405
+> [ 823.987500] (8:node@c-7.me) 10004764 | 16509405
+> [ 823.987500] (8:node@c-7.me) 10004768 | 16509405
+> [ 823.987500] (8:node@c-7.me) 10004776 | 10874876
+> [ 823.987500] (8:node@c-7.me) 10004792 | 10874876
+> [ 823.987500] (8:node@c-7.me) 10004824 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10004888 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10005016 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10005272 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10005784 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10006808 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10008856 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10012952 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10021144 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10037528 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10070296 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10135832 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10266904 | 10004760
+> [ 823.987500] (8:node@c-7.me) 10529048 | 10004760
+> [ 823.987500] (8:node@c-7.me) 11053336 | 10004760
+> [ 823.987500] (8:node@c-7.me) 12101912 | 10004760
+> [ 823.987500] (8:node@c-7.me) 14199064 | 10004760
+> [ 823.987500] (8:node@c-7.me) 1616152 | 10004760
+> [ 823.987500] (8:node@c-7.me) Predecessor: 6518808
+> [ 824.987500] (7:node@c-6.me) My finger table:
+> [ 824.987500] (7:node@c-6.me) Start | Succ
+> [ 824.987500] (7:node@c-6.me) 16728097 | 42
+> [ 824.987500] (7:node@c-6.me) 16728098 | 42
+> [ 824.987500] (7:node@c-6.me) 16728100 | 42
+> [ 824.987500] (7:node@c-6.me) 16728104 | 42
+> [ 824.987500] (7:node@c-6.me) 16728112 | 42
+> [ 824.987500] (7:node@c-6.me) 16728128 | 42
+> [ 824.987500] (7:node@c-6.me) 16728160 | 16728096
+> [ 824.987500] (7:node@c-6.me) 16728224 | 16728096
+> [ 824.987500] (7:node@c-6.me) 16728352 | 16728096
+> [ 824.987500] (7:node@c-6.me) 16728608 | 16728096
+> [ 824.987500] (7:node@c-6.me) 16729120 | 16728096
+> [ 824.987500] (7:node@c-6.me) 16730144 | 16728096
+> [ 824.987500] (7:node@c-6.me) 16732192 | 16728096
+> [ 824.987500] (7:node@c-6.me) 16736288 | 16728096
+> [ 824.987500] (7:node@c-6.me) 16744480 | 16728096
+> [ 824.987500] (7:node@c-6.me) 16760864 | 16728096
+> [ 824.987500] (7:node@c-6.me) 16416 | 16728096
+> [ 824.987500] (7:node@c-6.me) 81952 | 16728096
+> [ 824.987500] (7:node@c-6.me) 213024 | 16728096
+> [ 824.987500] (7:node@c-6.me) 475168 | 16728096
+> [ 824.987500] (7:node@c-6.me) 999456 | 16728096
+> [ 824.987500] (7:node@c-6.me) 2048032 | 16728096
+> [ 824.987500] (7:node@c-6.me) 4145184 | 16728096
+> [ 824.987500] (7:node@c-6.me) 8339488 | 16728096
+> [ 824.987500] (7:node@c-6.me) Predecessor: 16509405
+> [ 876.987500] (9:node@c-8.me) My finger table:
+> [ 876.987500] (9:node@c-8.me) Start | Succ
+> [ 876.987500] (9:node@c-8.me) 6518809 | 10004760
+> [ 876.987500] (9:node@c-8.me) 6518810 | 10004760
+> [ 876.987500] (9:node@c-8.me) 6518812 | 10004760
+> [ 876.987500] (9:node@c-8.me) 6518816 | 10004760
+> [ 876.987500] (9:node@c-8.me) 6518824 | 10004760
+> [ 876.987500] (9:node@c-8.me) 6518840 | 10004760
+> [ 876.987500] (9:node@c-8.me) 6518872 | 6518808
+> [ 876.987500] (9:node@c-8.me) 6518936 | 6518808
+> [ 876.987500] (9:node@c-8.me) 6519064 | 6518808
+> [ 876.987500] (9:node@c-8.me) 6519320 | 6518808
+> [ 876.987500] (9:node@c-8.me) 6519832 | 6518808
+> [ 876.987500] (9:node@c-8.me) 6520856 | 6518808
+> [ 876.987500] (9:node@c-8.me) 6522904 | 6518808
+> [ 876.987500] (9:node@c-8.me) 6527000 | 6518808
+> [ 876.987500] (9:node@c-8.me) 6535192 | 6518808
+> [ 876.987500] (9:node@c-8.me) 6551576 | 6518808
+> [ 876.987500] (9:node@c-8.me) 6584344 | 6518808
+> [ 876.987500] (9:node@c-8.me) 6649880 | 6518808
+> [ 876.987500] (9:node@c-8.me) 6780952 | 6518808
+> [ 876.987500] (9:node@c-8.me) 7043096 | 6518808
+> [ 876.987500] (9:node@c-8.me) 7567384 | 6518808
+> [ 876.987500] (9:node@c-8.me) 8615960 | 6518808
+> [ 876.987500] (9:node@c-8.me) 10713112 | 6518808
+> [ 876.987500] (9:node@c-8.me) 14907416 | 6518808
+> [ 876.987500] (9:node@c-8.me) Predecessor: 2015253
+> [ 880.986500] (1:node@c-0.me) My finger table:
+> [ 880.986500] (1:node@c-0.me) Start | Succ
+> [ 880.986500] (1:node@c-0.me) 43 | 366680
+> [ 880.986500] (1:node@c-0.me) 44 | 366680
+> [ 880.986500] (1:node@c-0.me) 46 | 366680
+> [ 880.986500] (1:node@c-0.me) 50 | 366680
+> [ 880.986500] (1:node@c-0.me) 58 | 366680
+> [ 880.986500] (1:node@c-0.me) 74 | 366680
+> [ 880.986500] (1:node@c-0.me) 106 | 366680
+> [ 880.986500] (1:node@c-0.me) 170 | 42
+> [ 880.986500] (1:node@c-0.me) 298 | 42
+> [ 880.986500] (1:node@c-0.me) 554 | 42
+> [ 880.986500] (1:node@c-0.me) 1066 | 42
+> [ 880.986500] (1:node@c-0.me) 2090 | 42
+> [ 880.986500] (1:node@c-0.me) 4138 | 42
+> [ 880.986500] (1:node@c-0.me) 8234 | 42
+> [ 880.986500] (1:node@c-0.me) 16426 | 42
+> [ 880.986500] (1:node@c-0.me) 32810 | 42
+> [ 880.986500] (1:node@c-0.me) 65578 | 42
+> [ 880.986500] (1:node@c-0.me) 131114 | 42
+> [ 880.986500] (1:node@c-0.me) 262186 | 42
+> [ 880.986500] (1:node@c-0.me) 524330 | 42
+> [ 880.986500] (1:node@c-0.me) 1048618 | 42
+> [ 880.986500] (1:node@c-0.me) 2097194 | 42
+> [ 880.986500] (1:node@c-0.me) 4194346 | 42
+> [ 880.986500] (1:node@c-0.me) 8388650 | 42
+> [ 880.986500] (1:node@c-0.me) Predecessor: 16728096
+> [ 904.987100] (3:node@c-2.me) My finger table:
+> [ 904.987100] (3:node@c-2.me) Start | Succ
+> [ 904.987100] (3:node@c-2.me) 533745 | 1319738
+> [ 904.987100] (3:node@c-2.me) 533746 | 1319738
+> [ 904.987100] (3:node@c-2.me) 533748 | 1319738
+> [ 904.987100] (3:node@c-2.me) 533752 | 1319738
+> [ 904.987100] (3:node@c-2.me) 533760 | 1319738
+> [ 904.987100] (3:node@c-2.me) 533776 | 1319738
+> [ 904.987100] (3:node@c-2.me) 533808 | 1319738
+> [ 904.987100] (3:node@c-2.me) 533872 | 533744
+> [ 904.987100] (3:node@c-2.me) 534000 | 533744
+> [ 904.987100] (3:node@c-2.me) 534256 | 533744
+> [ 904.987100] (3:node@c-2.me) 534768 | 533744
+> [ 904.987100] (3:node@c-2.me) 535792 | 533744
+> [ 904.987100] (3:node@c-2.me) 537840 | 533744
+> [ 904.987100] (3:node@c-2.me) 541936 | 533744
+> [ 904.987100] (3:node@c-2.me) 550128 | 533744
+> [ 904.987100] (3:node@c-2.me) 566512 | 533744
+> [ 904.987100] (3:node@c-2.me) 599280 | 533744
+> [ 904.987100] (3:node@c-2.me) 664816 | 533744
+> [ 904.987100] (3:node@c-2.me) 795888 | 533744
+> [ 904.987100] (3:node@c-2.me) 1058032 | 533744
+> [ 904.987100] (3:node@c-2.me) 1582320 | 533744
+> [ 904.987100] (3:node@c-2.me) 2630896 | 533744
+> [ 904.987100] (3:node@c-2.me) 4728048 | 533744
+> [ 904.987100] (3:node@c-2.me) 8922352 | 533744
+> [ 904.987100] (3:node@c-2.me) Predecessor: 366680
+> [ 924.987500] (5:node@c-4.me) My finger table:
+> [ 924.987500] (5:node@c-4.me) Start | Succ
+> [ 924.987500] (5:node@c-4.me) 16509406 | 16728096
+> [ 924.987500] (5:node@c-4.me) 16509407 | 42
+> [ 924.987500] (5:node@c-4.me) 16509409 | 16728096
+> [ 924.987500] (5:node@c-4.me) 16509413 | 16728096
+> [ 924.987500] (5:node@c-4.me) 16509421 | 16728096
+> [ 924.987500] (5:node@c-4.me) 16509437 | 16728096
+> [ 924.987500] (5:node@c-4.me) 16509469 | 16728096
+> [ 924.987500] (5:node@c-4.me) 16509533 | 16509405
+> [ 924.987500] (5:node@c-4.me) 16509661 | 16509405
+> [ 924.987500] (5:node@c-4.me) 16509917 | 16509405
+> [ 924.987500] (5:node@c-4.me) 16510429 | 16509405
+> [ 924.987500] (5:node@c-4.me) 16511453 | 16509405
+> [ 924.987500] (5:node@c-4.me) 16513501 | 16509405
+> [ 924.987500] (5:node@c-4.me) 16517597 | 16509405
+> [ 924.987500] (5:node@c-4.me) 16525789 | 16509405
+> [ 924.987500] (5:node@c-4.me) 16542173 | 16509405
+> [ 924.987500] (5:node@c-4.me) 16574941 | 16509405
+> [ 924.987500] (5:node@c-4.me) 16640477 | 16509405
+> [ 924.987500] (5:node@c-4.me) 16771549 | 16509405
+> [ 924.987500] (5:node@c-4.me) 256477 | 16509405
+> [ 924.987500] (5:node@c-4.me) 780765 | 16509405
+> [ 924.987500] (5:node@c-4.me) 1829341 | 16509405
+> [ 924.987500] (5:node@c-4.me) 3926493 | 16509405
+> [ 924.987500] (5:node@c-4.me) 8120797 | 16509405
+> [ 924.987500] (5:node@c-4.me) Predecessor: 10874876
+> [ 936.987400] (6:node@c-5.me) My finger table:
+> [ 936.987400] (6:node@c-5.me) Start | Succ
+> [ 936.987400] (6:node@c-5.me) 10874877 | 16509405
+> [ 936.987400] (6:node@c-5.me) 10874878 | 533744
+> [ 936.987400] (6:node@c-5.me) 10874880 | 533744
+> [ 936.987400] (6:node@c-5.me) 10874884 | 16509405
+> [ 936.987400] (6:node@c-5.me) 10874892 | 16509405
+> [ 936.987400] (6:node@c-5.me) 10874908 | 16509405
+> [ 936.987400] (6:node@c-5.me) 10874940 | 16509405
+> [ 936.987400] (6:node@c-5.me) 10875004 | 10874876
+> [ 936.987400] (6:node@c-5.me) 10875132 | 10874876
+> [ 936.987400] (6:node@c-5.me) 10875388 | 10874876
+> [ 936.987400] (6:node@c-5.me) 10875900 | 10874876
+> [ 936.987400] (6:node@c-5.me) 10876924 | 10874876
+> [ 936.987400] (6:node@c-5.me) 10878972 | 10874876
+> [ 936.987400] (6:node@c-5.me) 10883068 | 10874876
+> [ 936.987400] (6:node@c-5.me) 10891260 | 10874876
+> [ 936.987400] (6:node@c-5.me) 10907644 | 10874876
+> [ 936.987400] (6:node@c-5.me) 10940412 | 10874876
+> [ 936.987400] (6:node@c-5.me) 11005948 | 10874876
+> [ 936.987400] (6:node@c-5.me) 11137020 | 10874876
+> [ 936.987400] (6:node@c-5.me) 11399164 | 10874876
+> [ 936.987400] (6:node@c-5.me) 11923452 | 10874876
+> [ 936.987400] (6:node@c-5.me) 12972028 | 10874876
+> [ 936.987400] (6:node@c-5.me) 15069180 | 10874876
+> [ 936.987400] (6:node@c-5.me) 2486268 | 10874876
+> [ 936.987400] (6:node@c-5.me) Predecessor: 10004760
+> [ 945.985300] (7:node@c-6.me) My finger table:
+> [ 945.985300] (7:node@c-6.me) Start | Succ
+> [ 945.985300] (7:node@c-6.me) 16728097 | 42
+> [ 945.985300] (7:node@c-6.me) 16728098 | 42
+> [ 945.985300] (7:node@c-6.me) 16728100 | 42
+> [ 945.985300] (7:node@c-6.me) 16728104 | 42
+> [ 945.985300] (7:node@c-6.me) 16728112 | 42
+> [ 945.985300] (7:node@c-6.me) 16728128 | 42
+> [ 945.985300] (7:node@c-6.me) 16728160 | 42
+> [ 945.985300] (7:node@c-6.me) 16728224 | 16728096
+> [ 945.985300] (7:node@c-6.me) 16728352 | 16728096
+> [ 945.985300] (7:node@c-6.me) 16728608 | 16728096
+> [ 945.985300] (7:node@c-6.me) 16729120 | 16728096
+> [ 945.985300] (7:node@c-6.me) 16730144 | 16728096
+> [ 945.985300] (7:node@c-6.me) 16732192 | 16728096
+> [ 945.985300] (7:node@c-6.me) 16736288 | 16728096
+> [ 945.985300] (7:node@c-6.me) 16744480 | 16728096
+> [ 945.985300] (7:node@c-6.me) 16760864 | 16728096
+> [ 945.985300] (7:node@c-6.me) 16416 | 16728096
+> [ 945.985300] (7:node@c-6.me) 81952 | 16728096
+> [ 945.985300] (7:node@c-6.me) 213024 | 16728096
+> [ 945.985300] (7:node@c-6.me) 475168 | 16728096
+> [ 945.985300] (7:node@c-6.me) 999456 | 16728096
+> [ 945.985300] (7:node@c-6.me) 2048032 | 16728096
+> [ 945.985300] (7:node@c-6.me) 4145184 | 16728096
+> [ 945.985300] (7:node@c-6.me) 8339488 | 16728096
+> [ 945.985300] (7:node@c-6.me) Predecessor: 16509405
+> [ 952.985200] (2:node@c-1.me) My finger table:
+> [ 952.985200] (2:node@c-1.me) Start | Succ
+> [ 952.985200] (2:node@c-1.me) 366681 | 533744
+> [ 952.985200] (2:node@c-1.me) 366682 | 1319738
+> [ 952.985200] (2:node@c-1.me) 366684 | 533744
+> [ 952.985200] (2:node@c-1.me) 366688 | 533744
+> [ 952.985200] (2:node@c-1.me) 366696 | 533744
+> [ 952.985200] (2:node@c-1.me) 366712 | 533744
+> [ 952.985200] (2:node@c-1.me) 366744 | 533744
+> [ 952.985200] (2:node@c-1.me) 366808 | 366680
+> [ 952.985200] (2:node@c-1.me) 366936 | 366680
+> [ 952.985200] (2:node@c-1.me) 367192 | 366680
+> [ 952.985200] (2:node@c-1.me) 367704 | 366680
+> [ 952.985200] (2:node@c-1.me) 368728 | 366680
+> [ 952.985200] (2:node@c-1.me) 370776 | 366680
+> [ 952.985200] (2:node@c-1.me) 374872 | 366680
+> [ 952.985200] (2:node@c-1.me) 383064 | 366680
+> [ 952.985200] (2:node@c-1.me) 399448 | 366680
+> [ 952.985200] (2:node@c-1.me) 432216 | 366680
+> [ 952.985200] (2:node@c-1.me) 497752 | 366680
+> [ 952.985200] (2:node@c-1.me) 628824 | 366680
+> [ 952.985200] (2:node@c-1.me) 890968 | 366680
+> [ 952.985200] (2:node@c-1.me) 1415256 | 366680
+> [ 952.985200] (2:node@c-1.me) 2463832 | 366680
+> [ 952.985200] (2:node@c-1.me) 4560984 | 366680
+> [ 952.985200] (2:node@c-1.me) 8755288 | 366680
+> [ 952.985200] (2:node@c-1.me) Predecessor: 42
+> [ 967.986900] (4:node@c-3.me) My finger table:
+> [ 967.986900] (4:node@c-3.me) Start | Succ
+> [ 967.986900] (4:node@c-3.me) 1319739 | 2015253
+> [ 967.986900] (4:node@c-3.me) 1319740 | 6518808
+> [ 967.986900] (4:node@c-3.me) 1319742 | 6518808
+> [ 967.986900] (4:node@c-3.me) 1319746 | 2015253
+> [ 967.986900] (4:node@c-3.me) 1319754 | 2015253
+> [ 967.986900] (4:node@c-3.me) 1319770 | 2015253
+> [ 967.986900] (4:node@c-3.me) 1319802 | 2015253
+> [ 967.986900] (4:node@c-3.me) 1319866 | 1319738
+> [ 967.986900] (4:node@c-3.me) 1319994 | 1319738
+> [ 967.986900] (4:node@c-3.me) 1320250 | 1319738
+> [ 967.986900] (4:node@c-3.me) 1320762 | 1319738
+> [ 967.986900] (4:node@c-3.me) 1321786 | 1319738
+> [ 967.986900] (4:node@c-3.me) 1323834 | 1319738
+> [ 967.986900] (4:node@c-3.me) 1327930 | 1319738
+> [ 967.986900] (4:node@c-3.me) 1336122 | 1319738
+> [ 967.986900] (4:node@c-3.me) 1352506 | 1319738
+> [ 967.986900] (4:node@c-3.me) 1385274 | 1319738
+> [ 967.986900] (4:node@c-3.me) 1450810 | 1319738
+> [ 967.986900] (4:node@c-3.me) 1581882 | 1319738
+> [ 967.986900] (4:node@c-3.me) 1844026 | 1319738
+> [ 967.986900] (4:node@c-3.me) 2368314 | 1319738
+> [ 967.986900] (4:node@c-3.me) 3416890 | 1319738
+> [ 967.986900] (4:node@c-3.me) 5514042 | 1319738
+> [ 967.986900] (4:node@c-3.me) 9708346 | 1319738
+> [ 967.986900] (4:node@c-3.me) Predecessor: 533744
+> [1207.985300] (0:@) Messages created: 1690
+> [1207.985300] (0:@) Simulated time: 1207.99
p Testing the mechanism for computing host energy consumption
! output sort
-$ $SG_TEST_EXENV energy/e2/e2$EXEEXT ${srcdir:=.}/energy/e2/platform_e2.xml ${srcdir:=.}/energy/e2/deployment_e2.xml --log=surf_cpu.thres:debug --log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n
-> [ 0.000000] (0:@) CPU create: peak=100000000.000000, pstate=0
+$ $SG_TEST_EXENV energy/e2/e2$EXEEXT ${srcdir:=.}/energy/e2/platform_e2.xml ${srcdir:=.}/energy/e2/deployment_e2.xml --log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n
> [ 0.000000] (1:dvfs_test@MyHost1) Current power peak=100000000.000000
> [ 0.000000] (1:dvfs_test@MyHost1) Total energy (Joules): 0.000000
-> [ 1.000000] (0:@) [cpu_update_energy] action time interval=(0.000000-1.000000), current power peak=100000000.000000, current pstate=0
-> [ 1.000000] (0:@) [get_current_watts] min_power=95.000000, max_power=200.000000, slope=105.000000
-> [ 1.000000] (0:@) [get_current_watts] Current power (watts) = 200.000000, load = 1.000000
-> [ 1.000000] (0:@) [cpu_update_energy] old_energy_value=0.000000, action_energy_value=200.000000
> [ 1.000000] (1:dvfs_test@MyHost1) Task1 simulation time: 1.000000e+00
> [ 1.000000] (1:dvfs_test@MyHost1) Total energy (Joules): 200.000000
> [ 1.000000] (1:dvfs_test@MyHost1) =========Changing power peak value to 20000000.000000 (at index 2)
-> [ 6.000000] (0:@) [cpu_update_energy] action time interval=(1.000000-6.000000), current power peak=20000000.000000, current pstate=2
-> [ 6.000000] (0:@) [get_current_watts] min_power=90.000000, max_power=150.000000, slope=60.000000
-> [ 6.000000] (0:@) [get_current_watts] Current power (watts) = 150.000000, load = 1.000000
-> [ 6.000000] (0:@) [cpu_update_energy] old_energy_value=200.000000, action_energy_value=750.000000
> [ 6.000000] (1:dvfs_test@MyHost1) Task2 simulation time: 5.000000e+00
> [ 6.000000] (1:dvfs_test@MyHost1) Total energy (Joules): 950.000000
-> [ 9.000000] (0:@) [cpu_update_energy] action time interval=(6.000000-9.000000), current power peak=20000000.000000, current pstate=2
-> [ 9.000000] (0:@) [get_current_watts] min_power=90.000000, max_power=150.000000, slope=60.000000
-> [ 9.000000] (0:@) [get_current_watts] Current power (watts) = 90.000000, load = 0.000000
-> [ 9.000000] (0:@) [cpu_update_energy] old_energy_value=950.000000, action_energy_value=270.000000
> [ 9.000000] (1:dvfs_test@MyHost1) Task3 (sleep) simulation time: 4.000000e+00
> [ 9.000000] (1:dvfs_test@MyHost1) Total energy (Joules): 1220.000000
> [ 9.000000] (0:@) Total simulation time: 9.000000e+00
p Testing the mechanism for computing host energy consumption for concurrent tasks
! output sort
-$ $SG_TEST_EXENV energy/e3/e3$EXEEXT ${srcdir:=.}/energy/e3/platform_e3.xml ${srcdir:=.}/energy/e3/deployment_e3.xml --log=surf_cpu.thres:debug --log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n
-> [ 0.000000] (0:@) CPU create: peak=100000000.000000, pstate=0
+$ $SG_TEST_EXENV energy/e3/e3$EXEEXT ${srcdir:=.}/energy/e3/platform_e3.xml ${srcdir:=.}/energy/e3/deployment_e3.xml --log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n
> [ 0.000000] (1:dvfs_test@MyHost1) Current power peak=100000000.000000
> [ 0.000000] (1:dvfs_test@MyHost1) Total energy (Joules): 0.000000
-> [ 2.000000] (0:@) [cpu_update_energy] action time interval=(0.000000-2.000000), current power peak=100000000.000000, current pstate=0
-> [ 2.000000] (0:@) [get_current_watts] min_power=95.000000, max_power=200.000000, slope=105.000000
-> [ 2.000000] (0:@) [get_current_watts] Current power (watts) = 200.000000, load = 1.000000
-> [ 2.000000] (0:@) [cpu_update_energy] old_energy_value=0.000000, action_energy_value=400.000000
> [ 2.000000] (4:proc3@MyHost1) Process proc3 executed task sleep cpu=0.000000, duration = 2.000000
> [ 2.000000] (4:proc3@MyHost1) ==================================================
> [ 2.000000] (3:proc2@MyHost1) Process proc2 executed task sleep cpu=0.000000, duration = 2.000000
> [ 2.000000] (3:proc2@MyHost1) ==================================================
-> [ 5.000000] (0:@) [cpu_update_energy] action time interval=(2.000000-5.000000), current power peak=100000000.000000, current pstate=0
-> [ 5.000000] (0:@) [get_current_watts] min_power=95.000000, max_power=200.000000, slope=105.000000
-> [ 5.000000] (0:@) [get_current_watts] Current power (watts) = 200.000000, load = 1.000000
-> [ 5.000000] (0:@) [cpu_update_energy] old_energy_value=400.000000, action_energy_value=600.000000
> [ 5.000000] (4:proc3@MyHost1) Process proc3 executed task cpu=100000000.000000, duration = 3.000000
> [ 5.000000] (4:proc3@MyHost1) ==================================================
> [ 5.000000] (3:proc2@MyHost1) Process proc2 executed task cpu=100000000.000000, duration = 3.000000
> [ 5.000000] (3:proc2@MyHost1) ==================================================
-> [ 6.000000] (0:@) [cpu_update_energy] action time interval=(5.000000-6.000000), current power peak=100000000.000000, current pstate=0
-> [ 6.000000] (0:@) [get_current_watts] min_power=95.000000, max_power=200.000000, slope=105.000000
-> [ 6.000000] (0:@) [get_current_watts] Current power (watts) = 200.000000, load = 1.000000
-> [ 6.000000] (0:@) [cpu_update_energy] old_energy_value=1000.000000, action_energy_value=200.000000
> [ 6.000000] (2:proc1@MyHost1) Process proc1 executed task cpu=400000000.000000, duration = 6.000000
> [ 6.000000] (2:proc1@MyHost1) ==================================================
-> [ 8.000000] (0:@) [cpu_update_energy] action time interval=(6.000000-8.000000), current power peak=100000000.000000, current pstate=0
-> [ 8.000000] (0:@) [get_current_watts] min_power=95.000000, max_power=200.000000, slope=105.000000
-> [ 8.000000] (0:@) [get_current_watts] Current power (watts) = 95.000000, load = 0.000000
-> [ 8.000000] (0:@) [cpu_update_energy] old_energy_value=1200.000000, action_energy_value=190.000000
> [ 8.000000] (1:dvfs_test@MyHost1) Task simulation time: 8.000000e+00
> [ 8.000000] (1:dvfs_test@MyHost1) Total energy (Joules): 1390.000000
-> [ 8.000000] (0:@) Total simulation time: 8.000000e+00
\ No newline at end of file
+> [ 8.000000] (0:@) Total simulation time: 8.000000e+00
p Testing dogbone communication pattern with GTNets model
-$ gtnets/gtnets ${srcdir:=.}/gtnets/dogbone-p.xml ${srcdir:=.}/gtnets/dogbone-d.xml --cfg=tracing/filename:dogbone_gtnets.trace --cfg=tracing/categorized:1 --cfg=workstation/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:GTNets
+$ gtnets/gtnets ${srcdir:=.}/gtnets/dogbone-p.xml ${srcdir:=.}/gtnets/dogbone-d.xml --cfg=tracing/filename:dogbone_gtnets.trace --cfg=tracing/categorized:yes --cfg=workstation/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:GTNets
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'dogbone_gtnets.trace'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'workstation/model' to 'compound'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'cpu/model' to 'Cas01'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'GTNets'
p Testing dogbone communication pattern with LV08 model
-$ gtnets/gtnets ${srcdir:=.}/gtnets/dogbone-p.xml ${srcdir:=.}/gtnets/dogbone-d.xml --cfg=tracing/filename:dogbone_lv08.trace --cfg=tracing/categorized:1 --cfg=workstation/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:LV08
+$ gtnets/gtnets ${srcdir:=.}/gtnets/dogbone-p.xml ${srcdir:=.}/gtnets/dogbone-d.xml --cfg=tracing/filename:dogbone_lv08.trace --cfg=tracing/categorized:yes --cfg=workstation/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:LV08
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'dogbone_lv08.trace'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'workstation/model' to 'compound'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'cpu/model' to 'Cas01'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'LV08'
p Testing onelink communication pattern with GTNets model
-$ gtnets/gtnets ${srcdir:=.}/gtnets/onelink-p.xml ${srcdir:=.}/gtnets/onelink-d.xml --cfg=tracing/filename:onelink_gtnets.trace --cfg=tracing/categorized:1 --cfg=workstation/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:GTNets
+$ gtnets/gtnets ${srcdir:=.}/gtnets/onelink-p.xml ${srcdir:=.}/gtnets/onelink-d.xml --cfg=tracing/filename:onelink_gtnets.trace --cfg=tracing/categorized:yes --cfg=workstation/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:GTNets
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'onelink_gtnets.trace'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'workstation/model' to 'compound'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'cpu/model' to 'Cas01'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'GTNets'
p Testing onelink communication pattern with LV08 model
-$ gtnets/gtnets ${srcdir:=.}/gtnets/onelink-p.xml ${srcdir:=.}/gtnets/onelink-d.xml --cfg=tracing/filename:onelink_lv08.trace --cfg=tracing/categorized:1 --cfg=workstation/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:LV08 2>&1 | grep --color=auto -v root/INFO | grep -v simix_network/INFO
+$ gtnets/gtnets ${srcdir:=.}/gtnets/onelink-p.xml ${srcdir:=.}/gtnets/onelink-d.xml --cfg=tracing/filename:onelink_lv08.trace --cfg=tracing/categorized:yes --cfg=workstation/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:LV08 2>&1 | grep --color=auto -v root/INFO | grep -v simix_network/INFO
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'onelink_lv08.trace'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'workstation/model' to 'compound'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'cpu/model' to 'Cas01'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'LV08'
p Testing waxman radom communication pattern with GTNets model, 200 nodes, 200 flows
! timeout 10
-$ gtnets/gtnets ${srcdir:=.}/gtnets/waxman-p.xml ${srcdir:=.}/gtnets/waxman-d.xml --cfg=tracing/filename:waxman_gtnets.trace --cfg=tracing/categorized:1 --cfg=workstation/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:GTNets
+$ gtnets/gtnets ${srcdir:=.}/gtnets/waxman-p.xml ${srcdir:=.}/gtnets/waxman-d.xml --cfg=tracing/filename:waxman_gtnets.trace --cfg=tracing/categorized:yes --cfg=workstation/model:compound --cfg=cpu/model:Cas01 --cfg=network/model:GTNets
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'waxman_gtnets.trace'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'workstation/model' to 'compound'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'cpu/model' to 'Cas01'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'GTNets'
add_executable(file file.c)
add_executable(file_unlink file_unlink.c)
+add_executable(storage storage.c)
### Add definitions for compile
if(NOT WIN32)
target_link_libraries(file simgrid pthread)
target_link_libraries(file_unlink simgrid pthread)
+ target_link_libraries(storage simgrid pthread)
else()
target_link_libraries(file simgrid)
target_link_libraries(file_unlink simgrid)
+ target_link_libraries(storage simgrid)
endif()
set(tesh_files
${tesh_files}
${CMAKE_CURRENT_SOURCE_DIR}/io.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/storage.tesh
PARENT_SCOPE
)
set(xml_files
${examples_src}
${CMAKE_CURRENT_SOURCE_DIR}/file.c
${CMAKE_CURRENT_SOURCE_DIR}/file_unlink.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/storage.c
PARENT_SCOPE
)
set(bin_files
*/
#define FILENAME1 "./doc/simgrid/examples/platforms/g5k.xml"
-#define FILENAME2 "./doc/simgrid/examples/platforms/One_cluster_no_backbone.xml"
+#define FILENAME2 ".\\Windows\\setupact.log"
#define FILENAME3 "./doc/simgrid/examples/platforms/g5k_cabinets.xml"
#define FILENAME4 "./doc/simgrid/examples/platforms/nancy.xml"
if(!strcmp(MSG_process_get_name(MSG_process_self()),"0")){
file = MSG_file_open(mount,FILENAME1, NULL);
MSG_file_dump(file);
- } else if(!strcmp(MSG_process_get_name(MSG_process_self()),"1"))
+ } else if(!strcmp(MSG_process_get_name(MSG_process_self()),"1")) {
+ free(mount);
+ mount = xbt_strdup("/windows");
file = MSG_file_open(mount,FILENAME2, NULL);
- else if(!strcmp(MSG_process_get_name(MSG_process_self()),"2"))
+ } else if(!strcmp(MSG_process_get_name(MSG_process_self()),"2")){
file = MSG_file_open(mount,FILENAME3, NULL);
- else if(!strcmp(MSG_process_get_name(MSG_process_self()),"3"))
+ } else if(!strcmp(MSG_process_get_name(MSG_process_self()),"3"))
file = MSG_file_open(mount,FILENAME4, NULL);
else xbt_die("FILENAME NOT DEFINED %s",MSG_process_get_name(MSG_process_self()));
$ ${bindir:=.}/io/file ${srcdir:=.}/examples/platforms/storage.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
> [ 0.000000] (0:@) Number of host '4'
-> [ 0.000000] (2:1@alice) Open file './doc/simgrid/examples/platforms/One_cluster_no_backbone.xml'
+> [ 0.000000] (2:1@alice) Open file '.\Windows\setupact.log'
> [ 0.000000] (3:2@carl) Open file './doc/simgrid/examples/platforms/g5k_cabinets.xml'
> [ 0.000000] (4:3@bob) Open file './doc/simgrid/examples/platforms/nancy.xml'
> [ 0.000000] (1:0@denise) File Descriptor information:
> Storage Type: 'single_SSD'
> Content Type: 'txt_unix'
> [ 0.000000] (1:0@denise) Open file './doc/simgrid/examples/platforms/g5k.xml'
-> [ 0.000005] (2:1@alice) Have read 482 on ./doc/simgrid/examples/platforms/One_cluster_no_backbone.xml
> [ 0.000040] (4:3@bob) Have read 4028 on ./doc/simgrid/examples/platforms/nancy.xml
-> [ 0.000170] (1:0@denise) Have read 17028 on ./doc/simgrid/examples/platforms/g5k.xml
+> [ 0.000085] (1:0@denise) Have read 17028 on ./doc/simgrid/examples/platforms/g5k.xml
> [ 0.000226] (3:2@carl) Have read 22645 on ./doc/simgrid/examples/platforms/g5k_cabinets.xml
-> [ 0.003338] (2:1@alice) Have written 100000 on ./doc/simgrid/examples/platforms/One_cluster_no_backbone.xml
+> [ 0.000508] (2:1@alice) Have read 101663 on .\Windows\setupact.log
+> [ 0.001752] (1:0@denise) Have written 100000 on ./doc/simgrid/examples/platforms/g5k.xml
+> [ 0.002175] (2:1@alice) Have written 100000 on .\Windows\setupact.log
+> [ 0.002439] (1:0@denise) Have read 110000 on ./doc/simgrid/examples/platforms/g5k.xml (of size 117026)
+> [ 0.002439] (1:0@denise) Close file './doc/simgrid/examples/platforms/g5k.xml'
+> [ 0.002862] (2:1@alice) Have read 110000 on .\Windows\setupact.log (of size 201662)
+> [ 0.002862] (2:1@alice) Close file '.\Windows\setupact.log'
> [ 0.003374] (4:3@bob) Have written 100000 on ./doc/simgrid/examples/platforms/nancy.xml
-> [ 0.003504] (1:0@denise) Have written 100000 on ./doc/simgrid/examples/platforms/g5k.xml
> [ 0.003560] (3:2@carl) Have written 100000 on ./doc/simgrid/examples/platforms/g5k_cabinets.xml
-> [ 0.004343] (2:1@alice) Have read 100481 on ./doc/simgrid/examples/platforms/One_cluster_no_backbone.xml (of size 100481)
-> [ 0.004343] (2:1@alice) Close file './doc/simgrid/examples/platforms/One_cluster_no_backbone.xml'
-> [ 0.004414] (4:3@bob) Have read 104027 on ./doc/simgrid/examples/platforms/nancy.xml (of size 104027)
-> [ 0.004414] (4:3@bob) Close file './doc/simgrid/examples/platforms/nancy.xml'
-> [ 0.004604] (1:0@denise) Have read 110000 on ./doc/simgrid/examples/platforms/g5k.xml (of size 117027)
-> [ 0.004604] (1:0@denise) Close file './doc/simgrid/examples/platforms/g5k.xml'
-> [ 0.004660] (3:2@carl) Have read 110000 on ./doc/simgrid/examples/platforms/g5k_cabinets.xml (of size 122644)
-> [ 0.004660] (3:2@carl) Close file './doc/simgrid/examples/platforms/g5k_cabinets.xml'
-> [ 0.004660] (0:@) Simulation time 0.00465978
+> [ 0.004529] (4:3@bob) Have read 104023 on ./doc/simgrid/examples/platforms/nancy.xml (of size 104023)
+> [ 0.004529] (4:3@bob) Close file './doc/simgrid/examples/platforms/nancy.xml'
+> [ 0.004782] (3:2@carl) Have read 110000 on ./doc/simgrid/examples/platforms/g5k_cabinets.xml (of size 122641)
+> [ 0.004782] (3:2@carl) Close file './doc/simgrid/examples/platforms/g5k_cabinets.xml'
+> [ 0.004782] (0:@) Simulation time 0.00478201
$ ${bindir:=.}/io/file_unlink ${srcdir:=.}/examples/platforms/storage.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
> [ 0.000000] (0:@) Number of host '4'
> [ 0.000000] (1:0@denise) Open file './doc/simgrid/examples/platforms/g5k.xml'
> [ 0.000000] (1:0@denise) Unlink file './doc/simgrid/examples/platforms/g5k.xml'
> [ 0.000000] (1:0@denise) Open file './doc/simgrid/examples/platforms/g5k.xml'
-> [ 0.003333] (1:0@denise) Have written 100000 on ./doc/simgrid/examples/platforms/g5k.xml
-> [ 0.003333] (1:0@denise) Close file './doc/simgrid/examples/platforms/g5k.xml'
-> [ 0.003333] (1:0@denise)
-> [ 0.003333] (1:0@denise) ls ./
-> [ 0.003333] (1:0@denise) DIR : include
-> [ 0.003333] (1:0@denise) DIR : lib
-> [ 0.003333] (1:0@denise) DIR : bin
-> [ 0.003333] (1:0@denise) DIR : doc
-> [ 0.003333] (1:0@denise)
-> [ 0.003333] (1:0@denise) ls ./doc/simgrid/examples/platforms/
-> [ 0.003333] (1:0@denise) FILE : lcg_sept2004_grid.xml
-> [ 0.003333] (1:0@denise) FILE : prop.xml
-> [ 0.003333] (1:0@denise) FILE : multicore_machine.xml
-> [ 0.003333] (1:0@denise) FILE : g5k.xml
-> [ 0.003333] (1:0@denise) FILE : vivaldi.xml
-> [ 0.003333] (1:0@denise) FILE : gdx.xml
-> [ 0.003333] (1:0@denise) FILE : griffon.xml
-> [ 0.003333] (1:0@denise) FILE : Two_clusters.xml
-> [ 0.003333] (1:0@denise) FILE : One_cluster_no_backbone.xml
-> [ 0.003333] (1:0@denise) FILE : median_harvard.xml
-> [ 0.003333] (1:0@denise) FILE : nancy.xml
-> [ 0.003333] (1:0@denise) FILE : One_cluster.xml
-> [ 0.003333] (1:0@denise) FILE : g5k_cabinets.xml
-> [ 0.003333] (1:0@denise) FILE : gridpp_grid_2004.xml
-> [ 0.003333] (1:0@denise)
-> [ 0.003333] (1:0@denise) ls ./doc/simgrid/examples/msg/
-> [ 0.003333] (1:0@denise) DIR : parallel_contexts
-> [ 0.003333] (1:0@denise) DIR : alias
-> [ 0.003333] (1:0@denise) DIR : trace
-> [ 0.003333] (1:0@denise) FILE : small_platform.xml
-> [ 0.003333] (1:0@denise) DIR : priority
-> [ 0.003333] (1:0@denise) DIR : tracing
-> [ 0.003333] (1:0@denise) DIR : properties
-> [ 0.003333] (1:0@denise) FILE : README
-> [ 0.003333] (1:0@denise) DIR : chord
-> [ 0.003333] (1:0@denise) DIR : mc
-> [ 0.003333] (1:0@denise) DIR : gtnets
-> [ 0.003333] (1:0@denise) DIR : suspend
-> [ 0.003333] (1:0@denise) FILE : small_platform_with_routers.xml
-> [ 0.003333] (1:0@denise) DIR : pmm
-> [ 0.003333] (1:0@denise) FILE : msg_platform.xml
-> [ 0.003333] (1:0@denise) DIR : token_ring
-> [ 0.003333] (1:0@denise) DIR : actions
-> [ 0.003333] (1:0@denise) FILE : small_platform_with_failures.xml
-> [ 0.003333] (1:0@denise) DIR : ns3
-> [ 0.003333] (1:0@denise) DIR : sendrecv
-> [ 0.003333] (1:0@denise) DIR : parallel_task
-> [ 0.003333] (1:0@denise) DIR : masterslave
-> [ 0.003333] (1:0@denise) DIR : icomms
-> [ 0.003333] (1:0@denise) DIR : migration
-> [ 0.003333] (0:@) Simulation time 0.00333333
\ No newline at end of file
+> [ 0.001667] (1:0@denise) Have written 100000 on ./doc/simgrid/examples/platforms/g5k.xml
+> [ 0.001667] (1:0@denise) Close file './doc/simgrid/examples/platforms/g5k.xml'
+> [ 0.001667] (1:0@denise)
+> [ 0.001667] (1:0@denise) ls ./
+> [ 0.001667] (1:0@denise) DIR : include
+> [ 0.001667] (1:0@denise) DIR : lib
+> [ 0.001667] (1:0@denise) DIR : bin
+> [ 0.001667] (1:0@denise) DIR : doc
+> [ 0.001667] (1:0@denise)
+> [ 0.001667] (1:0@denise) ls ./doc/simgrid/examples/platforms/
+> [ 0.001667] (1:0@denise) FILE : g5k.xml
+> [ 0.001667] (1:0@denise)
+> [ 0.001667] (1:0@denise) ls ./doc/simgrid/examples/msg/
+> [ 0.001667] (1:0@denise) DIR : alias
+> [ 0.001667] (1:0@denise) DIR : trace
+> [ 0.001667] (1:0@denise) FILE : README
+> [ 0.001667] (1:0@denise) DIR : parallel_task
+> [ 0.001667] (1:0@denise) DIR : icomms
+> [ 0.001667] (0:@) Simulation time 0.00166667
\ No newline at end of file
--- /dev/null
+/* Copyright (c) 2006-2013. The SimGrid Team.
+ * All rights reserved. */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+
+/********************* Files and Storage handling ****************************
+ * This example implements all main storage and file functions of the MSG API
+ *
+ * Scenario :
+ * - display information on the disks mounted by the current host
+ * - create a 200,000 bytes file
+ * - completely read the created file
+ * - write 100,000 more bytes in the file
+ * - rename the created file
+ * - attach some user data to a disk
+ * - dump disk's contents
+ *
+******************************************************************************/
+
+#include "msg/msg.h"
+#include "xbt/log.h"
+#include "xbt/dict.h"
+
+ /* To use PRIu64 format specifier for printing uint64_t (sg_storage_size_t) */
+#include <inttypes.h>
+
+XBT_LOG_NEW_DEFAULT_CATEGORY(storage,"Messages specific for this simulation");
+
+static int host(int argc, char *argv[]){
+ const char* host_name = MSG_host_get_name(MSG_host_self());
+
+ // display information on the disks mounted by the current host
+ XBT_INFO("*** Storage info on %s ***", host_name);
+
+ xbt_dict_cursor_t cursor = NULL;
+ char* mount_name;
+ char* storage_name;
+ msg_storage_t storage;
+
+ // Retrieve all mount points of current host
+ xbt_dict_t storage_list = MSG_host_get_storage_list(MSG_host_self());
+
+ xbt_dict_foreach(storage_list,cursor,mount_name,storage_name) {
+ // For each disk mounted on host
+ XBT_INFO("Storage name: %s, mount name: %s", storage_name, mount_name);
+ storage = MSG_storage_get_by_name(storage_name);
+
+ // Retrieve disk's information
+ sg_storage_size_t free_size = MSG_storage_get_free_size(mount_name);
+ sg_storage_size_t used_size = MSG_storage_get_used_size(mount_name);
+ sg_storage_size_t size = MSG_storage_get_size(storage);
+
+ XBT_INFO("Total size: %"PRIu64" bytes", size);
+ XBT_INFO("Free size: %"PRIu64" bytes", free_size);
+ XBT_INFO("Used size: %"PRIu64" bytes", used_size);
+ }
+ xbt_dict_free(&storage_list);
+
+
+ // Create a 200,000 bytes file named './tmp/data.txt' on /sd1
+
+ char* mount = xbt_strdup("/home");
+ char* file_name = xbt_strdup("./tmp/data.txt");
+ msg_file_t file = NULL;
+ sg_storage_size_t write, read, file_size;
+
+ // Open an non-existing file amounts to create it!
+ file = MSG_file_open(mount, file_name, NULL);
+ write = MSG_file_write(file, 200000); // Write 200,000 bytes
+ XBT_INFO("Create a %"PRIu64" bytes file named '%s' on /sd1", write, file_name);
+ MSG_file_dump(file);
+
+ // check that sizes have changed
+ XBT_INFO("Free size: %"PRIu64" bytes", MSG_storage_get_free_size("/home"));
+ XBT_INFO("Used size: %"PRIu64" bytes", MSG_storage_get_used_size("/home"));
+
+
+ // Now retrieve the size of created file and read it completely
+ file_size = MSG_file_get_size(file);
+ read = MSG_file_read(file, file_size);
+ XBT_INFO("Read %"PRIu64" bytes on %s", read, file_name);
+
+ // Now write 100,000 more bytes in tmp/data.txt
+ write = MSG_file_write(file, 100000); // Write 100,000 bytes
+ XBT_INFO("Write %"PRIu64" more bytes on %s", write, file_name);
+ MSG_file_dump(file);
+
+ MSG_file_close(file);
+ free(mount);
+ free(file_name);
+
+ storage_name = xbt_strdup("Disk4");
+ storage = MSG_storage_get_by_name(storage_name);
+
+ // Now rename file from ./tmp/data.txt to ./tmp/simgrid.readme
+ XBT_INFO("*** Renaming './tmp/data.txt' into './tmp/simgrid.readme'");
+ MSG_storage_file_rename(storage, "./tmp/data.txt", "./tmp/simgrid.readme");
+
+ // Now attach some user data to disk1
+ XBT_INFO("*** Get/set data for storage element: %s ***",storage_name);
+
+ char *data = MSG_storage_get_data(storage);
+
+ XBT_INFO("Get data: '%s'", data);
+
+ MSG_storage_set_data(storage,strdup("Some user data"));
+ data = MSG_storage_get_data(storage);
+ XBT_INFO("Set and get data: '%s'", data);
+ xbt_free(storage_name);
+
+
+ // Dump disks contents
+ XBT_INFO("*** Dump content of %s ***",MSG_host_get_name(MSG_host_self()));
+ xbt_dict_t contents = NULL;
+ contents = MSG_host_get_storage_content(MSG_host_self()); // contents is a dict of dicts
+ xbt_dict_cursor_t curs, curs2 = NULL;
+ char* mountname;
+ xbt_dict_t content;
+ char* path;
+ sg_storage_size_t *size;
+ xbt_dict_foreach(contents, curs, mountname, content){
+ XBT_INFO("Print the content of mount point: %s",mountname);
+ xbt_dict_foreach(content,curs2,path,size){
+ XBT_INFO("%s size: %"PRIu64" bytes", path,*((sg_storage_size_t*)size));
+ }
+ xbt_dict_free(&content);
+ }
+ xbt_dict_free(&contents);
+ return 1;
+}
+
+
+int main(int argc, char *argv[])
+{
+
+ MSG_init(&argc, argv);
+ MSG_create_environment(argv[1]);
+ MSG_function_register("host", host);
+ xbt_dynar_t hosts = MSG_hosts_as_dynar();
+ MSG_process_create(NULL, host, NULL, xbt_dynar_get_as(hosts,0,msg_host_t) );
+ xbt_dynar_free(&hosts);
+
+ msg_error_t res = MSG_main();
+ XBT_INFO("Simulated time: %g", MSG_get_clock());
+
+ if (res == MSG_OK)
+ return 0;
+ else
+ return 1;
+}
--- /dev/null
+#! ./tesh
+
+$ ${bindir:=.}/io/storage ${srcdir:=.}/examples/platforms/storage.xml "--log=root.fmt:[%8.6r]%e(%i@%h)%e%m%n"
+> [0.000000] (1@denise) *** Storage info on denise ***
+> [0.000000] (1@denise) Storage name: Disk4, mount name: /home
+> [0.000000] (1@denise) Total size: 536870912000 bytes
+> [0.000000] (1@denise) Free size: 536857690006 bytes
+> [0.000000] (1@denise) Used size: 13221994 bytes
+> [0.000000] (1@denise) Storage name: Disk2, mount name: /windows
+> [0.000000] (1@denise) Total size: 536870912000 bytes
+> [0.000000] (1@denise) Free size: 534479374867 bytes
+> [0.000000] (1@denise) Used size: 2391537133 bytes
+> [0.003333] (1@denise) Create a 200000 bytes file named './tmp/data.txt' on /sd1
+> [0.003333] (1@denise) File Descriptor information:
+> Full name: './tmp/data.txt'
+> Size: 200000
+> Mount point: '/home'
+> Storage Id: 'Disk4'
+> Storage Type: 'single_SSD'
+> Content Type: 'txt_unix'
+> [0.003333] (1@denise) Free size: 536857490006 bytes
+> [0.003333] (1@denise) Used size: 13421994 bytes
+> [0.004583] (1@denise) Read 200000 bytes on ./tmp/data.txt
+> [0.007917] (1@denise) Write 100000 more bytes on ./tmp/data.txt
+> [0.007917] (1@denise) File Descriptor information:
+> Full name: './tmp/data.txt'
+> Size: 300000
+> Mount point: '/home'
+> Storage Id: 'Disk4'
+> Storage Type: 'single_SSD'
+> Content Type: 'txt_unix'
+> [0.007917] (1@denise) *** Renaming './tmp/data.txt' into './tmp/simgrid.readme'
+> [0.007917] (1@denise) *** Get/set data for storage element: Disk4 ***
+> [0.007917] (1@denise) Get data: '(null)'
+> [0.007917] (1@denise) Set and get data: 'Some user data'
+> [0.007917] (1@denise) *** Dump content of denise ***
+> [0.007917] (1@denise) Print the content of mount point: /home
+> [0.007917] (1@denise) ./doc/simgrid/examples/platforms/g5k.xml size: 17028 bytes
+> [0.007917] (1@denise) ./include/surf/simgrid_dtd.h size: 23583 bytes
+> [0.007917] (1@denise) ./bin/smpicc size: 918 bytes
+> [0.007917] (1@denise) ./doc/simgrid/examples/smpi/mc_bugged2.c size: 1387 bytes
+> [0.007917] (1@denise) ./include/simdag/simdag.h size: 10325 bytes
+> [0.007917] (1@denise) ./doc/simgrid/examples/smpi/NAS/sys/README size: 1461 bytes
+> [0.007917] (1@denise) ./tmp/simgrid.readme size: 300000 bytes
+> [0.007917] (1@denise) ./doc/simgrid/examples/smpi/NAS/common/randdp.c size: 1441 bytes
+> [0.007917] (1@denise) ./include/msg/datatypes.h size: 4635 bytes
+> [0.007917] (1@denise) ./doc/simgrid/examples/smpi/NAS/EP/randlc.c size: 3300 bytes
+> [0.007917] (1@denise) ./doc/simgrid/examples/msg/parallel_task/test_ptask_deployment.xml size: 654 bytes
+> [0.007917] (1@denise) ./doc/simgrid/examples/msg/icomms/small_platform.xml size: 972 bytes
+> [0.007917] (1@denise) ./doc/simgrid/examples/msg/trace/test9.xml size: 598 bytes
+> [0.007917] (1@denise) ./include/simix/simix.h size: 13003 bytes
+> [0.007917] (1@denise) ./include/mc/modelchecker.h size: 96 bytes
+> [0.007917] (1@denise) ./doc/simgrid/examples/msg/README size: 4805 bytes
+> [0.007917] (1@denise) ./doc/simgrid/examples/smpi/NAS/README size: 1857 bytes
+> [0.007917] (1@denise) ./include/instr/instr.h size: 5750 bytes
+> [0.007917] (1@denise) ./doc/simgrid/html/group__XBT__str.html size: 36192 bytes
+> [0.007917] (1@denise) ./doc/simgrid/examples/smpi/NAS/EP/README size: 347 bytes
+> [0.007917] (1@denise) ./bin/tesh size: 356434 bytes
+> [0.007917] (1@denise) ./doc/simgrid/examples/smpi/NAS/DT/README size: 999 bytes
+> [0.007917] (1@denise) ./doc/simgrid/examples/smpi/NAS/FT/README size: 276 bytes
+> [0.007917] (1@denise) ./lib/libsimgrid.so.3.6.2 size: 12710497 bytes
+> [0.007917] (1@denise) ./doc/simgrid/examples/xbt/sem_basic.c size: 1970 bytes
+> [0.007917] (1@denise) ./doc/simgrid/examples/msg/alias/masterslave_forwarder_with_alias.c size: 6217 bytes
+> [0.007917] (1@denise) ./doc/simgrid/examples/smpi/NAS/SP/README size: 926 bytes
+> [0.007917] (1@denise) ./include/xbt/fifo.h size: 3626 bytes
+> [0.007917] (1@denise) ./doc/simgrid/examples/smpi/NAS/MPI_dummy/README size: 2406 bytes
+> [0.007917] (1@denise) ./doc/simgrid/examples/smpi/NAS/MG/README size: 5465 bytes
+> [0.007917] (1@denise) ./include/smpi/mpif.h size: 4826 bytes
+> [0.007917] (1@denise) Print the content of mount point: /windows
+> [0.007917] (1@denise) .\Windows\dcmdev64.exe size: 93288 bytes
+> [0.007917] (1@denise) .\Windows\WLXPGSS.SCR size: 322048 bytes
+> [0.007917] (1@denise) .\Windows\twain_32.dll size: 50176 bytes
+> [0.007917] (1@denise) .\Windows\bootstat.dat size: 67584 bytes
+> [0.007917] (1@denise) .\Windows\avastSS.scr size: 41664 bytes
+> [0.007917] (1@denise) .\Windows\font1.sii size: 4907 bytes
+> [0.007917] (1@denise) .\Windows\write.exe size: 10752 bytes
+> [0.007917] (1@denise) .\Windows\font2.sii size: 8698 bytes
+> [0.007917] (1@denise) .\Windows\DtcInstall.log size: 1955 bytes
+> [0.007917] (1@denise) .\Windows\vmgcoinstall.log size: 1585 bytes
+> [0.007917] (1@denise) .\Windows\_isusr32.dll size: 180320 bytes
+> [0.007917] (1@denise) .\Windows\winhlp32.exe size: 10752 bytes
+> [0.007917] (1@denise) .\Windows\setuperr.log size: 0 bytes
+> [0.007917] (1@denise) .\Windows\system.ini size: 219 bytes
+> [0.007917] (1@denise) .\Windows\hapint.exe size: 382056 bytes
+> [0.007917] (1@denise) .\Windows\Professional.xml size: 31881 bytes
+> [0.007917] (1@denise) .\Windows\setupact.log size: 101663 bytes
+> [0.007917] (1@denise) .\Windows\notepad.exe size: 243712 bytes
+> [0.007917] (1@denise) .\Windows\explorer.exe size: 2380944 bytes
+> [0.007917] (1@denise) .\Windows\bfsvc.exe size: 75264 bytes
+> [0.007917] (1@denise) .\Windows\WMSysPr9.prx size: 316640 bytes
+> [0.007917] (1@denise) .\Windows\PFRO.log size: 6770 bytes
+> [0.007917] (1@denise) .\Windows\csup.txt size: 12 bytes
+> [0.007917] (1@denise) .\Windows\win.ini size: 92 bytes
+> [0.007917] (1@denise) .\Windows\mib.bin size: 43131 bytes
+> [0.007917] (1@denise) .\Windows\Starter.xml size: 31537 bytes
+> [0.007917] (1@denise) .\Windows\CoreSingleLanguage.xml size: 31497 bytes
+> [0.007917] (1@denise) .\Windows\regedit.exe size: 159232 bytes
+> [0.007917] (1@denise) .\Windows\dchcfg64.exe size: 335464 bytes
+> [0.007917] (1@denise) .\Windows\HelpPane.exe size: 883712 bytes
+> [0.007917] (1@denise) .\Windows\WindowsUpdate.log size: 1518934 bytes
+> [0.007917] (1@denise) .\Windows\hh.exe size: 17408 bytes
+> [0.007917] (1@denise) .\Windows\DPINST.LOG size: 18944 bytes
+> [0.007917] (1@denise) .\Windows\DirectX.log size: 10486 bytes
+> [0.007917] (1@denise) .\Windows\splwow64.exe size: 126464 bytes
+> [0.007917] (1@denise) .\Windows\MEMORY.DMP size: 2384027342 bytes
+> [0.007917] (0@) Simulated time: 0.00791667
! expect signal SIGABRT
! timeout 20
-$ ${bindir:=.}/bugged1_liveness ${bindir:=.}/../msg_platform.xml ${bindir:=.}/deploy_bugged1_liveness.xml --cfg=model-check:1 "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" --cfg=contexts/factory:ucontext
+$ ${bindir:=.}/bugged1_liveness ${srcdir:=.}/../msg_platform.xml ${srcdir:=.}/deploy_bugged1_liveness.xml --cfg=model-check:1 "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" --cfg=contexts/factory:ucontext
> [ 0.000000] (0:@) Configuration change: Set 'model-check' to '1'
> [ 0.000000] (0:@) Check the liveness property promela_bugged1_liveness
> [ 0.000000] (0:@) Get debug information ...
> [ 0.000000] (0:@) Expanded pairs = 21
> [ 0.000000] (0:@) Visited pairs = 21
> [ 0.000000] (0:@) Executed transitions = 20
-
+> [ 0.000000] (0:@) Counter-example depth : 20
! expect signal SIGABRT
! timeout 90
-$ ${bindir:=.}/bugged1_liveness ${bindir:=.}/../msg_platform.xml ${bindir:=.}/deploy_bugged1_liveness_visited.xml --cfg=model-check:1 "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" --cfg=contexts/factory:ucontext --cfg=model-check/visited:100
+$ ${bindir:=.}/bugged1_liveness ${srcdir:=.}/../msg_platform.xml ${srcdir:=.}/deploy_bugged1_liveness_visited.xml --cfg=model-check:1 "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n" --cfg=contexts/factory:ucontext --cfg=model-check/visited:100
> [ 0.000000] (0:@) Configuration change: Set 'model-check' to '1'
> [ 0.000000] (0:@) Configuration change: Set 'model-check/visited' to '100'
> [ 0.000000] (0:@) Check the liveness property promela_bugged1_liveness
> [ 0.000000] (1:coordinator@Tremblay) CS release. resource now idle
> [ 0.000000] (2:client@Boivin) Ask the request
> [ 0.000000] (1:coordinator@Tremblay) CS idle. Grant immediatly
-> [ 0.000000] (2:client@Boivin) 2 got the answer. Sleep a bit and release it
-> [ 0.000000] (1:coordinator@Tremblay) CS release. resource now idle
-> [ 0.000000] (2:client@Boivin) Ask the request
-> [ 0.000000] (1:coordinator@Tremblay) CS idle. Grant immediatly
-> [ 0.000000] (1:coordinator@Tremblay) CS idle. Grant immediatly
-> [ 0.000000] (2:client@Boivin) 2 got the answer. Sleep a bit and release it
-> [ 0.000000] (1:coordinator@Tremblay) CS release. resource now idle
-> [ 0.000000] (2:client@Boivin) Ask the request
-> [ 0.000000] (1:coordinator@Tremblay) CS idle. Grant immediatly
-> [ 0.000000] (1:coordinator@Tremblay) CS idle. Grant immediatly
-> [ 0.000000] (2:client@Boivin) 2 got the answer. Sleep a bit and release it
-> [ 0.000000] (1:coordinator@Tremblay) CS release. resource now idle
-> [ 0.000000] (2:client@Boivin) Ask the request
-> [ 0.000000] (1:coordinator@Tremblay) CS idle. Grant immediatly
-> [ 0.000000] (1:coordinator@Tremblay) CS idle. Grant immediatly
-> [ 0.000000] (2:client@Boivin) 2 got the answer. Sleep a bit and release it
-> [ 0.000000] (1:coordinator@Tremblay) CS release. resource now idle
-> [ 0.000000] (2:client@Boivin) Ask the request
-> [ 0.000000] (1:coordinator@Tremblay) CS idle. Grant immediatly
-> [ 0.000000] (1:coordinator@Tremblay) CS idle. Grant immediatly
-> [ 0.000000] (2:client@Boivin) 2 got the answer. Sleep a bit and release it
-> [ 0.000000] (1:coordinator@Tremblay) CS release. resource now idle
-> [ 0.000000] (2:client@Boivin) Ask the request
-> [ 0.000000] (1:coordinator@Tremblay) CS idle. Grant immediatly
-> [ 0.000000] (1:coordinator@Tremblay) CS already used. Queue the request.
-> [ 0.000000] (2:client@Boivin) 2 got the answer. Sleep a bit and release it
-> [ 0.000000] (1:coordinator@Tremblay) CS release. Grant to queued requests (queue size: 1)
-> [ 0.000000] (2:client@Boivin) Ask the request
-> [ 0.000000] (1:coordinator@Tremblay) CS idle. Grant immediatly
-> [ 0.000000] (1:coordinator@Tremblay) CS idle. Grant immediatly
-> [ 0.000000] (2:client@Boivin) 2 got the answer. Sleep a bit and release it
-> [ 0.000000] (1:coordinator@Tremblay) CS release. resource now idle
-> [ 0.000000] (2:client@Boivin) Ask the request
-> [ 0.000000] (1:coordinator@Tremblay) CS idle. Grant immediatly
-> [ 0.000000] (1:coordinator@Tremblay) CS already used. Queue the request.
-> [ 0.000000] (2:client@Boivin) 2 got the answer. Sleep a bit and release it
-> [ 0.000000] (1:coordinator@Tremblay) CS release. Grant to queued requests (queue size: 1)
-> [ 0.000000] (2:client@Boivin) Ask the request
-> [ 0.000000] (1:coordinator@Tremblay) CS idle. Grant immediatly
-> [ 0.000000] (2:client@Boivin) 2 got the answer. Sleep a bit and release it
> [ 0.000000] (1:coordinator@Tremblay) CS idle. Grant immediatly
> [ 0.000000] (2:client@Boivin) 2 got the answer. Sleep a bit and release it
> [ 0.000000] (1:coordinator@Tremblay) CS release. resource now idle
> [ 0.000000] (2:client@Boivin) Ask the request
> [ 0.000000] (1:coordinator@Tremblay) CS idle. Grant immediatly
-> [ 0.000000] (1:coordinator@Tremblay) CS already used. Queue the request.
-> [ 0.000000] (2:client@Boivin) 2 got the answer. Sleep a bit and release it
-> [ 0.000000] (1:coordinator@Tremblay) CS release. Grant to queued requests (queue size: 1)
-> [ 0.000000] (2:client@Boivin) Ask the request
-> [ 0.000000] (1:coordinator@Tremblay) CS idle. Grant immediatly
-> [ 0.000000] (2:client@Boivin) 2 got the answer. Sleep a bit and release it
> [ 0.000000] (1:coordinator@Tremblay) CS idle. Grant immediatly
> [ 0.000000] (2:client@Boivin) 2 got the answer. Sleep a bit and release it
> [ 0.000000] (1:coordinator@Tremblay) CS release. resource now idle
> [ 0.000000] (1:coordinator@Tremblay) CS release. Grant to queued requests (queue size: 1)
> [ 0.000000] (2:client@Boivin) Ask the request
> [ 0.000000] (1:coordinator@Tremblay) CS idle. Grant immediatly
-> [ 0.000000] (2:client@Boivin) 2 got the answer. Sleep a bit and release it
> [ 0.000000] (1:coordinator@Tremblay) CS idle. Grant immediatly
> [ 0.000000] (2:client@Boivin) 2 got the answer. Sleep a bit and release it
> [ 0.000000] (1:coordinator@Tremblay) CS release. resource now idle
> [ 0.000000] (2:client@Boivin) Ask the request
> [ 0.000000] (1:coordinator@Tremblay) CS idle. Grant immediatly
> [ 0.000000] (2:client@Boivin) 2 got the answer. Sleep a bit and release it
-> [ 0.000000] (3:client@Fafard) Propositions changed : r=1, cs=0
> [ 0.000000] (1:coordinator@Tremblay) CS idle. Grant immediatly
> [ 0.000000] (2:client@Boivin) 2 got the answer. Sleep a bit and release it
> [ 0.000000] (1:coordinator@Tremblay) CS release. resource now idle
> [ 0.000000] (0:@) [(2)Boivin (client)] Wait(comm=(verbose only) [(1)Tremblay (coordinator)-> (2)Boivin (client)]) (62)
> [ 0.000000] (0:@) [(2)Boivin (client)] iSend(src=(2)Boivin (client), buff=(verbose only), size=(verbose only)) (54)
> [ 0.000000] (0:@) Expanded pairs = 57
-> [ 0.000000] (0:@) Visited pairs = 365
-> [ 0.000000] (0:@) Executed transitions = 364
+> [ 0.000000] (0:@) Visited pairs = 208
+> [ 0.000000] (0:@) Executed transitions = 207
+> [ 0.000000] (0:@) Counter-example depth : 50
! output sort
$ $SG_TEST_EXENV sendrecv/sendrecv$EXEEXT ${srcdir:=.}/sendrecv/platform_sendrecv.xml ${srcdir:=.}/sendrecv/deployment_sendrecv.xml --cfg=cpu/model:Cas01 --cfg=network/model:CM02 "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
-> [ 0.000000] (0:@) Configuration change: Set 'cpu/model' to 'Cas01'
+> [ 0.000000] (0:@) Configuration change: Set 'cpu/model' to 'Cas01'
> [ 0.000000] (0:@) Configuration change: Set 'network/model' to 'CM02'
> [ 0.000000] (0:@) test_all
> [ 0.000000] (0:@) Switching workstation model to compound since you changed the network and/or cpu model(s)
> [1000.200010] (0:@) Total simulation time: 1.000200e+03
> [1000.200010] (2:receiver@Bellevue) Task received : bandwidth task
> [1000.200010] (2:receiver@Bellevue) Communic. time 1.000100e+03
-> [1000.200010] (2:receiver@Bellevue) --- bw 999900.009999 ----
\ No newline at end of file
+> [1000.200010] (2:receiver@Bellevue) --- bw 999900.009999 ----
* used to classify tasks. When the program is executed, the tracing mechanism registers
* the resource utilization of hosts and links according to these categories. You might
* want to run this program with the following parameters:
- * --cfg=tracing:1
- * --cfg=tracing/categorized:1
- * --cfg=tracing/uncategorized:1
+ * --cfg=tracing:yes
+ * --cfg=tracing/categorized:yes
+ * --cfg=tracing/uncategorized:yes
* --cfg=viva/categorized:viva_cat.plist
* --cfg=viva/uncategorized:viva_uncat.plist
* (See \ref tracing_tracing_options for details)
p Tracing multiple categories master/slave application
-$ $SG_TEST_EXENV ${bindir:=.}/tracing/categories$EXEEXT --cfg=tracing:1 --cfg=tracing/buffer:1 --cfg=tracing/filename:tracing/categories.trace --cfg=tracing/categorized:1 --cfg=tracing/uncategorized:1 --cfg=viva/categorized:tracing/categories.cat.plist --cfg=viva/uncategorized:tracing/categories.uncat.plist ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/deployment.xml
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/buffer' to '1'
+$ $SG_TEST_EXENV ${bindir:=.}/tracing/categories$EXEEXT --cfg=tracing:yes --cfg=tracing/buffer:yes --cfg=tracing/filename:tracing/categories.trace --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes --cfg=viva/categorized:tracing/categories.cat.plist --cfg=viva/uncategorized:tracing/categories.uncat.plist ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/deployment.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/buffer' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'tracing/categories.trace'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/uncategorized' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/uncategorized' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'viva/categorized' to 'tracing/categories.cat.plist'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'viva/uncategorized' to 'tracing/categories.uncat.plist'
* these two hosts, if there is one defined in the platform file, and update the variable
* of all the links of that route to the value provided.
* You might want to run this program with the following parameters:
- * --cfg=tracing:1
- * --cfg=tracing/platform:1
+ * --cfg=tracing:yes
+ * --cfg=tracing/platform:yes
* (See \ref tracing_tracing_options for details)
*/
#! ./tesh
p Tracing master/slave application
-$ $SG_TEST_EXENV ${bindir:=.}/tracing/link_srcdst_user_variables$EXEEXT --cfg=tracing:1 --cfg=tracing/platform:1 ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/deployment.xml
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/platform' to '1'
+$ $SG_TEST_EXENV ${bindir:=.}/tracing/link_srcdst_user_variables$EXEEXT --cfg=tracing:yes --cfg=tracing/platform:yes ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/deployment.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/platform' to 'yes'
* to provide the name of the link to update the value of the variable associated
* to that link.
* You might want to run this program with the following parameters:
- * --cfg=tracing:1
- * --cfg=tracing/platform:1
+ * --cfg=tracing:yes
+ * --cfg=tracing/platform:yes
* (See \ref tracing_tracing_options for details)
*/
#! ./tesh
p Tracing master/slave application
-$ $SG_TEST_EXENV ${bindir:=.}/tracing/link_user_variables$EXEEXT --cfg=tracing:1 --cfg=tracing/platform:1 ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/deployment.xml
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/platform' to '1'
+$ $SG_TEST_EXENV ${bindir:=.}/tracing/link_user_variables$EXEEXT --cfg=tracing:yes --cfg=tracing/platform:yes ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/deployment.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/platform' to 'yes'
* enable the tracing of categorized resource utilization, the use of trace marks,
* and user variables associated to the hosts of the platform file.
* You might want to run this program with the following parameters:
- * --cfg=tracing/categorized:1
- * --cfg=tracing/uncategorized:1
+ * --cfg=tracing/categorized:yes
+ * --cfg=tracing/uncategorized:yes
* --cfg=viva/categorized:viva_cat.plist
* --cfg=viva/uncategorized:viva_uncat.plist
* (See \ref tracing_tracing_options for details)
#! ./tesh
p Tracing master/slave application
-$ $SG_TEST_EXENV ${bindir:=.}/tracing/ms$EXEEXT --cfg=tracing:1 --cfg=tracing/buffer:1 --cfg=tracing/filename:tracing/ms.trace --cfg=tracing/categorized:1 --cfg=tracing/uncategorized:1 --cfg=viva/categorized:tracing/ms.cat.plist --cfg=viva/uncategorized:tracing/ms.uncat.plist ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/deployment.xml
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/buffer' to '1'
+$ $SG_TEST_EXENV ${bindir:=.}/tracing/ms$EXEEXT --cfg=tracing:yes --cfg=tracing/buffer:yes --cfg=tracing/filename:tracing/ms.trace --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes --cfg=viva/categorized:tracing/ms.cat.plist --cfg=viva/uncategorized:tracing/ms.uncat.plist ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/deployment.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/buffer' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'tracing/ms.trace'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/uncategorized' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/uncategorized' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'viva/categorized' to 'tracing/ms.cat.plist'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'viva/uncategorized' to 'tracing/ms.uncat.plist'
> [4.214759] [msg_test/INFO] Declared tracing categories:
$ $SG_TEST_EXENV ${bindir:=.}/tracing/ms$EXEEXT ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/deployment.xml
p Testing tracing by process
-$ $SG_TEST_EXENV ${bindir:=.}/tracing/ms$EXEEXT --cfg=tracing:1 --cfg=tracing/msg/process:1 --cfg=tracing/buffer:1 --cfg=tracing/filename:tracing/ms.trace --cfg=tracing/categorized:1 --cfg=tracing/uncategorized:1 --cfg=viva/categorized:tracing/ms.cat.plist --cfg=viva/uncategorized:tracing/ms.uncat.plist ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/deployment.xml
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/msg/process' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/buffer' to '1'
+$ $SG_TEST_EXENV ${bindir:=.}/tracing/ms$EXEEXT --cfg=tracing:yes --cfg=tracing/msg/process:yes --cfg=tracing/buffer:yes --cfg=tracing/filename:tracing/ms.trace --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes --cfg=viva/categorized:tracing/ms.cat.plist --cfg=viva/uncategorized:tracing/ms.uncat.plist ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/deployment.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/msg/process' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/buffer' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'tracing/ms.trace'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/uncategorized' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/uncategorized' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'viva/categorized' to 'tracing/ms.cat.plist'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'viva/uncategorized' to 'tracing/ms.uncat.plist'
> [4.214759] [msg_test/INFO] Declared tracing categories:
* of where the process has been during its execution. Migrations are represented by
* arrows from the origin to the destination host.
* You might want to run this program with the following parameters:
- * --cfg=tracing:1
- * --cfg=tracing/msg/process:1
+ * --cfg=tracing:yes
+ * --cfg=tracing/msg/process:yes
* (See \ref tracing_tracing_options for details)
*/
#! ./tesh
p Tracing processes
-$ $SG_TEST_EXENV ${bindir:=.}/tracing/procmig$EXEEXT --cfg=tracing:1 --cfg=tracing/buffer:1 --cfg=tracing/filename:tracing/procmig.trace --cfg=tracing/msg/process:1 ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/procmig-deploy.xml
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/buffer' to '1'
+$ $SG_TEST_EXENV ${bindir:=.}/tracing/procmig$EXEEXT --cfg=tracing:yes --cfg=tracing/buffer:yes --cfg=tracing/filename:tracing/procmig.trace --cfg=tracing/msg/process:yes ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/procmig-deploy.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/buffer' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'tracing/procmig.trace'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/msg/process' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/msg/process' to 'yes'
-$ $SG_TEST_EXENV ${bindir:=.}/tracing/procmig$EXEEXT --cfg=tracing:1 --cfg=tracing/categorized:1 --cfg=tracing/uncategorized:1 --cfg=tracing/buffer:1 --cfg=tracing/filename:tracing/procmig.trace --cfg=tracing/msg/process:1 ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/procmig-deploy.xml
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/uncategorized' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/buffer' to '1'
+$ $SG_TEST_EXENV ${bindir:=.}/tracing/procmig$EXEEXT --cfg=tracing:yes --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes --cfg=tracing/buffer:yes --cfg=tracing/filename:tracing/procmig.trace --cfg=tracing/msg/process:yes ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/procmig-deploy.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/uncategorized' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/buffer' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'tracing/procmig.trace'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/msg/process' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/msg/process' to 'yes'
-$ $SG_TEST_EXENV ${bindir:=.}/tracing/procmig$EXEEXT --cfg=tracing/categorized:1 --cfg=tracing/uncategorized:1 --cfg=tracing/buffer:0 --cfg=tracing/filename:tracing/procmig.trace --cfg=tracing/msg/process:1 ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/procmig-deploy.xml
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/uncategorized' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/buffer' to '0'
+$ $SG_TEST_EXENV ${bindir:=.}/tracing/procmig$EXEEXT --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes --cfg=tracing/buffer:no --cfg=tracing/filename:tracing/procmig.trace --cfg=tracing/msg/process:yes ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/procmig-deploy.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/uncategorized' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/buffer' to 'no'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'tracing/procmig.trace'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/msg/process' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/msg/process' to 'yes'
$ $SG_TEST_EXENV ${bindir:=.}/tracing/procmig$EXEEXT ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/procmig-deploy.xml
-$ $SG_TEST_EXENV ${bindir:=.}/tracing/procmig$EXEEXT --cfg=tracing:0 ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/procmig-deploy.xml
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '0'
+$ $SG_TEST_EXENV ${bindir:=.}/tracing/procmig$EXEEXT --cfg=tracing:no ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/procmig-deploy.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'no'
-$ $SG_TEST_EXENV ${bindir:=.}/tracing/procmig$EXEEXT --cfg=tracing:1 --cfg=tracing/categorized:1 ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/procmig-deploy.xml
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to '1'
+$ $SG_TEST_EXENV ${bindir:=.}/tracing/procmig$EXEEXT --cfg=tracing:yes --cfg=tracing/categorized:yes ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/procmig-deploy.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
-$ $SG_TEST_EXENV ${bindir:=.}/tracing/procmig$EXEEXT --cfg=tracing:1 --cfg=tracing/uncategorized:1 ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/procmig-deploy.xml
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/uncategorized' to '1'
+$ $SG_TEST_EXENV ${bindir:=.}/tracing/procmig$EXEEXT --cfg=tracing:yes --cfg=tracing/uncategorized:yes ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/procmig-deploy.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/uncategorized' to 'yes'
-$ $SG_TEST_EXENV ${bindir:=.}/tracing/procmig$EXEEXT --cfg=tracing:1 --cfg=tracing/msg/process:1 ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/procmig-deploy.xml
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/msg/process' to '1'
+$ $SG_TEST_EXENV ${bindir:=.}/tracing/procmig$EXEEXT --cfg=tracing:yes --cfg=tracing/msg/process:yes ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/procmig-deploy.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/msg/process' to 'yes'
$ rm -rf tracing/procmig.trace simgrid.trace
*
* - <b>tracing/simple.c</b> very simple program where each process creates, executes and
* destroy a task. You might want to run this program with the following parameters:
- * --cfg=tracing/uncategorized:1
+ * --cfg=tracing/uncategorized:yes
* (See \ref tracing_tracing_options for details)
*/
* platform file is traced to a Paje trace file format using the tracing
* mechanism of Simgrid.
* You might want to run this program with the following parameters:
- * --cfg=tracing:1
- * --cfg=tracing/categorized:1
+ * --cfg=tracing:yes
+ * --cfg=tracing/categorized:yes
* (See \ref tracing_tracing_options for details)
*/
p Tracing master/slave application
-$ $SG_TEST_EXENV ${bindir:=.}/tracing/trace_platform$EXEEXT --cfg=tracing:1 --cfg=tracing/filename:tracing/trace_platform.trace --cfg=tracing/categorized:1 ${srcdir:=.}/tracing/platform.xml
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '1'
+$ $SG_TEST_EXENV ${bindir:=.}/tracing/trace_platform$EXEEXT --cfg=tracing:yes --cfg=tracing/filename:tracing/trace_platform.trace --cfg=tracing/categorized:yes ${srcdir:=.}/tracing/platform.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'tracing/trace_platform.trace'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
$ tail -n +3 tracing/trace_platform.trace
> %EventDef PajeDefineContainerType 0
$ rm -rf tracing/trace_platform.trace
-$ $SG_TEST_EXENV ${bindir:=.}/tracing/trace_platform$EXEEXT --cfg=tracing:1 --cfg=tracing/filename:tracing/trace_platform.trace --cfg=tracing/categorized:1 ${srcdir:=.}/../platforms/g5k.xml
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '1'
+$ $SG_TEST_EXENV ${bindir:=.}/tracing/trace_platform$EXEEXT --cfg=tracing:yes --cfg=tracing/filename:tracing/trace_platform.trace --cfg=tracing/categorized:yes ${srcdir:=.}/../platforms/g5k.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'tracing/trace_platform.trace'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
$ tail -n +3 tracing/trace_platform.trace
> %EventDef PajeDefineContainerType 0
* - <b>tracing/user_variables.c</b>: This program demonstrates how to
* trace user variables associated to the hosts of the platform file.
* You might want to run this program with the following parameters:
- * --cfg=tracing:1
- * --cfg=tracing/platform:1
+ * --cfg=tracing:yes
+ * --cfg=tracing/platform:yes
* (See \ref tracing_tracing_options for details)
*/
#! ./tesh
p Tracing user variables
-$ $SG_TEST_EXENV ${bindir:=.}/tracing/user_variables$EXEEXT --cfg=tracing:1 --cfg=tracing/platform:1 ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/deployment.xml
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/platform' to '1'
+$ $SG_TEST_EXENV ${bindir:=.}/tracing/user_variables$EXEEXT --cfg=tracing:yes --cfg=tracing/platform:yes ${srcdir:=.}/tracing/platform.xml ${srcdir:=.}/tracing/deployment.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/platform' to 'yes'
> [0.004078] [msg_test/INFO] Declared host variables:
> [0.004078] [msg_test/INFO] HDD_capacity
> [0.004078] [msg_test/INFO] HDD_utilization
--- /dev/null
+./doc/simgrid/examples/platforms/g5k.xml 17028
+./doc/simgrid/examples/smpi/mc_bugged2.c 1387
+./doc/simgrid/examples/smpi/NAS/README 1857
+./doc/simgrid/examples/smpi/NAS/MPI_dummy/README 2406
+./doc/simgrid/examples/smpi/NAS/common/randdp.c 1441
+./doc/simgrid/examples/smpi/NAS/sys/README 1461
+./doc/simgrid/examples/smpi/NAS/SP/README 926
+./doc/simgrid/examples/smpi/NAS/FT/README 276
+./doc/simgrid/examples/smpi/NAS/DT/README 999
+./doc/simgrid/examples/smpi/NAS/EP/README 347
+./doc/simgrid/examples/smpi/NAS/EP/randlc.c 3300
+./doc/simgrid/examples/smpi/NAS/MG/README 5465
+./doc/simgrid/examples/xbt/sem_basic.c 1970
+./doc/simgrid/examples/msg/README 4805
+./doc/simgrid/examples/msg/icomms/small_platform.xml 972
+./doc/simgrid/examples/msg/parallel_task/test_ptask_deployment.xml 654
+./doc/simgrid/examples/msg/alias/masterslave_forwarder_with_alias.c 6217
+./doc/simgrid/examples/msg/trace/test9.xml 598
+./doc/simgrid/html/group__XBT__str.html 36192
+./include/smpi/mpif.h 4826
+./include/xbt/fifo.h 3626
+./include/msg/datatypes.h 4635
+./include/mc/modelchecker.h 96
+./include/surf/simgrid_dtd.h 23583
+./include/instr/instr.h 5750
+./include/simdag/simdag.h 10325
+./include/simix/simix.h 13003
+./lib/libsimgrid.so.3.6.2 12710497
+./bin/smpicc 918
+./bin/tesh 356434
\ No newline at end of file
<storage_type id="single_HDD" model="linear_no_lat"
content="content/storage_content.txt" size="500GiB"
content_type="txt_unix">
- <prop id="Bwrite" value="30MBps" />
- <prop id="Bread" value="100MBps" />
- <prop id="Bconnection" value="150MBps" />
+ <prop id="Bwrite" value="30MBps" />
+ <prop id="Bread" value="100MBps" />
+ <prop id="Bconnection" value="120MBps" />
</storage_type>
- <storage_type id="single_SSD" model="linear_no_lat"
- content="content/storage_content.txt" size="500GiB">
- <prop id="Bwrite" value="30MBps" />
- <prop id="Bread" value="100MBps" />
- <prop id="Bconnection" value="150MBps" />
- </storage_type>
-
- <storage id="Disk1" typeId="single_HDD"/>
- <storage id="Disk2" typeId="single_SSD"/>
- <storage id="Disk3" typeId="single_HDD"
- content="content/storage_content.txt"
- content_type="txt_unix"/>
- <storage id="Disk4" typeId="single_SSD"/>
-
- <host id="bob" power="1Gf">
- <mount storageId="Disk1" name="/home"/>
- </host>
-
- <host id="alice" power="1Gf">
- <mount storageId="Disk2" name="/home"/>
- </host>
-
- <host id="carl" power="1Gf">
- <mount storageId="Disk3" name="/home"/>
- </host>
-
- <host id="denise" power="1Gf">
- <mount storageId="Disk4" name="/home"/>
- </host>
-
- <link id="link1" bandwidth="125MBps" latency="50us" />
- <link id="link2" bandwidth="125MBps" latency="50us" />
- <link id="link3" bandwidth="125MBps" latency="50us" />
-
- <route src="bob" dst="alice" symmetrical="YES">
- <link_ctn id="link1" />
- <link_ctn id="link2" />
- <link_ctn id="link3" />
- </route>
-
- </AS>
+ <storage_type id="single_SSD" model="linear_no_lat" size="500GiB">
+ <prop id="Bwrite" value="60MBps" />
+ <prop id="Bread" value="200MBps" />
+ <prop id="Bconnection" value="220MBps" />
+ </storage_type>
+
+ <storage id="Disk1" typeId="single_HDD" />
+ <storage id="Disk2" typeId="single_SSD"
+ content="content/win_storage_content.txt"
+ content_type="txt_windows" />
+ <storage id="Disk3" typeId="single_HDD" />
+ <storage id="Disk4" typeId="single_SSD"
+ content="content/small_content.txt"
+ content_type="txt_unix" />
+
+ <host id="bob" power="1Gf">
+ <mount storageId="Disk1" name="/home"/>
+ </host>
+
+ <host id="alice" power="1Gf">
+ <mount storageId="Disk2" name="/windows"/>
+ </host>
+
+ <host id="carl" power="1Gf">
+ <mount storageId="Disk3" name="/home"/>
+ </host>
+
+ <host id="denise" power="1Gf">
+ <mount storageId="Disk2" name="/windows"/>
+ <mount storageId="Disk4" name="/home"/>
+ </host>
+
+ <link id="link1" bandwidth="125MBps" latency="50us" />
+ <link id="link2" bandwidth="125MBps" latency="50us" />
+ <link id="link3" bandwidth="125MBps" latency="50us" />
+
+ <route src="bob" dst="alice" symmetrical="YES">
+ <link_ctn id="link1" />
+ <link_ctn id="link2" />
+ <link_ctn id="link3" />
+ </route>
+ </AS>
</platform>
add_custom_command(
COMMENT "Building ${example}..."
OUTPUT ${example}_compiled
- DEPENDS ${sources} SG_java_jar ${SIMGRID_JAR}
- COMMAND ${SCALA_COMPILE} -cp ${SIMGRID_JAR}
+ DEPENDS ${sources} simgrid-java_jar ${SIMGRID_JAR}
+ COMMAND ${SCALA_COMPILE} -classpath ${SIMGRID_JAR}
-d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
COMMAND ${CMAKE_COMMAND} -E remove ${example}_compiled
COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
#! tesh
! output sort
-$ java -cp ${classpath:=.} master_slave_bypass/MsBypass ${srcdir:=.}/master_slave_bypass/platform.xml
+$ java -classpath ${classpath:=.} master_slave_bypass/MsBypass ${srcdir:=.}/master_slave_bypass/platform.xml
> [0.000000] [jmsg/INFO] Using regular java threads. Coroutines could speed your simulation up.
> [0.013010] [jmsg/INFO] MSG_main finished; Cleaning up the simulation...
> [alice:process2:(2) 0.000000] [jmsg/INFO] Slave Hello!
add_custom_command(
COMMENT "Building ${example}..."
OUTPUT ${example}_compiled
- DEPENDS ${sources} SG_java_jar ${SIMGRID_JAR}
- COMMAND ${SCALA_COMPILE} -cp ${SIMGRID_JAR}
+ DEPENDS ${sources} simgrid-java_jar ${SIMGRID_JAR}
+ COMMAND ${SCALA_COMPILE} -classpath ${SIMGRID_JAR}
-d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
COMMAND ${CMAKE_COMMAND} -E remove ${example}_compiled
COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
! output sort
-$ java -cp ${classpath:=.} master_slave_kill/MsKill ${srcdir:=.}/master_slave_kill/platform.xml
+$ java -classpath ${classpath:=.} master_slave_kill/MsKill ${srcdir:=.}/master_slave_kill/platform.xml
> [0.000000] [jmsg/INFO] Using regular java threads. Coroutines could speed your simulation up.
> [0.013010] [jmsg/INFO] MSG_main finished; Cleaning up the simulation...
> [alice:slave:(2) 0.000000] [jmsg/INFO] Slave Hello!
add_custom_command(
COMMENT "Building ${example}..."
OUTPUT ${example}_compiled
- DEPENDS ${sources} SG_java_jar ${SIMGRID_JAR}
- COMMAND ${SCALA_COMPILE} -cp ${SIMGRID_JAR}
+ DEPENDS ${sources} simgrid-java_jar ${SIMGRID_JAR}
+ COMMAND ${SCALA_COMPILE} -classpath ${SIMGRID_JAR}
-d ${CMAKE_CURRENT_BINARY_DIR}/.. ${sources}
COMMAND ${CMAKE_COMMAND} -E remove ${example}_compiled
COMMAND ${CMAKE_COMMAND} -E touch ${example}_compiled
! output sort
-$ java -cp ${classpath:=.} masterslave/Masterslave ${srcdir:=.}/platform.xml ${srcdir:=.}/masterslave/masterslaveDeployment.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
+$ java -classpath ${classpath:=.} masterslave/Masterslave ${srcdir:=.}/platform.xml ${srcdir:=.}/masterslave/masterslaveDeployment.xml "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
> [ 0.000000] (1:masterslave.Master@Jacquelin) Hello! Got 7 slaves and 5 tasks to process
> [ 0.000000] (2:masterslave.Forwarder@Jackson) Receiving on 'slave_0'
> [ 0.000000] (3:masterslave.Forwarder@Casavant) Receiving on 'slave_1'
$ ${bindir:=.}/io/sd_io ${srcdir:=.}/examples/platforms/storage.xml
> [0.000000] [sd_io/INFO] Workstation 'denise' mounts '/home'
-> [0.000000] [sd_io/INFO] Workstation 'alice' mounts '/home'
+> [0.000000] [sd_io/INFO] Workstation 'denise' mounts '/windows'
+> [0.000000] [sd_io/INFO] Workstation 'alice' mounts '/windows'
> [0.000000] [sd_io/INFO] Workstation 'carl' mounts '/home'
> [0.000000] [sd_io/INFO] Workstation 'bob' mounts '/home'
p Simple test of simdag
-$ $SG_TEST_EXENV ./simdag_tracing --cfg=tracing:1 --cfg=tracing/categorized:1 ${srcdir:=.}/2clusters.xml
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to '1'
+$ $SG_TEST_EXENV ./simdag_tracing --cfg=tracing:yes --cfg=tracing/categorized:yes ${srcdir:=.}/2clusters.xml
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
> [0.000000] [surf_workstation/INFO] surf_workstation_model_init_ptask_L07
> [0.000000] [sd_seq_access/INFO] Access mode of C2-05 is sequential
> [0.000000] [sd_seq_access/INFO] Access mode of C2-06 is sequential
XBT_LOG_NEW_DEFAULT_CATEGORY(MM_Summa,
"Messages specific for this msg example");
-inline double Summa(
- double *a, double *b, double *c,
- size_t lda, size_t ldb, size_t ldc,
- size_t m, size_t k_a, size_t k_b, size_t n,
- size_t Block_size, size_t start, size_t end,
- size_t row, size_t col, size_t size_row, size_t size_col,
- double *a_local, double *b_local,
- MPI_Datatype Block_a, MPI_Datatype Block_a_local,
- MPI_Datatype Block_b,
- MPI_Comm row_comm, MPI_Comm col_comm, int subs)
+double Summa(double *a, double *b, double *c,
+ size_t lda, size_t ldb, size_t ldc,
+ size_t m, size_t k_a, size_t k_b, size_t n,
+ size_t Block_size, size_t start, size_t end,
+ size_t row, size_t col, size_t size_row, size_t size_col,
+ double *a_local, double *b_local,
+ MPI_Datatype Block_a, MPI_Datatype Block_a_local,
+ MPI_Datatype Block_b,
+ MPI_Comm row_comm, MPI_Comm col_comm, int subs)
{
double *B_a , *B_b ; //matrix blocks
size_t err;
write(*, 239) np1*np2, np
239 format(' Product is ', i5, ' and should be ', i5)
call MPI_Abort(MPI_COMM_WORLD, 1, ierr)
+ stop
endif
c---------------------------------------------------------------------
240 format(' Layout type specified in inputft.data is
> invalid ')
call MPI_Abort(MPI_COMM_WORLD, 1, ierr)
+ stop
endif
c---------------------------------------------------------------------
write(*, 241)
241 format(' For 0D layout, both np1 and np2 must be 1 ')
call MPI_Abort(MPI_COMM_WORLD, 1, ierr)
+ stop
endif
c---------------------------------------------------------------------
c 4. 1D layout must be 1xN grid
write(*, 242)
242 format(' For 1D layout, np1 must be 1 ')
call MPI_Abort(MPI_COMM_WORLD, 1, ierr)
+ stop
endif
else
write(*, 11) np
11 format(' Only ', i5, ' processors found ')
call MPI_Abort(MPI_COMM_WORLD, 1, ierr)
+ stop
endif
234 format(' No input file inputft.data. Using compiled defaults')
--- /dev/null
+cmake_minimum_required(VERSION 2.6)
+
+if(enable_smpi)
+ if(WIN32)
+ set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h")
+ else()
+ set(CMAKE_C_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpicc")
+ endif()
+
+ set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
+ include_directories("${CMAKE_HOME_DIRECTORY}/include/smpi")
+
+ add_executable(se se.c)
+ target_link_libraries(se simgrid)
+endif()
+
+set(tesh_files
+ ${tesh_files}
+ ${CMAKE_CURRENT_SOURCE_DIR}/energy.tesh
+ PARENT_SCOPE
+ )
+set(xml_files
+ ${xml_files}
+ ${CMAKE_CURRENT_SOURCE_DIR}/platform.xml
+ PARENT_SCOPE
+ )
+set(examples_src
+ ${examples_src}
+ ${CMAKE_CURRENT_SOURCE_DIR}/se.c
+ PARENT_SCOPE
+ )
+set(bin_files
+ ${bin_files}
+ PARENT_SCOPE
+ )
+set(txt_files
+ ${txt_files}
+ ${CMAKE_CURRENT_SOURCE_DIR}/hostfile
+ PARENT_SCOPE
+ )
--- /dev/null
+p Test smpi bindings for dvfs functions (C example)
+$ ../../../smpi_script/bin/smpirun -np 2 -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/platform.xml --cfg=smpi/cpu_threshold:-1 ${bindir:=.}/se
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'maxmin/precision' to '1e-9'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
+> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
+> [0.000000] [rank 1] Pstates: 1; Powers: 100000000
+> [0.000000] [rank 0] Pstates: 3; Powers: 100000000, 50000000, 20000000
+> [0.000000] [rank 1] Current pstate: 0; Current power: 100000000
+> [0.000000] [rank 0] Current pstate: 0; Current power: 100000000
+> [10.000000] [rank 1] Energy consumed: 2000 Joules.
+> [10.000000] [rank 0] Energy consumed: 2000 Joules.
+> [10.000000] [rank 0] Current pstate: 1; Current power: 50000000
+> [30.000000] [rank 0] Energy consumed: 5400 Joules.
+> [30.000000] [rank 0] Current pstate: 2; Current power: 20000000
+> [80.000000] [rank 0] Energy consumed: 12900 Joules.
--- /dev/null
+cmake_minimum_required(VERSION 2.6)
+
+if(enable_smpi AND SMPI_F2C)
+ set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpiff")
+
+ set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
+
+ add_executable(sef sef.f)
+ target_link_libraries(sef simgrid)
+endif()
+
+set(tesh_files
+ ${tesh_files}
+ ${CMAKE_CURRENT_SOURCE_DIR}/energy.tesh
+ PARENT_SCOPE
+ )
+set(xml_files
+ ${xml_files}
+ PARENT_SCOPE
+ )
+set(examples_src
+ ${examples_src}
+ ${CMAKE_CURRENT_SOURCE_DIR}/sef.f
+ PARENT_SCOPE
+ )
+set(bin_files
+ ${bin_files}
+ PARENT_SCOPE
+ )
+set(txt_files
+ ${txt_files}
+ PARENT_SCOPE
+ )
--- /dev/null
+p Test smpi bindings for dvfs functions (Fortran 77 example)
+$ ../../../smpi_script/bin/smpirun -np 2 -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/platform.xml --cfg=smpi/cpu_threshold:-1 ${bindir:=.}/f77/sef
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'maxmin/precision' to '1e-9'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
+> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
+> [ 0.] [rank 0] 3 pstates available
+> [ 0.] [rank 1] 1 pstates available
+> [ 0.] [rank 0] Power: 100000000.
+> [ 0.] [rank 1] Power: 100000000.
+> [ 0.] [rank 0] Power: 50000000.
+> [ 0.] [rank 0] Power: 20000000.
+> [ 0.] [rank 1] Current pstate: 0; Current power: 100000000.
+> [ 0.] [rank 0] Current pstate: 0; Current power: 100000000.
+> [ 10.] [rank 1] Energy consumed (Joules): 2000.
+> [ 10.] [rank 0] Energy consumed (Joules): 2000.
+> [ 10.] [rank 0] Current pstate: 1; Current power: 50000000.
+> [ 30.] [rank 0] Energy consumed (Joules): 5400.
+> [ 30.] [rank 0] Current pstate: 2; Current power: 20000000.
+> [ 80.] [rank 0] Energy consumed (Joules): 12900.
--- /dev/null
+ program main
+ include 'mpif.h'
+
+ integer ierr
+ integer rank, pstates
+ integer i
+ double precision p, t, e
+
+ call MPI_Init(ierr)
+ call MPI_Comm_rank(MPI_COMM_WORLD, rank, ierr)
+
+ pstates = smpi_get_host_nb_pstates()
+
+ t = MPI_Wtime()
+
+ print *, '[', t, '] [rank ', rank, ']',
+ & pstates, ' pstates available'
+
+ do i = 0, pstates - 1
+ p = smpi_get_host_power_peak_at(i)
+ print *, '[', t, '] [rank ', rank, '] Power: ', p
+ end do
+
+ do i = 0, pstates - 1
+ call smpi_set_host_power_peak_at(i)
+ t = MPI_Wtime()
+ p = smpi_get_host_current_power_peak()
+ print *, '[', t, '] [rank ', rank, '] Current pstate: ', i,
+ & '; Current power: ', p
+
+ e = 1e9
+ call smpi_execute_flops(e)
+
+ t = MPI_Wtime()
+ e = smpi_get_host_consumed_energy()
+ print *, '[', t, '] [rank ', rank, ']',
+ & ' Energy consumed (Joules): ', e
+ end do
+
+ call MPI_Finalize(ierr)
+
+ end program main
--- /dev/null
+cmake_minimum_required(VERSION 2.6)
+
+if(enable_smpi AND SMPI_F90)
+ set(CMAKE_Fortran_COMPILER "${CMAKE_BINARY_DIR}/smpi_script/bin/smpif90")
+
+ set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
+
+ add_executable(sef90 sef90.f90)
+ target_link_libraries(sef90 simgrid)
+endif()
+
+set(tesh_files
+ ${tesh_files}
+ ${CMAKE_CURRENT_SOURCE_DIR}/energy.tesh
+ PARENT_SCOPE
+ )
+set(xml_files
+ ${xml_files}
+ PARENT_SCOPE
+ )
+set(examples_src
+ ${examples_src}
+ ${CMAKE_CURRENT_SOURCE_DIR}/sef90.f90
+ PARENT_SCOPE
+ )
+set(bin_files
+ ${bin_files}
+ PARENT_SCOPE
+ )
+set(txt_files
+ ${txt_files}
+ PARENT_SCOPE
+ )
--- /dev/null
+p Test smpi bindings for dvfs functions (Fortran 90 example)
+$ ../../../smpi_script/bin/smpirun -np 2 -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/platform.xml --cfg=smpi/cpu_threshold:-1 ${bindir:=.}/f90/sef90
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'maxmin/precision' to '1e-9'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
+> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
+> [ 0.0000000000000000 ] [rank 0 ] 3 pstates available
+> [ 0.0000000000000000 ] [rank 1 ] 1 pstates available
+> [ 0.0000000000000000 ] [rank 0 ] Power: 100000000.00000000
+> [ 0.0000000000000000 ] [rank 1 ] Power: 100000000.00000000
+> [ 0.0000000000000000 ] [rank 0 ] Power: 50000000.000000000
+> [ 0.0000000000000000 ] [rank 0 ] Power: 20000000.000000000
+> [ 0.0000000000000000 ] [rank 1 ] Current pstate: 0 ; Current power: 100000000.00000000
+> [ 0.0000000000000000 ] [rank 0 ] Current pstate: 0 ; Current power: 100000000.00000000
+> [ 10.000000000000000 ] [rank 1 ] Energy consumed (Joules): 2000.0000000000000
+> [ 10.000000000000000 ] [rank 0 ] Energy consumed (Joules): 2000.0000000000000
+> [ 10.000000000000000 ] [rank 0 ] Current pstate: 1 ; Current power: 50000000.000000000
+> [ 30.000000000000000 ] [rank 0 ] Energy consumed (Joules): 5400.0000000000000
+> [ 30.000000000000000 ] [rank 0 ] Current pstate: 2 ; Current power: 20000000.000000000
+> [ 80.000000000000000 ] [rank 0 ] Energy consumed (Joules): 12900.000000000000
--- /dev/null
+program main
+ use mpi
+
+ integer ierr
+ integer rank, pstates
+ integer i
+ double precision p, t, e
+
+ call MPI_Init(ierr)
+ call MPI_Comm_rank(MPI_COMM_WORLD, rank, ierr)
+
+ pstates = smpi_get_host_nb_pstates()
+
+ t = MPI_Wtime()
+
+ print *, '[', t, '] [rank ', rank, ']', pstates, 'pstates available'
+ do i = 0, pstates - 1
+ p = smpi_get_host_power_peak_at(i)
+ print *, '[', t, '] [rank ', rank, '] Power: ', p
+ end do
+
+ do i = 0, pstates - 1
+ call smpi_set_host_power_peak_at(i)
+ t = MPI_Wtime()
+ p = smpi_get_host_current_power_peak()
+ print *, '[', t, '] [rank ', rank, '] Current pstate: ', i, '; Current power: ', p
+
+ e = 1e9
+ call smpi_execute_flops(e)
+
+ t = MPI_Wtime()
+ e = smpi_get_host_consumed_energy()
+ print *, '[', t, '] [rank ', rank, '] Energy consumed (Joules): ', e
+ end do
+
+ call MPI_Finalize(ierr)
+
+end program main
--- /dev/null
+MyHost1
+MyHost2
--- /dev/null
+<?xml version='1.0'?>
+<!DOCTYPE platform SYSTEM "http://simgrid.gforge.inria.fr/simgrid.dtd">
+<platform version="3">
+<AS id="AS0" routing="Full">
+ <!-- Multiple pstate processor capacities can be defined as a list of powers specified for a given host -->
+ <!-- The enabled pstate can be set through the "pstate" attribute (lowest pstate corresponds to the highest processor power) -->
+ <host id="MyHost1" power="100.0Mf,50.0Mf,20.0Mf" pstate="0" >
+ <!-- List of min_power:max_power pairs (in Watts) corresponding to the power consumed when the processor is idle and when it is fully loaded -->
+ <!-- The list must contain one power pair for each previously defined pstate-->
+ <prop id="power_per_state" value="95.0:200.0, 93.0:170.0, 90.0:150.0" />
+ </host>
+ <host id="MyHost2" power="100.0Mf" >
+ <prop id="power_per_state" value="95.0:200.0" />
+ </host>
+</AS>
+</platform>
--- /dev/null
+#include <stdio.h>
+#include <stdlib.h>
+#include <mpi.h>
+#include <smpi/smpi.h>
+
+int main(int argc, char *argv[])
+{
+ int rank, pstates;
+ int i;
+ char buf[1024];
+ char *s;
+ size_t sz, x;
+
+ if (MPI_Init(&argc, &argv) != MPI_SUCCESS) {
+ printf("MPI initialization failed!\n");
+ exit(EXIT_FAILURE);
+ }
+
+ MPI_Comm_rank(MPI_COMM_WORLD, &rank); /* Get id of this process */
+
+ pstates = smpi_get_host_nb_pstates();
+
+ s = buf;
+ sz = sizeof buf;
+ x = snprintf(s, sz,
+ "[%.6f] [rank %d] Pstates: %d; Powers: %.0f",
+ MPI_Wtime(), rank, pstates, smpi_get_host_power_peak_at(0));
+ if (x < sz) {
+ s += x;
+ sz -= x;
+ } else
+ sz = 0;
+ for (i = 1; i < pstates; i++) {
+ x = snprintf(s, sz, ", %.0f", smpi_get_host_power_peak_at(i));
+ if (x < sz) {
+ s += x;
+ sz -= x;
+ } else
+ sz = 0;
+ }
+ printf("%s%s\n", buf, (sz ? "" : " [...]"));
+
+ for (i = 0; i < pstates; i++) {
+ smpi_set_host_power_peak_at(i);
+ printf("[%.6f] [rank %d] Current pstate: %d; Current power: %.0f\n",
+ MPI_Wtime(), rank, i, smpi_get_host_current_power_peak());
+
+ SMPI_SAMPLE_FLOPS(1e9) {
+ /* imagine here some code running for 1e9 flops... */
+ }
+
+ printf("[%.6f] [rank %d] Energy consumed: %g Joules.\n",
+ MPI_Wtime(), rank, smpi_get_host_consumed_energy());
+ }
+
+ return MPI_Finalize();
+}
1 init
2 init
-0 allReduce 5e8 5e8
-1 allReduce 5e8 5e8
-2 allReduce 5e8 5e8
+0 allReduce 5e4 5e8
+1 allReduce 5e4 5e8
+2 allReduce 5e4 5e8
0 compute 5e8
1 compute 5e8
1 init
2 init
-0 bcast 5e8
-1 bcast 5e8
-2 bcast 5e8
+0 bcast 5e4
+1 bcast 5e4
+2 bcast 5e4
0 compute 5e8
1 compute 2e8
2 compute 5e8
-0 bcast 5e8
-1 bcast 5e8
-2 bcast 5e8
+0 bcast 5e4
+1 bcast 5e4
+2 bcast 5e4
0 compute 5e8
1 compute 2e8
2 compute 5e8
-0 reduce 5e8 5e8
-1 reduce 5e8 5e8
-2 reduce 5e8 5e8
+0 reduce 5e4 5e8
+1 reduce 5e4 5e8
+2 reduce 5e4 5e8
0 finalize
1 finalize
1 init 1
2 init 1
-0 bcast 5e8 1 0
-1 bcast 5e8 1 0
-2 bcast 5e8 1 0
+0 bcast 5e4 1 0
+1 bcast 5e4 1 0
+2 bcast 5e4 1 0
0 compute 5e8
1 compute 2e8
2 compute 5e8
-0 bcast 5e8 0 3
-1 bcast 5e8 0 3
-2 bcast 5e8 0 3
+0 bcast 5e4 0 3
+1 bcast 5e4 0 3
+2 bcast 5e4 0 3
0 compute 5e8
1 compute 2e8
2 compute 5e8
-0 reduce 5e8 5e8 0 4
-1 reduce 5e8 5e8 0 4
-2 reduce 5e8 5e8 0 4
+0 reduce 5e4 5e8 0 4
+1 reduce 5e4 5e8 0 4
+2 reduce 5e4 5e8 0 4
0 finalize
1 finalize
1 reduceScatter 275427 275427 275427 204020 12396024 0
2 reduceScatter 275427 275427 275427 204020 12501522 0
3 reduceScatter 275427 275427 275427 204020 12403123 0
-~
+
0 finalize
1 finalize
2 finalize
1 init
2 init
-0 send 1 1e9
+0 send 1 1e6
0 compute 1e9
-0 recv 2 1e9
+0 recv 2 1e6
-1 Irecv 0 1e9
+1 Irecv 0 1e6
1 compute 1e9
1 wait
-1 send 2 1e9
+1 send 2 1e6
-2 Irecv 1 1e9
+2 Irecv 1 1e6
2 compute 5e8
2 wait
-2 Isend 0 1e9
+2 Isend 0 1e6
2 compute 5e8
0 finalize
$ mkfile replay/one_trace
! timeout 60
-$ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --log=smpi_replay.thresh:verbose --log=no_loc --cfg=smpi/cpu_threshold:1 -np 3 -platform ${srcdir:=.}/replay/replay_platform.xml -hostfile ${srcdir:=.}/hostfile ./smpi_replay replay/one_trace
+$ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --log=smpi_replay.thresh:verbose --log=no_loc --cfg=smpi/cpu_threshold:-1 -np 3 -platform ${srcdir:=.}/replay/replay_platform.xml -hostfile ${srcdir:=.}/hostfile ./smpi_replay replay/one_trace
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'maxmin/precision' to '1e-9'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
-> [Fafard:2:(0) 65.176535] [smpi_replay/VERBOSE] 2 bcast 5e8 65.176535
-> [Fafard:2:(0) 71.729958] [smpi_replay/VERBOSE] 2 compute 5e8 6.553424
-> [Jupiter:1:(0) 73.739750] [smpi_replay/VERBOSE] 1 bcast 5e8 73.739750
-> [Tremblay:0:(0) 73.739750] [smpi_replay/VERBOSE] 0 bcast 5e8 73.739750
-> [Jupiter:1:(0) 76.361119] [smpi_replay/VERBOSE] 1 compute 2e8 2.621369
-> [Tremblay:0:(0) 78.836850] [smpi_replay/VERBOSE] 0 compute 5e8 5.097100
-> [Fafard:2:(0) 144.013385] [smpi_replay/VERBOSE] 2 bcast 5e8 72.283426
-> [Fafard:2:(0) 150.566808] [smpi_replay/VERBOSE] 2 compute 5e8 6.553424
-> [Jupiter:1:(0) 152.576600] [smpi_replay/VERBOSE] 1 bcast 5e8 76.215480
-> [Tremblay:0:(0) 152.576600] [smpi_replay/VERBOSE] 0 bcast 5e8 73.739750
-> [Jupiter:1:(0) 155.197969] [smpi_replay/VERBOSE] 1 compute 2e8 2.621369
-> [Tremblay:0:(0) 157.673699] [smpi_replay/VERBOSE] 0 compute 5e8 5.097100
-> [Fafard:2:(0) 229.403658] [smpi_replay/VERBOSE] 2 reduce 5e8 5e8 78.836850
-> [Tremblay:0:(0) 236.510549] [smpi_replay/VERBOSE] 0 reduce 5e8 5e8 78.836850
-> [Jupiter:1:(0) 237.966873] [smpi_replay/VERBOSE] 1 reduce 5e8 5e8 82.768904
-> [Jupiter:1:(0) 237.966873] [smpi_replay/INFO] Simulation time 237.967
+> [Tremblay:0:(0) 0.000000] [smpi_replay/VERBOSE] 0 bcast 5e4 0.000000
+> [Jupiter:1:(0) 0.015036] [smpi_replay/VERBOSE] 1 bcast 5e4 0.015036
+> [Fafard:2:(0) 0.015676] [smpi_replay/VERBOSE] 2 bcast 5e4 0.015676
+> [Jupiter:1:(0) 2.636405] [smpi_replay/VERBOSE] 1 compute 2e8 2.621369
+> [Tremblay:0:(0) 5.097100] [smpi_replay/VERBOSE] 0 compute 5e8 5.097100
+> [Tremblay:0:(0) 5.097100] [smpi_replay/VERBOSE] 0 bcast 5e4 0.000000
+> [Jupiter:1:(0) 5.112136] [smpi_replay/VERBOSE] 1 bcast 5e4 2.475730
+> [Fafard:2:(0) 6.569099] [smpi_replay/VERBOSE] 2 compute 5e8 6.553424
+> [Fafard:2:(0) 6.584775] [smpi_replay/VERBOSE] 2 bcast 5e4 0.015676
+> [Jupiter:1:(0) 7.733505] [smpi_replay/VERBOSE] 1 compute 2e8 2.621369
+> [Tremblay:0:(0) 10.194200] [smpi_replay/VERBOSE] 0 compute 5e8 5.097100
+> [Fafard:2:(0) 13.138198] [smpi_replay/VERBOSE] 2 compute 5e8 6.553424
+> [Jupiter:1:(0) 14.286929] [smpi_replay/VERBOSE] 1 reduce 5e4 5e8 6.553424
+> [Tremblay:0:(0) 18.250974] [smpi_replay/VERBOSE] 0 reduce 5e4 5e8 8.056774
+> [Fafard:2:(0) 19.691622] [smpi_replay/VERBOSE] 2 reduce 5e4 5e8 6.553424
+> [Fafard:2:(0) 19.691622] [smpi_replay/INFO] Simulation time 19.691622
$ rm -f replay/one_trace
< replay/actions_bcast.txt
$ mkfile replay/one_trace
-$ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --log=no_loc --cfg=tracing:1 --cfg=tracing/smpi:1 --cfg=tracing/smpi/computing:1 --cfg=smpi/cpu_threshold:1 -np 3 -platform ${srcdir:=.}/replay/replay_platform.xml -hostfile ${srcdir:=.}/hostfile ./smpi_replay replay/one_trace
+$ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --log=no_loc --cfg=tracing:yes --cfg=tracing/smpi:yes --cfg=tracing/smpi/computing:yes --cfg=smpi/cpu_threshold:-1 -np 3 -platform ${srcdir:=.}/replay/replay_platform.xml -hostfile ${srcdir:=.}/hostfile ./smpi_replay replay/one_trace
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'maxmin/precision' to '1e-9'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi/computing' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi/computing' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
-> [Jupiter:1:(0) 237.966873] [smpi_replay/INFO] Simulation time 237.967
+> [Fafard:2:(0) 19.691622] [smpi_replay/INFO] Simulation time 19.691622
$ rm -f replay/one_trace
> 4 3 0 1 1 MPI_LINK
> 6 0 1 1 0 "rank-0"
> 5 4 2 computing "0 1 1"
-> 5 5 2 action_bcast "0 0.78 0.39"
+> 5 5 2 smpi_replay_init "0 1 0"
+> 5 6 2 action_bcast "0 0.78 0.39"
> 6 0 2 1 0 "rank-1"
> 6 0 3 1 0 "rank-2"
> 12 0 2 1 4
-> 13 0 2 1
> 12 0 2 1 5
+> 13 0 2 1
+> 12 0 2 1 6
> 12 0 2 2 4
-> 13 0 2 2
> 12 0 2 2 5
+> 13 0 2 2
+> 12 0 2 2 6
> 12 0 2 3 4
-> 13 0 2 3
> 12 0 2 3 5
-> 13 65.176535 2 3
-> 12 65.176535 2 3 4
-> 13 71.729958 2 3
-> 12 71.729958 2 3 5
-> 13 73.739750 2 2
-> 12 73.739750 2 2 4
-> 13 73.739750 2 1
-> 12 73.739750 2 1 4
-> 5 6 2 action_reduce "0 1 0"
-> 13 76.361119 2 2
-> 12 76.361119 2 2 5
-> 13 78.836850 2 1
-> 12 78.836850 2 1 5
-> 13 144.013385 2 3
-> 12 144.013385 2 3 4
-> 13 150.566808 2 3
-> 12 150.566808 2 3 6
-> 13 152.576600 2 2
-> 12 152.576600 2 2 4
-> 13 152.576600 2 1
-> 12 152.576600 2 1 4
-> 13 155.197969 2 2
-> 12 155.197969 2 2 6
-> 13 157.673699 2 1
-> 12 157.673699 2 1 6
-> 13 229.403658 2 3
-> 12 229.403658 2 3 4
-> 13 236.510549 2 1
-> 12 236.510549 2 1 4
-> 13 237.966873 2 2
-> 12 237.966873 2 2 4
-> 13 237.972762 2 2
-> 7 237.972762 1 2
-> 13 237.973799 2 3
-> 7 237.973799 1 3
-> 13 237.979818 2 1
-> 7 237.979818 1 1
+> 13 0 2 3
+> 12 0 2 3 6
+> 13 0 2 1
+> 12 0 2 1 4
+> 13 0.015036 2 2
+> 12 0.015036 2 2 4
+> 13 0.015676 2 3
+> 12 0.015676 2 3 4
+> 13 2.636405 2 2
+> 12 2.636405 2 2 6
+> 13 5.097100 2 1
+> 12 5.097100 2 1 6
+> 13 5.097100 2 1
+> 12 5.097100 2 1 4
+> 5 7 2 action_reduce "0 1 0"
+> 13 5.112136 2 2
+> 12 5.112136 2 2 4
+> 13 6.569099 2 3
+> 12 6.569099 2 3 6
+> 13 6.584775 2 3
+> 12 6.584775 2 3 4
+> 13 7.733505 2 2
+> 12 7.733505 2 2 7
+> 13 10.194200 2 1
+> 12 10.194200 2 1 7
+> 13 13.138198 2 3
+> 12 13.138198 2 3 7
+> 5 8 2 smpi_replay_finalize "0 1 0"
+> 13 14.286929 2 2
+> 13 18.250974 2 1
+> 13 19.691622 2 3
+> 12 19.695603 2 1 8
+> 12 19.698548 2 2 8
+> 13 19.698548 2 2
+> 7 19.698548 1 2
+> 12 19.699584 2 3 8
+> 13 19.699584 2 3
+> 7 19.699584 1 3
+> 13 19.705603 2 1
+> 7 19.705603 1 1
$ rm -f ./simgrid.trace
< replay/actions1.txt
$ mkfile ./split_traces_tesh
-$ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --log=smpi_replay.thresh:verbose --log=no_loc --cfg=smpi/cpu_threshold:1 -np 2 -platform ${srcdir:=.}/replay/replay_platform.xml -hostfile ${srcdir:=.}/hostfile ./smpi_replay ./split_traces_tesh
+$ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --log=smpi_replay.thresh:verbose --log=no_loc --cfg=smpi/cpu_threshold:-1 -np 2 -platform ${srcdir:=.}/replay/replay_platform.xml -hostfile ${srcdir:=.}/hostfile ./smpi_replay ./split_traces_tesh
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'maxmin/precision' to '1e-9'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
> [Tremblay:0:(0) 0.164463] [smpi_replay/VERBOSE] 0 send 1 1e6 0.164463
> [Jupiter:1:(0) 0.164463] [smpi_replay/VERBOSE] 1 recv 0 1e6 0.164463
> [Tremblay:0:(0) 13.435773] [smpi_replay/VERBOSE] 0 recv 1 1e6 13.271310
> [Jupiter:1:(0) 13.600235] [smpi_replay/VERBOSE] 1 wait 0.328926
> [Tremblay:0:(0) 13.600235] [smpi_replay/VERBOSE] 0 send 1 1e6 0.164463
-> [Tremblay:0:(0) 13.600235] [smpi_replay/INFO] Simulation time 13.6002
+> [Jupiter:1:(0) 13.600235] [smpi_replay/INFO] Simulation time 13.600235
$ rm -f ./split_traces_tesh
< replay/actions_barrier.txt
$ mkfile replay/one_trace
-$ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --log=smpi_replay.thresh:verbose --log=no_loc --cfg=smpi/cpu_threshold:1 -np 3 -platform ${srcdir:=.}/replay/replay_platform.xml -hostfile ${srcdir:=.}/hostfile ./smpi_replay replay/one_trace
+$ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --log=smpi_replay.thresh:verbose --log=no_loc --cfg=smpi/cpu_threshold:-1 -np 3 -platform ${srcdir:=.}/replay/replay_platform.xml -hostfile ${srcdir:=.}/hostfile ./smpi_replay replay/one_trace
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'maxmin/precision' to '1e-9'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
> [Tremblay:0:(0) 1.491472] [smpi_replay/VERBOSE] 0 send 1 1e7 1.491472
> [Jupiter:1:(0) 1.491472] [smpi_replay/VERBOSE] 1 recv 0 1e7 1.491472
> [Tremblay:0:(0) 2.495453] [smpi_replay/VERBOSE] 0 compute 98095000 1.000000
> [Jupiter:1:(0) 2.498398] [smpi_replay/VERBOSE] 1 compute 76296000 1.000000
> [Fafard:2:(0) 2.499434] [smpi_replay/VERBOSE] 2 compute 76296000 1.000000
-> [Fafard:2:(0) 2.499434] [smpi_replay/INFO] Simulation time 2.49943
+> [Fafard:2:(0) 2.499434] [smpi_replay/INFO] Simulation time 2.499434
$ rm -f replay/one_trace
< replay/actions_with_isend.txt
$ mkfile replay/one_trace
-$ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --log=smpi_replay.thresh:verbose --log=no_loc --cfg=smpi/cpu_threshold:1 -np 3 -platform ${srcdir:=.}/replay/replay_platform.xml -hostfile ${srcdir:=.}/hostfile ./smpi_replay replay/one_trace
+$ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --log=smpi_replay.thresh:verbose --log=no_loc --cfg=smpi/cpu_threshold:-1 -np 3 -platform ${srcdir:=.}/replay/replay_platform.xml -hostfile ${srcdir:=.}/hostfile ./smpi_replay replay/one_trace
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'maxmin/precision' to '1e-9'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
-> [Jupiter:1:(0) 0.000000] [smpi_replay/VERBOSE] 1 Irecv 0 1e9 0.000000
-> [Fafard:2:(0) 0.000000] [smpi_replay/VERBOSE] 2 Irecv 1 1e9 0.000000
+> [Jupiter:1:(0) 0.000000] [smpi_replay/VERBOSE] 1 Irecv 0 1e6 0.000000
+> [Fafard:2:(0) 0.000000] [smpi_replay/VERBOSE] 2 Irecv 1 1e6 0.000000
+> [Tremblay:0:(0) 0.164463] [smpi_replay/VERBOSE] 0 send 1 1e6 0.164463
> [Fafard:2:(0) 6.553424] [smpi_replay/VERBOSE] 2 compute 5e8 6.553424
+> [Tremblay:0:(0) 10.358662] [smpi_replay/VERBOSE] 0 compute 1e9 10.194200
> [Jupiter:1:(0) 13.106847] [smpi_replay/VERBOSE] 1 compute 1e9 13.106847
-> [Tremblay:0:(0) 147.462483] [smpi_replay/VERBOSE] 0 send 1 1e9 147.462483
-> [Jupiter:1:(0) 147.462483] [smpi_replay/VERBOSE] 1 wait 134.355636
-> [Tremblay:0:(0) 157.656682] [smpi_replay/VERBOSE] 0 compute 1e9 10.194200
-> [Fafard:2:(0) 294.947973] [smpi_replay/VERBOSE] 2 wait 288.394550
-> [Jupiter:1:(0) 294.947973] [smpi_replay/VERBOSE] 1 send 2 1e9 147.485491
-> [Fafard:2:(0) 294.947973] [smpi_replay/VERBOSE] 2 Isend 0 1e9 0.000000
-> [Fafard:2:(0) 301.501397] [smpi_replay/VERBOSE] 2 compute 5e8 6.553424
-> [Tremblay:0:(0) 425.278035] [smpi_replay/VERBOSE] 0 recv 2 1e9 267.621353
-> [Tremblay:0:(0) 425.278035] [smpi_replay/INFO] Simulation time 425.278
+> [Jupiter:1:(0) 13.106847] [smpi_replay/VERBOSE] 1 wait 0.000000
+> [Fafard:2:(0) 13.294318] [smpi_replay/VERBOSE] 2 wait 6.740894
+> [Jupiter:1:(0) 13.294318] [smpi_replay/VERBOSE] 1 send 2 1e6 0.187471
+> [Fafard:2:(0) 13.294318] [smpi_replay/VERBOSE] 2 Isend 0 1e6 0.000000
+> [Tremblay:0:(0) 13.447633] [smpi_replay/VERBOSE] 0 recv 2 1e6 3.088971
+> [Fafard:2:(0) 19.847741] [smpi_replay/VERBOSE] 2 compute 5e8 6.553424
+> [Fafard:2:(0) 19.847741] [smpi_replay/INFO] Simulation time 19.847741
+
$ rm -f replay/one_trace
< replay/actions_allReduce.txt
$ mkfile replay/one_trace
-$ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --log=smpi_replay.thresh:verbose --log=no_loc --cfg=smpi/cpu_threshold:1 -np 3 -platform ${srcdir:=.}/replay/replay_platform.xml -hostfile ${srcdir:=.}/hostfile ./smpi_replay replay/one_trace
+$ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --log=smpi_replay.thresh:verbose --log=no_loc --cfg=smpi/cpu_threshold:-1 -np 3 -platform ${srcdir:=.}/replay/replay_platform.xml -hostfile ${srcdir:=.}/hostfile ./smpi_replay replay/one_trace
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'maxmin/precision' to '1e-9'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
-> [Fafard:2:(0) 144.013385] [smpi_replay/VERBOSE] 2 allReduce 5e8 5e8 144.013385
-> [Fafard:2:(0) 150.566808] [smpi_replay/VERBOSE] 2 compute 5e8 6.553424
-> [Jupiter:1:(0) 154.032923] [smpi_replay/VERBOSE] 1 allReduce 5e8 5e8 154.032923
-> [Tremblay:0:(0) 154.032923] [smpi_replay/VERBOSE] 0 allReduce 5e8 5e8 154.032923
-> [Tremblay:0:(0) 159.130023] [smpi_replay/VERBOSE] 0 compute 5e8 5.097100
-> [Jupiter:1:(0) 160.586347] [smpi_replay/VERBOSE] 1 compute 5e8 6.553424
-> [Jupiter:1:(0) 160.586347] [smpi_replay/INFO] Simulation time 160.586
+> [Tremblay:0:(0) 5.112775] [smpi_replay/VERBOSE] 0 allReduce 5e4 5e8 5.112775
+> [Jupiter:1:(0) 6.568459] [smpi_replay/VERBOSE] 1 allReduce 5e4 5e8 6.568459
+> [Fafard:2:(0) 6.569099] [smpi_replay/VERBOSE] 2 allReduce 5e4 5e8 6.569099
+> [Tremblay:0:(0) 10.209875] [smpi_replay/VERBOSE] 0 compute 5e8 5.097100
+> [Jupiter:1:(0) 13.121883] [smpi_replay/VERBOSE] 1 compute 5e8 6.553424
+> [Fafard:2:(0) 13.122523] [smpi_replay/VERBOSE] 2 compute 5e8 6.553424
+> [Fafard:2:(0) 13.122523] [smpi_replay/INFO] Simulation time 13.122523
$ rm -f replay/one_trace
< replay/actions_alltoall.txt
$ mkfile replay/one_trace
-$ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --log=smpi_replay.thresh:verbose --log=no_loc --cfg=smpi/cpu_threshold:1 -np 3 -platform ${srcdir:=.}/replay/replay_platform.xml -hostfile ${srcdir:=.}/hostfile ./smpi_replay replay/one_trace
+$ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --log=smpi_replay.thresh:verbose --log=no_loc --cfg=smpi/cpu_threshold:-1 -np 3 -platform ${srcdir:=.}/replay/replay_platform.xml -hostfile ${srcdir:=.}/hostfile ./smpi_replay replay/one_trace
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'maxmin/precision' to '1e-9'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
> [Tremblay:0:(0) 0.004041] [smpi_replay/VERBOSE] 0 allToAll 500 500 0.004041
> [Jupiter:1:(0) 0.006920] [smpi_replay/VERBOSE] 1 allToAll 500 500 0.006920
> [Fafard:2:(0) 0.006920] [smpi_replay/VERBOSE] 2 allToAll 500 500 0.006920
-> [Fafard:2:(0) 0.006920] [smpi_replay/INFO] Simulation time 0.00692004
+> [Fafard:2:(0) 0.006920] [smpi_replay/INFO] Simulation time 0.006920
$ rm -f replay/one_trace
< replay/actions_alltoallv.txt
$ mkfile replay/one_trace
-$ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --log=smpi_replay.thresh:verbose --log=no_loc --cfg=smpi/cpu_threshold:1 -np 3 -platform ${srcdir:=.}/replay/replay_platform.xml -hostfile ${srcdir:=.}/hostfile ./smpi_replay replay/one_trace
+$ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --log=smpi_replay.thresh:verbose --log=no_loc --cfg=smpi/cpu_threshold:-1 -np 3 -platform ${srcdir:=.}/replay/replay_platform.xml -hostfile ${srcdir:=.}/hostfile ./smpi_replay replay/one_trace
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'maxmin/precision' to '1e-9'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
> [Tremblay:0:(0) 0.003999] [smpi_replay/VERBOSE] 0 allToAllV 100 1 40 30 1000 1 80 100 0.003999
> [Jupiter:1:(0) 0.006934] [smpi_replay/VERBOSE] 1 allToAllV 1000 80 1 40 1000 40 1 30 0.006934
> [Fafard:2:(0) 0.006936] [smpi_replay/VERBOSE] 2 allToAllV 1000 100 30 1 1000 30 40 1 0.006936
-> [Fafard:2:(0) 0.006936] [smpi_replay/INFO] Simulation time 0.00693554
+> [Fafard:2:(0) 0.006936] [smpi_replay/INFO] Simulation time 0.006936
$ rm -f replay/one_trace
< replay/actions_allgatherv.txt
$ mkfile replay/one_trace
-$ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --log=smpi_replay.thresh:verbose --log=no_loc --cfg=smpi/cpu_threshold:1 -np 3 -platform ${srcdir:=.}/replay/replay_platform.xml -hostfile ${srcdir:=.}/hostfile ./smpi_replay replay/one_trace
+$ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --log=smpi_replay.thresh:verbose --log=no_loc --cfg=smpi/cpu_threshold:-1 -np 3 -platform ${srcdir:=.}/replay/replay_platform.xml -hostfile ${srcdir:=.}/hostfile ./smpi_replay replay/one_trace
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'maxmin/precision' to '1e-9'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
> [Tremblay:0:(0) 0.841244] [smpi_replay/VERBOSE] 0 allGatherV 275427 275427 275427 275427 204020 0 0 0.841244
> [Fafard:2:(0) 1.239482] [smpi_replay/VERBOSE] 2 allGatherV 275427 275427 275427 275427 204020 0 0 1.239482
> [Jupiter:1:(0) 1.239482] [smpi_replay/VERBOSE] 1 allGatherV 275427 275427 275427 275427 204020 0 0 1.239482
-> [Jupiter:1:(0) 1.239482] [smpi_replay/INFO] Simulation time 1.23948
+> [Jupiter:1:(0) 1.239482] [smpi_replay/INFO] Simulation time 1.239482
$ rm -f replay/one_trace
< replay/actions_waitall.txt
$ mkfile replay/one_trace
-$ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --log=smpi_replay.thresh:verbose --log=no_loc --cfg=smpi/cpu_threshold:1 -np 3 -platform ${srcdir:=.}/replay/replay_platform.xml -hostfile ${srcdir:=.}/hostfile ./smpi_replay replay/one_trace
+$ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.thresh:critical --log=smpi_replay.thresh:verbose --log=no_loc --cfg=smpi/cpu_threshold:-1 -np 3 -platform ${srcdir:=.}/replay/replay_platform.xml -hostfile ${srcdir:=.}/hostfile ./smpi_replay replay/one_trace
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'maxmin/precision' to '1e-9'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
> [Tremblay:0:(0) 0.000000] [smpi_replay/VERBOSE] 0 Irecv 1 2000 0.000000
> [Jupiter:1:(0) 0.000000] [smpi_replay/VERBOSE] 1 Isend 0 2000 0.000000
> [Fafard:2:(0) 0.000000] [smpi_replay/VERBOSE] 2 Isend 0 3000 0.000000
> [Tremblay:0:(0) 0.003787] [smpi_replay/VERBOSE] 0 waitAll 0.003787
> [Fafard:2:(0) 0.006220] [smpi_replay/VERBOSE] 2 waitAll 0.006220
-> [Fafard:2:(0) 0.006220] [smpi_replay/INFO] Simulation time 0.00622039
+> [Fafard:2:(0) 0.006220] [smpi_replay/INFO] Simulation time 0.006220
$ rm -f replay/one_trace
p Test instrumentation of SMPI
$ ../../smpi_script/bin/smpirun -trace -trace-resource -trace-file smpi_traced.trace -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/../msg/tracing/platform.xml -np 3 ./smpi_traced
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'smpi_traced.trace'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/uncategorized' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/uncategorized' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'maxmin/precision' to '1e-9'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
p Another SMPI test
$ ../../smpi_script/bin/smpirun -trace -trace-resource -trace-file smpi_traced.trace -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/../msg/tracing/platform.xml -np 3 ./smpi_traced_simple
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'smpi_traced.trace'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/uncategorized' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/uncategorized' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'maxmin/precision' to '1e-9'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
p Testing grouped tracing
$ ../../smpi_script/bin/smpirun -trace -trace-grouped -trace-file smpi_traced.trace -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/../msg/tracing/platform.xml -np 3 ./smpi_traced_simple
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'smpi_traced.trace'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi/group' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi/group' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'maxmin/precision' to '1e-9'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
p Testing generation of viva configuration files
-$ ../../smpi_script/bin/smpirun -trace -trace-resource -trace-viva -trace-file smpi_traced.trace -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/../msg/tracing/platform.xml --cfg=smpi/cpu_threshold:1 -np 3 ./smpi_traced_simple
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '1'
+$ ../../smpi_script/bin/smpirun -trace -trace-resource -trace-viva -trace-file smpi_traced.trace -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/../msg/tracing/platform.xml --cfg=smpi/cpu_threshold:-1 -np 3 ./smpi_traced_simple
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'smpi_traced.trace'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/uncategorized' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/categorized' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/uncategorized' to 'yes'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'viva/categorized' to 'smpi_cat.plist'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'viva/uncategorized' to 'smpi_uncat.plist'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'maxmin/precision' to '1e-9'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '1'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
> [0.013981] [instr_config/INFO] No categories declared, ignoring generation of viva graph configuration
XBT_PUBLIC(void) MSG_file_dump(msg_file_t fd);
XBT_PUBLIC(int) MSG_file_unlink(msg_file_t fd);
XBT_PUBLIC(xbt_dict_t) MSG_file_ls(const char *mount, const char *path);
+XBT_PUBLIC(msg_error_t) MSG_file_seek(msg_file_t fd, sg_storage_size_t offset, int whence);
XBT_PUBLIC(void) __MSG_file_get_info(msg_file_t fd);
-
/************************** Storage handling ***********************************/
XBT_PUBLIC(msg_host_t) MSG_get_storage_by_name(const char *name);
XBT_PUBLIC(const char *) MSG_storage_get_name(msg_storage_t storage);
XBT_PUBLIC(void *) MSG_storage_get_data(msg_storage_t storage);
XBT_PUBLIC(xbt_dict_t) MSG_storage_get_content(msg_storage_t storage);
XBT_PUBLIC(sg_storage_size_t) MSG_storage_get_size(msg_storage_t storage);
+XBT_PUBLIC(msg_error_t) MSG_storage_file_move(msg_file_t fd, msg_host_t dest, char* mount, char* fullname);
+XBT_PUBLIC(msg_error_t) MSG_storage_file_rename(msg_storage_t storage, const char* src, const char* dest);
/************************** AS Router handling ************************************/
XBT_PUBLIC(const char *) MSG_as_router_get_property_value(const char* asr, const char *name);
XBT_PUBLIC(xbt_dict_t) MSG_as_router_get_properties(const char* asr);
extern int _sg_do_model_check; /* please don't use directly: we inline MC_is_active, but that's what you should use */
extern int _sg_mc_visited;
-#define MC_is_active() _sg_do_model_check
-#define MC_visited_reduction() _sg_mc_visited
+#define MC_is_active() _sg_do_model_check
+#define MC_visited_reduction() _sg_mc_visited
XBT_PUBLIC(void) MC_assert(int);
XBT_PUBLIC(int) MC_random(int min, int max);
#else
-#define MC_assert(a) xbt_assert(a)
-#define MC_is_active() 0
-#define MC_visited_reduction() 0
+#define MC_is_active() 0
+#define MC_visited_reduction() 0
+
+#define MC_assert(a) xbt_assert(a)
+#define MC_random(a, b) 0
+#define MC_automaton_new_propositional_symbol(a, b) ((void)0)
+#define MC_snapshot() ((void*)0)
+#define MC_compare_snapshots(a, b) 0
+#define MC_cut() ((void)0)
+#define MC_ignore(a, b) ((void)0)
#endif
XBT_PUBLIC(xbt_dict_t) simcall_file_ls(const char* mount, const char* path);
XBT_PUBLIC(sg_storage_size_t) simcall_file_get_size(smx_file_t fd);
XBT_PUBLIC(xbt_dynar_t) simcall_file_get_info(smx_file_t fd);
-
/***************************** Storage **********************************/
XBT_PUBLIC(sg_storage_size_t) simcall_storage_get_free_size (const char* name);
XBT_PUBLIC(sg_storage_size_t) simcall_storage_get_used_size (const char* name);
XBT_PUBLIC(xbt_dict_t) simcall_storage_get_content(smx_storage_t storage);
XBT_PUBLIC(const char*) SIMIX_storage_get_name(smx_host_t host);
XBT_PUBLIC(sg_storage_size_t) SIMIX_storage_get_size(smx_storage_t storage);
+XBT_PUBLIC(void) simcall_storage_file_rename(smx_storage_t storage, const char* src, const char* dest);
/************************** AS router **********************************/
XBT_PUBLIC(xbt_dict_t) SIMIX_asr_get_properties(const char *name);
/************************** AS router simcalls ***************************/
#define SIMGRID_VERSION_MINOR @SIMGRID_VERSION_MINOR@
#define SIMGRID_VERSION_PATCH @SIMGRID_VERSION_PATCH@
+#define SIMGRID_VERSION_STRING "@SIMGRID_VERSION_STRING@"
+
/* Version X.Y.Z will get version number XYZ: all digits concatenated without dots
* (with Y and Z must be on two positions)*/
double precision MPI_WTIME
double precision MPI_WTICK
+
+ external smpi_execute_flops
+ external smpi_execute
+ external smpi_get_host_power_peak_at
+ external smpi_get_host_current_power_peak
+ external smpi_get_host_nb_pstates
+ external smpi_set_host_power_peak_at
+ external smpi_get_host_consumed_energy
+
+ double precision smpi_get_host_power_peak_at
+ double precision smpi_get_host_current_power_peak
+ integer smpi_get_host_nb_pstates
+ double precision smpi_get_host_consumed_energy
XBT_PUBLIC(void) smpi_exit(int);
*/
+XBT_PUBLIC(void) smpi_execute_flops(double flops);
+XBT_PUBLIC(void) smpi_execute(double duration);
+
+XBT_PUBLIC(double) smpi_get_host_power_peak_at(int pstate_index);
+XBT_PUBLIC(double) smpi_get_host_current_power_peak(void);
+XBT_PUBLIC(int) smpi_get_host_nb_pstates(void);
+XBT_PUBLIC(void) smpi_set_host_power_peak_at(int pstate_index);
+XBT_PUBLIC(double) smpi_get_host_consumed_energy(void);
+
XBT_PUBLIC(unsigned int) smpi_sleep(unsigned int secs);
XBT_PUBLIC(int) smpi_gettimeofday(struct timeval *tv);
XBT_PUBLIC(unsigned long long) smpi_rastro_resolution (void);
XBT_PUBLIC(int) smpi_main(int (*realmain) (int argc, char *argv[]),int argc, char *argv[]);
XBT_PUBLIC(void) __attribute__((weak)) user_main_(void);
XBT_PUBLIC(int) smpi_process_index(void);
+XBT_PUBLIC(void) smpi_process_init(int *argc, char ***argv);
/* Trace replay specific stuff */
XBT_PUBLIC(void) smpi_replay_init(int *argc, char***argv);
XBT_PUBLIC_DATA(__thread int) smpi_current_rank;
-XBT_PUBLIC(void) smpi_process_init(int *argc, char ***argv);
XBT_PUBLIC(int) smpi_process_argc(void);
XBT_PUBLIC(int) smpi_process_getarg(integer* index, char* dst, ftnlen len);
XBT_PUBLIC(int) smpi_global_size(void);
#define THROW_UNIMPLEMENTED \
THROWF(unknown_error, 0, "Function %s unimplemented",_XBT_FUNCTION)
-#ifndef NDEBUG
-# define DIE_IMPOSSIBLE xbt_assert(0,"The Impossible Did Happen (yet again)")
-#else
-# define DIE_IMPOSSIBLE exit(1);
-#endif
+#define DIE_IMPOSSIBLE xbt_die("The Impossible Did Happen (yet again)")
/** @brief re-throwing of an already caught exception (ie, pass it to the upper catch block)
* @hideinitializer
return;
try {
/* prefer the version on disk, if existing */
- System.loadLibrary("SG_java");
+ System.loadLibrary("simgrid-java");
} catch (UnsatisfiedLinkError e) {
/* If not found, unpack the one bundled into the jar file and use it */
loadLib("simgrid");
- loadLib("SG_java");
+ loadLib("simgrid-java");
}
isNativeInited = true;
}
#define _SMPI_INTERFACE_H
#include "smpi/smpi.h"
-/********** Tracing **********/
-/* from smpi_instr.c */
-void TRACE_smpi_alloc(void);
-void TRACE_smpi_release(void);
-void TRACE_smpi_ptp_in(int rank, int src, int dst, const char *operation, int size);
-void TRACE_smpi_ptp_out(int rank, int src, int dst, const char *operation);
-void TRACE_smpi_send(int rank, int src, int dst, int size);
-void TRACE_smpi_recv(int rank, int src, int dst);
-void TRACE_smpi_init(int rank);
-void TRACE_smpi_finalize(int rank);
+
/** \brief MPI collective description
*/
XBT_PUBLIC(lmm_system_t) lmm_system_new(int selective_update);
XBT_PUBLIC(void) lmm_system_free(lmm_system_t sys);
-void lmm_variable_disable(lmm_system_t sys, lmm_variable_t var);
XBT_PUBLIC(lmm_constraint_t) lmm_constraint_new(lmm_system_t sys, void *id,
double bound_value);
double surf_network_link_get_latency(surf_cpp_resource_t link);
xbt_dict_t surf_storage_get_content(surf_resource_t resource);
sg_storage_size_t surf_storage_get_size(surf_resource_t resource);
+void surf_storage_rename(surf_resource_t resource, const char* src, const char* dest);
void *surf_action_get_data(surf_action_t action);
void surf_action_set_data(surf_action_t action, void *data);
void surf_action_unref(surf_action_t action);
--- /dev/null
+/* Copyright (c) 2010-2013. The SimGrid Team.
+ * All rights reserved. */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+#include "instr/instr_private.h"
+#include "xbt/virtu.h" /* sg_cmdline */
+#include "xbt/xbt_os_time.h"
+#include "simgrid/sg_config.h"
+
+#include <errno.h>
+#include <string.h>
+#include <sys/stat.h>
+
+XBT_LOG_NEW_DEFAULT_SUBCATEGORY(instr_TI_trace, instr_trace, "tracing event system");
+
+extern FILE *tracing_file;
+double prefix=0.0;
+
+xbt_dict_t tracing_files = NULL;
+
+extern s_instr_trace_writer_t active_writer;
+
+void TRACE_TI_init(void)
+{
+ active_writer.print_PushState = print_TIPushState;
+ active_writer.print_CreateContainer=print_TICreateContainer;
+ active_writer.print_DestroyContainer=print_TIDestroyContainer;
+}
+
+void TRACE_TI_start(void)
+{
+ char *filename = TRACE_get_filename();
+ tracing_file = fopen(filename, "w");
+ if (tracing_file == NULL) {
+ THROWF(system_error, 1, "Tracefile %s could not be opened for writing.",
+ filename);
+ }
+
+ XBT_DEBUG("Filename %s is open for writing", filename);
+
+ /* output one line comment */
+ dump_comment(TRACE_get_comment());
+
+ /* output comment file */
+ dump_comment_file(TRACE_get_comment_file());
+
+}
+
+void TRACE_TI_end(void)
+{
+ xbt_dict_free(&tracing_files);
+ fclose(tracing_file);
+ char *filename = TRACE_get_filename();
+ XBT_DEBUG("Filename %s is closed", filename);
+}
+
+void print_TICreateContainer(paje_event_t event)
+{
+ //if we are in the mode with only one file
+ static FILE *temp = NULL;
+
+ if (tracing_files == NULL) {
+ tracing_files = xbt_dict_new_homogeneous(NULL);
+ //generate unique run id with time
+ prefix = xbt_os_time();
+ }
+
+ if (!xbt_cfg_get_boolean(_sg_cfg_set, "tracing/smpi/format/ti_one_file")
+ || temp == NULL) {
+ char *folder_name = bprintf("%s_files", TRACE_get_filename());
+ char *filename = bprintf("%s/%f_%s.txt", folder_name, prefix,
+ ((createContainer_t) event->data)->container->name);
+#ifdef WIN32
+ mkdir(folder_name);
+#else
+ mkdir(folder_name, S_IRWXU | S_IRWXG | S_IRWXO);
+#endif
+ temp = fopen(filename, "w");
+ if (temp == NULL)
+ xbt_die("Tracefile %s could not be opened for writing: %s",
+ filename, strerror(errno));
+ fprintf(tracing_file, "%s\n", filename);
+
+ xbt_free(folder_name);
+ xbt_free(filename);
+ }
+
+ xbt_dict_set(tracing_files,
+ ((createContainer_t) event->data)->container->name,
+ (void *) temp, NULL);
+}
+
+void print_TIDestroyContainer(paje_event_t event)
+{
+ if (!xbt_cfg_get_boolean(_sg_cfg_set, "tracing/smpi/format/ti_one_file")||
+ xbt_dict_length(tracing_files) == 1) {
+ FILE* f = xbt_dict_get_or_null(tracing_files,
+ ((destroyContainer_t) event->data)->container->name);
+ fclose(f);
+ }
+ xbt_dict_remove(tracing_files, ((destroyContainer_t) event->data)->container->name);
+}
+
+
+void print_TIPushState(paje_event_t event)
+{
+
+
+ int i;
+
+ //char* function=NULL;
+ if (((pushState_t) event->data)->extra == NULL)
+ return;
+ instr_extra_data extra =
+ (instr_extra_data) (((pushState_t) event->data)->extra);
+
+ char *process_id = NULL;
+ //FIXME: dirty extract "rank-" from the name, as we want the bare process id here
+ if (strstr(((pushState_t) event->data)->container->name, "rank-") == NULL)
+ process_id = xbt_strdup(((pushState_t) event->data)->container->name);
+ else
+ process_id = xbt_strdup(((pushState_t) event->data)->container->name + 5);
+
+ FILE* trace_file = (FILE* )xbt_dict_get(tracing_files, ((pushState_t) event->data)->container->name);
+
+ switch (extra->type) {
+
+ case TRACING_INIT:
+ fprintf(trace_file, "%s init\n", process_id);
+ break;
+ case TRACING_FINALIZE:
+ fprintf(trace_file, "%s finalize\n", process_id);
+ break;
+ case TRACING_SEND:
+ fprintf(trace_file, "%s send %d %d %s\n", process_id, extra->dst,
+ extra->send_size, extra->datatype1);
+ break;
+ case TRACING_ISEND:
+ fprintf(trace_file, "%s isend %d %d %s\n", process_id, extra->dst,
+ extra->send_size, extra->datatype1);
+ break;
+ case TRACING_RECV:
+ fprintf(trace_file, "%s recv %d %d %s\n", process_id, extra->src,
+ extra->send_size, extra->datatype1);
+ break;
+ case TRACING_IRECV:
+ fprintf(trace_file, "%s irecv %d %d %s\n", process_id, extra->src,
+ extra->send_size, extra->datatype1);
+ break;
+ case TRACING_WAIT:
+ fprintf(trace_file, "%s wait\n", process_id);
+ break;
+ case TRACING_WAITALL:
+ fprintf(trace_file, "%s waitall\n", process_id);
+ break;
+ case TRACING_BARRIER:
+ fprintf(trace_file, "%s barrier\n", process_id);
+ break;
+ case TRACING_BCAST: // rank bcast size (root) (datatype)
+ fprintf(trace_file, "%s bcast %d ", process_id, extra->send_size);
+ if (extra->root != 0 || (extra->datatype1 && strcmp(extra->datatype1, "")))
+ fprintf(trace_file, "%d %s", extra->root, extra->datatype1);
+ fprintf(trace_file, "\n");
+ break;
+ case TRACING_REDUCE: // rank reduce comm_size comp_size (root) (datatype)
+ fprintf(trace_file, "%s reduce %d %f ", process_id, extra->send_size,
+ extra->comp_size);
+ if (extra->root != 0 || (extra->datatype1 && strcmp(extra->datatype1, "")))
+ fprintf(trace_file, "%d %s", extra->root, extra->datatype1);
+ fprintf(trace_file, "\n");
+ break;
+ case TRACING_ALLREDUCE: // rank allreduce comm_size comp_size (datatype)
+ fprintf(trace_file, "%s allreduce %d %f %s\n", process_id,
+ extra->send_size, extra->comp_size, extra->datatype1);
+ break;
+ case TRACING_ALLTOALL: // rank alltoall send_size recv_size (sendtype) (recvtype)
+ fprintf(trace_file, "%s alltoall %d %d %s %s\n", process_id,
+ extra->send_size, extra->recv_size, extra->datatype1,
+ extra->datatype2);
+ break;
+ case TRACING_ALLTOALLV: // rank alltoallv send_size [sendcounts] recv_size [recvcounts] (sendtype) (recvtype)
+ fprintf(trace_file, "%s alltoallv %d ", process_id, extra->send_size);
+ for (i = 0; i < extra->num_processes; i++)
+ fprintf(trace_file, "%d ", extra->sendcounts[i]);
+ fprintf(trace_file, "%d ", extra->recv_size);
+ for (i = 0; i < extra->num_processes; i++)
+ fprintf(trace_file, "%d ", extra->recvcounts[i]);
+ fprintf(trace_file, "%s %s \n", extra->datatype1, extra->datatype2);
+ break;
+ case TRACING_GATHER: // rank gather send_size recv_size root (sendtype) (recvtype)
+ fprintf(trace_file, "%s gather %d %d %d %s %s\n", process_id,
+ extra->send_size, extra->recv_size, extra->root, extra->datatype1,
+ extra->datatype2);
+ break;
+ case TRACING_ALLGATHERV: // rank allgatherv send_size [recvcounts] (sendtype) (recvtype)
+ fprintf(trace_file, "%s allgatherv %d ", process_id, extra->send_size);
+ for (i = 0; i < extra->num_processes; i++)
+ fprintf(trace_file, "%d ", extra->recvcounts[i]);
+ fprintf(trace_file, "%s %s \n", extra->datatype1, extra->datatype2);
+ break;
+ case TRACING_REDUCE_SCATTER: // rank reducescatter [recvcounts] comp_size (sendtype)
+ fprintf(trace_file, "%s reducescatter ", process_id);
+ for (i = 0; i < extra->num_processes; i++)
+ fprintf(trace_file, "%d ", extra->recvcounts[i]);
+ fprintf(trace_file, "%f %s\n", extra->comp_size, extra->datatype1);
+ break;
+ case TRACING_COMPUTING:
+ fprintf(trace_file, "%s compute %f\n", process_id, extra->comp_size);
+ break;
+ case TRACING_GATHERV: // rank gatherv send_size [recvcounts] root (sendtype) (recvtype)
+ fprintf(trace_file, "%s gatherv %d ", process_id, extra->send_size);
+ for (i = 0; i < extra->num_processes; i++)
+ fprintf(trace_file, "%d ", extra->recvcounts[i]);
+ fprintf(trace_file, "%d %s %s\n", extra->root, extra->datatype1, extra->datatype2);
+ break;
+ case TRACING_WAITANY:
+ case TRACING_SENDRECV:
+ case TRACING_SCATTER:
+ case TRACING_SCATTERV:
+ case TRACING_ALLGATHER:
+ case TRACING_SCAN:
+ case TRACING_EXSCAN:
+ case TRACING_COMM_SIZE:
+ case TRACING_COMM_SPLIT:
+ case TRACING_COMM_DUP:
+ case TRACING_SSEND:
+ case TRACING_ISSEND:
+ default:
+
+ XBT_WARN
+ ("Call from %s impossible to translate into replay command : Not implemented (yet)",
+ ((pushState_t) event->data)->value->name);
+ break;
+ }
+
+ if (extra->recvcounts != NULL)
+ xbt_free(extra->recvcounts);
+ if (extra->sendcounts != NULL)
+ xbt_free(extra->sendcounts);
+ xbt_free(process_id);
+ xbt_free(extra);
+}
#define OPT_TRACING_SMPI_COMPUTING "tracing/smpi/computing"
#define OPT_TRACING_SMPI_INTERNALS "tracing/smpi/internals"
#define OPT_TRACING_DISPLAY_SIZES "tracing/smpi/display_sizes"
+#define OPT_TRACING_FORMAT "tracing/smpi/format"
+#define OPT_TRACING_FORMAT_TI_ONEFILE "tracing/smpi/format/ti_one_file"
#define OPT_TRACING_CATEGORIZED "tracing/categorized"
#define OPT_TRACING_UNCATEGORIZED "tracing/uncategorized"
#define OPT_TRACING_MSG_PROCESS "tracing/msg/process"
static void TRACE_getopts(void)
{
- trace_enabled = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING);
- trace_platform = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_PLATFORM);
- trace_platform_topology = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_TOPOLOGY);
- trace_smpi_enabled = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_SMPI);
- trace_smpi_grouped = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_SMPI_GROUP);
- trace_smpi_computing = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_SMPI_COMPUTING);
- trace_view_internals = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_SMPI_INTERNALS);
- trace_categorized = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_CATEGORIZED);
- trace_uncategorized = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_UNCATEGORIZED);
- trace_msg_process_enabled = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_MSG_PROCESS);
- trace_msg_vm_enabled = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_MSG_VM);
- trace_buffer = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_BUFFER);
- trace_onelink_only = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_ONELINK_ONLY);
- trace_disable_destroy = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_DISABLE_DESTROY);
- trace_basic = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_BASIC);
- trace_display_sizes = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_DISPLAY_SIZES);
- trace_disable_link = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_DISABLE_LINK);
- trace_disable_power = xbt_cfg_get_int(_sg_cfg_set, OPT_TRACING_DISABLE_POWER);
+ trace_enabled = xbt_cfg_get_boolean(_sg_cfg_set, OPT_TRACING);
+ trace_platform = xbt_cfg_get_boolean(_sg_cfg_set, OPT_TRACING_PLATFORM);
+ trace_platform_topology = xbt_cfg_get_boolean(_sg_cfg_set, OPT_TRACING_TOPOLOGY);
+ trace_smpi_enabled = xbt_cfg_get_boolean(_sg_cfg_set, OPT_TRACING_SMPI);
+ trace_smpi_grouped = xbt_cfg_get_boolean(_sg_cfg_set, OPT_TRACING_SMPI_GROUP);
+ trace_smpi_computing = xbt_cfg_get_boolean(_sg_cfg_set, OPT_TRACING_SMPI_COMPUTING);
+ trace_view_internals = xbt_cfg_get_boolean(_sg_cfg_set, OPT_TRACING_SMPI_INTERNALS);
+ trace_categorized = xbt_cfg_get_boolean(_sg_cfg_set, OPT_TRACING_CATEGORIZED);
+ trace_uncategorized = xbt_cfg_get_boolean(_sg_cfg_set, OPT_TRACING_UNCATEGORIZED);
+ trace_msg_process_enabled = xbt_cfg_get_boolean(_sg_cfg_set, OPT_TRACING_MSG_PROCESS);
+ trace_msg_vm_enabled = xbt_cfg_get_boolean(_sg_cfg_set, OPT_TRACING_MSG_VM);
+ trace_buffer = xbt_cfg_get_boolean(_sg_cfg_set, OPT_TRACING_BUFFER);
+ trace_onelink_only = xbt_cfg_get_boolean(_sg_cfg_set, OPT_TRACING_ONELINK_ONLY);
+ trace_disable_destroy = xbt_cfg_get_boolean(_sg_cfg_set, OPT_TRACING_DISABLE_DESTROY);
+ trace_basic = xbt_cfg_get_boolean(_sg_cfg_set, OPT_TRACING_BASIC);
+ trace_display_sizes = xbt_cfg_get_boolean(_sg_cfg_set, OPT_TRACING_DISPLAY_SIZES);
+ trace_disable_link = xbt_cfg_get_boolean(_sg_cfg_set, OPT_TRACING_DISABLE_LINK);
+ trace_disable_power = xbt_cfg_get_boolean(_sg_cfg_set, OPT_TRACING_DISABLE_POWER);
}
static xbt_dynar_t TRACE_start_functions = NULL;
TRACE_getopts();
// tracing system must be:
- // - enabled (with --cfg=tracing:1)
+ // - enabled (with --cfg=tracing:yes)
// - already configured (TRACE_global_init already called)
if (TRACE_is_enabled() && TRACE_is_configured()) {
XBT_DEBUG("Tracing starts");
- /* open the trace file */
- TRACE_paje_start();
+ /* init the tracing module to generate the right output */
+ /* open internal buffer */
+ TRACE_init();
+
+ /* open the trace file(s) */
+ const char* format = sg_cfg_get_string(OPT_TRACING_FORMAT);
+ XBT_DEBUG("Tracing format %s\n", format);
+ if(!strcmp(format, "Paje")){
+ TRACE_paje_init();
+ TRACE_paje_start();
+ }else if (!strcmp(format, "TI")){
+ TRACE_TI_init();
+ TRACE_TI_start();
+ }else{
+ xbt_die("Unknown trace format :%s ", format);
+ }
/* activate trace */
if (trace_active == 1) {
xbt_dict_free(&declared_marks);
xbt_dict_free(&created_categories);
- /* close the trace file */
- TRACE_paje_end();
-
+ /* close the trace files */
+ const char* format = sg_cfg_get_string(OPT_TRACING_FORMAT);
+ XBT_DEBUG("Tracing format %s\n", format);
+ if(!strcmp(format, "Paje")){
+ TRACE_paje_end();
+ }else if (!strcmp(format, "TI")){
+ TRACE_TI_end();
+ }else{
+ xbt_die("Unknown trace format :%s ", format);
+ }
+ /* close internal buffer */
+ TRACE_finalize();
/* de-activate trace */
trace_active = 0;
XBT_DEBUG("Tracing is off");
/* tracing */
xbt_cfg_register(&_sg_cfg_set, OPT_TRACING,
"Enable Tracing.",
- xbt_cfgelm_int, 0, 1, NULL, NULL);
- xbt_cfg_setdefault_int(_sg_cfg_set, OPT_TRACING, 0);
+ xbt_cfgelm_boolean, 0, 1, NULL, NULL);
+ xbt_cfg_setdefault_boolean(_sg_cfg_set, OPT_TRACING, "no");
/* register platform in the trace */
xbt_cfg_register(&_sg_cfg_set, OPT_TRACING_PLATFORM,
"Register the platform in the trace as a hierarchy.",
- xbt_cfgelm_int, 0, 1, NULL, NULL);
- xbt_cfg_setdefault_int(_sg_cfg_set, OPT_TRACING_PLATFORM, 0);
+ xbt_cfgelm_boolean, 0, 1, NULL, NULL);
+ xbt_cfg_setdefault_boolean(_sg_cfg_set, OPT_TRACING_PLATFORM, "no");
/* register platform in the trace */
xbt_cfg_register(&_sg_cfg_set, OPT_TRACING_TOPOLOGY,
"Register the platform topology in the trace as a graph.",
- xbt_cfgelm_int, 0, 1, NULL, NULL);
- xbt_cfg_setdefault_int(_sg_cfg_set, OPT_TRACING_TOPOLOGY, 1);
+ xbt_cfgelm_boolean, 0, 1, NULL, NULL);
+ xbt_cfg_setdefault_boolean(_sg_cfg_set, OPT_TRACING_TOPOLOGY, "yes");
/* smpi */
xbt_cfg_register(&_sg_cfg_set, OPT_TRACING_SMPI,
"Tracing of the SMPI interface.",
- xbt_cfgelm_int, 0, 1, NULL, NULL);
- xbt_cfg_setdefault_int(_sg_cfg_set, OPT_TRACING_SMPI, 0);
+ xbt_cfgelm_boolean, 0, 1, NULL, NULL);
+ xbt_cfg_setdefault_boolean(_sg_cfg_set, OPT_TRACING_SMPI, "no");
/* smpi grouped */
xbt_cfg_register(&_sg_cfg_set, OPT_TRACING_SMPI_GROUP,
"Group MPI processes by host.",
- xbt_cfgelm_int, 0, 1, NULL, NULL);
- xbt_cfg_setdefault_int(_sg_cfg_set, OPT_TRACING_SMPI_GROUP, 0);
+ xbt_cfgelm_boolean, 0, 1, NULL, NULL);
+ xbt_cfg_setdefault_boolean(_sg_cfg_set, OPT_TRACING_SMPI_GROUP, "no");
/* smpi computing */
xbt_cfg_register(&_sg_cfg_set, OPT_TRACING_SMPI_COMPUTING,
"Generate states for timing out of SMPI parts of the application",
- xbt_cfgelm_int, 0, 1, NULL, NULL);
- xbt_cfg_setdefault_int(_sg_cfg_set, OPT_TRACING_SMPI_COMPUTING, 0);
+ xbt_cfgelm_boolean, 0, 1, NULL, NULL);
+ xbt_cfg_setdefault_boolean(_sg_cfg_set, OPT_TRACING_SMPI_COMPUTING, "no");
/* smpi internals */
xbt_cfg_register(&_sg_cfg_set, OPT_TRACING_SMPI_INTERNALS,
"View internal messages sent by Collective communications in SMPI",
- xbt_cfgelm_int, 0, 1, NULL, NULL);
- xbt_cfg_setdefault_int(_sg_cfg_set, OPT_TRACING_SMPI_INTERNALS, 0);
+ xbt_cfgelm_boolean, 0, 1, NULL, NULL);
+ xbt_cfg_setdefault_boolean(_sg_cfg_set, OPT_TRACING_SMPI_INTERNALS, "no");
/* tracing categorized resource utilization traces */
xbt_cfg_register(&_sg_cfg_set, OPT_TRACING_CATEGORIZED,
"Tracing categorized resource utilization of hosts and links.",
- xbt_cfgelm_int, 0, 1, NULL, NULL);
- xbt_cfg_setdefault_int(_sg_cfg_set, OPT_TRACING_CATEGORIZED, 0);
+ xbt_cfgelm_boolean, 0, 1, NULL, NULL);
+ xbt_cfg_setdefault_boolean(_sg_cfg_set, OPT_TRACING_CATEGORIZED, "no");
/* tracing uncategorized resource utilization */
xbt_cfg_register(&_sg_cfg_set, OPT_TRACING_UNCATEGORIZED,
"Tracing uncategorized resource utilization of hosts and links.",
- xbt_cfgelm_int, 0, 1, NULL, NULL);
- xbt_cfg_setdefault_int(_sg_cfg_set, OPT_TRACING_UNCATEGORIZED, 0);
+ xbt_cfgelm_boolean, 0, 1, NULL, NULL);
+ xbt_cfg_setdefault_boolean(_sg_cfg_set, OPT_TRACING_UNCATEGORIZED, "no");
/* msg process */
xbt_cfg_register(&_sg_cfg_set, OPT_TRACING_MSG_PROCESS,
"Tracing of MSG process behavior.",
- xbt_cfgelm_int, 0, 1, NULL, NULL);
- xbt_cfg_setdefault_int(_sg_cfg_set, OPT_TRACING_MSG_PROCESS, 0);
+ xbt_cfgelm_boolean, 0, 1, NULL, NULL);
+ xbt_cfg_setdefault_boolean(_sg_cfg_set, OPT_TRACING_MSG_PROCESS, "no");
/* msg process */
xbt_cfg_register(&_sg_cfg_set, OPT_TRACING_MSG_VM,
"Tracing of MSG process behavior.",
- xbt_cfgelm_int, 0, 1, NULL, NULL);
- xbt_cfg_setdefault_int(_sg_cfg_set, OPT_TRACING_MSG_VM, 0);
+ xbt_cfgelm_boolean, 0, 1, NULL, NULL);
+ xbt_cfg_setdefault_boolean(_sg_cfg_set, OPT_TRACING_MSG_VM, "no");
/* disable tracing link */
xbt_cfg_register(&_sg_cfg_set, OPT_TRACING_DISABLE_LINK,
"Do not trace link bandwidth and latency.",
- xbt_cfgelm_int, 0, 1, NULL, NULL);
- xbt_cfg_setdefault_int(_sg_cfg_set, OPT_TRACING_DISABLE_LINK, 0);
+ xbt_cfgelm_boolean, 0, 1, NULL, NULL);
+ xbt_cfg_setdefault_boolean(_sg_cfg_set, OPT_TRACING_DISABLE_LINK, "no");
/* disable tracing link */
xbt_cfg_register(&_sg_cfg_set, OPT_TRACING_DISABLE_POWER,
"Do not trace host power.",
- xbt_cfgelm_int, 0, 1, NULL, NULL);
- xbt_cfg_setdefault_int(_sg_cfg_set, OPT_TRACING_DISABLE_POWER, 0);
+ xbt_cfgelm_boolean, 0, 1, NULL, NULL);
+ xbt_cfg_setdefault_boolean(_sg_cfg_set, OPT_TRACING_DISABLE_POWER, "no");
/* tracing buffer */
xbt_cfg_register(&_sg_cfg_set, OPT_TRACING_BUFFER,
"Buffer trace events to put them in temporal order.",
- xbt_cfgelm_int, 0, 1, NULL, NULL);
- xbt_cfg_setdefault_int(_sg_cfg_set, OPT_TRACING_BUFFER, 1);
+ xbt_cfgelm_boolean, 0, 1, NULL, NULL);
+ xbt_cfg_setdefault_boolean(_sg_cfg_set, OPT_TRACING_BUFFER, "yes");
/* tracing one link only */
xbt_cfg_register(&_sg_cfg_set, OPT_TRACING_ONELINK_ONLY,
"Use only routes with one link to trace platform.",
- xbt_cfgelm_int, 0, 1, NULL, NULL);
- xbt_cfg_setdefault_int(_sg_cfg_set, OPT_TRACING_ONELINK_ONLY, 0);
+ xbt_cfgelm_boolean, 0, 1, NULL, NULL);
+ xbt_cfg_setdefault_boolean(_sg_cfg_set, OPT_TRACING_ONELINK_ONLY, "no");
/* disable destroy */
xbt_cfg_register(&_sg_cfg_set, OPT_TRACING_DISABLE_DESTROY,
"Disable platform containers destruction.",
- xbt_cfgelm_int, 0, 1, NULL, NULL);
- xbt_cfg_setdefault_int(_sg_cfg_set, OPT_TRACING_DISABLE_DESTROY, 0);
+ xbt_cfgelm_boolean, 0, 1, NULL, NULL);
+ xbt_cfg_setdefault_boolean(_sg_cfg_set, OPT_TRACING_DISABLE_DESTROY, "no");
/* basic -- Avoid extended events (impoverished trace file) */
xbt_cfg_register(&_sg_cfg_set, OPT_TRACING_BASIC,
"Avoid extended events (impoverished trace file).",
- xbt_cfgelm_int, 0, 1, NULL, NULL);
- xbt_cfg_setdefault_int(_sg_cfg_set, OPT_TRACING_BASIC, 0);
+ xbt_cfgelm_boolean, 0, 1, NULL, NULL);
+ xbt_cfg_setdefault_boolean(_sg_cfg_set, OPT_TRACING_BASIC, "no");
/* display_sizes -- Extended events with message size information */
xbt_cfg_register(&_sg_cfg_set, OPT_TRACING_DISPLAY_SIZES,
"(smpi only for now) Extended events with message size information",
- xbt_cfgelm_int, 0, 1, NULL, NULL);
- xbt_cfg_setdefault_int(_sg_cfg_set, OPT_TRACING_DISPLAY_SIZES, 0);
+ xbt_cfgelm_boolean, 0, 1, NULL, NULL);
+ xbt_cfg_setdefault_boolean(_sg_cfg_set, OPT_TRACING_DISPLAY_SIZES, "no");
+
+ /* format -- Switch the ouput format of Tracing */
+ xbt_cfg_register(&_sg_cfg_set, OPT_TRACING_FORMAT,
+ "(smpi only for now) Switch the ouput format of Tracing",
+ xbt_cfgelm_string, 1, 1, NULL, NULL);
+ xbt_cfg_setdefault_string(_sg_cfg_set, OPT_TRACING_FORMAT, "Paje");
+
+
+ /* format -- Switch the ouput format of Tracing */
+ xbt_cfg_register(&_sg_cfg_set, OPT_TRACING_FORMAT_TI_ONEFILE,
+ "(smpi only for now) For replay format only : output to one file only",
+ xbt_cfgelm_boolean, 1, 1, NULL, NULL);
+ xbt_cfg_setdefault_boolean(_sg_cfg_set, OPT_TRACING_FORMAT_TI_ONEFILE, "no");
/* comment */
xbt_cfg_register(&_sg_cfg_set, OPT_TRACING_COMMENT,
"Message size (in bytes) is added to links, and to states. For collectives, the displayed value \n"
"is the more relevant to the collective (total sent by the process, usually)",
detailed);
+ print_line (OPT_TRACING_FORMAT, "Only works for SMPI now. Switch output format",
+ "Default format is Paje. Time independent traces are also supported, \n"
+ "to output traces that can later be used by the trace replay tool",
+ detailed);
+ print_line (OPT_TRACING_FORMAT_TI_ONEFILE, "Only works for SMPI now, and TI output format",
+ "By default, each process outputs to a separate file, inside a filename_files folder \n"
+ "By setting this option to yes, all processes will output to only one file \n"
+ "This is meant to avoid opening thousands of files with large simulations",
+ detailed);
print_line (OPT_TRACING_COMMENT, "Comment to be added on the top of the trace file.",
" Use this to add a comment line to the top of the trace file.",
detailed);
#include "instr/instr_private.h"
#include "xbt/virtu.h" /* sg_cmdline */
-#ifdef HAVE_TRACING
-
-XBT_LOG_NEW_DEFAULT_SUBCATEGORY(instr_paje_trace, instr, "Paje tracing event system");
-
-typedef struct paje_event *paje_event_t;
-typedef struct paje_event {
- double timestamp;
- e_event_type event_type;
- void (*print) (paje_event_t event);
- void (*free) (paje_event_t event);
- void *data;
-} s_paje_event_t;
-
-typedef struct s_defineContainerType *defineContainerType_t;
-typedef struct s_defineContainerType {
- type_t type;
-}s_defineContainerType_t;
-
-typedef struct s_defineVariableType *defineVariableType_t;
-typedef struct s_defineVariableType {
- type_t type;
-}s_defineVariableType_t;
-
-typedef struct s_defineStateType *defineStateType_t;
-typedef struct s_defineStateType {
- type_t type;
-}s_defineStateType_t;
-
-typedef struct s_defineEventType *defineEventType_t;
-typedef struct s_defineEventType {
- type_t type;
-}s_defineEventType_t;
-
-typedef struct s_defineLinkType *defineLinkType_t;
-typedef struct s_defineLinkType {
- type_t type;
- type_t source;
- type_t dest;
-}s_defineLinkType_t;
-
-typedef struct s_defineEntityValue *defineEntityValue_t;
-typedef struct s_defineEntityValue {
- val_t value;
-}s_defineEntityValue_t;
-
-typedef struct s_createContainer *createContainer_t;
-typedef struct s_createContainer {
- container_t container;
-}s_createContainer_t;
-
-typedef struct s_destroyContainer *destroyContainer_t;
-typedef struct s_destroyContainer {
- container_t container;
-}s_destroyContainer_t;
-
-typedef struct s_setVariable *setVariable_t;
-typedef struct s_setVariable {
- container_t container;
- type_t type;
- double value;
-}s_setVariable_t;
-
-typedef struct s_addVariable *addVariable_t;
-typedef struct s_addVariable {
- container_t container;
- type_t type;
- double value;
-}s_addVariable_t;
-
-typedef struct s_subVariable *subVariable_t;
-typedef struct s_subVariable {
- container_t container;
- type_t type;
- double value;
-}s_subVariable_t;
-
-typedef struct s_setState *setState_t;
-typedef struct s_setState {
- container_t container;
- type_t type;
- val_t value;
-}s_setState_t;
-
-typedef struct s_pushState *pushState_t;
-typedef struct s_pushState {
- container_t container;
- type_t type;
- val_t value;
- int size;
-}s_pushState_t;
-
-typedef struct s_popState *popState_t;
-typedef struct s_popState {
- container_t container;
- type_t type;
-}s_popState_t;
-
-typedef struct s_resetState *resetState_t;
-typedef struct s_resetState {
- container_t container;
- type_t type;
-}s_resetState_t;
-
-typedef struct s_startLink *startLink_t;
-typedef struct s_startLink {
- container_t container;
- type_t type;
- container_t sourceContainer;
- char *value;
- char *key;
- int size;
-}s_startLink_t;
-
-typedef struct s_endLink *endLink_t;
-typedef struct s_endLink {
- container_t container;
- type_t type;
- container_t destContainer;
- char *value;
- char *key;
-}s_endLink_t;
-
-typedef struct s_newEvent *newEvent_t;
-typedef struct s_newEvent {
- container_t container;
- type_t type;
- val_t value;
-}s_newEvent_t;
-
-FILE *tracing_file = NULL;
-
-static xbt_dynar_t buffer = NULL;
-
-static void dump_comment (const char *comment)
-{
- if (!strlen(comment)) return;
- fprintf (tracing_file, "# %s\n", comment);
-}
-
-static void dump_comment_file (const char *filename)
-{
- if (!strlen(filename)) return;
- FILE *file = fopen (filename, "r");
- if (!file){
- THROWF (system_error, 1, "Comment file %s could not be opened for reading.", filename);
- }
- while (!feof(file)){
- char c;
- c = fgetc(file);
- if (feof(file)) break;
- fprintf (tracing_file, "# ");
- while (c != '\n'){
- fprintf (tracing_file, "%c", c);
- c = fgetc(file);
- if (feof(file)) break;
- }
- fprintf (tracing_file, "\n");
- }
- fclose(file);
+XBT_LOG_NEW_DEFAULT_SUBCATEGORY(instr_paje_trace, instr_trace, "tracing event system");
+
+extern FILE * tracing_file;
+extern s_instr_trace_writer_t active_writer;
+
+
+void TRACE_paje_init(void)
+{
+ active_writer.print_DefineContainerType=print_pajeDefineContainerType;
+ active_writer.print_DefineVariableType=print_pajeDefineVariableType;
+ active_writer.print_DefineStateType=print_pajeDefineStateType;
+ active_writer.print_DefineEventType=print_pajeDefineEventType;
+ active_writer.print_DefineLinkType=print_pajeDefineLinkType;
+ active_writer.print_DefineEntityValue=print_pajeDefineEntityValue;
+ active_writer.print_CreateContainer=print_pajeCreateContainer;
+ active_writer.print_DestroyContainer=print_pajeDestroyContainer;
+ active_writer.print_SetVariable=print_pajeSetVariable;
+ active_writer.print_AddVariable=print_pajeAddVariable;
+ active_writer.print_SubVariable=print_pajeSubVariable;
+ active_writer.print_SetState=print_pajeSetState;
+ active_writer.print_PushState=print_pajePushState;
+ active_writer.print_PopState=print_pajePopState;
+ active_writer.print_ResetState=print_pajeResetState;
+ active_writer.print_StartLink=print_pajeStartLink;
+ active_writer.print_EndLink=print_pajeEndLink;
+ active_writer.print_NewEvent=print_pajeNewEvent;
}
-
void TRACE_paje_start(void)
{
char *filename = TRACE_get_filename();
/* output header */
TRACE_header(TRACE_basic(),TRACE_display_sizes());
- buffer = xbt_dynar_new (sizeof(paje_event_t), NULL);
}
void TRACE_paje_end(void)
{
fclose(tracing_file);
char *filename = TRACE_get_filename();
- xbt_dynar_free (&buffer);
XBT_DEBUG("Filename %s is closed", filename);
}
-double TRACE_last_timestamp_to_dump = 0;
-//dumps the trace file until the timestamp TRACE_last_timestamp_to_dump
-void TRACE_paje_dump_buffer (int force)
-{
- if (!TRACE_is_enabled()) return;
- XBT_DEBUG("%s: dump until %f. starts", __FUNCTION__, TRACE_last_timestamp_to_dump);
- if (force){
- paje_event_t event;
- unsigned int i;
- xbt_dynar_foreach(buffer, i, event){
- event->print (event);
- event->free (event);
- }
- xbt_dynar_free (&buffer);
- buffer = xbt_dynar_new (sizeof(paje_event_t), NULL);
- }else{
- paje_event_t event;
- unsigned int cursor;
- xbt_dynar_foreach(buffer, cursor, event) {
- double head_timestamp = event->timestamp;
- if (head_timestamp > TRACE_last_timestamp_to_dump){
- break;
- }
- event->print (event);
- event->free (event);
- }
- xbt_dynar_remove_n_at(buffer, cursor, 0);
- }
- XBT_DEBUG("%s: ends", __FUNCTION__);
-}
-
-/* internal do the instrumentation module */
-static void insert_into_buffer (paje_event_t tbi)
-{
- if (TRACE_buffer() == 0){
- tbi->print (tbi);
- tbi->free (tbi);
- return;
- }
- XBT_DEBUG("%s: insert event_type=%d, timestamp=%f, buffersize=%lu)",
- __FUNCTION__, (int)tbi->event_type, tbi->timestamp, xbt_dynar_length(buffer));
-
- unsigned int i;
- for (i = xbt_dynar_length(buffer); i > 0; i--) {
- paje_event_t e1 = *(paje_event_t*)xbt_dynar_get_ptr(buffer, i - 1);
- if (e1->timestamp <= tbi->timestamp)
- break;
- }
- xbt_dynar_insert_at(buffer, i, &tbi);
- if (i == 0)
- XBT_DEBUG("%s: inserted at beginning", __FUNCTION__);
- else
- XBT_DEBUG("%s: inserted at%s %u", __FUNCTION__,
- (i == xbt_dynar_length(buffer) - 1 ? " end, pos =" : ""), i);
-}
-static void print_pajeDefineContainerType(paje_event_t event)
+void print_pajeDefineContainerType(paje_event_t event)
{
XBT_DEBUG("%s: event_type=%d", __FUNCTION__, (int)event->event_type);
fprintf(tracing_file, "%d %s %s %s\n",
((defineContainerType_t)event->data)->type->name);
}
-static void print_pajeDefineVariableType(paje_event_t event)
+void print_pajeDefineVariableType(paje_event_t event)
{
XBT_DEBUG("%s: event_type=%d", __FUNCTION__, (int)event->event_type);
fprintf(tracing_file, "%d %s %s %s \"%s\"\n",
((defineVariableType_t)event->data)->type->color);
}
-static void print_pajeDefineStateType(paje_event_t event)
+void print_pajeDefineStateType(paje_event_t event)
{
XBT_DEBUG("%s: event_type=%d", __FUNCTION__, (int)event->event_type);
fprintf(tracing_file, "%d %s %s %s\n",
((defineStateType_t)event->data)->type->name);
}
-static void print_pajeDefineEventType(paje_event_t event)
+void print_pajeDefineEventType(paje_event_t event)
{
XBT_DEBUG("%s: event_type=%d", __FUNCTION__, (int)event->event_type);
fprintf(tracing_file, "%d %s %s %s\n",
((defineEventType_t)event->data)->type->name);
}
-static void print_pajeDefineLinkType(paje_event_t event)
+void print_pajeDefineLinkType(paje_event_t event)
{
XBT_DEBUG("%s: event_type=%d", __FUNCTION__, (int)event->event_type);
fprintf(tracing_file, "%d %s %s %s %s %s\n",
((defineLinkType_t)event->data)->type->name);
}
-static void print_pajeDefineEntityValue (paje_event_t event)
+void print_pajeDefineEntityValue (paje_event_t event)
{
XBT_DEBUG("%s: event_type=%d", __FUNCTION__, (int)event->event_type);
fprintf(tracing_file, "%d %s %s %s \"%s\"\n",
((defineEntityValue_t)event->data)->value->color);
}
-static void print_pajeCreateContainer(paje_event_t event)
+void print_pajeCreateContainer(paje_event_t event)
{
XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
if (event->timestamp == 0){
}
}
-static void print_pajeDestroyContainer(paje_event_t event)
+void print_pajeDestroyContainer(paje_event_t event)
{
XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
if (event->timestamp == 0){
}
}
-static void print_pajeSetVariable(paje_event_t event)
+void print_pajeSetVariable(paje_event_t event)
{
XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
if (event->timestamp == 0){
}
}
-static void print_pajeAddVariable(paje_event_t event)
+void print_pajeAddVariable(paje_event_t event)
{
XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
if (event->timestamp == 0){
}
}
-static void print_pajeSubVariable(paje_event_t event)
+void print_pajeSubVariable(paje_event_t event)
{
XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
if (event->timestamp == 0){
}
}
-static void print_pajeSetState(paje_event_t event)
+void print_pajeSetState(paje_event_t event)
{
XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
if (event->timestamp == 0){
}
}
-static void print_pajePushState(paje_event_t event)
+void print_pajePushState(paje_event_t event)
{
XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
if (!TRACE_display_sizes()){
}
}else{
if (event->timestamp == 0){
- fprintf(tracing_file, "%d 0 %s %s %s %d\n",
+ fprintf(tracing_file, "%d 0 %s %s %s ",
(int)event->event_type,
((pushState_t)event->data)->type->id,
((pushState_t)event->data)->container->id,
- ((pushState_t)event->data)->value->id,
- ((pushState_t)event->data)->size);
+ ((pushState_t)event->data)->value->id);
+ if(((pushState_t)event->data)->extra !=NULL){
+ fprintf(tracing_file, "%d ", ((instr_extra_data)((pushState_t)event->data)->extra)->send_size);
+ }else{
+ fprintf(tracing_file, "0 ");
+ }
+ fprintf(tracing_file, "\n");
+
}else{
- fprintf(tracing_file, "%d %f %s %s %s %d\n",
+ fprintf(tracing_file, "%d %f %s %s %s ",
(int)event->event_type,
event->timestamp,
((pushState_t)event->data)->type->id,
((pushState_t)event->data)->container->id,
- ((pushState_t)event->data)->value->id,
- ((pushState_t)event->data)->size);
- }
+ ((pushState_t)event->data)->value->id);
+ if(((pushState_t)event->data)->extra !=NULL){
+ fprintf(tracing_file, "%d ", ((instr_extra_data)((pushState_t)event->data)->extra)->send_size);
+ }else{
+ fprintf(tracing_file, "0 ");
+ }
+ fprintf(tracing_file, "\n");
+ }
}
+ if(((pushState_t)event->data)->extra!=NULL){
+ if(((instr_extra_data)((pushState_t)event->data)->extra)->sendcounts!=NULL)
+ xbt_free(((instr_extra_data)((pushState_t)event->data)->extra)->sendcounts);
+ if(((instr_extra_data)((pushState_t)event->data)->extra)->recvcounts!=NULL)
+ xbt_free(((instr_extra_data)((pushState_t)event->data)->extra)->recvcounts);
+ xbt_free(((pushState_t)event->data)->extra);
+ }
}
-static void print_pajePopState(paje_event_t event)
+void print_pajePopState(paje_event_t event)
{
XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
if (event->timestamp == 0){
}
}
-static void print_pajeResetState(paje_event_t event)
+void print_pajeResetState(paje_event_t event)
{
XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
if (event->timestamp == 0){
}
}
-static void print_pajeStartLink(paje_event_t event)
+void print_pajeStartLink(paje_event_t event)
{
if (!TRACE_display_sizes()){
if (event->timestamp == 0){
}
}
-static void print_pajeEndLink(paje_event_t event)
+void print_pajeEndLink(paje_event_t event)
{
XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
if (event->timestamp == 0){
}
}
-static void print_pajeNewEvent (paje_event_t event)
+void print_pajeNewEvent (paje_event_t event)
{
XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
if (event->timestamp == 0){
((newEvent_t)event->data)->value->id);
}
}
-
-static void free_paje_event (paje_event_t event)
-{
- XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
- switch (event->event_type){
- case PAJE_StartLink:
- xbt_free (((startLink_t)(event->data))->value);
- xbt_free (((startLink_t)(event->data))->key);
- break;
- case PAJE_EndLink:
- xbt_free (((endLink_t)(event->data))->value);
- xbt_free (((endLink_t)(event->data))->key);
- break;
- default:
- break;
- }
- xbt_free (event->data);
- xbt_free (event);
-}
-
-void new_pajeDefineContainerType(type_t type)
-{
- paje_event_t event = xbt_new0(s_paje_event_t, 1);
- event->event_type = PAJE_DefineContainerType;
- event->timestamp = 0;
- event->print = print_pajeDefineContainerType;
- event->free = free_paje_event;
- event->data = xbt_new0(s_defineContainerType_t, 1);
- ((defineContainerType_t)(event->data))->type = type;
-
- XBT_DEBUG("%s: event_type=%d", __FUNCTION__, (int)event->event_type);
-
- //print it
- event->print (event);
- event->free (event);
-}
-
-void new_pajeDefineVariableType(type_t type)
-{
- paje_event_t event = xbt_new0(s_paje_event_t, 1);
- event->event_type = PAJE_DefineVariableType;
- event->timestamp = 0;
- event->print = print_pajeDefineVariableType;
- event->free = free_paje_event;
- event->data = xbt_new0(s_defineVariableType_t, 1);
- ((defineVariableType_t)(event->data))->type = type;
-
- XBT_DEBUG("%s: event_type=%d", __FUNCTION__, (int)event->event_type);
-
- //print it
- event->print (event);
- event->free (event);
-}
-
-void new_pajeDefineStateType(type_t type)
-{
- paje_event_t event = xbt_new0(s_paje_event_t, 1);
- event->event_type = PAJE_DefineStateType;
- event->timestamp = 0;
- event->print = print_pajeDefineStateType;
- event->free = free_paje_event;
- event->data = xbt_new0(s_defineStateType_t, 1);
- ((defineStateType_t)(event->data))->type = type;
-
- XBT_DEBUG("%s: event_type=%d", __FUNCTION__, (int)event->event_type);
-
- //print it
- event->print (event);
- event->free (event);
-}
-
-void new_pajeDefineEventType(type_t type)
-{
- paje_event_t event = xbt_new0(s_paje_event_t, 1);
- event->event_type = PAJE_DefineEventType;
- event->timestamp = 0;
- event->print = print_pajeDefineEventType;
- event->free = free_paje_event;
- event->data = xbt_new0(s_defineEventType_t, 1);
- ((defineEventType_t)(event->data))->type = type;
-
- XBT_DEBUG("%s: event_type=%d", __FUNCTION__, (int)event->event_type);
-
- //print it
- event->print (event);
- event->free (event);
-}
-
-void new_pajeDefineLinkType(type_t type, type_t source, type_t dest)
-{
- paje_event_t event = xbt_new0(s_paje_event_t, 1);
- event->event_type = PAJE_DefineLinkType;
- event->timestamp = 0;
- event->print = print_pajeDefineLinkType;
- event->free = free_paje_event;
- event->data = xbt_new0(s_defineLinkType_t, 1);
- ((defineLinkType_t)(event->data))->type = type;
- ((defineLinkType_t)(event->data))->source = source;
- ((defineLinkType_t)(event->data))->dest = dest;
-
- XBT_DEBUG("%s: event_type=%d", __FUNCTION__, (int)event->event_type);
-
- //print it
- event->print (event);
- event->free (event);
-}
-
-void new_pajeDefineEntityValue (val_t value)
-{
- paje_event_t event = xbt_new0(s_paje_event_t, 1);
- event->event_type = PAJE_DefineEntityValue;
- event->timestamp = 0;
- event->print = print_pajeDefineEntityValue;
- event->free = free_paje_event;
- event->data = xbt_new0(s_defineEntityValue_t, 1);
- ((defineEntityValue_t)(event->data))->value = value;
-
- XBT_DEBUG("%s: event_type=%d", __FUNCTION__, (int)event->event_type);
-
- //print it
- event->print (event);
- event->free (event);
-}
-
-void new_pajeCreateContainer (container_t container)
-{
- paje_event_t event = xbt_new0(s_paje_event_t, 1);
- event->event_type = PAJE_CreateContainer;
- event->timestamp = SIMIX_get_clock();
- event->print = print_pajeCreateContainer;
- event->free = free_paje_event;
- event->data = xbt_new0(s_createContainer_t, 1);
- ((createContainer_t)(event->data))->container = container;
-
- XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
-
- //print it
- event->print (event);
- event->free (event);
-}
-
-void new_pajeDestroyContainer (container_t container)
-{
- paje_event_t event = xbt_new0(s_paje_event_t, 1);
- event->event_type = PAJE_DestroyContainer;
- event->timestamp = SIMIX_get_clock();
- event->print = print_pajeDestroyContainer;
- event->free = free_paje_event;
- event->data = xbt_new0(s_destroyContainer_t, 1);
- ((destroyContainer_t)(event->data))->container = container;
-
- XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
-
- //print it
- event->print (event);
- event->free (event);
-}
-
-void new_pajeSetVariable (double timestamp, container_t container, type_t type, double value)
-{
- paje_event_t event = xbt_new0(s_paje_event_t, 1);
- event->event_type = PAJE_SetVariable;
- event->timestamp = timestamp;
- event->print = print_pajeSetVariable;
- event->free = free_paje_event;
- event->data = xbt_new0(s_setVariable_t, 1);
- ((setVariable_t)(event->data))->type = type;
- ((setVariable_t)(event->data))->container = container;
- ((setVariable_t)(event->data))->value = value;
-
- XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
-
- insert_into_buffer (event);
-}
-
-
-void new_pajeAddVariable (double timestamp, container_t container, type_t type, double value)
-{
- paje_event_t event = xbt_new0(s_paje_event_t, 1);
- event->event_type = PAJE_AddVariable;
- event->timestamp = timestamp;
- event->print = print_pajeAddVariable;
- event->free = free_paje_event;
- event->data = xbt_new0(s_addVariable_t, 1);
- ((addVariable_t)(event->data))->type = type;
- ((addVariable_t)(event->data))->container = container;
- ((addVariable_t)(event->data))->value = value;
-
- XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
-
- insert_into_buffer (event);
-}
-
-void new_pajeSubVariable (double timestamp, container_t container, type_t type, double value)
-{
- paje_event_t event = xbt_new0(s_paje_event_t, 1);
- event->event_type = PAJE_SubVariable;
- event->timestamp = timestamp;
- event->print = print_pajeSubVariable;
- event->free = free_paje_event;
- event->data = xbt_new0(s_subVariable_t, 1);
- ((subVariable_t)(event->data))->type = type;
- ((subVariable_t)(event->data))->container = container;
- ((subVariable_t)(event->data))->value = value;
-
- XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
-
- insert_into_buffer (event);
-}
-
-void new_pajeSetState (double timestamp, container_t container, type_t type, val_t value)
-{
- paje_event_t event = xbt_new0(s_paje_event_t, 1);
- event->event_type = PAJE_SetState;
- event->timestamp = timestamp;
- event->print = print_pajeSetState;
- event->free = free_paje_event;
- event->data = xbt_new0(s_setState_t, 1);
- ((setState_t)(event->data))->type = type;
- ((setState_t)(event->data))->container = container;
- ((setState_t)(event->data))->value = value;
-
- XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
-
- insert_into_buffer (event);
-}
-
-
-void new_pajePushState (double timestamp, container_t container, type_t type, val_t value)
-{
- paje_event_t event = xbt_new0(s_paje_event_t, 1);
- event->event_type = PAJE_PushState;
- event->timestamp = timestamp;
- event->print = print_pajePushState;
- event->free = free_paje_event;
- event->data = xbt_new0(s_pushState_t, 1);
- ((pushState_t)(event->data))->type = type;
- ((pushState_t)(event->data))->container = container;
- ((pushState_t)(event->data))->value = value;
- ((pushState_t)(event->data))->size = -1;
-
- XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
-
- insert_into_buffer (event);
-}
-
-void new_pajePushStateWithSize (double timestamp, container_t container, type_t type, val_t value, int size)
-{
- paje_event_t event = xbt_new0(s_paje_event_t, 1);
- event->event_type = PAJE_PushState;
- event->timestamp = timestamp;
- event->print = print_pajePushState;
- event->free = free_paje_event;
- event->data = xbt_new0(s_pushState_t, 1);
- ((pushState_t)(event->data))->type = type;
- ((pushState_t)(event->data))->container = container;
- ((pushState_t)(event->data))->value = value;
- ((pushState_t)(event->data))->size = size;
-
- XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
-
- insert_into_buffer (event);
-}
-
-
-void new_pajePopState (double timestamp, container_t container, type_t type)
-{
- paje_event_t event = xbt_new0(s_paje_event_t, 1);
- event->event_type = PAJE_PopState;
- event->timestamp = timestamp;
- event->print = print_pajePopState;
- event->free = free_paje_event;
- event->data = xbt_new0(s_popState_t, 1);
- ((popState_t)(event->data))->type = type;
- ((popState_t)(event->data))->container = container;
-
- XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
-
- insert_into_buffer (event);
-}
-
-
-void new_pajeResetState (double timestamp, container_t container, type_t type)
-{
- paje_event_t event = xbt_new0(s_paje_event_t, 1);
- event->event_type = PAJE_ResetState;
- event->timestamp = timestamp;
- event->print = print_pajeResetState;
- event->free = free_paje_event;
- event->data = xbt_new0(s_resetState_t, 1);
- ((resetState_t)(event->data))->type = type;
- ((resetState_t)(event->data))->container = container;
-
- XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
-
- insert_into_buffer (event);
-}
-
-void new_pajeStartLink (double timestamp, container_t container, type_t type, container_t sourceContainer, const char *value, const char *key)
-{
- paje_event_t event = xbt_new0(s_paje_event_t, 1);
- event->event_type = PAJE_StartLink;
- event->timestamp = timestamp;
- event->print = print_pajeStartLink;
- event->free = free_paje_event;
- event->data = xbt_new0(s_startLink_t, 1);
- ((startLink_t)(event->data))->type = type;
- ((startLink_t)(event->data))->container = container;
- ((startLink_t)(event->data))->sourceContainer = sourceContainer;
- ((startLink_t)(event->data))->value = xbt_strdup(value);
- ((startLink_t)(event->data))->key = xbt_strdup(key);
- ((startLink_t)(event->data))->size = -1;
- XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
-
- insert_into_buffer (event);
-}
-
-void new_pajeStartLinkWithSize (double timestamp, container_t container, type_t type, container_t sourceContainer, const char *value, const char *key, int size)
-{
- paje_event_t event = xbt_new0(s_paje_event_t, 1);
- event->event_type = PAJE_StartLink;
- event->timestamp = timestamp;
- event->print = print_pajeStartLink;
- event->free = free_paje_event;
- event->data = xbt_new0(s_startLink_t, 1);
- ((startLink_t)(event->data))->type = type;
- ((startLink_t)(event->data))->container = container;
- ((startLink_t)(event->data))->sourceContainer = sourceContainer;
- ((startLink_t)(event->data))->value = xbt_strdup(value);
- ((startLink_t)(event->data))->key = xbt_strdup(key);
- ((startLink_t)(event->data))->size = size;
-
- XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
-
- insert_into_buffer (event);
-}
-
-void new_pajeEndLink (double timestamp, container_t container, type_t type, container_t destContainer, const char *value, const char *key)
-{
- paje_event_t event = xbt_new0(s_paje_event_t, 1);
- event->event_type = PAJE_EndLink;
- event->timestamp = timestamp;
- event->print = print_pajeEndLink;
- event->free = free_paje_event;
- event->data = xbt_new0(s_endLink_t, 1);
- ((endLink_t)(event->data))->type = type;
- ((endLink_t)(event->data))->container = container;
- ((endLink_t)(event->data))->destContainer = destContainer;
- ((endLink_t)(event->data))->value = xbt_strdup(value);
- ((endLink_t)(event->data))->key = xbt_strdup(key);
-
- XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
-
- insert_into_buffer (event);
-}
-
-void new_pajeNewEvent (double timestamp, container_t container, type_t type, val_t value)
-{
- paje_event_t event = xbt_new0(s_paje_event_t, 1);
- event->event_type = PAJE_NewEvent;
- event->timestamp = timestamp;
- event->print = print_pajeNewEvent;
- event->free = free_paje_event;
- event->data = xbt_new0(s_newEvent_t, 1);
- ((newEvent_t)(event->data))->type = type;
- ((newEvent_t)(event->data))->container = container;
- ((newEvent_t)(event->data))->value = value;
-
- XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
-
- insert_into_buffer (event);
-}
-
-#endif /* HAVE_TRACING */
#include "instr/instr.h"
#include "instr/instr_interface.h"
+#include "internal_config.h"
#include "simgrid_config.h"
#ifdef HAVE_TRACING
xbt_dict_t children;
}s_container_t;
+typedef struct paje_event *paje_event_t;
+typedef struct paje_event {
+ double timestamp;
+ e_event_type event_type;
+ void (*print) (paje_event_t event);
+ void (*free) (paje_event_t event);
+ void *data;
+} s_paje_event_t;
+
+typedef struct s_defineContainerType *defineContainerType_t;
+typedef struct s_defineContainerType {
+ type_t type;
+}s_defineContainerType_t;
+
+typedef struct s_defineVariableType *defineVariableType_t;
+typedef struct s_defineVariableType {
+ type_t type;
+}s_defineVariableType_t;
+
+typedef struct s_defineStateType *defineStateType_t;
+typedef struct s_defineStateType {
+ type_t type;
+}s_defineStateType_t;
+
+typedef struct s_defineEventType *defineEventType_t;
+typedef struct s_defineEventType {
+ type_t type;
+}s_defineEventType_t;
+
+typedef struct s_defineLinkType *defineLinkType_t;
+typedef struct s_defineLinkType {
+ type_t type;
+ type_t source;
+ type_t dest;
+}s_defineLinkType_t;
+
+typedef struct s_defineEntityValue *defineEntityValue_t;
+typedef struct s_defineEntityValue {
+ val_t value;
+}s_defineEntityValue_t;
+
+typedef struct s_createContainer *createContainer_t;
+typedef struct s_createContainer {
+ container_t container;
+}s_createContainer_t;
+
+typedef struct s_destroyContainer *destroyContainer_t;
+typedef struct s_destroyContainer {
+ container_t container;
+}s_destroyContainer_t;
+
+typedef struct s_setVariable *setVariable_t;
+typedef struct s_setVariable {
+ container_t container;
+ type_t type;
+ double value;
+}s_setVariable_t;
+
+typedef struct s_addVariable *addVariable_t;
+typedef struct s_addVariable {
+ container_t container;
+ type_t type;
+ double value;
+}s_addVariable_t;
+
+typedef struct s_subVariable *subVariable_t;
+typedef struct s_subVariable {
+ container_t container;
+ type_t type;
+ double value;
+}s_subVariable_t;
+
+typedef struct s_setState *setState_t;
+typedef struct s_setState {
+ container_t container;
+ type_t type;
+ val_t value;
+}s_setState_t;
+
+typedef struct s_pushState *pushState_t;
+typedef struct s_pushState {
+ container_t container;
+ type_t type;
+ val_t value;
+ int size;
+ void* extra;
+}s_pushState_t;
+
+typedef struct s_popState *popState_t;
+typedef struct s_popState {
+ container_t container;
+ type_t type;
+ xbt_dynar_t extra;
+}s_popState_t;
+
+typedef struct s_resetState *resetState_t;
+typedef struct s_resetState {
+ container_t container;
+ type_t type;
+}s_resetState_t;
+
+typedef struct s_startLink *startLink_t;
+typedef struct s_startLink {
+ container_t container;
+ type_t type;
+ container_t sourceContainer;
+ char *value;
+ char *key;
+ int size;
+}s_startLink_t;
+
+typedef struct s_endLink *endLink_t;
+typedef struct s_endLink {
+ container_t container;
+ type_t type;
+ container_t destContainer;
+ char *value;
+ char *key;
+}s_endLink_t;
+
+typedef struct s_newEvent *newEvent_t;
+typedef struct s_newEvent {
+ container_t container;
+ type_t type;
+ val_t value;
+}s_newEvent_t;
+
extern xbt_dict_t created_categories;
extern xbt_dict_t declared_marks;
extern xbt_dict_t user_host_variables;
void TRACE_header(int basic, int size);
/* from paje.c */
+void TRACE_init(void);
+void TRACE_finalize(void);
+void TRACE_paje_init(void);
void TRACE_paje_start(void);
void TRACE_paje_end(void);
void TRACE_paje_dump_buffer (int force);
XBT_PUBLIC(void) new_pajeSubVariable (double timestamp, container_t container, type_t type, double value);
XBT_PUBLIC(void) new_pajeSetState (double timestamp, container_t container, type_t type, val_t value);
XBT_PUBLIC(void) new_pajePushState (double timestamp, container_t container, type_t type, val_t value);
-XBT_PUBLIC(void) new_pajePushStateWithSize (double timestamp, container_t container, type_t type, val_t value, int size);
+XBT_PUBLIC(void) new_pajePushStateWithExtra (double timestamp, container_t container, type_t type, val_t value, void* extra);
XBT_PUBLIC(void) new_pajePopState (double timestamp, container_t container, type_t type);
XBT_PUBLIC(void) new_pajeResetState (double timestamp, container_t container, type_t type);
XBT_PUBLIC(void) new_pajeStartLink (double timestamp, container_t container, type_t type, container_t sourceContainer, const char *value, const char *key);
XBT_PUBLIC(val_t) PJ_value_get (const char *name, const type_t father);
void PJ_value_free (val_t value);
+void print_pajeDefineContainerType(paje_event_t event);
+void print_pajeDefineVariableType(paje_event_t event);
+void print_pajeDefineStateType(paje_event_t event);
+void print_pajeDefineEventType(paje_event_t event);
+void print_pajeDefineLinkType(paje_event_t event);
+void print_pajeDefineEntityValue (paje_event_t event);
+void print_pajeCreateContainer(paje_event_t event);
+void print_pajeDestroyContainer(paje_event_t event);
+void print_pajeSetVariable(paje_event_t event);
+void print_pajeAddVariable(paje_event_t event);
+void print_pajeSubVariable(paje_event_t event);
+void print_pajeSetState(paje_event_t event);
+void print_pajePushState(paje_event_t event);
+void print_pajePopState(paje_event_t event);
+void print_pajeResetState(paje_event_t event);
+void print_pajeStartLink(paje_event_t event);
+void print_pajeEndLink(paje_event_t event);
+void print_pajeNewEvent (paje_event_t event);
+
+void print_TIPushState(paje_event_t event);
+void print_TICreateContainer(paje_event_t event);
+void print_TIDestroyContainer(paje_event_t event);
+void TRACE_TI_start(void);
+void TRACE_TI_end(void);
+void TRACE_TI_init(void);
+
+void print_NULL (paje_event_t event);
+void TRACE_paje_dump_buffer (int force);
+void dump_comment_file (const char *filename);
+void dump_comment (const char *comment);
+
+
+
+
+typedef struct instr_trace_writer {
+ void (*print_DefineContainerType) (paje_event_t event);
+ void (*print_DefineVariableType)(paje_event_t event);
+ void (*print_DefineStateType)(paje_event_t event);
+ void (*print_DefineEventType)(paje_event_t event);
+ void (*print_DefineLinkType)(paje_event_t event);
+ void (*print_DefineEntityValue)(paje_event_t event);
+ void (*print_CreateContainer)(paje_event_t event);
+ void (*print_DestroyContainer)(paje_event_t event);
+ void (*print_SetVariable)(paje_event_t event);
+ void (*print_AddVariable)(paje_event_t event);
+ void (*print_SubVariable)(paje_event_t event);
+ void (*print_SetState)(paje_event_t event);
+ void (*print_PushState)(paje_event_t event);
+ void (*print_PopState)(paje_event_t event);
+ void (*print_ResetState)(paje_event_t event);
+ void (*print_StartLink)(paje_event_t event);
+ void (*print_EndLink)(paje_event_t event);
+ void (*print_NewEvent) (paje_event_t event);
+} s_instr_trace_writer_t;
+
+
+
+struct s_instr_extra_data;
+typedef struct s_instr_extra_data *instr_extra_data;
+
+
+typedef enum{
+ TRACING_INIT,
+ TRACING_FINALIZE,
+ TRACING_COMM_SIZE,
+ TRACING_COMM_SPLIT,
+ TRACING_COMM_DUP,
+ TRACING_SEND,
+ TRACING_ISEND,
+ TRACING_SSEND,
+ TRACING_ISSEND,
+ TRACING_RECV,
+ TRACING_IRECV,
+ TRACING_SENDRECV,
+ TRACING_WAIT,
+ TRACING_WAITALL,
+ TRACING_WAITANY,
+ TRACING_BARRIER,
+ TRACING_BCAST,
+ TRACING_REDUCE,
+ TRACING_ALLREDUCE,
+ TRACING_ALLTOALL,
+ TRACING_ALLTOALLV,
+ TRACING_GATHER,
+ TRACING_GATHERV,
+ TRACING_SCATTER,
+ TRACING_SCATTERV,
+ TRACING_ALLGATHER,
+ TRACING_ALLGATHERV,
+ TRACING_REDUCE_SCATTER,
+ TRACING_COMPUTING,
+ TRACING_SCAN,
+ TRACING_EXSCAN
+} e_caller_type ;
+
+
+
+typedef struct s_instr_extra_data {
+ e_caller_type type;
+ int send_size;
+ int recv_size;
+ double comp_size;
+ int src;
+ int dst;
+ int root;
+ const char* datatype1;
+ const char* datatype2;
+ int * sendcounts;
+ int * recvcounts;
+ int num_processes;
+} s_instr_extra_data_t;
+
#ifdef __cplusplus
}
#endif
+
#endif /* HAVE_TRACING */
#ifdef HAVE_JEDULE
#include "instr/jedule/jedule_sd_binding.h"
#endif
+
+
+
+
+
#endif /* INSTR_PRIVATE_H_ */
--- /dev/null
+/* Copyright (c) 2010-2013. The SimGrid Team.
+ * All rights reserved. */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+
+#include "instr/instr_private.h"
+#include "xbt/virtu.h" /* sg_cmdline */
+
+#ifdef HAVE_TRACING
+
+XBT_LOG_NEW_DEFAULT_SUBCATEGORY(instr_trace, instr, "tracing event system");
+
+
+FILE *tracing_file = NULL;
+
+void print_NULL(paje_event_t event){}
+
+/* The active set of functions for the selected trace format
+ * By default, they all do nothing, hence the print_NULL to avoid segfaults */
+
+s_instr_trace_writer_t active_writer = {
+ print_NULL, print_NULL, print_NULL, print_NULL,
+ print_NULL, print_NULL, print_NULL, print_NULL,
+ print_NULL, print_NULL, print_NULL, print_NULL,
+ print_NULL, print_NULL, print_NULL, print_NULL,
+ print_NULL, print_NULL
+};
+
+xbt_dynar_t buffer = NULL;
+
+void dump_comment (const char *comment)
+{
+ if (!strlen(comment)) return;
+ fprintf (tracing_file, "# %s\n", comment);
+}
+
+void dump_comment_file (const char *filename)
+{
+ if (!strlen(filename)) return;
+ FILE *file = fopen (filename, "r");
+ if (!file){
+ THROWF (system_error, 1, "Comment file %s could not be opened for reading.", filename);
+ }
+ while (!feof(file)){
+ char c;
+ c = fgetc(file);
+ if (feof(file)) break;
+ fprintf (tracing_file, "# ");
+ while (c != '\n'){
+ fprintf (tracing_file, "%c", c);
+ c = fgetc(file);
+ if (feof(file)) break;
+ }
+ fprintf (tracing_file, "\n");
+ }
+ fclose(file);
+}
+
+void TRACE_init()
+{
+ buffer = xbt_dynar_new(sizeof(paje_event_t), NULL);
+}
+
+void TRACE_finalize()
+{
+ xbt_dynar_free(&buffer);
+}
+
+double TRACE_last_timestamp_to_dump = 0;
+//dumps the trace file until the timestamp TRACE_last_timestamp_to_dump
+void TRACE_paje_dump_buffer (int force)
+{
+ if (!TRACE_is_enabled()) return;
+ XBT_DEBUG("%s: dump until %f. starts", __FUNCTION__, TRACE_last_timestamp_to_dump);
+ if (force){
+ paje_event_t event;
+ unsigned int i;
+ xbt_dynar_foreach(buffer, i, event){
+ event->print (event);
+ event->free (event);
+ }
+ xbt_dynar_free (&buffer);
+ buffer = xbt_dynar_new (sizeof(paje_event_t), NULL);
+ }else{
+ paje_event_t event;
+ unsigned int cursor;
+ xbt_dynar_foreach(buffer, cursor, event) {
+ double head_timestamp = event->timestamp;
+ if (head_timestamp > TRACE_last_timestamp_to_dump){
+ break;
+ }
+ event->print (event);
+ event->free (event);
+ }
+ xbt_dynar_remove_n_at(buffer, cursor, 0);
+ }
+ XBT_DEBUG("%s: ends", __FUNCTION__);
+}
+
+/* internal do the instrumentation module */
+static void insert_into_buffer (paje_event_t tbi)
+{
+ if (TRACE_buffer() == 0){
+ tbi->print (tbi);
+ tbi->free (tbi);
+ return;
+ }
+
+ XBT_DEBUG("%s: insert event_type=%d, timestamp=%f, buffersize=%lu)",
+ __FUNCTION__, (int)tbi->event_type, tbi->timestamp, xbt_dynar_length(buffer));
+
+ unsigned int i;
+ for (i = xbt_dynar_length(buffer); i > 0; i--) {
+ paje_event_t e1 = *(paje_event_t*)xbt_dynar_get_ptr(buffer, i - 1);
+ if (e1->timestamp <= tbi->timestamp)
+ break;
+ }
+ xbt_dynar_insert_at(buffer, i, &tbi);
+ if (i == 0)
+ XBT_DEBUG("%s: inserted at beginning", __FUNCTION__);
+ else
+ XBT_DEBUG("%s: inserted at%s %u", __FUNCTION__,
+ (i == xbt_dynar_length(buffer) - 1 ? " end, pos =" : ""), i);
+}
+
+
+static void free_paje_event (paje_event_t event)
+{
+ XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+ switch (event->event_type){
+ case PAJE_StartLink:
+ xbt_free (((startLink_t)(event->data))->value);
+ xbt_free (((startLink_t)(event->data))->key);
+ break;
+ case PAJE_EndLink:
+ xbt_free (((endLink_t)(event->data))->value);
+ xbt_free (((endLink_t)(event->data))->key);
+ break;
+ default:
+ break;
+ }
+ xbt_free (event->data);
+ xbt_free (event);
+}
+
+void new_pajeDefineContainerType(type_t type)
+{
+ paje_event_t event = xbt_new0(s_paje_event_t, 1);
+ event->event_type = PAJE_DefineContainerType;
+ event->timestamp = 0;
+ event->print = active_writer.print_DefineContainerType;
+ event->free = free_paje_event;
+ event->data = xbt_new0(s_defineContainerType_t, 1);
+ ((defineContainerType_t)(event->data))->type = type;
+
+ XBT_DEBUG("%s: event_type=%d", __FUNCTION__, (int)event->event_type);
+
+ //print it
+ event->print (event);
+ event->free (event);
+}
+
+void new_pajeDefineVariableType(type_t type)
+{
+ paje_event_t event = xbt_new0(s_paje_event_t, 1);
+ event->event_type = PAJE_DefineVariableType;
+ event->timestamp = 0;
+ event->print = active_writer.print_DefineVariableType;
+ event->free = free_paje_event;
+ event->data = xbt_new0(s_defineVariableType_t, 1);
+ ((defineVariableType_t)(event->data))->type = type;
+
+ XBT_DEBUG("%s: event_type=%d", __FUNCTION__, (int)event->event_type);
+
+ //print it
+ event->print (event);
+ event->free (event);
+}
+
+void new_pajeDefineStateType(type_t type)
+{
+ paje_event_t event = xbt_new0(s_paje_event_t, 1);
+ event->event_type = PAJE_DefineStateType;
+ event->timestamp = 0;
+ event->print = active_writer.print_DefineStateType;
+ event->free = free_paje_event;
+ event->data = xbt_new0(s_defineStateType_t, 1);
+ ((defineStateType_t)(event->data))->type = type;
+
+ XBT_DEBUG("%s: event_type=%d", __FUNCTION__, (int)event->event_type);
+
+ //print it
+ event->print (event);
+ event->free (event);
+}
+
+void new_pajeDefineEventType(type_t type)
+{
+ paje_event_t event = xbt_new0(s_paje_event_t, 1);
+ event->event_type = PAJE_DefineEventType;
+ event->timestamp = 0;
+ event->print = active_writer.print_DefineEventType;
+ event->free = free_paje_event;
+ event->data = xbt_new0(s_defineEventType_t, 1);
+ ((defineEventType_t)(event->data))->type = type;
+
+ XBT_DEBUG("%s: event_type=%d", __FUNCTION__, (int)event->event_type);
+
+ //print it
+ event->print (event);
+ event->free (event);
+}
+
+void new_pajeDefineLinkType(type_t type, type_t source, type_t dest)
+{
+ paje_event_t event = xbt_new0(s_paje_event_t, 1);
+ event->event_type = PAJE_DefineLinkType;
+ event->timestamp = 0;
+ event->print = active_writer.print_DefineLinkType;
+ event->free = free_paje_event;
+ event->data = xbt_new0(s_defineLinkType_t, 1);
+ ((defineLinkType_t)(event->data))->type = type;
+ ((defineLinkType_t)(event->data))->source = source;
+ ((defineLinkType_t)(event->data))->dest = dest;
+
+ XBT_DEBUG("%s: event_type=%d", __FUNCTION__, (int)event->event_type);
+
+ //print it
+ event->print (event);
+ event->free (event);
+}
+
+void new_pajeDefineEntityValue (val_t value)
+{
+ paje_event_t event = xbt_new0(s_paje_event_t, 1);
+ event->event_type = PAJE_DefineEntityValue;
+ event->timestamp = 0;
+ event->print = active_writer.print_DefineEntityValue;
+ event->free = free_paje_event;
+ event->data = xbt_new0(s_defineEntityValue_t, 1);
+ ((defineEntityValue_t)(event->data))->value = value;
+
+ XBT_DEBUG("%s: event_type=%d", __FUNCTION__, (int)event->event_type);
+
+ //print it
+ event->print (event);
+ event->free (event);
+}
+
+void new_pajeCreateContainer (container_t container)
+{
+ paje_event_t event = xbt_new0(s_paje_event_t, 1);
+ event->event_type = PAJE_CreateContainer;
+ event->timestamp = SIMIX_get_clock();
+ event->print = active_writer.print_CreateContainer;
+ event->free = free_paje_event;
+ event->data = xbt_new0(s_createContainer_t, 1);
+ ((createContainer_t)(event->data))->container = container;
+
+ XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+
+ //print it
+ event->print (event);
+ event->free (event);
+}
+
+void new_pajeDestroyContainer (container_t container)
+{
+ paje_event_t event = xbt_new0(s_paje_event_t, 1);
+ event->event_type = PAJE_DestroyContainer;
+ event->timestamp = SIMIX_get_clock();
+ event->print = active_writer.print_DestroyContainer;
+ event->free = free_paje_event;
+ event->data = xbt_new0(s_destroyContainer_t, 1);
+ ((destroyContainer_t)(event->data))->container = container;
+
+ XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+
+ //print it
+ event->print (event);
+ event->free (event);
+}
+
+void new_pajeSetVariable (double timestamp, container_t container, type_t type, double value)
+{
+ paje_event_t event = xbt_new0(s_paje_event_t, 1);
+ event->event_type = PAJE_SetVariable;
+ event->timestamp = timestamp;
+ event->print = active_writer.print_SetVariable;
+ event->free = free_paje_event;
+ event->data = xbt_new0(s_setVariable_t, 1);
+ ((setVariable_t)(event->data))->type = type;
+ ((setVariable_t)(event->data))->container = container;
+ ((setVariable_t)(event->data))->value = value;
+
+ XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+
+ insert_into_buffer (event);
+}
+
+
+void new_pajeAddVariable (double timestamp, container_t container, type_t type, double value)
+{
+ paje_event_t event = xbt_new0(s_paje_event_t, 1);
+ event->event_type = PAJE_AddVariable;
+ event->timestamp = timestamp;
+ event->print = active_writer.print_AddVariable;
+ event->free = free_paje_event;
+ event->data = xbt_new0(s_addVariable_t, 1);
+ ((addVariable_t)(event->data))->type = type;
+ ((addVariable_t)(event->data))->container = container;
+ ((addVariable_t)(event->data))->value = value;
+
+ XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+
+ insert_into_buffer (event);
+}
+
+void new_pajeSubVariable (double timestamp, container_t container, type_t type, double value)
+{
+ paje_event_t event = xbt_new0(s_paje_event_t, 1);
+ event->event_type = PAJE_SubVariable;
+ event->timestamp = timestamp;
+ event->print = active_writer.print_SubVariable;
+ event->free = free_paje_event;
+ event->data = xbt_new0(s_subVariable_t, 1);
+ ((subVariable_t)(event->data))->type = type;
+ ((subVariable_t)(event->data))->container = container;
+ ((subVariable_t)(event->data))->value = value;
+
+ XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+
+ insert_into_buffer (event);
+}
+
+void new_pajeSetState (double timestamp, container_t container, type_t type, val_t value)
+{
+ paje_event_t event = xbt_new0(s_paje_event_t, 1);
+ event->event_type = PAJE_SetState;
+ event->timestamp = timestamp;
+ event->print = active_writer.print_SetState;
+ event->free = free_paje_event;
+ event->data = xbt_new0(s_setState_t, 1);
+ ((setState_t)(event->data))->type = type;
+ ((setState_t)(event->data))->container = container;
+ ((setState_t)(event->data))->value = value;
+
+ XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+
+ insert_into_buffer (event);
+}
+
+
+void new_pajePushStateWithExtra (double timestamp, container_t container, type_t type, val_t value, void* extra)
+{
+ paje_event_t event = xbt_new0(s_paje_event_t, 1);
+ event->event_type = PAJE_PushState;
+ event->timestamp = timestamp;
+ event->print = active_writer.print_PushState;
+ event->free = free_paje_event;
+ event->data = xbt_new0(s_pushState_t, 1);
+ ((pushState_t)(event->data))->type = type;
+ ((pushState_t)(event->data))->container = container;
+ ((pushState_t)(event->data))->value = value;
+ ((pushState_t)(event->data))->extra = extra;
+
+ XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+
+ insert_into_buffer (event);
+}
+
+
+void new_pajePushState (double timestamp, container_t container, type_t type, val_t value)
+{
+ paje_event_t event = xbt_new0(s_paje_event_t, 1);
+ event->event_type = PAJE_PushState;
+ event->timestamp = timestamp;
+ event->print = active_writer.print_PushState;
+ event->free = free_paje_event;
+ event->data = xbt_new0(s_pushState_t, 1);
+ ((pushState_t)(event->data))->type = type;
+ ((pushState_t)(event->data))->container = container;
+ ((pushState_t)(event->data))->value = value;
+ XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+
+ insert_into_buffer (event);
+}
+
+void new_pajePopState (double timestamp, container_t container, type_t type)
+{
+ paje_event_t event = xbt_new0(s_paje_event_t, 1);
+ event->event_type = PAJE_PopState;
+ event->timestamp = timestamp;
+ event->print = active_writer.print_PopState;
+ event->free = free_paje_event;
+ event->data = xbt_new0(s_popState_t, 1);
+ ((popState_t)(event->data))->type = type;
+ ((popState_t)(event->data))->container = container;
+
+ XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+
+ insert_into_buffer (event);
+}
+
+
+void new_pajeResetState (double timestamp, container_t container, type_t type)
+{
+ paje_event_t event = xbt_new0(s_paje_event_t, 1);
+ event->event_type = PAJE_ResetState;
+ event->timestamp = timestamp;
+ event->print = active_writer.print_ResetState;
+ event->free = free_paje_event;
+ event->data = xbt_new0(s_resetState_t, 1);
+ ((resetState_t)(event->data))->type = type;
+ ((resetState_t)(event->data))->container = container;
+
+ XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+
+ insert_into_buffer (event);
+}
+
+void new_pajeStartLink (double timestamp, container_t container, type_t type, container_t sourceContainer, const char *value, const char *key)
+{
+ paje_event_t event = xbt_new0(s_paje_event_t, 1);
+ event->event_type = PAJE_StartLink;
+ event->timestamp = timestamp;
+ event->print = active_writer.print_StartLink;
+ event->free = free_paje_event;
+ event->data = xbt_new0(s_startLink_t, 1);
+ ((startLink_t)(event->data))->type = type;
+ ((startLink_t)(event->data))->container = container;
+ ((startLink_t)(event->data))->sourceContainer = sourceContainer;
+ ((startLink_t)(event->data))->value = xbt_strdup(value);
+ ((startLink_t)(event->data))->key = xbt_strdup(key);
+ ((startLink_t)(event->data))->size = -1;
+ XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+
+ insert_into_buffer (event);
+}
+
+void new_pajeStartLinkWithSize (double timestamp, container_t container, type_t type, container_t sourceContainer, const char *value, const char *key, int size)
+{
+ paje_event_t event = xbt_new0(s_paje_event_t, 1);
+ event->event_type = PAJE_StartLink;
+ event->timestamp = timestamp;
+ event->print = active_writer.print_StartLink;
+ event->free = free_paje_event;
+ event->data = xbt_new0(s_startLink_t, 1);
+ ((startLink_t)(event->data))->type = type;
+ ((startLink_t)(event->data))->container = container;
+ ((startLink_t)(event->data))->sourceContainer = sourceContainer;
+ ((startLink_t)(event->data))->value = xbt_strdup(value);
+ ((startLink_t)(event->data))->key = xbt_strdup(key);
+ ((startLink_t)(event->data))->size = size;
+
+ XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+
+ insert_into_buffer (event);
+}
+
+void new_pajeEndLink (double timestamp, container_t container, type_t type, container_t destContainer, const char *value, const char *key)
+{
+ paje_event_t event = xbt_new0(s_paje_event_t, 1);
+ event->event_type = PAJE_EndLink;
+ event->timestamp = timestamp;
+ event->print = active_writer.print_EndLink;
+ event->free = free_paje_event;
+ event->data = xbt_new0(s_endLink_t, 1);
+ ((endLink_t)(event->data))->type = type;
+ ((endLink_t)(event->data))->container = container;
+ ((endLink_t)(event->data))->destContainer = destContainer;
+ ((endLink_t)(event->data))->value = xbt_strdup(value);
+ ((endLink_t)(event->data))->key = xbt_strdup(key);
+
+ XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+
+ insert_into_buffer (event);
+}
+
+void new_pajeNewEvent (double timestamp, container_t container, type_t type, val_t value)
+{
+ paje_event_t event = xbt_new0(s_paje_event_t, 1);
+ event->event_type = PAJE_NewEvent;
+ event->timestamp = timestamp;
+ event->print = active_writer.print_NewEvent;
+ event->free = free_paje_event;
+ event->data = xbt_new0(s_newEvent_t, 1);
+ ((newEvent_t)(event->data))->type = type;
+ ((newEvent_t)(event->data))->container = container;
+ ((newEvent_t)(event->data))->value = value;
+
+ XBT_DEBUG("%s: event_type=%d, timestamp=%f", __FUNCTION__, (int)event->event_type, event->timestamp);
+
+ insert_into_buffer (event);
+}
+
+#endif /* HAVE_TRACING */
int raw_mem_set = (mmalloc_get_current_heap() == raw_heap);
- fprintf(stderr, "Search acceptance pair %d\n", pair_num);
-
MC_SET_RAW_MEM;
unsigned int cursor = 0;
mc_pair_t next_pair = NULL;
xbt_dynar_t prop_values = NULL;
mc_visited_pair_t reached_pair = NULL;
+ int counter_example_depth = 0;
if(xbt_fifo_size(mc_stack_liveness) < _sg_mc_max_depth){
if((current_pair->automaton_state->type == 1) || (current_pair->automaton_state->type == 2)){
if((reached_pair = is_reached_acceptance_pair(current_pair->num, current_pair->automaton_state, current_pair->atomic_propositions)) == NULL){
+ counter_example_depth = xbt_fifo_size(mc_stack_liveness);
XBT_INFO("*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*");
XBT_INFO("| ACCEPTANCE CYCLE |");
XBT_INFO("*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*");
MC_show_stack_liveness(mc_stack_liveness);
MC_dump_stack_liveness(mc_stack_liveness);
MC_print_statistics(mc_stats);
+ XBT_INFO("Counter-example depth : %d", counter_example_depth);
xbt_abort();
}
xbt_dict_t storage_list = simcall_host_get_storage_list(host);
xbt_dict_foreach(storage_list,cursor,mount_name,storage_name){
- storage = (msg_storage_t)xbt_lib_get_elm_or_null(storage_lib,storage_name);
- xbt_dict_t content = simcall_storage_get_content(storage);
- xbt_dict_set(contents,mount_name, content,NULL);
+ storage = (msg_storage_t)xbt_lib_get_elm_or_null(storage_lib,storage_name);
+ xbt_dict_t content = simcall_storage_get_content(storage);
+ xbt_dict_set(contents,mount_name, content,NULL);
}
+ xbt_dict_free(&storage_list);
return contents;
}
return simcall_file_ls(mount, path);
}
+/*
+ * Set the file position indicator in the msg_file_t by adding offset bytes
+ * to the position specified by whence (either SEEK_SET, SEEK_CUR, or SEEK_END).
+ */
+msg_error_t MSG_file_seek (msg_file_t fd, sg_storage_size_t offset, int whence)
+{
+ THROW_UNIMPLEMENTED;
+ return MSG_OK;
+}
+
/********************************* Storage **************************************/
/** @addtogroup msg_storage_management
*
*/
-
-/* TODO: PV: to comment */
msg_storage_t __MSG_storage_create(smx_storage_t storage)
{
const char *name = SIMIX_storage_get_name(storage);
{
return SIMIX_storage_get_size(storage);
}
+
+/*
+ * Rename the file in the contents of its associated storage.
+ */
+msg_error_t MSG_storage_file_rename(msg_storage_t storage, const char* src, const char* dest)
+{
+ simcall_storage_file_rename(storage, src, dest);
+ return MSG_OK;
+}
+
+/*
+ * Move a file to another location. Depending on the values of dest, dest, mount,
+ * and fullname, this move can be local or remote and, within a host, on the same
+ * mounted disk or between mounted disks.
+ *
+ */
+msg_error_t MSG_storage_file_move (msg_file_t fd, msg_host_t dest, char* mount, char* fullname)
+{
+ THROW_UNIMPLEMENTED;
+ return MSG_OK;
+}
xbt_dynar_push(result, &root_task);
end_task = SD_task_create_comp_seq("end", NULL, 0);
- _XBT_GNUC_UNUSED int res;
- res = dax_lex();
- xbt_assert(!res, "Parse error in %s: %s", filename,
- dax__parse_err_msg());
+ int res = dax_lex();
+ if (res != 0)
+ xbt_die("Parse error in %s: %s", filename, dax__parse_err_msg());
dax__delete_buffer(input_buffer);
fclose(in_file);
dax_lex_destroy();
xbt_cfg_set_parse(_sg_cfg_set, opt);
XBT_DEBUG("Did apply '%s' as config setting", opt);
+ } else if (!strcmp(argv[i], "--version")) {
+ printf("%s\n", SIMGRID_VERSION_STRING);
+ shall_exit = 1;
} else if (!strcmp(argv[i], "--cfg-help") || !strcmp(argv[i], "--help")) {
printf
("Description of the configuration accepted by this simulator:\n");
#endif
"\n"
"You can also use --help-logs and --help-log-categories to see the details of logging output.\n"
+"\n"
+"You can also use --version to get SimGrid version information.\n"
"\n"
);
shall_exit = 1;
"Context factory to use in SIMIX. Possible values: thread");
const char *dflt_ctx_fact = "thread";
#ifdef CONTEXT_UCONTEXT
- strcat(description, ", ucontext");
dflt_ctx_fact = "ucontext";
+ strcat(strcat(description, ", "), dflt_ctx_fact);
#endif
#ifdef HAVE_RAWCTX
- strcat(description, ", raw");
dflt_ctx_fact = "raw";
+ strcat(strcat(description, ", "), dflt_ctx_fact);
#endif
strcat(description, ".");
xbt_cfg_register(&_sg_cfg_set, "contexts/factory", description,
"Stack size of contexts in Kib",
xbt_cfgelm_int, 1, 1, _sg_cfg_cb_context_stack_size, NULL);
xbt_cfg_setdefault_int(_sg_cfg_set, "contexts/stack_size", 128);
+ /* No, it was not set yet (the above setdefault() changed this to 1). */
+ smx_context_stack_size_was_set = 0;
/* number of parallel threads for user processes */
xbt_cfg_register(&_sg_cfg_set, "contexts/nthreads",
xbt_cfg_setdefault_boolean(_sg_cfg_set, "smpi/use_shared_malloc", "yes");
xbt_cfg_register(&_sg_cfg_set, "smpi/cpu_threshold",
- "Minimal computation time (in seconds) not discarded.",
+ "Minimal computation time (in seconds) not discarded, or -1 for infinity.",
xbt_cfgelm_double, 1, 1, NULL, NULL);
xbt_cfg_setdefault_double(_sg_cfg_set, "smpi/cpu_threshold", 1e-6);
*
* \param nb_threads the number of threads to use
*/
-XBT_INLINE void SIMIX_context_set_nthreads(int nb_threads) {
+void SIMIX_context_set_nthreads(int nb_threads) {
if (nb_threads<=0) {
nb_threads = xbt_os_get_numcores();
XBT_INFO("Auto-setting contexts/nthreads to %d",nb_threads);
return surf_workstation_get_info(host, fd->surf_file);
}
+void SIMIX_pre_storage_file_rename(smx_simcall_t simcall, smx_storage_t storage, const char* src, const char* dest)
+{
+ return SIMIX_storage_file_rename(simcall->issuer, storage, src, dest);
+}
+
+void SIMIX_storage_file_rename(smx_process_t process, smx_storage_t storage, const char* src, const char* dest)
+{
+ return surf_storage_rename(storage, src, dest);
+}
+
sg_storage_size_t SIMIX_pre_storage_get_free_size(smx_simcall_t simcall, const char* name)
{
return SIMIX_storage_get_free_size(simcall->issuer, name);
const char* mount, const char* path);
sg_storage_size_t SIMIX_pre_file_get_size(smx_simcall_t simcall, smx_file_t fd);
xbt_dynar_t SIMIX_pre_file_get_info(smx_simcall_t simcall, smx_file_t fd);
+void SIMIX_pre_storage_file_rename(smx_simcall_t simcall,smx_storage_t storage, const char* src, const char* dest);
void* SIMIX_file_get_data(smx_file_t fd);
void SIMIX_file_set_data(smx_file_t fd, void *data);
const char *path);
sg_storage_size_t SIMIX_file_get_size(smx_process_t process, smx_file_t fd);
xbt_dynar_t SIMIX_file_get_info(smx_process_t process, smx_file_t fd);
+void SIMIX_storage_file_rename(smx_process_t process, smx_storage_t storage, const char* src, const char* dest);
sg_storage_size_t SIMIX_pre_storage_get_free_size(smx_simcall_t simcall,const char* name);
sg_storage_size_t SIMIX_storage_get_free_size(smx_process_t process,const char* name);
int (*match_fun)(void *, void *,smx_action_t),
void *user_data, smx_action_t my_action);
static void SIMIX_rdv_free(void *data);
+static void SIMIX_comm_start(smx_action_t action);
void SIMIX_network_init(void)
{
* \brief Starts the simulation of a communication action.
* \param action the communication action
*/
-XBT_INLINE void SIMIX_comm_start(smx_action_t action)
+static XBT_INLINE void SIMIX_comm_start(smx_action_t action)
{
/* If both the sender and the receiver are already there, start the communication */
if (action->state == SIMIX_READY) {
smx_action_t SIMIX_rdv_get_head(smx_rdv_t rdv);
void SIMIX_rdv_set_receiver(smx_rdv_t rdv, smx_process_t proc);
smx_process_t SIMIX_rdv_get_receiver(smx_rdv_t rdv);
-void SIMIX_comm_start(smx_action_t action);
smx_action_t SIMIX_comm_isend(smx_process_t src_proc, smx_rdv_t rdv,
double task_size, double rate,
void *src_buff, size_t src_buff_size,
#define TFPTR(n) (n, FPtr, fp, FPtr)
#define TCPTR(n) (n, const void*, cp)
#define TSIZE(n) (n, size_t, si)
+#define TSGSTSIZE(n) (n, sg_storage_size_t, sgstsi)
#define TVOID(n) (n, void)
#define TDSPEC(n,t) (n, t, dp, void*)
#define TFSPEC(n,t) (n, t, fp, FPtr)
ACTION(SIMCALL_HOST_EXECUTION_SET_BOUND, host_execution_set_bound, WITH_ANSWER, TVOID(result), TDSPEC(execution, smx_action_t), TDOUBLE(bound)) sep \
ACTION(SIMCALL_HOST_EXECUTION_SET_AFFINITY, host_execution_set_affinity, WITH_ANSWER, TVOID(result), TDSPEC(execution, smx_action_t), TDSPEC(ws, smx_host_t), TULONG(mask)) sep \
ACTION(SIMCALL_HOST_EXECUTION_WAIT, host_execution_wait, WITHOUT_ANSWER, TINT(result), TDSPEC(execution, smx_action_t)) sep \
+ACTION(SIMCALL_HOST_GET_STORAGE_LIST, host_get_storage_list, WITH_ANSWER, TDSPEC(result, xbt_dict_t), TDSPEC(host, smx_host_t)) sep \
ACTION(SIMCALL_HOST_GET_PARAMS, host_get_params, WITH_ANSWER, TVOID(result), TDSPEC(ind_vm, smx_host_t), TDSPEC(params, ws_params_t)) sep \
ACTION(SIMCALL_HOST_SET_PARAMS, host_set_params, WITH_ANSWER, TVOID(result), TDSPEC(ind_vm, smx_host_t), TDSPEC(params, ws_params_t)) sep \
ACTION(SIMCALL_VM_CREATE, vm_create, WITH_ANSWER, TDPTR(result), TSTRING(name), TDSPEC(ind_pm, smx_host_t)) sep \
ACTION(SIMCALL_VM_SHUTDOWN, vm_shutdown, WITH_ANSWER, TVOID(result), TDSPEC(ind_vm, smx_host_t)) sep \
ACTION(SIMCALL_VM_SAVE, vm_save, WITH_ANSWER, TVOID(result), TDSPEC(ind_vm, smx_host_t)) sep \
ACTION(SIMCALL_VM_RESTORE, vm_restore, WITH_ANSWER, TVOID(result), TDSPEC(ind_vm, smx_host_t)) sep \
-ACTION(SIMCALL_HOST_GET_STORAGE_LIST, host_get_storage_list, WITH_ANSWER, TDSPEC(result, xbt_dict_t), TDSPEC(host, smx_host_t)) sep \
ACTION(SIMCALL_PROCESS_CREATE, process_create, WITH_ANSWER, TVOID(result), TDSPEC(process, smx_process_t*), TSTRING(name), TFSPEC(code, xbt_main_func_t), TDPTR(data), TSTRING(hostname), TDOUBLE(kill_time), TINT(argc), TDSPEC(argv, char**), TDSPEC(properties, xbt_dict_t), TINT(auto_restart)) sep \
ACTION(SIMCALL_PROCESS_KILL, process_kill, WITH_ANSWER, TVOID(result), TDSPEC(process, smx_process_t)) sep \
ACTION(SIMCALL_PROCESS_KILLALL, process_killall, WITH_ANSWER, TVOID(result), TINT(reset_pid)) sep \
ACTION(SIMCALL_FILE_LS, file_ls, WITHOUT_ANSWER, TDSPEC(result, xbt_dict_t), TSTRING(mount), TSTRING(path)) sep \
ACTION(SIMCALL_FILE_GET_SIZE, file_get_size, WITH_ANSWER, TSIZE(result), TDSPEC(fd, smx_file_t)) sep \
ACTION(SIMCALL_FILE_GET_INFO, file_get_info, WITH_ANSWER, TDSPEC(result, xbt_dynar_t), TDSPEC(fd, smx_file_t)) sep \
+ACTION(SIMCALL_STORAGE_FILE_RENAME, storage_file_rename, WITH_ANSWER, TVOID(result), TDSPEC(storage, smx_storage_t), TSTRING(src), TSTRING(dest)) sep \
ACTION(SIMCALL_STORAGE_GET_FREE_SIZE, storage_get_free_size, WITH_ANSWER, TSIZE(result), TSTRING(name)) sep \
ACTION(SIMCALL_STORAGE_GET_USED_SIZE, storage_get_used_size, WITH_ANSWER, TSIZE(result), TSTRING(name)) sep \
ACTION(SIMCALL_STORAGE_GET_PROPERTIES, storage_get_properties, WITH_ANSWER, TDSPEC(result, xbt_dict_t), TDSPEC(storage, smx_storage_t)) sep \
ACTION(SIMCALL_STORAGE_GET_CONTENT, storage_get_content, WITH_ANSWER, TDSPEC(result, xbt_dict_t), TDSPEC(storage, smx_storage_t)) sep \
-ACTION(SIMCALL_ASR_GET_PROPERTIES, asr_get_properties, WITH_ANSWER, TDSPEC(result, xbt_dict_t), TSTRING(name)) sep
+ACTION(SIMCALL_ASR_GET_PROPERTIES, asr_get_properties, WITH_ANSWER, TDSPEC(result, xbt_dict_t), TSTRING(name)) sep
/* SIMCALL_COMM_IS_LATENCY_BOUNDED and SIMCALL_SET_CATEGORY make things complicated
* because they are not always present */
float f;
double d;
size_t si;
+ sg_storage_size_t sgstsi;
void* dp;
FPtr fp;
const void* cp;
return simcall_BODY_file_get_info(fd);
}
+/**
+ * \ingroup simix_file_management
+ *
+ */
+void simcall_storage_file_rename(smx_storage_t storage, const char* src, const char* dest)
+{
+ return simcall_BODY_storage_file_rename(storage, src, dest);
+}
+
/**
* \ingroup simix_storage_management
* \brief Returns the free space size on a given storage element.
rextent = smpi_datatype_get_extent(rtype);
sextent = smpi_datatype_get_extent(stype);
int tag = COLL_TAG_ALLGATHER;
- MPI_Request request;
- MPI_Request rrequest_array[128];
- MPI_Status status;
int i, send_offset, recv_offset;
int intra_rank, inter_rank;
intra_rank = rank % NUM_CORE;
recv_offset = rank * rextent * rcount;
smpi_mpi_sendrecv(sbuf, scount, stype, rank, tag,
((char *) rbuf + recv_offset), rcount, rtype, rank, tag, comm,
- &status);
+ MPI_STATUS_IGNORE);
//gather to root of each SMP
smpi_mpi_sendrecv(sbuf, scount, stype, dst, tag,
((char *) rbuf + recv_offset), rcount, rtype, src, tag, comm,
- &status);
+ MPI_STATUS_IGNORE);
}
// root of each SMP
if (intra_rank == 0) {
+ MPI_Request *rrequest_array = xbt_new(MPI_Request, inter_comm_size - 1);
+ MPI_Request *srequest_array = xbt_new(MPI_Request, inter_comm_size - 1);
+
src = ((inter_rank - 1 + inter_comm_size) % inter_comm_size) * NUM_CORE;
dst = ((inter_rank + 1) % inter_comm_size) * NUM_CORE;
recv_offset =
((inter_rank - i - 1 +
inter_comm_size) % inter_comm_size) * NUM_CORE * sextent * scount;
- rrequest_array[i] = smpi_mpi_irecv((char *)rbuf+recv_offset, rcount * NUM_CORE, rtype, src, tag+i, comm);
+ rrequest_array[i] = smpi_mpi_irecv((char *)rbuf + recv_offset, rcount * NUM_CORE,
+ rtype, src, tag + i, comm);
}
// send first message
send_offset =
((inter_rank +
inter_comm_size) % inter_comm_size) * NUM_CORE * sextent * scount;
- smpi_mpi_isend((char *) rbuf + send_offset, scount * NUM_CORE, stype,
- dst, tag, comm);
+ srequest_array[0] = smpi_mpi_isend((char *)rbuf + send_offset, scount * NUM_CORE,
+ stype, dst, tag, comm);
// loop : recv-inter , send-inter, send-intra (linear-bcast)
for (i = 0; i < inter_comm_size - 2; i++) {
recv_offset =
((inter_rank - i - 1 +
inter_comm_size) % inter_comm_size) * NUM_CORE * sextent * scount;
- smpi_mpi_wait(&rrequest_array[i], &status);
- smpi_mpi_isend((char *) rbuf + recv_offset, scount * NUM_CORE, stype,
- dst, tag + i + 1, comm);
+ smpi_mpi_wait(&rrequest_array[i], MPI_STATUS_IGNORE);
+ srequest_array[i + 1] = smpi_mpi_isend((char *)rbuf + recv_offset, scount * NUM_CORE,
+ stype, dst, tag + i + 1, comm);
if (num_core_in_current_smp > 1) {
- request = smpi_mpi_isend((char *) rbuf + recv_offset, scount * NUM_CORE, stype,
- (rank + 1), tag + i + 1, comm);
+ smpi_mpi_send((char *)rbuf + recv_offset, scount * NUM_CORE,
+ stype, (rank + 1), tag + i + 1, comm);
}
}
inter_comm_size) % inter_comm_size) * NUM_CORE * sextent * scount;
//recv_offset = ((inter_rank + 1) % inter_comm_size) * NUM_CORE * sextent * scount;
//i=inter_comm_size-2;
- smpi_mpi_wait(&rrequest_array[i], &status);
+ smpi_mpi_wait(&rrequest_array[i], MPI_STATUS_IGNORE);
if (num_core_in_current_smp > 1) {
- request = smpi_mpi_isend((char *) rbuf + recv_offset, scount * NUM_CORE, stype,
- (rank + 1), tag + i + 1, comm);
+ smpi_mpi_send((char *)rbuf + recv_offset, scount * NUM_CORE,
+ stype, (rank + 1), tag + i + 1, comm);
}
+
+ smpi_mpi_waitall(inter_comm_size - 1, srequest_array, MPI_STATUSES_IGNORE);
+ xbt_free(rrequest_array);
+ xbt_free(srequest_array);
}
// last rank of each SMP
else if (intra_rank == (num_core_in_current_smp - 1)) {
recv_offset =
((inter_rank - i - 1 +
inter_comm_size) % inter_comm_size) * NUM_CORE * sextent * scount;
- request = smpi_mpi_irecv((char *) rbuf + recv_offset, (rcount * NUM_CORE), rtype,
- rank - 1, tag + i + 1, comm);
- smpi_mpi_wait(&request, &status);
+ smpi_mpi_recv((char *) rbuf + recv_offset, (rcount * NUM_CORE), rtype,
+ rank - 1, tag + i + 1, comm, MPI_STATUS_IGNORE);
}
}
// intermediate rank of each SMP
recv_offset =
((inter_rank - i - 1 +
inter_comm_size) % inter_comm_size) * NUM_CORE * sextent * scount;
- request = smpi_mpi_irecv((char *) rbuf + recv_offset, (rcount * NUM_CORE), rtype,
- rank - 1, tag + i + 1, comm);
- smpi_mpi_wait(&request, &status);
- request = smpi_mpi_isend((char *) rbuf + recv_offset, (scount * NUM_CORE), stype,
- (rank + 1), tag + i + 1, comm);
+ smpi_mpi_recv((char *) rbuf + recv_offset, (rcount * NUM_CORE), rtype,
+ rank - 1, tag + i + 1, comm, MPI_STATUS_IGNORE);
+ smpi_mpi_send((char *) rbuf + recv_offset, (scount * NUM_CORE), stype,
+ (rank + 1), tag + i + 1, comm);
}
}
/* Short or medium size message and power-of-two no. of processes. Use
- * recursive doubling algorithm */
+ * recursive doubling algorithm */
#include "colls_private.h"
-int smpi_coll_tuned_allgatherv_mpich_rdb (
- void *sendbuf,
- int sendcount,
- MPI_Datatype sendtype,
- void *recvbuf,
- int *recvcounts,
- int *displs,
- MPI_Datatype recvtype,
- MPI_Comm comm)
+int smpi_coll_tuned_allgatherv_mpich_rdb (
+ void *sendbuf,
+ int sendcount,
+ MPI_Datatype sendtype,
+ void *recvbuf,
+ int *recvcounts,
+ int *displs,
+ MPI_Datatype recvtype,
+ MPI_Comm comm)
{
- int comm_size, rank, j, i;
- MPI_Status status;
- MPI_Aint recvtype_extent, recvtype_true_extent, recvtype_true_lb;
- int curr_cnt, dst, total_count;
- void *tmp_buf;
- int mask, dst_tree_root, my_tree_root, is_homogeneous, position,
- send_offset, recv_offset, last_recv_cnt=0, nprocs_completed, k,
- offset, tmp_mask, tree_root;
-
- comm_size = smpi_comm_size(comm);
- rank = smpi_comm_rank(comm);
-
- total_count = 0;
- for (i=0; i<comm_size; i++)
- total_count += recvcounts[i];
-
- if (total_count == 0) return MPI_ERR_COUNT;
-
- recvtype_extent=smpi_datatype_get_extent( recvtype);
-
- is_homogeneous = 1;
-
- if (is_homogeneous) {
- /* need to receive contiguously into tmp_buf because
- displs could make the recvbuf noncontiguous */
-
- smpi_datatype_extent(recvtype, &recvtype_true_lb, &recvtype_true_extent);
-
- tmp_buf= (void*)xbt_malloc(total_count*(max(recvtype_true_extent,recvtype_extent)));
-
- /* adjust for potential negative lower bound in datatype */
- tmp_buf = (void *)((char*)tmp_buf - recvtype_true_lb);
-
- /* copy local data into right location in tmp_buf */
- position = 0;
- for (i=0; i<rank; i++) position += recvcounts[i];
- if (sendbuf != MPI_IN_PLACE)
- {
- smpi_datatype_copy(sendbuf, sendcount, sendtype,
- ((char *)tmp_buf + position*
- recvtype_extent),
- recvcounts[rank], recvtype);
- }
- else
- {
- /* if in_place specified, local data is found in recvbuf */
- smpi_datatype_copy(((char *)recvbuf +
- displs[rank]*recvtype_extent),
- recvcounts[rank], recvtype,
- ((char *)tmp_buf + position*
- recvtype_extent),
- recvcounts[rank], recvtype);
+ int comm_size, rank, j, i;
+ MPI_Status status;
+ MPI_Aint recvtype_extent, recvtype_true_extent, recvtype_true_lb;
+ int curr_cnt, dst, total_count;
+ void *tmp_buf;
+ int mask, dst_tree_root, my_tree_root, position,
+ send_offset, recv_offset, last_recv_cnt=0, nprocs_completed, k,
+ offset, tmp_mask, tree_root;
+
+ comm_size = smpi_comm_size(comm);
+ rank = smpi_comm_rank(comm);
+
+ total_count = 0;
+ for (i=0; i<comm_size; i++)
+ total_count += recvcounts[i];
+
+ if (total_count == 0) return MPI_ERR_COUNT;
+
+ recvtype_extent=smpi_datatype_get_extent( recvtype);
+
+ /* need to receive contiguously into tmp_buf because
+ displs could make the recvbuf noncontiguous */
+
+ smpi_datatype_extent(recvtype, &recvtype_true_lb, &recvtype_true_extent);
+
+ tmp_buf= (void*)xbt_malloc(total_count*(max(recvtype_true_extent,recvtype_extent)));
+
+ /* adjust for potential negative lower bound in datatype */
+ tmp_buf = (void *)((char*)tmp_buf - recvtype_true_lb);
+
+ /* copy local data into right location in tmp_buf */
+ position = 0;
+ for (i=0; i<rank; i++) position += recvcounts[i];
+ if (sendbuf != MPI_IN_PLACE)
+ {
+ smpi_datatype_copy(sendbuf, sendcount, sendtype,
+ ((char *)tmp_buf + position*
+ recvtype_extent),
+ recvcounts[rank], recvtype);
+ }
+ else
+ {
+ /* if in_place specified, local data is found in recvbuf */
+ smpi_datatype_copy(((char *)recvbuf +
+ displs[rank]*recvtype_extent),
+ recvcounts[rank], recvtype,
+ ((char *)tmp_buf + position*
+ recvtype_extent),
+ recvcounts[rank], recvtype);
+ }
+ curr_cnt = recvcounts[rank];
+
+ mask = 0x1;
+ i = 0;
+ while (mask < comm_size) {
+ dst = rank ^ mask;
+
+ /* find offset into send and recv buffers. zero out
+ the least significant "i" bits of rank and dst to
+ find root of src and dst subtrees. Use ranks of
+ roots as index to send from and recv into buffer */
+
+ dst_tree_root = dst >> i;
+ dst_tree_root <<= i;
+
+ my_tree_root = rank >> i;
+ my_tree_root <<= i;
+
+ if (dst < comm_size) {
+ send_offset = 0;
+ for (j=0; j<my_tree_root; j++)
+ send_offset += recvcounts[j];
+
+ recv_offset = 0;
+ for (j=0; j<dst_tree_root; j++)
+ recv_offset += recvcounts[j];
+
+ smpi_mpi_sendrecv(((char *)tmp_buf + send_offset * recvtype_extent),
+ curr_cnt, recvtype, dst,
+ COLL_TAG_ALLGATHERV,
+ ((char *)tmp_buf + recv_offset * recvtype_extent),
+ total_count - recv_offset, recvtype, dst,
+ COLL_TAG_ALLGATHERV,
+ comm, &status);
+ /* for convenience, recv is posted for a bigger amount
+ than will be sent */
+ last_recv_cnt=smpi_mpi_get_count(&status, recvtype);
+ curr_cnt += last_recv_cnt;
}
- curr_cnt = recvcounts[rank];
-
- mask = 0x1;
- i = 0;
- while (mask < comm_size) {
- dst = rank ^ mask;
-
- /* find offset into send and recv buffers. zero out
- the least significant "i" bits of rank and dst to
- find root of src and dst subtrees. Use ranks of
- roots as index to send from and recv into buffer */
-
- dst_tree_root = dst >> i;
- dst_tree_root <<= i;
-
- my_tree_root = rank >> i;
- my_tree_root <<= i;
-
- if (dst < comm_size) {
- send_offset = 0;
- for (j=0; j<my_tree_root; j++)
- send_offset += recvcounts[j];
-
- recv_offset = 0;
- for (j=0; j<dst_tree_root; j++)
- recv_offset += recvcounts[j];
-
- smpi_mpi_sendrecv(((char *)tmp_buf + send_offset * recvtype_extent),
- curr_cnt, recvtype, dst,
- COLL_TAG_ALLGATHERV,
- ((char *)tmp_buf + recv_offset * recvtype_extent),
- total_count - recv_offset, recvtype, dst,
- COLL_TAG_ALLGATHERV,
- comm, &status);
- /* for convenience, recv is posted for a bigger amount
- than will be sent */
- last_recv_cnt=smpi_mpi_get_count(&status, recvtype);
- curr_cnt += last_recv_cnt;
- }
-
- /* if some processes in this process's subtree in this step
- did not have any destination process to communicate with
- because of non-power-of-two, we need to send them the
- data that they would normally have received from those
- processes. That is, the haves in this subtree must send to
- the havenots. We use a logarithmic
- recursive-halfing algorithm for this. */
-
- /* This part of the code will not currently be
- executed because we are not using recursive
- doubling for non power of two. Mark it as experimental
- so that it doesn't show up as red in the coverage
- tests. */
-
- /* --BEGIN EXPERIMENTAL-- */
- if (dst_tree_root + mask > comm_size) {
- nprocs_completed = comm_size - my_tree_root - mask;
- /* nprocs_completed is the number of processes in this
- subtree that have all the data. Send data to others
- in a tree fashion. First find root of current tree
- that is being divided into two. k is the number of
- least-significant bits in this process's rank that
- must be zeroed out to find the rank of the root */
- j = mask;
- k = 0;
- while (j) {
- j >>= 1;
- k++;
- }
- k--;
-
- tmp_mask = mask >> 1;
-
- while (tmp_mask) {
- dst = rank ^ tmp_mask;
-
- tree_root = rank >> k;
- tree_root <<= k;
-
- /* send only if this proc has data and destination
- doesn't have data. at any step, multiple processes
- can send if they have the data */
- if ((dst > rank) &&
- (rank < tree_root + nprocs_completed)
- && (dst >= tree_root + nprocs_completed)) {
-
- offset = 0;
- for (j=0; j<(my_tree_root+mask); j++)
- offset += recvcounts[j];
- offset *= recvtype_extent;
-
- smpi_mpi_send(((char *)tmp_buf + offset),
- last_recv_cnt,
- recvtype, dst,
- COLL_TAG_ALLGATHERV, comm);
- /* last_recv_cnt was set in the previous
- receive. that's the amount of data to be
- sent now. */
- }
- /* recv only if this proc. doesn't have data and sender
- has data */
- else if ((dst < rank) &&
- (dst < tree_root + nprocs_completed) &&
- (rank >= tree_root + nprocs_completed)) {
-
- offset = 0;
- for (j=0; j<(my_tree_root+mask); j++)
- offset += recvcounts[j];
-
- smpi_mpi_recv(((char *)tmp_buf + offset * recvtype_extent),
- total_count - offset, recvtype,
- dst, COLL_TAG_ALLGATHERV,
- comm, &status);
- /* for convenience, recv is posted for a
- bigger amount than will be sent */
- last_recv_cnt=smpi_mpi_get_count(&status, recvtype);
- curr_cnt += last_recv_cnt;
- }
- tmp_mask >>= 1;
- k--;
- }
- }
- /* --END EXPERIMENTAL-- */
-
- mask <<= 1;
- i++;
- }
-
- /* copy data from tmp_buf to recvbuf */
- position = 0;
- for (j=0; j<comm_size; j++) {
- if ((sendbuf != MPI_IN_PLACE) || (j != rank)) {
- /* not necessary to copy if in_place and
- j==rank. otherwise copy. */
- smpi_datatype_copy(((char *)tmp_buf + position*recvtype_extent),
- recvcounts[j], recvtype,
- ((char *)recvbuf + displs[j]*recvtype_extent),
- recvcounts[j], recvtype);
- }
- position += recvcounts[j];
- }
+
+ /* if some processes in this process's subtree in this step
+ did not have any destination process to communicate with
+ because of non-power-of-two, we need to send them the
+ data that they would normally have received from those
+ processes. That is, the haves in this subtree must send to
+ the havenots. We use a logarithmic
+ recursive-halfing algorithm for this. */
+
+ /* This part of the code will not currently be
+ executed because we are not using recursive
+ doubling for non power of two. Mark it as experimental
+ so that it doesn't show up as red in the coverage
+ tests. */
+
+ /* --BEGIN EXPERIMENTAL-- */
+ if (dst_tree_root + mask > comm_size) {
+ nprocs_completed = comm_size - my_tree_root - mask;
+ /* nprocs_completed is the number of processes in this
+ subtree that have all the data. Send data to others
+ in a tree fashion. First find root of current tree
+ that is being divided into two. k is the number of
+ least-significant bits in this process's rank that
+ must be zeroed out to find the rank of the root */
+ j = mask;
+ k = 0;
+ while (j) {
+ j >>= 1;
+ k++;
+ }
+ k--;
+
+ tmp_mask = mask >> 1;
+
+ while (tmp_mask) {
+ dst = rank ^ tmp_mask;
+
+ tree_root = rank >> k;
+ tree_root <<= k;
+
+ /* send only if this proc has data and destination
+ doesn't have data. at any step, multiple processes
+ can send if they have the data */
+ if ((dst > rank) &&
+ (rank < tree_root + nprocs_completed)
+ && (dst >= tree_root + nprocs_completed)) {
+
+ offset = 0;
+ for (j=0; j<(my_tree_root+mask); j++)
+ offset += recvcounts[j];
+ offset *= recvtype_extent;
+
+ smpi_mpi_send(((char *)tmp_buf + offset),
+ last_recv_cnt,
+ recvtype, dst,
+ COLL_TAG_ALLGATHERV, comm);
+ /* last_recv_cnt was set in the previous
+ receive. that's the amount of data to be
+ sent now. */
}
+ /* recv only if this proc. doesn't have data and sender
+ has data */
+ else if ((dst < rank) &&
+ (dst < tree_root + nprocs_completed) &&
+ (rank >= tree_root + nprocs_completed)) {
+
+ offset = 0;
+ for (j=0; j<(my_tree_root+mask); j++)
+ offset += recvcounts[j];
+
+ smpi_mpi_recv(((char *)tmp_buf + offset * recvtype_extent),
+ total_count - offset, recvtype,
+ dst, COLL_TAG_ALLGATHERV,
+ comm, &status);
+ /* for convenience, recv is posted for a
+ bigger amount than will be sent */
+ last_recv_cnt=smpi_mpi_get_count(&status, recvtype);
+ curr_cnt += last_recv_cnt;
+ }
+ tmp_mask >>= 1;
+ k--;
+ }
+ }
+ /* --END EXPERIMENTAL-- */
+
+ mask <<= 1;
+ i++;
+ }
+
+ /* copy data from tmp_buf to recvbuf */
+ position = 0;
+ for (j=0; j<comm_size; j++) {
+ if ((sendbuf != MPI_IN_PLACE) || (j != rank)) {
+ /* not necessary to copy if in_place and
+ j==rank. otherwise copy. */
+ smpi_datatype_copy(((char *)tmp_buf + position*recvtype_extent),
+ recvcounts[j], recvtype,
+ ((char *)recvbuf + displs[j]*recvtype_extent),
+ recvcounts[j], recvtype);
+ }
+ position += recvcounts[j];
+ }
+
free(tmp_buf);
return MPI_SUCCESS;
}
}
- else if (count >= comm_size) {
+ else /* (count >= comm_size) */ {
tmp_buf = (void *) xbt_malloc(count * extent);
//if ((rank != root))
total_send += mycount;
}
- if (NULL != tempbuf)
- free(tempbuf);
+
} else {
/* recv from parent on leaf nodes */
smpi_mpi_recv(ptmp, rcount, rdtype, bmtree->tree_prev,
COLL_TAG_SCATTER, comm, &status);
}
+
+ if (NULL != tempbuf)
+ free(tempbuf);
//!FIXME : store the tree, as done in ompi, instead of calculating it each time ?
xbt_free(bmtree);
#include "colls_private.h"
-#include <limits.h>
#include "mc/mc_private.h"
+#include <float.h>
//attempt to do a quick autotuning version of the collective,
if (!type){\
type=PJ_type_event_new(#cat, PJ_type_get_root());\
}\
- char* cont_name=malloc(25*sizeof(char*));\
+ char cont_name[25];\
sprintf(cont_name, "rank-%d", smpi_process_index());\
val_t value = PJ_value_get_or_new(mpi_coll_##cat##_description[i].name,"1.0 1.0 1.0", type);\
new_pajeNewEvent (SIMIX_get_clock(), PJ_container_get(cont_name), type, value);\
#define AUTOMATIC_COLL_BENCH(cat, ret, args, args2)\
ret smpi_coll_tuned_ ## cat ## _ ## automatic(COLL_UNPAREN args)\
{\
- double time1, time2, time_min=INT_MAX;\
+ double time1, time2, time_min=DBL_MAX;\
int min_coll=-1, global_coll=-1;\
int i;\
- double buf_in, buf_out, max_min=INT_MAX;\
+ double buf_in, buf_out, max_min=DBL_MAX;\
for (i = 0; mpi_coll_##cat##_description[i].name; i++){\
if(!strcmp(mpi_coll_##cat##_description[i].name, "automatic"))continue;\
if(!strcmp(mpi_coll_##cat##_description[i].name, "default"))continue;\
#include "private.h"
#include <ctype.h>
#include <wchar.h>
+#include <stdarg.h>
+#include <simgrid/sg_config.h>
#ifdef HAVE_TRACING
"scatterv", "0.52 0 0.52",
"scatter", "1 0.74 0.54",
"computing", "0 1 1",
+ "init", "0 1 0",
+ "finalize", "0 1 0",
NULL, NULL,
};
static xbt_dict_t process_category;
+static void cleanup_extra_data (instr_extra_data extra){
+ if(extra!=NULL){
+ if(extra->sendcounts!=NULL)
+ xbt_free(extra->sendcounts);
+ if(extra->recvcounts!=NULL)
+ xbt_free(extra->recvcounts);
+ xbt_free(extra);
+ }
+}
+
void TRACE_internal_smpi_set_category (const char *category)
{
if (!TRACE_smpi_is_enabled()) return;
PJ_container_free (container);
}
-void TRACE_smpi_collective_in(int rank, int root, const char *operation, int size)
+void TRACE_smpi_collective_in(int rank, int root, const char *operation, instr_extra_data extra)
{
- if (!TRACE_smpi_is_enabled()) return;
+ if (!TRACE_smpi_is_enabled()) {
+ cleanup_extra_data(extra);
+ return;
+ }
char str[INSTR_DEFAULT_STR_SIZE];
smpi_container(rank, str, INSTR_DEFAULT_STR_SIZE);
type_t type = PJ_type_get ("MPI_STATE", container->type);
const char *color = instr_find_color (operation);
val_t value = PJ_value_get_or_new (operation, color, type);
- new_pajePushStateWithSize (SIMIX_get_clock(), container, type, value, size);
+ new_pajePushStateWithExtra (SIMIX_get_clock(), container, type, value, (void*)extra);
}
+
void TRACE_smpi_collective_out(int rank, int root, const char *operation)
{
if (!TRACE_smpi_is_enabled()) return;
new_pajePushState (SIMIX_get_clock(), container, type, value);
}
-void TRACE_smpi_computing_in(int rank)
+void TRACE_smpi_computing_in(int rank, instr_extra_data extra)
{
//do not forget to set the color first, otherwise this will explode
- if (!TRACE_smpi_is_enabled()|| !TRACE_smpi_is_computing()) return;
+ if (!TRACE_smpi_is_enabled()|| !TRACE_smpi_is_computing()) {
+ cleanup_extra_data(extra);
+ return;
+ }
char str[INSTR_DEFAULT_STR_SIZE];
smpi_container(rank, str, INSTR_DEFAULT_STR_SIZE);
container_t container = PJ_container_get (str);
type_t type = PJ_type_get ("MPI_STATE", container->type);
val_t value = PJ_value_get_or_new ("computing", NULL, type);
- new_pajePushState (SIMIX_get_clock(), container, type, value);
+ new_pajePushStateWithExtra (SIMIX_get_clock(), container, type, value, (void*)extra);
}
void TRACE_smpi_computing_out(int rank)
new_pajePopState (SIMIX_get_clock(), container, type);
}
-void TRACE_smpi_ptp_in(int rank, int src, int dst, const char *operation, int size)
+void TRACE_smpi_ptp_in(int rank, int src, int dst, const char *operation, instr_extra_data extra)
{
- if (!TRACE_smpi_is_enabled()) return;
-
+ if (!TRACE_smpi_is_enabled()) {
+ cleanup_extra_data(extra);
+ return;
+ }
char str[INSTR_DEFAULT_STR_SIZE];
smpi_container(rank, str, INSTR_DEFAULT_STR_SIZE);
type_t type = PJ_type_get ("MPI_STATE", container->type);
const char *color = instr_find_color (operation);
val_t value = PJ_value_get_or_new (operation, color, type);
- new_pajePushStateWithSize (SIMIX_get_clock(), container, type, value, size);
+ new_pajePushStateWithExtra (SIMIX_get_clock(), container, type, value, (void*)extra);
}
void TRACE_smpi_ptp_out(int rank, int src, int dst, const char *operation)
#ifndef SMPI_PRIVATE_H
#define SMPI_PRIVATE_H
+#include "internal_config.h"
#include "xbt.h"
#include "xbt/xbt_os_time.h"
#include "simgrid/simix.h"
xbt_os_timer_t smpi_process_timer(void);
void smpi_process_simulated_start(void);
double smpi_process_simulated_elapsed(void);
+void smpi_process_set_sampling(int s);
+int smpi_process_get_sampling(void);
void print_request(const char *message, MPI_Request request);
int dst, int tag, MPI_Comm comm);
MPI_Request smpi_mpi_isend(void *buf, int count, MPI_Datatype datatype,
int dst, int tag, MPI_Comm comm);
+MPI_Request smpi_issend_init(void *buf, int count, MPI_Datatype datatype,
+ int dst, int tag, MPI_Comm comm);
MPI_Request smpi_mpi_issend(void *buf, int count, MPI_Datatype datatype,
int dst, int tag, MPI_Comm comm);
MPI_Request smpi_irecv_init(void *buf, int count, MPI_Datatype datatype,
MPI_Comm comm);
// utilities
+extern double smpi_cpu_threshold;
+extern double smpi_running_power;
void smpi_bench_destroy(void);
void smpi_bench_begin(void);
void smpi_bench_end(void);
-void smpi_execute_flops(double flops);
// f77 wrappers
void mpi_init_(int*);
/* from smpi_instr.c */
void TRACE_internal_smpi_set_category (const char *category);
const char *TRACE_internal_smpi_get_category (void);
-void TRACE_smpi_collective_in(int rank, int root, const char *operation, int size);
+void TRACE_smpi_collective_in(int rank, int root, const char *operation, instr_extra_data extra);
void TRACE_smpi_collective_out(int rank, int root, const char *operation);
void TRACE_smpi_computing_init(int rank);
void TRACE_smpi_computing_out(int rank);
-void TRACE_smpi_computing_in(int rank);
+void TRACE_smpi_computing_in(int rank, instr_extra_data extra);
+void TRACE_smpi_alloc(void);
+void TRACE_smpi_release(void);
+void TRACE_smpi_ptp_in(int rank, int src, int dst, const char *operation, instr_extra_data extra);
+void TRACE_smpi_ptp_out(int rank, int src, int dst, const char *operation);
+void TRACE_smpi_send(int rank, int src, int dst, int size);
+void TRACE_smpi_recv(int rank, int src, int dst);
+void TRACE_smpi_init(int rank);
+void TRACE_smpi_finalize(int rank);
+
+
+const char* encode_datatype(MPI_Datatype datatype);
+
#endif
static int factor_cmp(const void *pa, const void *pb)
{
- return (((s_smpi_factor_t*)pa)->factor > ((s_smpi_factor_t*)pb)->factor);
+ return (((s_smpi_factor_t*)pa)->factor > ((s_smpi_factor_t*)pb)->factor) ? 1 :
+ (((s_smpi_factor_t*)pa)->factor < ((s_smpi_factor_t*)pb)->factor) ? -1 : 0;
}
char *value = NULL;
unsigned int iter = 0;
s_smpi_factor_t fact;
+ fact.nb_values=0;
int i=0;
xbt_dynar_t smpi_factor, radical_elements, radical_elements2 = NULL;
smpi_factor = xbt_dynar_new(sizeof(s_smpi_factor_t), NULL);
radical_elements = xbt_str_split(smpi_coef_string, ";");
xbt_dynar_foreach(radical_elements, iter, value) {
- fact.nb_values=0;
+ memset(&fact, 0, sizeof(s_smpi_factor_t));
radical_elements2 = xbt_str_split(value, ":");
if (xbt_dynar_length(radical_elements2) <2 || xbt_dynar_length(radical_elements2) > 5)
xbt_die("Malformed radical for smpi factor!");
void smpi_mpi_startall(int count, MPI_Request * requests)
{
int i;
+ if(requests==NULL) return;
for(i = 0; i < count; i++) {
smpi_mpi_start(requests[i]);
xbt_dict_t calls = NULL; /* Allocated on first use */
__thread int smpi_current_rank = 0; /* Updated after each MPI call */
+double smpi_cpu_threshold;
+double smpi_running_power;
+
typedef struct {
int fd;
int count;
xbt_dict_free(&calls);
}
+XBT_PUBLIC(void) smpi_execute_flops_(double *flops);
+void smpi_execute_flops_(double *flops)
+{
+ smpi_execute_flops(*flops);
+}
+
+XBT_PUBLIC(void) smpi_execute_(double *duration);
+void smpi_execute_(double *duration)
+{
+ smpi_execute(*duration);
+}
+
void smpi_execute_flops(double flops) {
smx_action_t action;
smx_host_t host;
host = SIMIX_host_self();
-
XBT_DEBUG("Handle real computation time: %f flops", flops);
action = simcall_host_execute("computation", host, flops, 1, 0, 0);
#ifdef HAVE_TRACING
simcall_host_execution_wait(action);
}
-static void smpi_execute(double duration)
+void smpi_execute(double duration)
{
- /* FIXME: a global variable would be less expensive to consult than a call to xbt_cfg_get_double() right on the critical path */
- if (duration >= sg_cfg_get_double("smpi/cpu_threshold")) {
- XBT_DEBUG("Sleep for %f to handle real computation time", duration);
- smpi_execute_flops(duration *
- sg_cfg_get_double("smpi/running_power"));
+ if (duration >= smpi_cpu_threshold) {
+ XBT_DEBUG("Sleep for %g to handle real computation time", duration);
+ double flops = duration * smpi_running_power;
+#ifdef HAVE_TRACING
+ int rank = smpi_process_index();
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type=TRACING_COMPUTING;
+ extra->comp_size=flops;
+ TRACE_smpi_computing_in(rank, extra);
+#endif
+ smpi_execute_flops(flops);
+
+#ifdef HAVE_TRACING
+ TRACE_smpi_computing_out(rank);
+#endif
+
} else {
- XBT_DEBUG("Real computation took %f while option smpi/cpu_threshold is set to %f => ignore it",
- duration, sg_cfg_get_double("smpi/cpu_threshold"));
+ XBT_DEBUG("Real computation took %g while option smpi/cpu_threshold is set to %g => ignore it",
+ duration, smpi_cpu_threshold);
}
}
void smpi_bench_end(void)
{
xbt_os_timer_t timer = smpi_process_timer();
-
xbt_os_threadtimer_stop(timer);
+ if (smpi_process_get_sampling()) {
+ XBT_CRITICAL("Cannot do recursive benchmarks.");
+ XBT_CRITICAL("Are you trying to make a call to MPI within a SMPI_SAMPLE_ block?");
+ xbt_backtrace_display_current();
+ xbt_die("Aborting.");
+ }
smpi_execute(xbt_os_timer_elapsed(timer));
}
unsigned int smpi_sleep(unsigned int secs)
{
+ smx_action_t action;
+
smpi_bench_end();
- smpi_execute_flops((double) secs*simcall_host_get_speed(SIMIX_host_self()));
+
+ double flops = (double) secs*simcall_host_get_speed(SIMIX_host_self());
+ XBT_DEBUG("Sleep for: %f flops", flops);
+ action = simcall_host_execute("computation", SIMIX_host_self(), flops, 1);
+ #ifdef HAVE_TRACING
+ simcall_set_category (action, TRACE_internal_smpi_get_category());
+ #endif
+ simcall_host_execution_wait(action);
+
smpi_bench_begin();
return secs;
}
/* ****************************** Functions related to the SMPI_SAMPLE_ macros ************************************/
typedef struct {
- int iters; /* amount of requested iterations */
- int count; /* amount of iterations done so far */
double threshold; /* maximal stderr requested (if positive) */
double relstderr; /* observed stderr so far */
double mean; /* mean of benched times, to be used if the block is disabled */
double sum; /* sum of benched times (to compute the mean and stderr) */
double sum_pow2; /* sum of the square of the benched times (to compute the stderr) */
+ int iters; /* amount of requested iterations */
+ int count; /* amount of iterations done so far */
int benching; /* 1: we are benchmarking; 0: we have enough data, no bench anymore */
} local_data_t;
local_data_t *data;
smpi_bench_end(); /* Take time from previous, unrelated computation into account */
+ smpi_process_set_sampling(1);
+
if (!samples)
samples = xbt_dict_new_homogeneous(free);
{
char *loc = sample_location(global, file, line);
local_data_t *data;
+ int res;
xbt_assert(samples, "Y U NO use SMPI_SAMPLE_* macros? Stop messing directly with smpi_sample_* functions!");
data = xbt_dict_get(samples, loc);
// we need to run a new bench
XBT_DEBUG("benchmarking: count:%d iter:%d stderr:%f thres:%f; mean:%f",
data->count, data->iters, data->relstderr, data->threshold, data->mean);
- smpi_bench_begin();
- return 1;
+ res = 1;
} else {
// Enough data, no more bench (either we got enough data from previous visits to this benched nest, or we just ran one bench and need to bail out now that our job is done).
// Just sleep instead
XBT_DEBUG("No benchmark (either no need, or just ran one): count >= iter (%d >= %d) or stderr<thres (%f<=%f). apply the %fs delay instead",
data->count, data->iters, data->relstderr, data->threshold, data->mean);
smpi_execute(data->mean);
-
- smpi_bench_begin(); // prepare to capture future, unrelated computations
- return 0;
+ smpi_process_set_sampling(0);
+ res = 0; // prepare to capture future, unrelated computations
}
+ smpi_bench_begin();
+ return res;
}
case EEXIST:
xbt_die("Please cleanup /dev/shm/%s", loc);
default:
- xbt_die("An unhandled error occured while opening %s: %s", loc, strerror(errno));
+ xbt_die("An unhandled error occured while opening %s. shm_open: %s", loc, strerror(errno));
}
}
data = xbt_new(shared_data_t, 1);
data->loc = loc;
mem = shm_map(fd, size, data);
if (shm_unlink(loc) < 0) {
- XBT_WARN("Could not early unlink %s: %s", loc, strerror(errno));
+ XBT_WARN("Could not early unlink %s. shm_unlink: %s", loc, strerror(errno));
}
xbt_dict_set(allocs, loc, data, NULL);
XBT_DEBUG("Mapping %s at %p through %d", loc, mem, fd);
}
#endif
-int smpi_shared_known_call(const char* func, const char* input) {
- char* loc = bprintf("%s:%s", func, input);
- xbt_ex_t ex;
- int known;
+int smpi_shared_known_call(const char* func, const char* input)
+{
+ char* loc = bprintf("%s:%s", func, input);
+ xbt_ex_t ex;
+ int known = 0;
- if(!calls) {
- calls = xbt_dict_new_homogeneous(NULL);
- }
- TRY {
- xbt_dict_get(calls, loc); /* Succeed or throw */
- known = 1;
- }
- CATCH(ex) {
- if(ex.category == not_found_error) {
- known = 0;
- xbt_ex_free(ex);
- } else {
- RETHROW;
- }
- }
- free(loc);
- return known;
+ if (!calls) {
+ calls = xbt_dict_new_homogeneous(NULL);
+ }
+ TRY {
+ xbt_dict_get(calls, loc); /* Succeed or throw */
+ known = 1;
+ }
+ TRY_CLEANUP {
+ xbt_free(loc);
+ }
+ CATCH(ex) {
+ if (ex.category != not_found_error)
+ RETHROW;
+ xbt_ex_free(ex);
+ }
+ return known;
}
void* smpi_shared_get_call(const char* func, const char* input) {
return i;
}
}
- name_list = strdup(table[0].name);
+ if (!table[0].name)
+ xbt_die("No collective is valid! This is a bug.");
+ name_list = xbt_strdup(table[0].name);
for (i = 1; table[i].name; i++) {
name_list =
xbt_realloc(name_list,
strcat(name_list, ", ");
strcat(name_list, table[i].name);
}
- xbt_die("Model '%s' is invalid! Valid models are: %s.", name, name_list);
+ xbt_die("Collective '%s' is invalid! Valid collectives are: %s.", name, name_list);
return -1;
}
--- /dev/null
+/* Copyright (c) 2013. The SimGrid Team.
+ * All rights reserved. */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
+
+#include "xbt/log.h"
+#include "simgrid/simix.h"
+#include "smpi/smpi.h"
+
+XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_dvfs, smpi,
+ "Logging specific to SMPI (experimental DVFS support)");
+
+/**
+ * \brief Return the speed of the processor (in flop/s) at a given pstate
+ *
+ * \param pstate_index pstate to test
+ * \return Returns the processor speed associated with pstate_index
+ */
+double smpi_get_host_power_peak_at(int pstate_index)
+{
+ return simcall_host_get_power_peak_at(SIMIX_host_self(), pstate_index);
+}
+
+/**
+ * \brief Return the current speed of the processor (in flop/s)
+ *
+ * \return Returns the current processor speed
+ */
+double smpi_get_host_current_power_peak(void)
+{
+ return simcall_host_get_current_power_peak(SIMIX_host_self());
+}
+
+/**
+ * \brief Return the number of pstates defined for host
+ */
+int smpi_get_host_nb_pstates(void)
+{
+ return simcall_host_get_nb_pstates(SIMIX_host_self());
+}
+
+/**
+ * \brief Sets the speed of the processor (in flop/s) at a given pstate
+ *
+ * \param pstate_index pstate to switch to
+ */
+void smpi_set_host_power_peak_at(int pstate_index)
+{
+ simcall_host_set_power_peak_at(SIMIX_host_self(), pstate_index);
+}
+
+/**
+ * \brief Return the total energy consumed by a host (in Joules)
+ *
+ * \return Returns the consumed energy
+ */
+double smpi_get_host_consumed_energy(void)
+{
+ return simcall_host_get_consumed_energy(SIMIX_host_self());
+}
+
+#include "smpi/smpif.h"
+
+#ifdef SMPI_F2C
+
+XBT_PUBLIC(doublereal) smpi_get_host_power_peak_at_(integer *pstate_index);
+doublereal smpi_get_host_power_peak_at_(integer *pstate_index)
+{
+ return (doublereal)smpi_get_host_power_peak_at((int)*pstate_index);
+}
+
+XBT_PUBLIC(doublereal) smpi_get_host_current_power_peak_(void);
+doublereal smpi_get_host_current_power_peak_(void)
+{
+ return smpi_get_host_current_power_peak();
+}
+
+XBT_PUBLIC(integer) smpi_get_host_nb_pstates_(void);
+integer smpi_get_host_nb_pstates_(void)
+{
+ return (integer)smpi_get_host_nb_pstates();
+}
+
+XBT_PUBLIC(void) smpi_set_host_power_peak_at_(integer *pstate_index);
+void smpi_set_host_power_peak_at_(integer *pstate_index)
+{
+ smpi_set_host_power_peak_at((int)*pstate_index);
+}
+
+XBT_PUBLIC(doublereal) smpi_get_host_consumed_energy_(void);
+doublereal smpi_get_host_consumed_energy_(void)
+{
+ return (doublereal)smpi_get_host_consumed_energy();
+}
+
+#endif
running_processes--;
if(running_processes==0){
xbt_dict_free(&op_lookup);
- op_lookup = NULL;
xbt_dict_free(&datatype_lookup);
- datatype_lookup = NULL;
xbt_dict_free(&request_lookup);
- request_lookup = NULL;
+ xbt_dict_free(&group_lookup);
xbt_dict_free(&comm_lookup);
- comm_lookup = NULL;
}
}
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
-#include <stdint.h>
-#include <stdio.h>
-#include <stdlib.h>
-
#include "private.h"
#include "smpi_mpi_dt_private.h"
#include "mc/mc.h"
#include "simix/smx_private.h"
#include "simgrid/sg_config.h"
+#include <float.h> /* DBL_MAX */
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_kernel, smpi,
"Logging specific to SMPI (kernel)");
typedef struct s_smpi_process_data {
- int index;
- int* argc;
- char*** argv;
+ double simulated;
+ int *argc;
+ char ***argv;
smx_rdv_t mailbox;
smx_rdv_t mailbox_small;
xbt_os_timer_t timer;
- double simulated;
MPI_Comm comm_self;
- void *data; /* user data */
+ void *data; /* user data */
+ int index;
int initialized;
+ int sampling; /* inside an SMPI_SAMPLE_ block? */
} s_smpi_process_data_t;
static smpi_process_data_t *process_data = NULL;
MPI_Comm MPI_COMM_WORLD = MPI_COMM_NULL;
int MPI_UNIVERSE_SIZE;
-MPI_Errhandler* MPI_ERRORS_RETURN = NULL;
-MPI_Errhandler* MPI_ERRORS_ARE_FATAL = NULL;
-MPI_Errhandler* MPI_ERRHANDLER_NULL = NULL;
+MPI_Errhandler *MPI_ERRORS_RETURN = NULL;
+MPI_Errhandler *MPI_ERRORS_ARE_FATAL = NULL;
+MPI_Errhandler *MPI_ERRHANDLER_NULL = NULL;
#define MAILBOX_NAME_MAXLEN (5 + sizeof(int) * 2 + 1)
-static char* get_mailbox_name(char* str, int index) {
- snprintf(str, MAILBOX_NAME_MAXLEN, "SMPI-%0*x", (int)(sizeof(int) * 2), index);
+static char *get_mailbox_name(char *str, int index)
+{
+ snprintf(str, MAILBOX_NAME_MAXLEN, "SMPI-%0*x", (int) (sizeof(int) * 2),
+ index);
return str;
}
-static char* get_mailbox_name_small(char* str, int index) {
- snprintf(str, MAILBOX_NAME_MAXLEN, "small%0*x", (int)(sizeof(int) * 2), index);
+static char *get_mailbox_name_small(char *str, int index)
+{
+ snprintf(str, MAILBOX_NAME_MAXLEN, "small%0*x", (int) (sizeof(int) * 2),
+ index);
return str;
}
smpi_process_data_t data;
smx_process_t proc;
- if(argc && argv) {
+ if (argc && argv) {
proc = SIMIX_process_self();
index = atoi((*argv)[1]);
data = smpi_process_remote_data(index);
(*argc)--;
data->argc = argc;
data->argv = argv;
- simcall_rdv_set_receiver(data->mailbox_small, proc);// set the process attached to the mailbox
+ // set the process attached to the mailbox
+ simcall_rdv_set_receiver(data->mailbox_small, proc);
XBT_DEBUG("<%d> New process in the game: %p", index, proc);
}
}
void smpi_process_destroy(void)
{
int index = smpi_process_index();
- process_data[index]->index=-100;
+ process_data[index]->index = -100;
XBT_DEBUG("<%d> Process left the game", index);
}
*/
int smpi_process_finalized()
{
- return (smpi_process_index()==-100);
+ return (smpi_process_index() == -100);
// If finalized, this value has been set to -100;
}
int smpi_process_initialized(void)
{
int index = smpi_process_index();
- return((index != -100) && (index!=MPI_UNDEFINED) && (process_data[index]->initialized));
+ return ((index != -100) && (index != MPI_UNDEFINED)
+ && (process_data[index]->initialized));
}
/**
void smpi_process_mark_as_initialized(void)
{
int index = smpi_process_index();
- if((index != -100)&& (index!=MPI_UNDEFINED))process_data[index]->initialized=1;
+ if ((index != -100) && (index != MPI_UNDEFINED))
+ process_data[index]->initialized = 1;
}
#ifdef SMPI_F2C
-int smpi_process_argc(void) {
+int smpi_process_argc(void)
+{
smpi_process_data_t data = smpi_process_data();
-
return data->argc ? *(data->argc) - 1 : 0;
}
-int smpi_process_getarg(integer* index, char* dst, ftnlen len) {
+int smpi_process_getarg(integer * index, char *dst, ftnlen len)
+{
smpi_process_data_t data = smpi_process_data();
- char* arg;
+ char *arg;
ftnlen i;
- if(!data->argc || !data->argv
- || *index < 1 || *index >= *(data->argc)) {
+ if (!data->argc || !data->argv || *index < 1 || *index >= *(data->argc)) {
return -1;
}
arg = (*data->argv)[*index];
- for(i = 0; i < len && arg[i] != '\0'; i++) {
+ for (i = 0; i < len && arg[i] != '\0'; i++) {
dst[i] = arg[i];
}
- for(; i < len; i++) {
+ for (; i < len; i++) {
dst[i] = ' ';
}
return 0;
}
-int smpi_global_size(void) {
- char* value = getenv("SMPI_GLOBAL_SIZE");
+int smpi_global_size(void)
+{
+ char *value = getenv("SMPI_GLOBAL_SIZE");
- if(!value) {
- fprintf(stderr, "Please set env var SMPI_GLOBAL_SIZE to expected number of processes.\n");
- xbt_abort();
- }
- return atoi(value);
+ if (!value) {
+ fprintf(stderr,
+ "Please set env var SMPI_GLOBAL_SIZE to expected number of processes.\n");
+ xbt_abort();
+ }
+ return atoi(value);
}
#endif
process_data->data = data;
}
-void* smpi_process_get_user_data(){
+void *smpi_process_get_user_data()
+{
smpi_process_data_t process_data = smpi_process_data();
return process_data->data;
}
{
smpi_process_data_t data = smpi_process_data();
//return -1 if not initialized
- return data? data->index : MPI_UNDEFINED;
+ return data ? data->index : MPI_UNDEFINED;
}
-smx_rdv_t smpi_process_mailbox(void) {
+smx_rdv_t smpi_process_mailbox(void)
+{
smpi_process_data_t data = smpi_process_data();
-
return data->mailbox;
}
-smx_rdv_t smpi_process_mailbox_small(void) {
+smx_rdv_t smpi_process_mailbox_small(void)
+{
smpi_process_data_t data = smpi_process_data();
-
return data->mailbox_small;
}
-smx_rdv_t smpi_process_remote_mailbox(int index) {
+smx_rdv_t smpi_process_remote_mailbox(int index)
+{
smpi_process_data_t data = smpi_process_remote_data(index);
-
return data->mailbox;
}
-smx_rdv_t smpi_process_remote_mailbox_small(int index) {
+smx_rdv_t smpi_process_remote_mailbox_small(int index)
+{
smpi_process_data_t data = smpi_process_remote_data(index);
-
return data->mailbox_small;
}
xbt_os_timer_t smpi_process_timer(void)
{
smpi_process_data_t data = smpi_process_data();
-
return data->timer;
}
-void smpi_process_simulated_start(void) {
+void smpi_process_simulated_start(void)
+{
smpi_process_data_t data = smpi_process_data();
-
data->simulated = SIMIX_get_clock();
}
-double smpi_process_simulated_elapsed(void) {
+double smpi_process_simulated_elapsed(void)
+{
smpi_process_data_t data = smpi_process_data();
-
return SIMIX_get_clock() - data->simulated;
}
-MPI_Comm smpi_process_comm_self(void) {
+MPI_Comm smpi_process_comm_self(void)
+{
smpi_process_data_t data = smpi_process_data();
-
return data->comm_self;
}
-void print_request(const char *message, MPI_Request request) {
- XBT_DEBUG("%s request %p [buf = %p, size = %zu, src = %d, dst = %d, tag = %d, flags = %x]",
- message, request, request->buf, request->size,
- request->src, request->dst, request->tag, request->flags);
+void smpi_process_set_sampling(int s)
+{
+ smpi_process_data_t data = smpi_process_data();
+ data->sampling = s;
+}
+
+int smpi_process_get_sampling(void)
+{
+ smpi_process_data_t data = smpi_process_data();
+ return data->sampling;
+}
+
+void print_request(const char *message, MPI_Request request)
+{
+ XBT_DEBUG
+ ("%s request %p [buf = %p, size = %zu, src = %d, dst = %d, tag = %d, flags = %x]",
+ message, request, request->buf, request->size, request->src,
+ request->dst, request->tag, request->flags);
}
-static void SMPI_comm_copy_buffer_callback(smx_action_t comm, void* buff, size_t buff_size)
+static void smpi_comm_copy_buffer_callback(smx_action_t comm,
+ void *buff, size_t buff_size)
{
XBT_DEBUG("Copy the data over");
memcpy(comm->comm.dst_buff, buff, buff_size);
- if (comm->comm.detached) { // if this is a detached send, the source buffer was duplicated by SMPI sender to make the original buffer available to the application ASAP
+ if (comm->comm.detached) {
+ // if this is a detached send, the source buffer was duplicated by SMPI
+ // sender to make the original buffer available to the application ASAP
xbt_free(buff);
//It seems that the request is used after the call there this should
//be free somewhereelse but where???
MPI_Group group;
char name[MAILBOX_NAME_MAXLEN];
- SIMIX_comm_set_copy_data_callback(&SMPI_comm_copy_buffer_callback);
+ SIMIX_comm_set_copy_data_callback(&smpi_comm_copy_buffer_callback);
process_count = SIMIX_process_count();
process_data = xbt_new(smpi_process_data_t, process_count);
for (i = 0; i < process_count; i++) {
process_data[i]->argc = NULL;
process_data[i]->argv = NULL;
process_data[i]->mailbox = simcall_rdv_create(get_mailbox_name(name, i));
- process_data[i]->mailbox_small = simcall_rdv_create(get_mailbox_name_small(name, i));
+ process_data[i]->mailbox_small =
+ simcall_rdv_create(get_mailbox_name_small(name, i));
process_data[i]->timer = xbt_os_timer_new();
- if(MC_is_active())
+ if (MC_is_active())
MC_ignore_heap(process_data[i]->timer, xbt_os_timer_size());
group = smpi_group_new(1);
process_data[i]->comm_self = smpi_comm_new(group);
- process_data[i]->initialized =0;
+ process_data[i]->initialized = 0;
+ process_data[i]->sampling = 0;
smpi_group_set_mapping(group, i, 0);
}
//check correctness of MPI parameters
- xbt_assert(sg_cfg_get_int("smpi/async_small_thres")<=sg_cfg_get_int("smpi/send_is_detached_thres"));
+ xbt_assert(sg_cfg_get_int("smpi/async_small_thres") <=
+ sg_cfg_get_int("smpi/send_is_detached_thres"));
}
void smpi_global_destroy(void)
int i;
smpi_bench_destroy();
- while(smpi_group_unuse(smpi_comm_group(MPI_COMM_WORLD))>0);
+ while (smpi_group_unuse(smpi_comm_group(MPI_COMM_WORLD)) > 0);
xbt_free(MPI_COMM_WORLD);
MPI_COMM_WORLD = MPI_COMM_NULL;
for (i = 0; i < count; i++) {
/* Fortran specific stuff */
/* With smpicc, the following weak symbols are used */
/* With smpiff, the following weak symbols are replaced by those in libf2c */
-int __attribute__((weak)) xargc;
-char** __attribute__((weak)) xargv;
+int __attribute__ ((weak)) xargc;
+char ** __attribute__ ((weak)) xargv;
#ifndef WIN32
-void __attribute__((weak)) user_main_(){
+void __attribute__ ((weak)) user_main_()
+{
xbt_die("Should not be in this smpi_simulated_main");
return;
}
-int __attribute__((weak)) smpi_simulated_main_(int argc, char** argv) {
+
+int __attribute__ ((weak)) smpi_simulated_main_(int argc, char **argv)
+{
smpi_process_init(&argc, &argv);
user_main_();
//xbt_die("Should not be in this smpi_simulated_main");
return 0;
}
-int __attribute__((weak)) main(int argc, char** argv) {
- return smpi_main(smpi_simulated_main_,argc,argv);
+int __attribute__ ((weak)) main(int argc, char **argv)
+{
+ return smpi_main(smpi_simulated_main_, argc, argv);
}
-int __attribute__((weak)) MAIN__(){
- return smpi_main(smpi_simulated_main_,xargc, xargv);
+int __attribute__ ((weak)) MAIN__()
+{
+ return smpi_main(smpi_simulated_main_, xargc, xargv);
};
#endif
-int smpi_main(int (*realmain) (int argc, char *argv[]),int argc, char *argv[])
+int smpi_main(int (*realmain) (int argc, char *argv[]), int argc, char *argv[])
{
srand(SMPI_RAND_SEED);
-
- if(getenv("SMPI_PRETEND_CC") != NULL) {
- /* Hack to ensure that smpicc can pretend to be a simple compiler. Particularly handy to pass it to the configuration tools */
+
+ if (getenv("SMPI_PRETEND_CC") != NULL) {
+ /* Hack to ensure that smpicc can pretend to be a simple
+ * compiler. Particularly handy to pass it to the configuration tools */
return 0;
}
/* Connect log categories. See xbt/log.c */
- XBT_LOG_CONNECT(smpi); /* Keep this line as soon as possible in this
- function: xbt_log_appender_file.c depends on it
- DO NOT connect this in XBT or so, or it will be
- useless to xbt_log_appender_file.c */
+ XBT_LOG_CONNECT(smpi); /* Keep this line as soon as possible in this
+ function: xbt_log_appender_file.c depends on it
+ DO NOT connect this in XBT or so, or it will be
+ useless to xbt_log_appender_file.c */
#ifdef HAVE_TRACING
XBT_LOG_CONNECT(instr_smpi);
#endif
XBT_LOG_CONNECT(smpi_base);
XBT_LOG_CONNECT(smpi_bench);
XBT_LOG_CONNECT(smpi_coll);
+ XBT_LOG_CONNECT(smpi_colls);
XBT_LOG_CONNECT(smpi_comm);
+ XBT_LOG_CONNECT(smpi_dvfs);
XBT_LOG_CONNECT(smpi_group);
XBT_LOG_CONNECT(smpi_kernel);
XBT_LOG_CONNECT(smpi_mpi);
XBT_LOG_CONNECT(smpi_mpi_dt);
XBT_LOG_CONNECT(smpi_pmpi);
XBT_LOG_CONNECT(smpi_replay);
- XBT_LOG_CONNECT(smpi_colls);
#ifdef HAVE_TRACING
TRACE_global_init(&argc, argv);
SIMIX_launch_application(argv[2]);
int gather_id = find_coll_description(mpi_coll_gather_description,
- sg_cfg_get_string("smpi/gather"));
+ sg_cfg_get_string("smpi/gather"));
mpi_coll_gather_fun = (int (*)(void *, int, MPI_Datatype,
- void*, int, MPI_Datatype, int, MPI_Comm))
- mpi_coll_gather_description[gather_id].coll;
+ void *, int, MPI_Datatype, int, MPI_Comm))
+ mpi_coll_gather_description[gather_id].coll;
int allgather_id = find_coll_description(mpi_coll_allgather_description,
sg_cfg_get_string("smpi/allgather"));
mpi_coll_allgather_fun = (int (*)(void *, int, MPI_Datatype,
- void*, int, MPI_Datatype, MPI_Comm))
- mpi_coll_allgather_description[allgather_id].coll;
+ void *, int, MPI_Datatype, MPI_Comm))
+ mpi_coll_allgather_description[allgather_id].coll;
int allgatherv_id = find_coll_description(mpi_coll_allgatherv_description,
- sg_cfg_get_string("smpi/allgatherv"));
- mpi_coll_allgatherv_fun = (int (*)(void *, int, MPI_Datatype,
- void*, int*, int*, MPI_Datatype, MPI_Comm))
- mpi_coll_allgatherv_description[allgatherv_id].coll;
+ sg_cfg_get_string("smpi/allgatherv"));
+ mpi_coll_allgatherv_fun = (int (*)(void *, int, MPI_Datatype, void *, int *,
+ int *, MPI_Datatype, MPI_Comm))
+ mpi_coll_allgatherv_description[allgatherv_id].coll;
int allreduce_id = find_coll_description(mpi_coll_allreduce_description,
sg_cfg_get_string("smpi/allreduce"));
- mpi_coll_allreduce_fun = (int (*)(void *sbuf, void *rbuf, int rcount, \
- MPI_Datatype dtype, MPI_Op op, MPI_Comm comm))
- mpi_coll_allreduce_description[allreduce_id].coll;
+ mpi_coll_allreduce_fun = (int (*)(void *sbuf, void *rbuf, int rcount,
+ MPI_Datatype dtype, MPI_Op op,
+ MPI_Comm comm))
+ mpi_coll_allreduce_description[allreduce_id].coll;
int alltoall_id = find_coll_description(mpi_coll_alltoall_description,
sg_cfg_get_string("smpi/alltoall"));
mpi_coll_alltoall_fun = (int (*)(void *, int, MPI_Datatype,
- void*, int, MPI_Datatype, MPI_Comm))
- mpi_coll_alltoall_description[alltoall_id].coll;
+ void *, int, MPI_Datatype, MPI_Comm))
+ mpi_coll_alltoall_description[alltoall_id].coll;
int alltoallv_id = find_coll_description(mpi_coll_alltoallv_description,
- sg_cfg_get_string("smpi/alltoallv"));
- mpi_coll_alltoallv_fun = (int (*)(void *, int*, int*, MPI_Datatype,
- void*, int*, int*, MPI_Datatype, MPI_Comm))
- mpi_coll_alltoallv_description[alltoallv_id].coll;
+ sg_cfg_get_string("smpi/alltoallv"));
+ mpi_coll_alltoallv_fun = (int (*)(void *, int *, int *, MPI_Datatype,
+ void *, int *, int *, MPI_Datatype,
+ MPI_Comm))
+ mpi_coll_alltoallv_description[alltoallv_id].coll;
int bcast_id = find_coll_description(mpi_coll_bcast_description,
- sg_cfg_get_string("smpi/bcast"));
- mpi_coll_bcast_fun = (int (*)(void *buf, int count, MPI_Datatype datatype, \
- int root, MPI_Comm com))
- mpi_coll_bcast_description[bcast_id].coll;
+ sg_cfg_get_string("smpi/bcast"));
+ mpi_coll_bcast_fun = (int (*)(void *buf, int count, MPI_Datatype datatype,
+ int root, MPI_Comm com))
+ mpi_coll_bcast_description[bcast_id].coll;
int reduce_id = find_coll_description(mpi_coll_reduce_description,
- sg_cfg_get_string("smpi/reduce"));
- mpi_coll_reduce_fun = (int (*)(void *buf, void *rbuf, int count, MPI_Datatype datatype, \
- MPI_Op op, int root, MPI_Comm comm))
- mpi_coll_reduce_description[reduce_id].coll;
-
- int reduce_scatter_id = find_coll_description(mpi_coll_reduce_scatter_description,
- sg_cfg_get_string("smpi/reduce_scatter"));
- mpi_coll_reduce_scatter_fun = (int (*)(void *sbuf, void *rbuf, int *rcounts,\
- MPI_Datatype dtype,MPI_Op op,MPI_Comm comm))
- mpi_coll_reduce_scatter_description[reduce_scatter_id].coll;
+ sg_cfg_get_string("smpi/reduce"));
+ mpi_coll_reduce_fun = (int (*)(void *buf, void *rbuf, int count,
+ MPI_Datatype datatype, MPI_Op op,
+ int root, MPI_Comm comm))
+ mpi_coll_reduce_description[reduce_id].coll;
+
+ int reduce_scatter_id =
+ find_coll_description(mpi_coll_reduce_scatter_description,
+ sg_cfg_get_string("smpi/reduce_scatter"));
+ mpi_coll_reduce_scatter_fun = (int (*)(void *sbuf, void *rbuf, int *rcounts,
+ MPI_Datatype dtype, MPI_Op op,
+ MPI_Comm comm))
+ mpi_coll_reduce_scatter_description[reduce_scatter_id].coll;
int scatter_id = find_coll_description(mpi_coll_scatter_description,
- sg_cfg_get_string("smpi/scatter"));
- mpi_coll_scatter_fun = (int (*)(void *sendbuf, int sendcount, MPI_Datatype sendtype,\
- void *recvbuf, int recvcount, MPI_Datatype recvtype,\
- int root, MPI_Comm comm))
- mpi_coll_scatter_description[scatter_id].coll;
+ sg_cfg_get_string("smpi/scatter"));
+ mpi_coll_scatter_fun = (int (*)(void *sendbuf, int sendcount,
+ MPI_Datatype sendtype, void *recvbuf,
+ int recvcount, MPI_Datatype recvtype,
+ int root, MPI_Comm comm))
+ mpi_coll_scatter_description[scatter_id].coll;
int barrier_id = find_coll_description(mpi_coll_barrier_description,
- sg_cfg_get_string("smpi/barrier"));
+ sg_cfg_get_string("smpi/barrier"));
mpi_coll_barrier_fun = (int (*)(MPI_Comm comm))
- mpi_coll_barrier_description[barrier_id].coll;
+ mpi_coll_barrier_description[barrier_id].coll;
+
+ smpi_cpu_threshold = sg_cfg_get_double("smpi/cpu_threshold");
+ smpi_running_power = sg_cfg_get_double("smpi/running_power");
+ if (smpi_cpu_threshold < 0)
+ smpi_cpu_threshold = DBL_MAX;
smpi_global_init();
#ifdef HAVE_TRACING
int rank = smpi_process_index();
TRACE_smpi_init(rank);
-
TRACE_smpi_computing_init(rank);
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_INIT;
+ TRACE_smpi_collective_in(rank, -1, __FUNCTION__, extra);
+ TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
#endif
smpi_bench_begin();
return MPI_SUCCESS;
int PMPI_Finalize(void)
{
- smpi_process_finalize();
smpi_bench_end();
#ifdef HAVE_TRACING
int rank = smpi_process_index();
- TRACE_smpi_computing_out(rank);
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_FINALIZE;
+ TRACE_smpi_collective_in(rank, -1, __FUNCTION__, extra);
+#endif
+ smpi_process_finalize();
+#ifdef HAVE_TRACING
+ TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
TRACE_smpi_finalize(smpi_process_index());
#endif
smpi_process_destroy();
{
smpi_bench_end();
smpi_process_destroy();
-#ifdef HAVE_TRACING
- int rank = smpi_process_index();
- TRACE_smpi_computing_out(rank);
-#endif
// FIXME: should kill all processes in comm instead
simcall_process_kill(SIMIX_process_self());
return MPI_SUCCESS;
double PMPI_Wtime(void)
{
double time;
- time = SIMIX_get_clock();
+ if (smpi_process_initialized() && !smpi_process_finalized() && !smpi_process_get_sampling()) {
+ smpi_bench_end();
+ time = SIMIX_get_clock();
+ smpi_bench_begin();
+ } else {
+ time = SIMIX_get_clock();
+ }
return time;
}
newsize = oldsize - n;
*newgroup = smpi_group_new(newsize);
- int* to_exclude=xbt_new(int, smpi_group_size(group));
+ int* to_exclude=xbt_new0(int, smpi_group_size(group));
for(i=0; i<oldsize; i++)
to_exclude[i]=0;
for(i=0; i<n; i++)
#ifdef HAVE_TRACING
int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
int src_traced = smpi_group_index(smpi_comm_group(comm), src);
- TRACE_smpi_ptp_in(rank, src_traced, rank, __FUNCTION__, count*smpi_datatype_size(datatype));
+
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_IRECV;
+ extra->send_size = count;
+ extra->src = src_traced;
+ extra->dst = rank;
+ extra->datatype1 = encode_datatype(datatype);
+ TRACE_smpi_ptp_in(rank, src_traced, rank, __FUNCTION__, extra);
#endif
*request = smpi_mpi_irecv(buf, count, datatype, src, tag, comm);
#ifdef HAVE_TRACING
int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
- TRACE_smpi_computing_out(rank);
int dst_traced = smpi_group_index(smpi_comm_group(comm), dst);
- TRACE_smpi_ptp_in(rank, rank, dst_traced, __FUNCTION__, count*smpi_datatype_size(datatype));
+
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_ISEND;
+ extra->send_size = count;
+ extra->src = rank;
+ extra->dst = dst_traced;
+ extra->datatype1 = encode_datatype(datatype);
+ TRACE_smpi_ptp_in(rank, rank, dst_traced, __FUNCTION__, extra);
TRACE_smpi_send(rank, rank, dst_traced, count*smpi_datatype_size(datatype));
#endif
#ifdef HAVE_TRACING
TRACE_smpi_ptp_out(rank, rank, dst_traced, __FUNCTION__);
(*request)->send = 1;
- TRACE_smpi_computing_in(rank);
#endif
}
#ifdef HAVE_TRACING
int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
- TRACE_smpi_computing_out(rank);
int dst_traced = smpi_group_index(smpi_comm_group(comm), dst);
- TRACE_smpi_ptp_in(rank, rank, dst_traced, __FUNCTION__, count*smpi_datatype_size(datatype));
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_ISSEND;
+ extra->send_size = count;
+ extra->src = rank;
+ extra->dst = dst_traced;
+ extra->datatype1 = encode_datatype(datatype);
+ TRACE_smpi_ptp_in(rank, rank, dst_traced, __FUNCTION__, extra);
TRACE_smpi_send(rank, rank, dst_traced, count*smpi_datatype_size(datatype));
#endif
#ifdef HAVE_TRACING
TRACE_smpi_ptp_out(rank, rank, dst_traced, __FUNCTION__);
(*request)->send = 1;
- TRACE_smpi_computing_in(rank);
#endif
}
#ifdef HAVE_TRACING
int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
int src_traced = smpi_group_index(smpi_comm_group(comm), src);
- TRACE_smpi_computing_out(rank);
- TRACE_smpi_ptp_in(rank, src_traced, rank, __FUNCTION__, count*smpi_datatype_size(datatype));
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_RECV;
+ extra->send_size = count;
+ extra->src = src_traced;
+ extra->dst = rank;
+ extra->datatype1 = encode_datatype(datatype);
+ TRACE_smpi_ptp_in(rank, src_traced, rank, __FUNCTION__, extra);
#endif
smpi_mpi_recv(buf, count, datatype, src, tag, comm, status);
#ifdef HAVE_TRACING
//the src may not have been known at the beginning of the recv (MPI_ANY_SOURCE)
- if(status!=MPI_STATUS_IGNORE)src_traced = smpi_group_index(smpi_comm_group(comm), status->MPI_SOURCE);
+ if(status!=MPI_STATUS_IGNORE){
+ src_traced = smpi_group_index(smpi_comm_group(comm), status->MPI_SOURCE);
+ TRACE_smpi_recv(rank, src_traced, rank);
+ }
TRACE_smpi_ptp_out(rank, src_traced, rank, __FUNCTION__);
- TRACE_smpi_recv(rank, src_traced, rank);
- TRACE_smpi_computing_in(rank);
#endif
}
#ifdef HAVE_TRACING
int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
- TRACE_smpi_computing_out(rank);
int dst_traced = smpi_group_index(smpi_comm_group(comm), dst);
- TRACE_smpi_ptp_in(rank, rank, dst_traced, __FUNCTION__, count*smpi_datatype_size(datatype));
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_SEND;
+ extra->send_size = count;
+ extra->src = rank;
+ extra->dst = dst_traced;
+ extra->datatype1 = encode_datatype(datatype);
+ TRACE_smpi_ptp_in(rank, rank, dst_traced, __FUNCTION__, extra);
TRACE_smpi_send(rank, rank, dst_traced,count*smpi_datatype_size(datatype));
#endif
#ifdef HAVE_TRACING
TRACE_smpi_ptp_out(rank, rank, dst_traced, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
}
#ifdef HAVE_TRACING
int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
- TRACE_smpi_computing_out(rank);
int dst_traced = smpi_group_index(smpi_comm_group(comm), dst);
- TRACE_smpi_ptp_in(rank, rank, dst_traced, __FUNCTION__, count*smpi_datatype_size(datatype));
- TRACE_smpi_send(rank, rank, dst_traced,count*smpi_datatype_size(datatype));
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_SSEND;
+ extra->send_size = count;
+ extra->src = rank;
+ extra->dst = dst_traced;
+ extra->datatype1 = encode_datatype(datatype);
+ TRACE_smpi_ptp_in(rank, rank, dst_traced, __FUNCTION__, extra); TRACE_smpi_send(rank, rank, dst_traced,count*smpi_datatype_size(datatype));
#endif
smpi_mpi_ssend(buf, count, datatype, dst, tag, comm);
#ifdef HAVE_TRACING
TRACE_smpi_ptp_out(rank, rank, dst_traced, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
}
#ifdef HAVE_TRACING
int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
- TRACE_smpi_computing_out(rank);
int dst_traced = smpi_group_index(smpi_comm_group(comm), dst);
int src_traced = smpi_group_index(smpi_comm_group(comm), src);
- TRACE_smpi_ptp_in(rank, src_traced, dst_traced, __FUNCTION__, sendcount*smpi_datatype_size(sendtype));
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_SENDRECV;
+ extra->send_size = sendcount;
+ extra->recv_size = recvcount;
+ extra->src = src_traced;
+ extra->dst = dst_traced;
+ extra->datatype1 = encode_datatype(sendtype);
+ extra->datatype2 = encode_datatype(recvtype);
+
+ TRACE_smpi_ptp_in(rank, src_traced, dst_traced, __FUNCTION__, extra);
TRACE_smpi_send(rank, rank, dst_traced,sendcount*smpi_datatype_size(sendtype));
#endif
#ifdef HAVE_TRACING
TRACE_smpi_ptp_out(rank, src_traced, dst_traced, __FUNCTION__);
TRACE_smpi_recv(rank, src_traced, rank);
- TRACE_smpi_computing_in(rank);
#endif
}
retval = MPI_ERR_COUNT;
} else {
int size = smpi_datatype_get_extent(datatype) * count;
- recvbuf = xbt_new(char, size);
+ recvbuf = xbt_new0(char, size);
retval =
MPI_Sendrecv(buf, count, datatype, dst, sendtag, recvbuf, count,
datatype, src, recvtag, comm, status);
int rank = request && (*request)->comm != MPI_COMM_NULL
? smpi_process_index()
: -1;
- TRACE_smpi_computing_out(rank);
int src_traced = (*request)->src;
int dst_traced = (*request)->dst;
MPI_Comm comm = (*request)->comm;
int is_wait_for_receive = (*request)->recv;
- TRACE_smpi_ptp_in(rank, src_traced, dst_traced, __FUNCTION__,-1);
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_WAIT;
+ TRACE_smpi_ptp_in(rank, src_traced, dst_traced, __FUNCTION__, extra);
#endif
smpi_mpi_wait(request, status);
src_traced;
TRACE_smpi_recv(rank, src_traced, dst_traced);
}
- TRACE_smpi_computing_in(rank);
#endif
}
int PMPI_Waitany(int count, MPI_Request requests[], int *index, MPI_Status * status)
{
- int retval = 0;
+ if (index == NULL)
+ return MPI_ERR_ARG;
smpi_bench_end();
#ifdef HAVE_TRACING
//save requests information for tracing
int i;
- int *srcs = xbt_new(int, count);
- int *dsts = xbt_new(int, count);
- int *recvs = xbt_new(int, count);
- MPI_Comm *comms = xbt_new(MPI_Comm, count);
+ int *srcs = xbt_new0(int, count);
+ int *dsts = xbt_new0(int, count);
+ int *recvs = xbt_new0(int, count);
+ MPI_Comm *comms = xbt_new0(MPI_Comm, count);
for (i = 0; i < count; i++) {
MPI_Request req = requests[i]; //already received requests are no longer valid
}
}
int rank_traced = smpi_process_index();
- TRACE_smpi_computing_out(rank_traced);
-
- TRACE_smpi_ptp_in(rank_traced, -1, -1, __FUNCTION__,count);
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_WAITANY;
+ extra->send_size=count;
+ TRACE_smpi_ptp_in(rank_traced, -1, -1, __FUNCTION__,extra);
#endif
- if (index == NULL) {
- retval = MPI_ERR_ARG;
- } else {
- *index = smpi_mpi_waitany(count, requests, status);
- retval = MPI_SUCCESS;
- }
+ *index = smpi_mpi_waitany(count, requests, status);
#ifdef HAVE_TRACING
if(*index!=MPI_UNDEFINED){
int src_traced = srcs[*index];
xbt_free(comms);
}
- TRACE_smpi_computing_in(rank_traced);
#endif
smpi_bench_begin();
- return retval;
+ return MPI_SUCCESS;
}
int PMPI_Waitall(int count, MPI_Request requests[], MPI_Status status[])
#ifdef HAVE_TRACING
//save information from requests
int i;
- int *srcs = xbt_new(int, count);
- int *dsts = xbt_new(int, count);
- int *recvs = xbt_new(int, count);
- int *valid = xbt_new(int, count);
- MPI_Comm *comms = xbt_new(MPI_Comm, count);
+ int *srcs = xbt_new0(int, count);
+ int *dsts = xbt_new0(int, count);
+ int *recvs = xbt_new0(int, count);
+ int *valid = xbt_new0(int, count);
+ MPI_Comm *comms = xbt_new0(MPI_Comm, count);
//int valid_count = 0;
for (i = 0; i < count; i++) {
}
}
int rank_traced = smpi_process_index();
- TRACE_smpi_computing_out(rank_traced);
-
- TRACE_smpi_ptp_in(rank_traced, -1, -1, __FUNCTION__,count);
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_WAITALL;
+ extra->send_size=count;
+ TRACE_smpi_ptp_in(rank_traced, -1, -1, __FUNCTION__,extra);
#endif
int retval = smpi_mpi_waitall(count, requests, status);
#ifdef HAVE_TRACING
xbt_free(valid);
xbt_free(comms);
- TRACE_smpi_computing_in(rank_traced);
#endif
smpi_bench_begin();
return retval;
} else {
#ifdef HAVE_TRACING
int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
- TRACE_smpi_computing_out(rank);
int root_traced = smpi_group_index(smpi_comm_group(comm), root);
- TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__, count*smpi_datatype_size(datatype));
+
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_BCAST;
+ extra->send_size = count;
+ extra->root = root_traced;
+ extra->datatype1 = encode_datatype(datatype);
+ TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__, extra);
+
#endif
mpi_coll_bcast_fun(buf, count, datatype, root, comm);
retval = MPI_SUCCESS;
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, root_traced, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
}
} else {
#ifdef HAVE_TRACING
int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
- TRACE_smpi_computing_out(rank);
- TRACE_smpi_collective_in(rank, -1, __FUNCTION__, smpi_comm_size(comm));
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_BARRIER;
+ TRACE_smpi_collective_in(rank, -1, __FUNCTION__, extra);
#endif
mpi_coll_barrier_fun(comm);
retval = MPI_SUCCESS;
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
}
}
#ifdef HAVE_TRACING
int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
- TRACE_smpi_computing_out(rank);
int root_traced = smpi_group_index(smpi_comm_group(comm), root);
- TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__,sendcount*smpi_datatype_size(sendtmptype));
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_GATHER;
+ extra->send_size = sendtmpcount;
+ extra->recv_size = recvcount;
+ extra->root = root_traced;
+ extra->datatype1 = encode_datatype(sendtmptype);
+ extra->datatype2 = encode_datatype(recvtype);
+
+ TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__, extra);
#endif
mpi_coll_gather_fun(sendtmpbuf, sendtmpcount, sendtmptype, recvbuf, recvcount,
recvtype, root, comm);
retval = MPI_SUCCESS;
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, root_traced, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
}
#ifdef HAVE_TRACING
int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
- TRACE_smpi_computing_out(rank);
int root_traced = smpi_group_index(smpi_comm_group(comm), root);
- TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__,sendcount*smpi_datatype_size(sendtmptype));
+ int i=0;
+ int size = smpi_comm_size(comm);
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_GATHERV;
+ extra->send_size = sendtmpcount;
+ extra->recvcounts= xbt_malloc(size*sizeof(int));
+ for(i=0; i< size; i++)//copy data to avoid bad free
+ extra->recvcounts[i] = recvcounts[i];
+ extra->num_processes = size;
+ extra->root = root_traced;
+ extra->datatype1 = encode_datatype(sendtmptype);
+ extra->datatype2 = encode_datatype(recvtype);
+
+ TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__,extra);
#endif
smpi_mpi_gatherv(sendtmpbuf, sendtmpcount, sendtmptype, recvbuf, recvcounts,
displs, recvtype, root, comm);
retval = MPI_SUCCESS;
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, root_traced, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
}
}
#ifdef HAVE_TRACING
int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
- TRACE_smpi_computing_out(rank);
- TRACE_smpi_collective_in(rank, -1, __FUNCTION__,sendcount*smpi_datatype_size(sendtype));
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_ALLGATHER;
+ extra->send_size = sendcount;
+ extra->recv_size = recvcount;
+ extra->datatype1 = encode_datatype(sendtype);
+ extra->datatype2 = encode_datatype(recvtype);
+
+ TRACE_smpi_collective_in(rank, -1, __FUNCTION__, extra);
#endif
mpi_coll_allgather_fun(sendbuf, sendcount, sendtype, recvbuf, recvcount,
recvtype, comm);
}
#ifdef HAVE_TRACING
int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
- TRACE_smpi_computing_out(rank);
- TRACE_smpi_collective_in(rank, -1, __FUNCTION__,sendcount*smpi_datatype_size(sendtype));
+ int i=0;
+ int size = smpi_comm_size(comm);
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_ALLGATHERV;
+ extra->send_size = sendcount;
+ extra->recvcounts= xbt_malloc(size*sizeof(int));
+ for(i=0; i< size; i++)//copy data to avoid bad free
+ extra->recvcounts[i] = recvcounts[i];
+ extra->num_processes = size;
+ extra->datatype1 = encode_datatype(sendtype);
+ extra->datatype2 = encode_datatype(recvtype);
+
+ TRACE_smpi_collective_in(rank, -1, __FUNCTION__,extra);
#endif
mpi_coll_allgatherv_fun(sendbuf, sendcount, sendtype, recvbuf, recvcounts,
displs, recvtype, comm);
retval = MPI_SUCCESS;
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
}
}
#ifdef HAVE_TRACING
int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
- TRACE_smpi_computing_out(rank);
int root_traced = smpi_group_index(smpi_comm_group(comm), root);
-
- TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__,sendcount*smpi_datatype_size(recvtype));
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_SCATTER;
+ extra->send_size = sendcount;
+ extra->recv_size= recvcount;
+ extra->root = root_traced;
+ extra->datatype1 = encode_datatype(sendtype);
+ extra->datatype2 = encode_datatype(recvtype);
+
+ TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__,extra);
#endif
mpi_coll_scatter_fun(sendbuf, sendcount, sendtype, recvbuf, recvcount,
recvtype, root, comm);
retval = MPI_SUCCESS;
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, root_traced, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
}
}
#ifdef HAVE_TRACING
int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
- TRACE_smpi_computing_out(rank);
int root_traced = smpi_group_index(smpi_comm_group(comm), root);
- int count=0, i;
- for(i=0; i<smpi_comm_size(comm);i++)count+=sendcounts[i];
- TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__, count*smpi_datatype_size(sendtype));
+ int i=0;
+ int size = smpi_comm_size(comm);
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_SCATTERV;
+ extra->recv_size = recvcount;
+ extra->sendcounts= xbt_malloc(size*sizeof(int));
+ for(i=0; i< size; i++)//copy data to avoid bad free
+ extra->sendcounts[i] = sendcounts[i];
+ extra->num_processes = size;
+ extra->root = root_traced;
+ extra->datatype1 = encode_datatype(sendtype);
+ extra->datatype2 = encode_datatype(recvtype);
+
+ TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__,extra);
+
#endif
smpi_mpi_scatterv(sendbuf, sendcounts, displs, sendtype, recvbuf,
recvcount, recvtype, root, comm);
retval = MPI_SUCCESS;
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, root_traced, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
}
} else {
#ifdef HAVE_TRACING
int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
- TRACE_smpi_computing_out(rank);
int root_traced = smpi_group_index(smpi_comm_group(comm), root);
- TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__, count*smpi_datatype_size(datatype));
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_REDUCE;
+ extra->send_size = count;
+ extra->datatype1 = encode_datatype(datatype);
+ extra->root = root_traced;
+
+ TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__,extra);
#endif
mpi_coll_reduce_fun(sendbuf, recvbuf, count, datatype, op, root, comm);
retval = MPI_SUCCESS;
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, root_traced, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
}
}
#ifdef HAVE_TRACING
int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
- TRACE_smpi_computing_out(rank);
- TRACE_smpi_collective_in(rank, -1, __FUNCTION__, count*smpi_datatype_size(datatype));
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_ALLREDUCE;
+ extra->send_size = count;
+ extra->datatype1 = encode_datatype(datatype);
+
+ TRACE_smpi_collective_in(rank, -1, __FUNCTION__,extra);
#endif
mpi_coll_allreduce_fun(sendtmpbuf, recvbuf, count, datatype, op, comm);
retval = MPI_SUCCESS;
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
}
} else {
#ifdef HAVE_TRACING
int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
- TRACE_smpi_computing_out(rank);
- TRACE_smpi_collective_in(rank, -1, __FUNCTION__, count*smpi_datatype_size(datatype));
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_SCAN;
+ extra->send_size = count;
+ extra->datatype1 = encode_datatype(datatype);
+
+ TRACE_smpi_collective_in(rank, -1, __FUNCTION__,extra);
#endif
smpi_mpi_scan(sendbuf, recvbuf, count, datatype, op, comm);
retval = MPI_SUCCESS;
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
}
} else {
#ifdef HAVE_TRACING
int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
- TRACE_smpi_computing_out(rank);
- TRACE_smpi_collective_in(rank, -1, __FUNCTION__, count*smpi_datatype_size(datatype));
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_EXSCAN;
+ extra->send_size = count;
+ extra->datatype1 = encode_datatype(datatype);
+
+ TRACE_smpi_collective_in(rank, -1, __FUNCTION__,extra);
#endif
smpi_mpi_exscan(sendbuf, recvbuf, count, datatype, op, comm);
retval = MPI_SUCCESS;
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
}
} else {
#ifdef HAVE_TRACING
int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
- TRACE_smpi_computing_out(rank);
- int count=0, i;
- for(i=0; i<smpi_comm_size(comm);i++)count+=recvcounts[i];
- TRACE_smpi_collective_in(rank, -1, __FUNCTION__, count*smpi_datatype_size(datatype));
+ int i=0;
+ int size = smpi_comm_size(comm);
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_REDUCE_SCATTER;
+ extra->send_size = 0;
+ extra->recvcounts= xbt_malloc(size*sizeof(int));
+ for(i=0; i< size; i++)//copy data to avoid bad free
+ extra->recvcounts[i] = recvcounts[i];
+ extra->num_processes = size;
+ extra->datatype1 = encode_datatype(datatype);
+
+ TRACE_smpi_collective_in(rank, -1, __FUNCTION__,extra);
#endif
void* sendtmpbuf=sendbuf;
if(sendbuf==MPI_IN_PLACE){
retval = MPI_SUCCESS;
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
}
} else if (recvcount < 0) {
retval = MPI_ERR_ARG;
} else {
+ int count=smpi_comm_size(comm);
+
#ifdef HAVE_TRACING
int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
- TRACE_smpi_computing_out(rank);
- TRACE_smpi_collective_in(rank, -1, __FUNCTION__, recvcount*smpi_comm_size(comm)*smpi_datatype_size(datatype));
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_REDUCE_SCATTER;
+ extra->send_size = 0;
+ extra->recvcounts= xbt_malloc(count*sizeof(int));
+ for(i=0; i< count; i++)//copy data to avoid bad free
+ extra->recvcounts[i] = recvcount;
+ extra->num_processes = count;
+ extra->datatype1 = encode_datatype(datatype);
+
+ TRACE_smpi_collective_in(rank, -1, __FUNCTION__,extra);
#endif
- int count=smpi_comm_size(comm);
int* recvcounts=(int*)xbt_malloc(count);
for (i=0; i<count;i++)recvcounts[i]=recvcount;
mpi_coll_reduce_scatter_fun(sendbuf, recvbuf, recvcounts,
retval = MPI_SUCCESS;
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
}
} else {
#ifdef HAVE_TRACING
int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
- TRACE_smpi_computing_out(rank);
- TRACE_smpi_collective_in(rank, -1, __FUNCTION__, sendcount*smpi_datatype_size(sendtype));
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_ALLTOALL;
+ extra->send_size = sendcount;
+ extra->recv_size = recvcount;
+ extra->datatype1 = encode_datatype(sendtype);
+ extra->datatype2 = encode_datatype(recvtype);
+
+ TRACE_smpi_collective_in(rank, -1, __FUNCTION__,extra);
#endif
retval = mpi_coll_alltoall_fun(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, comm);
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
}
} else {
#ifdef HAVE_TRACING
int rank = comm != MPI_COMM_NULL ? smpi_process_index() : -1;
- TRACE_smpi_computing_out(rank);
- int i, size=0;
- for(i=0; i< smpi_comm_size(comm);i++)size+=sendcounts[i];
- TRACE_smpi_collective_in(rank, -1, __FUNCTION__, size*smpi_datatype_size(sendtype));
+ int i=0;
+ int size = smpi_comm_size(comm);
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_ALLTOALLV;
+ extra->send_size = 0;
+ extra->recv_size = 0;
+ extra->recvcounts= xbt_malloc(size*sizeof(int));
+ extra->sendcounts= xbt_malloc(size*sizeof(int));
+
+ for(i=0; i< size; i++){//copy data to avoid bad free
+ extra->send_size += sendcounts[i];
+ extra->recv_size += recvcounts[i];
+
+ extra->sendcounts[i] = sendcounts[i];
+ extra->recvcounts[i] = recvcounts[i];
+ }
+ extra->num_processes = size;
+
+ extra->datatype1 = encode_datatype(sendtype);
+ extra->datatype2 = encode_datatype(recvtype);
+
+ TRACE_smpi_collective_in(rank, -1, __FUNCTION__,extra);
#endif
retval =
mpi_coll_alltoallv_fun(sendbuf, sendcounts, senddisps, sendtype,
comm);
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
}
}
}
-typedef struct {
- xbt_dynar_t irecvs; /* of MPI_Request */
-} s_smpi_replay_globals_t, *smpi_replay_globals_t;
-
-
/* Helper function */
static double parse_double(const char *string)
{
return MPI_CURRENT_TYPE;
}
+
+const char* encode_datatype(MPI_Datatype datatype)
+{
+
+ //default type for output is set to MPI_BYTE
+ // MPI_DEFAULT_TYPE is not set for output, use directly MPI_BYTE
+ if (datatype==MPI_BYTE){
+ return "";
+ }
+ if(datatype==MPI_DOUBLE)
+ return "0";
+ if(datatype==MPI_INT)
+ return "1";
+ if(datatype==MPI_CHAR)
+ return "2";
+ if(datatype==MPI_SHORT)
+ return "3";
+ if(datatype==MPI_LONG)
+ return "4";
+ if(datatype==MPI_FLOAT)
+ return "5";
+
+ // default - not implemented.
+ // do not warn here as we pass in this function even for other trace formats
+ return "-1";
+}
+
static void action_init(const char *const *action)
{
int i;
XBT_DEBUG("Initialize the counters");
- smpi_replay_globals_t globals = xbt_new(s_smpi_replay_globals_t, 1);
- globals->irecvs = xbt_dynar_new(sizeof(MPI_Request),NULL);
if(action[2]) MPI_DEFAULT_TYPE= MPI_DOUBLE; // default MPE dataype
else MPI_DEFAULT_TYPE= MPI_BYTE; // default TAU datatype
- smpi_process_set_user_data((void*) globals);
-
/* start a simulated timer */
smpi_process_simulated_start();
/*initialize the number of active processes */
reqq=xbt_new0(xbt_dynar_t,active_processes);
for(i=0;i<active_processes;i++){
- reqq[i]=xbt_dynar_new(sizeof(MPI_Request),NULL);
+ reqq[i]=xbt_dynar_new(sizeof(MPI_Request),&xbt_free_ref);
}
}
}
static void action_finalize(const char *const *action)
{
- smpi_replay_globals_t globals =
- (smpi_replay_globals_t) smpi_process_get_user_data();
- if (globals){
- XBT_DEBUG("There are %lu irecvs in the dynar",
- xbt_dynar_length(globals->irecvs));
- xbt_dynar_free_container(&(globals->irecvs));
- }
- free(globals);
}
static void action_comm_size(const char *const *action)
static void action_compute(const char *const *action)
{
double clock = smpi_process_simulated_elapsed();
- smpi_execute_flops(parse_double(action[2]));
+ double flops= parse_double(action[2]);
+#ifdef HAVE_TRACING
+ int rank = smpi_comm_rank(MPI_COMM_WORLD);
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type=TRACING_COMPUTING;
+ extra->comp_size=flops;
+ TRACE_smpi_computing_in(rank, extra);
+#endif
+ smpi_execute_flops(flops);
+#ifdef HAVE_TRACING
+ TRACE_smpi_computing_out(rank);
+#endif
log_timed_action (action, clock);
}
#ifdef HAVE_TRACING
int rank = smpi_comm_rank(MPI_COMM_WORLD);
- TRACE_smpi_computing_out(rank);
+
int dst_traced = smpi_group_rank(smpi_comm_group(MPI_COMM_WORLD), to);
- TRACE_smpi_ptp_in(rank, rank, dst_traced, __FUNCTION__, size*smpi_datatype_size(MPI_CURRENT_TYPE));
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_SEND;
+ extra->send_size = size;
+ extra->src = rank;
+ extra->dst = dst_traced;
+ extra->datatype1 = encode_datatype(MPI_CURRENT_TYPE);
+ TRACE_smpi_ptp_in(rank, rank, dst_traced, __FUNCTION__, extra);
TRACE_smpi_send(rank, rank, dst_traced, size*smpi_datatype_size(MPI_CURRENT_TYPE));
#endif
#ifdef HAVE_TRACING
TRACE_smpi_ptp_out(rank, rank, dst_traced, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
}
#ifdef HAVE_TRACING
int rank = smpi_comm_rank(MPI_COMM_WORLD);
- TRACE_smpi_computing_out(rank);
int dst_traced = smpi_group_rank(smpi_comm_group(MPI_COMM_WORLD), to);
- TRACE_smpi_ptp_in(rank, rank, dst_traced, __FUNCTION__, size*smpi_datatype_size(MPI_CURRENT_TYPE));
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_ISEND;
+ extra->send_size = size;
+ extra->src = rank;
+ extra->dst = dst_traced;
+ extra->datatype1 = encode_datatype(MPI_CURRENT_TYPE);
+ TRACE_smpi_ptp_in(rank, rank, dst_traced, __FUNCTION__, extra);
TRACE_smpi_send(rank, rank, dst_traced, size*smpi_datatype_size(MPI_CURRENT_TYPE));
#endif
#ifdef HAVE_TRACING
TRACE_smpi_ptp_out(rank, rank, dst_traced, __FUNCTION__);
request->send = 1;
- TRACE_smpi_computing_in(rank);
#endif
xbt_dynar_push(reqq[smpi_comm_rank(MPI_COMM_WORLD)],&request);
#ifdef HAVE_TRACING
int rank = smpi_comm_rank(MPI_COMM_WORLD);
int src_traced = smpi_group_rank(smpi_comm_group(MPI_COMM_WORLD), from);
- TRACE_smpi_computing_out(rank);
- TRACE_smpi_ptp_in(rank, src_traced, rank, __FUNCTION__, size*smpi_datatype_size(MPI_CURRENT_TYPE));
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_RECV;
+ extra->send_size = size;
+ extra->src = src_traced;
+ extra->dst = rank;
+ extra->datatype1 = encode_datatype(MPI_CURRENT_TYPE);
+ TRACE_smpi_ptp_in(rank, src_traced, rank, __FUNCTION__, extra);
#endif
smpi_mpi_recv(NULL, size, MPI_CURRENT_TYPE, from, 0, MPI_COMM_WORLD, &status);
#ifdef HAVE_TRACING
TRACE_smpi_ptp_out(rank, src_traced, rank, __FUNCTION__);
TRACE_smpi_recv(rank, src_traced, rank);
- TRACE_smpi_computing_in(rank);
#endif
log_timed_action (action, clock);
double clock = smpi_process_simulated_elapsed();
MPI_Request request;
- smpi_replay_globals_t globals =
- (smpi_replay_globals_t) smpi_process_get_user_data();
-
if(action[4]) MPI_CURRENT_TYPE=decode_datatype(action[4]);
else MPI_CURRENT_TYPE= MPI_DEFAULT_TYPE;
#ifdef HAVE_TRACING
int rank = smpi_comm_rank(MPI_COMM_WORLD);
int src_traced = smpi_group_rank(smpi_comm_group(MPI_COMM_WORLD), from);
- TRACE_smpi_ptp_in(rank, src_traced, rank, __FUNCTION__, size*smpi_datatype_size(MPI_CURRENT_TYPE));
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_IRECV;
+ extra->send_size = size;
+ extra->src = src_traced;
+ extra->dst = rank;
+ extra->datatype1 = encode_datatype(MPI_CURRENT_TYPE);
+ TRACE_smpi_ptp_in(rank, src_traced, rank, __FUNCTION__, extra);
#endif
request = smpi_mpi_irecv(NULL, size, MPI_CURRENT_TYPE, from, 0, MPI_COMM_WORLD);
TRACE_smpi_ptp_out(rank, src_traced, rank, __FUNCTION__);
request->recv = 1;
#endif
- xbt_dynar_push(globals->irecvs,&request);
xbt_dynar_push(reqq[smpi_comm_rank(MPI_COMM_WORLD)],&request);
log_timed_action (action, clock);
double clock = smpi_process_simulated_elapsed();
MPI_Request request;
MPI_Status status;
- smpi_replay_globals_t globals =
- (smpi_replay_globals_t) smpi_process_get_user_data();
- xbt_assert(xbt_dynar_length(globals->irecvs),
- "action wait not preceded by any irecv: %s",
+ xbt_assert(xbt_dynar_length(reqq[smpi_comm_rank(MPI_COMM_WORLD)]),
+ "action wait not preceded by any irecv or isend: %s",
xbt_str_join_array(action," "));
- request = xbt_dynar_pop_as(globals->irecvs,MPI_Request);
+ request = xbt_dynar_pop_as(reqq[smpi_comm_rank(MPI_COMM_WORLD)],MPI_Request);
+ xbt_assert(request != NULL, "found null request in reqq");
#ifdef HAVE_TRACING
- int rank = request && request->comm != MPI_COMM_NULL
+ int rank = request->comm != MPI_COMM_NULL
? smpi_comm_rank(request->comm)
: -1;
- TRACE_smpi_computing_out(rank);
MPI_Group group = smpi_comm_group(request->comm);
int src_traced = smpi_group_rank(group, request->src);
int dst_traced = smpi_group_rank(group, request->dst);
int is_wait_for_receive = request->recv;
- TRACE_smpi_ptp_in(rank, src_traced, dst_traced, __FUNCTION__, -1);
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_WAIT;
+ TRACE_smpi_ptp_in(rank, src_traced, dst_traced, __FUNCTION__, extra);
#endif
smpi_mpi_wait(&request, &status);
#ifdef HAVE_TRACING
if (is_wait_for_receive) {
TRACE_smpi_recv(rank, src_traced, dst_traced);
}
- TRACE_smpi_computing_in(rank);
#endif
log_timed_action (action, clock);
}
}
int rank_traced = smpi_process_index();
- TRACE_smpi_computing_out(rank_traced);
-
- TRACE_smpi_ptp_in(rank_traced, -1, -1, __FUNCTION__, count_requests);
- #endif
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_WAITALL;
+ extra->send_size=count_requests;
+ TRACE_smpi_ptp_in(rank_traced, -1, -1, __FUNCTION__,extra);
+ #endif
smpi_mpi_waitall(count_requests, requests, status);
xbt_dynar_free(&srcs);
xbt_dynar_free(&dsts);
xbt_dynar_free(&recvs);
- TRACE_smpi_computing_in(rank_traced);
#endif
- xbt_dynar_reset(reqq[smpi_comm_rank(MPI_COMM_WORLD)]);
+ xbt_dynar_free_container(&(reqq[smpi_comm_rank(MPI_COMM_WORLD)]));
}
log_timed_action (action, clock);
}
double clock = smpi_process_simulated_elapsed();
#ifdef HAVE_TRACING
int rank = smpi_comm_rank(MPI_COMM_WORLD);
- TRACE_smpi_computing_out(rank);
- TRACE_smpi_collective_in(rank, -1, __FUNCTION__, smpi_comm_size(MPI_COMM_WORLD));
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_BARRIER;
+ TRACE_smpi_collective_in(rank, -1, __FUNCTION__, extra);
#endif
smpi_mpi_barrier(MPI_COMM_WORLD);
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
log_timed_action (action, clock);
#ifdef HAVE_TRACING
int rank = smpi_comm_rank(MPI_COMM_WORLD);
- TRACE_smpi_computing_out(rank);
- int root_traced = smpi_group_rank(smpi_comm_group(MPI_COMM_WORLD), 0);
- TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__,size*smpi_datatype_size(MPI_CURRENT_TYPE));
+ int root_traced = smpi_group_index(smpi_comm_group(MPI_COMM_WORLD), root);
+
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_BCAST;
+ extra->send_size = size;
+ extra->root = root_traced;
+ extra->datatype1 = encode_datatype(MPI_CURRENT_TYPE);
+ TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__, extra);
+
#endif
- smpi_mpi_bcast(NULL, size, MPI_CURRENT_TYPE, root, MPI_COMM_WORLD);
+ mpi_coll_bcast_fun(NULL, size, MPI_CURRENT_TYPE, root, MPI_COMM_WORLD);
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, root_traced, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
log_timed_action (action, clock);
#ifdef HAVE_TRACING
int rank = smpi_comm_rank(MPI_COMM_WORLD);
- TRACE_smpi_computing_out(rank);
- int root_traced = smpi_group_rank(smpi_comm_group(MPI_COMM_WORLD), 0);
- TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__,comm_size*smpi_datatype_size(MPI_CURRENT_TYPE));
+ int root_traced = smpi_group_rank(smpi_comm_group(MPI_COMM_WORLD), root);
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_REDUCE;
+ extra->send_size = comm_size;
+ extra->comp_size = comp_size;
+ extra->datatype1 = encode_datatype(MPI_CURRENT_TYPE);
+ extra->root = root_traced;
+
+ TRACE_smpi_collective_in(rank, root_traced, __FUNCTION__,extra);
#endif
mpi_coll_reduce_fun(NULL, NULL, comm_size, MPI_CURRENT_TYPE, MPI_OP_NULL, root, MPI_COMM_WORLD);
smpi_execute_flops(comp_size);
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, root_traced, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
log_timed_action (action, clock);
double clock = smpi_process_simulated_elapsed();
#ifdef HAVE_TRACING
int rank = smpi_comm_rank(MPI_COMM_WORLD);
- TRACE_smpi_computing_out(rank);
- TRACE_smpi_collective_in(rank, -1, __FUNCTION__,comp_size*smpi_datatype_size(MPI_CURRENT_TYPE));
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_ALLREDUCE;
+ extra->send_size = comm_size;
+ extra->comp_size = comp_size;
+ extra->datatype1 = encode_datatype(MPI_CURRENT_TYPE);
+
+ TRACE_smpi_collective_in(rank, -1, __FUNCTION__,extra);
#endif
mpi_coll_reduce_fun(NULL, NULL, comm_size, MPI_CURRENT_TYPE, MPI_OP_NULL, 0, MPI_COMM_WORLD);
smpi_execute_flops(comp_size);
mpi_coll_bcast_fun(NULL, comm_size, MPI_CURRENT_TYPE, 0, MPI_COMM_WORLD);
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
log_timed_action (action, clock);
#ifdef HAVE_TRACING
int rank = smpi_process_index();
- TRACE_smpi_computing_out(rank);
- TRACE_smpi_collective_in(rank, -1, __FUNCTION__,send_size*smpi_datatype_size(MPI_CURRENT_TYPE));
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_ALLTOALL;
+ extra->send_size = send_size;
+ extra->recv_size = recv_size;
+ extra->datatype1 = encode_datatype(MPI_CURRENT_TYPE);
+ extra->datatype2 = encode_datatype(MPI_CURRENT_TYPE2);
+
+ TRACE_smpi_collective_in(rank, -1, __FUNCTION__,extra);
#endif
mpi_coll_alltoall_fun(send, send_size, MPI_CURRENT_TYPE, recv, recv_size, MPI_CURRENT_TYPE2, MPI_COMM_WORLD);
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
log_timed_action (action, clock);
MPI_CURRENT_TYPE2=MPI_DEFAULT_TYPE;
}
void *send = calloc(send_size, smpi_datatype_size(MPI_CURRENT_TYPE));
- void *recv = calloc(recv_size, smpi_datatype_size(MPI_CURRENT_TYPE2));
+ void *recv = NULL;
int root=atoi(action[4]);
int rank = smpi_process_index();
recv = calloc(recv_size*comm_size, smpi_datatype_size(MPI_CURRENT_TYPE2));
#ifdef HAVE_TRACING
- TRACE_smpi_computing_out(rank);
- TRACE_smpi_collective_in(rank, -1, __FUNCTION__,send_size*smpi_datatype_size(MPI_CURRENT_TYPE));
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_GATHER;
+ extra->send_size = send_size;
+ extra->recv_size = recv_size;
+ extra->root = root;
+ extra->datatype1 = encode_datatype(MPI_CURRENT_TYPE);
+ extra->datatype2 = encode_datatype(MPI_CURRENT_TYPE2);
+
+ TRACE_smpi_collective_in(rank, root, __FUNCTION__, extra);
#endif
smpi_mpi_gather(send, send_size, MPI_CURRENT_TYPE,
recv, recv_size, MPI_CURRENT_TYPE2,
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
log_timed_action (action, clock);
}
+
+static void action_gatherv(const char *const *action) {
+ /*
+ The structure of the gatherv action for the rank 0 (total 4 processes)
+ is the following:
+ 0 gather 68 68 10 10 10 0 0 0
+
+ where:
+ 1) 68 is the sendcount
+ 2) 68 10 10 10 is the recvcounts
+ 3) 0 is the root node
+ 4) 0 is the send datatype id, see decode_datatype()
+ 5) 0 is the recv datatype id, see decode_datatype()
+ */
+ double clock = smpi_process_simulated_elapsed();
+ int comm_size = smpi_comm_size(MPI_COMM_WORLD);
+ int send_size = parse_double(action[2]);
+ int *disps = xbt_new0(int, comm_size);
+ int *recvcounts = xbt_new0(int, comm_size);
+ int i=0,recv_sum=0;
+
+ MPI_Datatype MPI_CURRENT_TYPE2;
+ if(action[4+comm_size]) {
+ MPI_CURRENT_TYPE=decode_datatype(action[4+comm_size]);
+ MPI_CURRENT_TYPE2=decode_datatype(action[5+comm_size]);
+ } else {
+ MPI_CURRENT_TYPE=MPI_DEFAULT_TYPE;
+ MPI_CURRENT_TYPE2=MPI_DEFAULT_TYPE;
+ }
+ void *send = calloc(send_size, smpi_datatype_size(MPI_CURRENT_TYPE));
+ void *recv = NULL;
+ for(i=0;i<comm_size;i++) {
+ recvcounts[i] = atoi(action[i+3]);
+ recv_sum=recv_sum+recvcounts[i];
+ disps[i] = 0;
+ }
+
+ int root=atoi(action[3+comm_size]);
+ int rank = smpi_process_index();
+
+ if(rank==root)
+ recv = calloc(recv_sum, smpi_datatype_size(MPI_CURRENT_TYPE2));
+
+#ifdef HAVE_TRACING
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_GATHERV;
+ extra->send_size = send_size;
+ extra->recvcounts= xbt_malloc(comm_size*sizeof(int));
+ for(i=0; i< comm_size; i++)//copy data to avoid bad free
+ extra->recvcounts[i] = recvcounts[i];
+ extra->root = root;
+ extra->num_processes = comm_size;
+ extra->datatype1 = encode_datatype(MPI_CURRENT_TYPE);
+ extra->datatype2 = encode_datatype(MPI_CURRENT_TYPE2);
+
+ TRACE_smpi_collective_in(rank, root, __FUNCTION__, extra);
+#endif
+smpi_mpi_gatherv(send, send_size, MPI_CURRENT_TYPE,
+ recv, recvcounts, disps, MPI_CURRENT_TYPE2,
+ root, MPI_COMM_WORLD);
+
+#ifdef HAVE_TRACING
+ TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
+#endif
+
+ log_timed_action (action, clock);
+ xbt_free(recvcounts);
+ xbt_free(send);
+ xbt_free(recv);
+ xbt_free(disps);
+
+}
+
static void action_reducescatter(const char *const *action) {
/*
}
#ifdef HAVE_TRACING
- TRACE_smpi_computing_out(rank);
- TRACE_smpi_collective_in(rank, -1, __FUNCTION__, recv_sum*smpi_datatype_size(MPI_CURRENT_TYPE));
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_REDUCE_SCATTER;
+ extra->send_size = 0;
+ extra->recvcounts= xbt_malloc(comm_size*sizeof(int));
+ for(i=0; i< comm_size; i++)//copy data to avoid bad free
+ extra->recvcounts[i] = recvcounts[i];
+ extra->datatype1 = encode_datatype(MPI_CURRENT_TYPE);
+ extra->comp_size = comp_size;
+ extra->num_processes = comm_size;
+
+
+ TRACE_smpi_collective_in(rank, -1, __FUNCTION__,extra);
#endif
mpi_coll_reduce_fun(NULL, NULL, recv_sum, MPI_CURRENT_TYPE, MPI_OP_NULL,
root, MPI_COMM_WORLD);
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
-
+ xbt_free(recvcounts);
+ xbt_free(disps);
log_timed_action (action, clock);
}
void *recvbuf = calloc(recv_sum, smpi_datatype_size(MPI_CURRENT_TYPE2));
#ifdef HAVE_TRACING
- int rank = MPI_COMM_WORLD != MPI_COMM_NULL ? smpi_process_index() : -1;
- TRACE_smpi_computing_out(rank);
- TRACE_smpi_collective_in(rank, -1, __FUNCTION__,sendcount*smpi_datatype_size(MPI_CURRENT_TYPE));
+ int rank = smpi_process_index();
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_ALLGATHERV;
+ extra->send_size = sendcount;
+ extra->recvcounts= xbt_malloc(comm_size*sizeof(int));
+ for(i=0; i< comm_size; i++)//copy data to avoid bad free
+ extra->recvcounts[i] = recvcounts[i];
+ extra->datatype1 = encode_datatype(MPI_CURRENT_TYPE);
+ extra->datatype2 = encode_datatype(MPI_CURRENT_TYPE2);
+ extra->num_processes = comm_size;
+
+ TRACE_smpi_collective_in(rank, -1, __FUNCTION__,extra);
#endif
mpi_coll_allgatherv_fun(sendbuf, sendcount, MPI_CURRENT_TYPE, recvbuf, recvcounts, disps, MPI_CURRENT_TYPE2, MPI_COMM_WORLD);
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
log_timed_action (action, clock);
#ifdef HAVE_TRACING
- int rank = MPI_COMM_WORLD != MPI_COMM_NULL ? smpi_process_index() : -1;
- TRACE_smpi_computing_out(rank);
- int count=0;
- for(i=0;i<comm_size;i++) count+=sendcounts[i];
- TRACE_smpi_collective_in(rank, -1, __FUNCTION__,count*smpi_datatype_size(MPI_CURRENT_TYPE));
+ int rank = smpi_process_index();
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_ALLTOALLV;
+ extra->recvcounts= xbt_malloc(comm_size*sizeof(int));
+ extra->sendcounts= xbt_malloc(comm_size*sizeof(int));
+ extra->num_processes = comm_size;
+
+ for(i=0; i< comm_size; i++){//copy data to avoid bad free
+ extra->send_size += sendcounts[i];
+ extra->sendcounts[i] = sendcounts[i];
+ extra->recv_size += recvcounts[i];
+ extra->recvcounts[i] = recvcounts[i];
+ }
+ extra->datatype1 = encode_datatype(MPI_CURRENT_TYPE);
+ extra->datatype2 = encode_datatype(MPI_CURRENT_TYPE2);
+
+ TRACE_smpi_collective_in(rank, -1, __FUNCTION__,extra);
#endif
mpi_coll_alltoallv_fun(sendbuf, sendcounts, senddisps, MPI_CURRENT_TYPE,
recvbuf, recvcounts, recvdisps, MPI_CURRENT_TYPE,
MPI_COMM_WORLD);
#ifdef HAVE_TRACING
TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
- TRACE_smpi_computing_in(rank);
#endif
log_timed_action (action, clock);
}
void smpi_replay_init(int *argc, char***argv){
- PMPI_Init(argc, argv);
+ smpi_process_init(argc, argv);
+ smpi_process_mark_as_initialized();
+#ifdef HAVE_TRACING
+ int rank = smpi_process_index();
+ TRACE_smpi_init(rank);
+ TRACE_smpi_computing_init(rank);
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_INIT;
+ TRACE_smpi_collective_in(rank, -1, __FUNCTION__, extra);
+ TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
+#endif
+
if (!smpi_process_index()){
_xbt_replay_action_init();
xbt_replay_action_register("init", action_init);
xbt_replay_action_register("allToAll", action_allToAll);
xbt_replay_action_register("allToAllV", action_allToAllv);
xbt_replay_action_register("gather", action_gather);
+ xbt_replay_action_register("gatherV", action_gatherv);
xbt_replay_action_register("allGatherV", action_allgatherv);
xbt_replay_action_register("reduceScatter", action_reducescatter);
xbt_replay_action_register("compute", action_compute);
int smpi_replay_finalize(){
double sim_time= 1.;
/* One active process will stop. Decrease the counter*/
- active_processes--;
XBT_DEBUG("There are %lu elements in reqq[*]",
xbt_dynar_length(reqq[smpi_comm_rank(MPI_COMM_WORLD)]));
- xbt_dynar_free(&reqq[smpi_comm_rank(MPI_COMM_WORLD)]);
+ if (!xbt_dynar_is_empty(reqq[smpi_comm_rank(MPI_COMM_WORLD)])){
+ int count_requests=xbt_dynar_length(reqq[smpi_comm_rank(MPI_COMM_WORLD)]);
+ MPI_Request requests[count_requests];
+ MPI_Status status[count_requests];
+ unsigned int i;
+
+ xbt_dynar_foreach(reqq[smpi_comm_rank(MPI_COMM_WORLD)],i,requests[i]);
+ smpi_mpi_waitall(count_requests, requests, status);
+ active_processes--;
+ } else {
+ active_processes--;
+ }
+
+ xbt_dynar_free_container(&(reqq[smpi_comm_rank(MPI_COMM_WORLD)]));
+
if(!active_processes){
/* Last process alive speaking */
/* end the simulated timer */
sim_time = smpi_process_simulated_elapsed();
- XBT_INFO("Simulation time %g", sim_time);
+ XBT_INFO("Simulation time %f", sim_time);
_xbt_replay_action_exit();
xbt_free(reqq);
reqq = NULL;
}
smpi_mpi_barrier(MPI_COMM_WORLD);
- return PMPI_Finalize();
+#ifdef HAVE_TRACING
+ int rank = smpi_process_index();
+ instr_extra_data extra = xbt_new0(s_instr_extra_data_t,1);
+ extra->type = TRACING_FINALIZE;
+ TRACE_smpi_collective_in(rank, -1, __FUNCTION__, extra);
+#endif
+ smpi_process_finalize();
+#ifdef HAVE_TRACING
+ TRACE_smpi_collective_out(rank, -1, __FUNCTION__);
+ TRACE_smpi_finalize(smpi_process_index());
+#endif
+ smpi_process_destroy();
+ return MPI_SUCCESS;
}
-#! /bin/bash
+#! /bin/sh
CC=@CMAKE_C_COMPILER@
INCLUDEARGS="@includeflag@"
CMAKE_LINKARGS="-L@libdir@"
+@SMPITOOLS_SH@
+
+list_set CFLAGS
+list_set LINKARGS
if [ "@WIN32@" != "1" ]; then
- CFLAGS="-Dmain=smpi_simulated_main_"
- LINKARGS="-lsimgrid"
+ list_add CFLAGS "-Dmain=smpi_simulated_main_"
+ list_add LINKARGS "-lsimgrid"
else
- CFLAGS="-include @includedir@/smpi/smpi_main.h"
- LINKARGS="@libdir@\libsimgrid.dll"
+ list_add CFLAGS "-include" "@includedir@/smpi/smpi_main.h"
+ list_add LINKARGS "@libdir@\libsimgrid.dll"
fi
-CMDLINE=""
-while [ -n "$1" ]; do
- ARG="$1"
- shift
- case "${ARG}" in
- -c)
- CMAKE_LINKARGS=""
- LINKARGS=""
- CMDLINE="${CMDLINE} -c "
- ;;
- *.c)
- SRCFILE="$(readlink -f ${ARG} 2>/dev/null)"
- if [ -z $SRCFILE ] ; then
- SRCFILE="$ARG"
- fi
- CMDLINE="${CMDLINE} ${SRCFILE} "
- ;;
- *)
- CMDLINE="${CMDLINE} ${ARG} "
+list_set CMDLINE "${CC}"
+list_add_not_empty CMDLINE "${CFLAGS}"
+while [ $# -gt 0 ]; do
+ ARG="$1"
+ shift
+ case "${ARG}" in
+ -c)
+ CMAKE_LINKARGS=""
+ LINKARGS=""
+ list_add CMDLINE "-c"
+ ;;
+ *.c)
+ SRCFILE="$(readlink -f ${ARG} 2>/dev/null)"
+ if [ -z "$SRCFILE" ] ; then
+ SRCFILE="$ARG"
+ fi
+ list_add CMDLINE "${SRCFILE}"
+ ;;
+ *)
+ list_add CMDLINE "${ARG}"
;;
esac
done
-CMDLINE="${CC} ${CFLAGS} ${CMDLINE} ${INCLUDEARGS} ${CMAKE_LINKARGS} ${LINKARGS}"
+list_add_not_empty CMDLINE ${INCLUDEARGS}
+list_add_not_empty CMDLINE ${CMAKE_LINKARGS}
+list_add_not_empty CMDLINE "${LINKARGS}"
-#echo "${CMDLINE}"
-${CMDLINE}
+eval $(list_get CMDLINE)
+"$@"
-#! /bin/bash
+#! /bin/sh
-CC=gfortran
+F90=@GFORTRAN_EXE@
INCLUDEARGS="@includeflag@"
CMAKE_LINKARGS="-L@libdir@"
-FFLAGS="-ff2c -fno-second-underscore"
-LINKARGS="-lsimgrid -lm -lgfortran"
+@SMPITOOLS_SH@
+
+list_set FFLAGS "-ff2c" "-fno-second-underscore"
+list_set LINKARGS "-lsimgrid" "-lm" "-lgfortran"
+list_set TMPFILES
main_name=main
-declare -a TMPFILES
-trap 'rm -f "${TMPFILES[@]}"' EXIT
-
-CMDLINE=""
-while [ -n "$1" ]; do
- ARG="$1"
- shift
- case "${ARG}" in
- -c)
- CMAKE_LINKARGS=""
- LINKARGS=""
- CMDLINE="${CMDLINE} -c "
- ;;
- *.f90|*.F90)
- TMPFILE=$(mktemp "${ARG}_XXXXXX.f90")
- TMPFILES+=( "${TMPFILE}" )
+cleanup () {
+ eval $(list_get TMPFILES)
+ rm -f "$@"
+}
+trap 'cleanup' EXIT
+
+list_set CMDLINE "${F90}"
+list_add_not_empty CMDLINE "${FFLAGS}"
+while [ $# -gt 0 ]; do
+ ARG="$1"
+ shift
+ case "${ARG}" in
+ -c)
+ CMAKE_LINKARGS=""
+ LINKARGS=""
+ list_add CMDLINE "-c"
+ ;;
+ *.f90|*.F90)
+ TMPFILE=$(mymktemp "${ARG}" ".f90")
+ list_add TMPFILES "${TMPFILE}"
#replace "program main_name by subroutine user\_main (and the end clause as well)"
- sed 's/[[:space:]]*program[[:space:]]*\([a-zA-Z0-9\-\_]*\)/subroutine user\_main /gI;s/[[:space:]]*use[[:space:]]*mpi/\include \"mpif\.h\" /gI' ${ARG} > ${TMPFILE}
- SRCFILE="${TMPFILE}"
- CMDLINE="${CMDLINE} ${SRCFILE} "
- ;;
- *)
- CMDLINE="${CMDLINE} ${ARG} "
- ;;
- esac
+ sed 's/[[:space:]]*program[[:space:]]*\([a-zA-Z0-9\-\_]*\)/subroutine user\_main /gI;s/[[:space:]]*use[[:space:]]*mpi/\include \"mpif\.h\" /gI' "${ARG}" > "${TMPFILE}"
+ SRCFILE="${TMPFILE}"
+ list_add CMDLINE "${SRCFILE}"
+ ;;
+ *)
+ list_add CMDLINE "${ARG}"
+ ;;
+ esac
done
-CMDLINE="${CC} ${FFLAGS} ${CMDLINE} ${INCLUDEARGS} ${CMAKE_LINKARGS} ${LINKARGS}"
+list_add_not_empty CMDLINE ${INCLUDEARGS}
+list_add_not_empty CMDLINE ${CMAKE_LINKARGS}
+list_add_not_empty CMDLINE "${LINKARGS}"
-#echo "${CMDLINE}"
-${CMDLINE}
+eval $(list_get CMDLINE)
+"$@"
-#! /bin/bash
+#! /bin/sh
+
prefix="@exec_prefix@"
+smpicc="$prefix/bin/smpicc"
+smpif2c="$prefix/bin/smpif2c"
+
+@SMPITOOLS_SH@
-ARGS="-DMAIN__=user_main -Diargc_=smpi_process_argc -Dgetarg_=smpi_process_getarg"
-LINKARGS="-lf2c"
-SRCFILES=""
-
-while [ -n "$1" ]; do
- ARG="$1"
- shift
- case "${ARG}" in
- *.f)
- SRCFILE="$(readlink -f ${ARG} 2>/dev/null)"
- if [ -z $SRCFILE ] ; then
- SRCFILE="$ARG"
- fi
- SRCFILES="${SRCFILES} ${SRCFILE}"
- ;;
- *)
- if [ "${ARG}" = "-c" ]; then
- LINKARGS=""
- fi
- ARGS="${ARGS} ${ARG}"
- ;;
- esac
+list_set ARGS "-DMAIN__=user_main" "-Diargc_=smpi_process_argc" "-Dgetarg_=smpi_process_getarg"
+list_set LINKARGS "-L@F2C_LIBRARY_PATH@" "-lf2c" "-lm"
+list_set SRCFILES
+
+while [ $# -gt 0 ]; do
+ ARG="$1"
+ shift
+ case "${ARG}" in
+ *.f)
+ SRCFILE="$(readlink -f ${ARG} 2>/dev/null)"
+ if [ -z "$SRCFILE" ] ; then
+ SRCFILE="$ARG"
+ fi
+ list_add SRCFILES "${SRCFILE}"
+ ;;
+ *)
+ if [ "${ARG}" = "-c" ]; then
+ LINKARGS=""
+ fi
+ list_add ARGS "${ARG}"
+ ;;
+ esac
done
-ARGS="${ARGS} ${LINKARGS}"
-
-if [ -n "${SRCFILES}" ]
-then
- for SRCFILE in "${SRCFILES}"
- do
- TMPFILE=${SRCFILE}\_$RANDOM.f
- cp ${SRCFILE} ${TMPFILE}
- CFILE="${TMPFILE%.f}.c"
- #echo "$prefix/bin/smpif2c ${TMPFILE} && $prefix/bin/smpicc ${ARGS} ${CFILE} && rm ${CFILE} && rm ${TMPFILE}"
- $prefix/bin/smpif2c ${TMPFILE} && $prefix/bin/smpicc ${ARGS} ${CFILE} && rm ${CFILE} && rm ${TMPFILE}
- done
+list_add_not_empty ARGS "${LINKARGS}"
+
+build () {
+ local SRCFILE
+ SRCFILE="$1"
+ TMPFILE=$(mymktemp "${SRCFILE}" ".f")
+ CFILE="${TMPFILE%.f}.c"
+
+ eval $(list_get ARGS)
+
+ cp "${SRCFILE}" "${TMPFILE}" \
+ && "$smpif2c" "${TMPFILE}" \
+ && "$smpicc" "$@" "${CFILE}" \
+ && rm -f "${CFILE}" \
+ && rm -f "${TMPFILE}" \
+ || exit $?
+
+ # When the file is compiled with "-c" and no output file is specified with
+ # "-o", rename the output. FIXME: do it properly.
+ if [ -f "${CFILE%.c}.o" ]; then
+ mv "${CFILE%.c}.o" "${SRCFILE%.f}.o"
+ fi
+}
+
+if [ -n "${SRCFILES}" ]; then
+ eval $(list_get SRCFILES)
+ for SRCFILE in "$@"; do
+ build "$SRCFILE"
+ done
else
- #echo "$prefix/bin/smpicc ${ARGS}"
- $prefix/bin/smpicc ${ARGS}
+ eval $(list_get ARGS)
+ "$smpicc" "$@"
fi
-#!/bin/bash
+#! /bin/sh
@CMAKE_SMPI_COMMAND@
SIMOPTS="--cfg=maxmin/precision:1e-9 --cfg=network/model:SMPI --cfg=network/TCP_gamma:4194304"
#usage to print the way this script should be called
-function usage () {
+usage () {
cat <<EOF
Usage: $0 [OPTIONS] -platform <xmldesc> -hostfile <hostfile> program [program-options]
Options:
-map # display the machine on which each process rank is mapped
-np <numprocs> # use that amount of processes from the hostfile.
# By default, all processes of the hostfile are used.
- -trace # activate tracing
+ -trace-ti # activate time independant tracing (for replay, default in smpi_simgrid.txt)
+ -trace # activate tracing (Paje, default in smpi_simgrid.trace)
-trace-comment <comment> # put a comment on the top of the trace file
-trace-comment-file <file> # put file contents on the top of the trace file as comment
-trace-grouped # group MPI processes by location
EXTOPT=""
WRAPPER=""
+HOSTFILE=""
while true; do
case "$1" in
shift 1
;;
+ "-trace-ti")
+ TRACE_ACTIVE="true"
+ TRACE_TI_ACTIVE="true"
+ shift 1
+ ;;
+
"-trace-comment")
TRACE_COMMENT="$2"
shift 2
<AS id="AS0" routing="Full">
PLATFORMHEAD
-for (( i=${NUMPROCS}; $i ; i=$i-1 )) do
+i=${NUMPROCS}
+while [ $i -gt 0 ]; do
echo " <host id=\"host$i\" power=\"${POWER}\"/>" >> ${PLATFORMTMP}
echo " <link id=\"loop$i\" bandwidth=\"${LOOPBACK_BANDWIDTH}\" latency=\"${LOOPBACK_LATENCY}\"/>" >> ${PLATFORMTMP}
echo " <link id=\"link$i\" bandwidth=\"${NETWORK_BANDWIDTH}\" latency=\"${NETWORK_LATENCY}\"/>" >> ${PLATFORMTMP}
+ i=$((i - 1))
done
-for (( i=${NUMPROCS}; $i ; i=$i-1 )) do
- for (( j=${NUMPROCS}; $j ; j=$j-1 )) do
+i=${NUMPROCS}
+while [ $i -gt 0 ]; do
+ j=${NUMPROCS}
+ while [ $j -gt 0 ]; do
if [ $i -eq $j ]; then
echo " <route src=\"host$i\" dst=\"host$j\"><link_ctn id=\"loop$i\"/></route>" >> ${PLATFORMTMP}
else
echo " <route src=\"host$i\" dst=\"host$j\"><link_ctn id=\"link$i\"/><link_ctn id=\"link$j\"/></route>" >> ${PLATFORMTMP}
fi
+ j=$((j - 1))
done
+ i=$((i - 1))
done
cat >> ${PLATFORMTMP} <<PLATFORMFOOT
##---- cache hostnames of hostfile---------------
if [ -n "${HOSTFILE}" ] && [ -f ${HOSTFILE} ]; then
- hostnames=(`cat ${HOSTFILE} | tr \\\n " "`)
- NUMHOSTS=`cat ${HOSTFILE} | wc -l`
+ hostnames=$(cat ${HOSTFILE} | tr '\n\r' ' ')
+ NUMHOSTS=$(cat ${HOSTFILE} | wc -l)
fi
if [ "${EXTOPT}" = "smpi_replay" ]; then
APP_TRACES=$PROC_ARGS
if [ -n "${APP_TRACES}" ] && [ -f "${APP_TRACES}" ]; then
- hosttraces=(`cat ${APP_TRACES} | tr \\\n " "`)
- NUMTRACES=`cat ${APP_TRACES} | wc -l`
+ hosttraces=$(cat ${APP_TRACES} | tr '\n\r' ' ' )
+ NUMTRACES=$(cat ${APP_TRACES} | wc -l)
else
printf "File not found: %s\n", "${APP_TRACES:-\${APP_TRACES\}}" >&2
exit 1
for i in ${SEQ}
do
if [ -n "${HOSTFILE}" ]; then
- j=$(( $i % ${NUMHOSTS} ))
+ j=$(( $i % ${NUMHOSTS} + 1 ))
fi
##---- optional display of ranks to process mapping
if [ -n "${MAPOPT}" ]; then
- echo "[rank $i] -> ${hostnames[$j]}"
+ echo "[rank $i] -> $(echo $hostnames|cut -d' ' -f$j)"
fi
- if [ -z "${hostnames[$j]}" ]; then
- host="host"$(($j+1))
+ if [ -z "$(echo $hostnames|cut -d' ' -f$j)" ]; then
+ host="host"$($j)
else
- host="${hostnames[$j]}"
+ host="$(echo $hostnames|cut -d' ' -f$j)"
fi
echo " <process host=\"${host}\" function=\"$i\"> <!-- function name used only for logging -->" >> ${APPLICATIONTMP}
echo " <argument value=\"$i\"/> <!-- rank -->" >> ${APPLICATIONTMP}
if [ "${EXTOPT}" = "smpi_replay" ]; then
if [ ${NUMTRACES} -gt 1 ]; then
- echo " <argument value=\"${hosttraces[$j]}\"/>" >> ${APPLICATIONTMP}
+ echo " <argument value=\"$(echo $hosttraces|cut -d' ' -f$j)\"/>" >> ${APPLICATIONTMP}
else
- echo " <argument value=\"${hosttraces[0]}\"/>" >> ${APPLICATIONTMP}
+ echo " <argument value=\"$(echo $hosttraces|cut -d' ' -f1)\"/>" >> ${APPLICATIONTMP}
fi
else
for ARG in $PROC_ARGS; do
##---------------------- SMPI TRACING OPTIONS ---------------------------------
if [ -n "${TRACE_ACTIVE}" ]; then
#define trace filename
- if [ -z "${TRACE_FILENAME}" ]; then
- TRACE_FILENAME="smpi_simgrid.trace"
+ if [ -n "${TRACE_TI_ACTIVE}" ]; then
+ if [ -z "${TRACE_FILENAME}" ]; then
+ TRACE_FILENAME="smpi_simgrid.txt"
+ fi
+ TRACEOPTIONS="--cfg=tracing:yes --cfg=tracing/filename:${TRACE_FILENAME} --cfg=tracing/smpi:yes --cfg=tracing/smpi/format:TI --cfg=tracing/smpi/computing:yes"
+ else
+ if [ -z "${TRACE_FILENAME}" ]; then
+ TRACE_FILENAME="smpi_simgrid.trace"
+ fi
+ TRACEOPTIONS="--cfg=tracing:yes --cfg=tracing/filename:${TRACE_FILENAME} --cfg=tracing/smpi:yes"
fi
- TRACEOPTIONS="--cfg=tracing:1 --cfg=tracing/filename:${TRACE_FILENAME} --cfg=tracing/smpi:1"
if [ -n "${TRACE_COMMENT}" ]; then
TRACEOPTIONS="${TRACEOPTIONS} --cfg=tracing/comment:${TRACE_COMMENT}"
fi
if [ -n "${TRACE_GROUPED}" ]; then
- TRACEOPTIONS="${TRACEOPTIONS} --cfg=tracing/smpi/group:1"
+ TRACEOPTIONS="${TRACEOPTIONS} --cfg=tracing/smpi/group:yes"
fi
if [ -n "${TRACE_RESOURCE}" ]; then
- TRACEOPTIONS="${TRACEOPTIONS} --cfg=tracing/categorized:1 --cfg=tracing/uncategorized:1"
+ TRACEOPTIONS="${TRACEOPTIONS} --cfg=tracing/categorized:yes --cfg=tracing/uncategorized:yes"
fi
if [ -n "${TRACE_VIVA}" ]; then
--- /dev/null
+SAVEIFS="$IFS"
+LISTSEP="$(printf '\b')"
+
+# Create a temporary file, with its name of the form $1_XXX$2, where XXX is
+# replaced by an unique string.
+# $1: prefix, $2: suffix
+mymktemp () {
+ tmp=$(mktemp --suffix="$2" "$1_XXXXXXXXXX" 2> /dev/null)
+ if [ -z "$tmp" ]; then
+ # mktemp failed (unsupported --suffix ?), try unsafe mode
+ tmp=$(mktemp -u "$1_XXXXXXXXXX" 2> /dev/null)
+ if [ -z "$tmp" ]; then
+ # mktemp failed again (doesn't exist ?), try very unsafe mode
+ if [ -z "${mymktemp_seq}" ]; then
+ mymktemp_seq=$(date +%d%H%M%S)
+ fi
+ tmp="$1_$$x${mymktemp_seq}"
+ mymktemp_seq=$((mymktemp_seq + 1))
+ fi
+ tmp="${tmp}$2"
+ # create temp file, and exit if it existed before
+ sh -C -c "true > \"${tmp}\"" || exit 1
+ fi
+ echo "${tmp}"
+}
+
+# Add a word to the end of a list (words separated by LISTSEP)
+# $1: list, $2...: words to add
+list_add () {
+ local list content newcontent
+ list="$1"
+ shift
+ if [ $# -gt 0 ]; then
+ eval content=\"\${$list}\"
+ IFS="$LISTSEP"
+ newcontent="$*"
+ IFS="$SAVEIFS"
+ if [ -z "$content" ]; then
+ content="$newcontent"
+ else
+ content="$content${LISTSEP}$newcontent"
+ fi
+ eval $list=\"\${content}\"
+ fi
+}
+
+# Like list_add, but only if first word to add ($2) is not empty
+list_add_not_empty () {
+ if [ -n "$2" ]; then
+ list_add "$@"
+ fi
+}
+
+# Set contents of a list (words separated by LISTSEP)
+# $1: list, $2...: words to set
+list_set () {
+ eval $1=""
+ list_add "$@"
+}
+
+# Get the content of a list: positional parameters ($1, $2, ...) are set to the
+# content of the list
+# $1: list
+# usage: eval $(list_get list)
+list_get () {
+ printf 'IFS="$LISTSEP"; eval set -- \\$%s; IFS="$SAVEIFS"' "$1"
+}
free(sys);
}
-XBT_INLINE void lmm_variable_disable(lmm_system_t sys, lmm_variable_t var)
+static XBT_INLINE void lmm_variable_disable(lmm_system_t sys, lmm_variable_t var)
{
int i;
int n;
static int factor_cmp(const void *pa, const void *pb)
{
- return (((s_smpi_factor_t*)pa)->factor > ((s_smpi_factor_t*)pb)->factor);
+ return (((s_smpi_factor_t*)pa)->factor > ((s_smpi_factor_t*)pb)->factor) ? 1 :
+ (((s_smpi_factor_t*)pa)->factor < ((s_smpi_factor_t*)pb)->factor) ? -1 : 0;
}
return ((storage_t)storage_resource)->size;
}
+static void storage_file_rename(void *storage, const char *src, const char *dest)
+{
+ void *storage_resource = surf_storage_resource_priv(storage);
+
+ sg_storage_size_t *psize, *new_psize;
+ psize = (sg_storage_size_t*) xbt_dict_get_or_null(((storage_t)storage_resource)->content,src);
+ new_psize = xbt_new(sg_storage_size_t, 1);
+ *new_psize = *psize;
+ if (psize){// src file exists
+ xbt_dict_remove(((storage_t)storage_resource)->content, src);
+ xbt_dict_set(((storage_t)storage_resource)->content, dest, new_psize,NULL);
+ XBT_DEBUG("Change file name from %s to %s, size '%" PRIu64 "'",src, dest, *psize);
+ }
+ else
+ XBT_DEBUG("File %s doesn't exist",src);
+}
+
+
static void* storage_create_resource(const char* id, const char* model,
const char* type_id, const char* content_name, const char* content_type, xbt_dict_t properties){
storage_t storage = NULL;
surf_storage_model->extension.storage.get_properties = storage_get_properties;
surf_storage_model->extension.storage.get_content = storage_get_content;
surf_storage_model->extension.storage.get_size = storage_get_size;
+ surf_storage_model->extension.storage.rename = storage_file_rename;
if (!storage_maxmin_system) {
storage_maxmin_system = lmm_system_new(storage_selective_update);
}
return action;
}
+void StorageLmm::rename(const char *src, const char *dest)
+{
+ sg_storage_size_t *psize, *new_psize;
+ psize = (sg_storage_size_t*) xbt_dict_get_or_null(p_content,src);
+ new_psize = xbt_new(sg_storage_size_t, 1);
+ *new_psize = *psize;
+ if (psize){// src file exists
+ xbt_dict_remove(p_content, src);
+ xbt_dict_set(p_content, dest, new_psize,NULL);
+ XBT_DEBUG("Change file name from %s to %s, size '%" PRIu64 "'",src, dest, *psize);
+ }
+ else
+ XBT_DEBUG("File %s doesn't exist",src);
+}
+
xbt_dict_t StorageLmm::getContent()
{
/* For the moment this action has no cost, but in the future we could take in account access latency of the disk */
virtual StorageActionPtr ls(const char *path)=0;
virtual StorageActionPtr read(surf_file_t fd, sg_storage_size_t size)=0;
virtual StorageActionPtr write(surf_file_t fd, sg_storage_size_t size)=0;
+ virtual void rename(const char *src, const char *dest)=0;
+
virtual xbt_dict_t getContent()=0;
virtual sg_storage_size_t getSize()=0;
sg_storage_size_t getSize();
StorageActionPtr read(surf_file_t fd, sg_storage_size_t size);//FIXME:why we have a useless param ptr ??
StorageActionPtr write(surf_file_t fd, sg_storage_size_t size);//FIXME:why we have a useless param ptr ??
+ void rename(const char *src, const char *dest);
lmm_constraint_t p_constraintWrite; /* Constraint for maximum write bandwidth*/
lmm_constraint_t p_constraintRead; /* Constraint for maximum write bandwidth*/
if (!strcmp(name, table[i].name)) {
return i;
}
- name_list = strdup(table[0].name);
+ if (!table[0].name)
+ xbt_die("No model is valid! This is a bug.");
+ name_list = xbt_strdup(table[0].name);
for (i = 1; table[i].name; i++) {
name_list =
xbt_realloc(name_list,
return dynamic_cast<StoragePtr>(static_cast<ResourcePtr>(surf_storage_resource_priv(resource)))->getSize();
}
+void surf_storage_rename(surf_resource_t resource, const char* src, const char* dest){
+ dynamic_cast<StoragePtr>(static_cast<ResourcePtr>(surf_storage_resource_priv(resource)))->rename(src, dest);
+}
+
surf_action_t surf_cpu_execute(surf_resource_t cpu, double size){
return get_casted_cpu(cpu)->execute(size);
}
#include "storage_private.h"
#include "surf/surf_resource.h"
#include "simgrid/sg_config.h"
+<<<<<<< HEAD
+#include <inttypes.h>
+
+typedef struct workstation_CLM03 {
+ s_surf_resource_t generic_resource; /* Must remain first to add this to a trace */
+ void *net_elm;
+ xbt_dynar_t storage;
+} s_workstation_CLM03_t, *workstation_CLM03_t;
+||||||| merged common ancestors
+
+typedef struct workstation_CLM03 {
+ s_surf_resource_t generic_resource; /* Must remain first to add this to a trace */
+ void *net_elm;
+ xbt_dynar_t storage;
+} s_workstation_CLM03_t, *workstation_CLM03_t;
+=======
#include "workstation_private.h"
#include "vm_workstation_private.h"
#include "cpu_cas01_private.h"
#include "maxmin_private.h"
+>>>>>>> surf++
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_workstation, surf,
"Logging specific to the SURF workstation module");
* under the terms of the license (GNU LGPL) which comes with this package. */
#include "xbt/automaton.h"
+#include <errno.h>
+#include <string.h> /* strerror */
static xbt_automaton_t parsed_automaton;
char* state_id_src;
#include "parserPromela.tab.cacc"
-void xbt_automaton_load(xbt_automaton_t a, const char *file){
+void xbt_automaton_load(xbt_automaton_t a, const char *file)
+{
parsed_automaton = a;
yyin = fopen(file, "r");
+ if (yyin == NULL)
+ xbt_die("Failed to open automaton file `%s': %s", file, strerror(errno));
yyparse();
}
xbt_dictelm_t current, previous = NULL;
xbt_assert(dict);
- XBT_DEBUG("ADD %.*s hash = %u, size = %d, & = %u", key_len, key, hash_code,
- dict->table_size, hash_code & dict->table_size);
+ XBT_CDEBUG(xbt_dict,
+ "ADD %.*s hash = %u, size = %d, & = %u", key_len, key, hash_code,
+ dict->table_size, hash_code & dict->table_size);
current = dict->table[hash_code & dict->table_size];
while (current != NULL &&
(hash_code != current->hash_code || key_len != current->key_len
previous->next = current;
}
} else {
- XBT_DEBUG("Replace %.*s by %.*s under key %.*s",
- key_len, (char *) current->content,
- key_len, (char *) data, key_len, (char *) key);
+ XBT_CDEBUG(xbt_dict, "Replace %.*s by %.*s under key %.*s",
+ key_len, (char *) current->content,
+ key_len, (char *) data, key_len, (char *) key);
/* there is already an element with the same key: overwrite it */
xbt_dictelm_set_data(dict, current, data, free_ctn);
}
XBT_INLINE void xbt_dict_cursor_first(const xbt_dict_t dict,
xbt_dict_cursor_t * cursor)
{
- XBT_DEBUG("xbt_dict_cursor_first");
+ XBT_CDEBUG(xbt_dict_cursor, "xbt_dict_cursor_first");
if (!*cursor) {
- XBT_DEBUG("Create the cursor on first use");
+ XBT_CDEBUG(xbt_dict_cursor, "Create the cursor on first use");
*cursor = xbt_dict_cursor_new(dict);
} else {
xbt_dict_cursor_rewind(*cursor);
xbt_dictelm_t current;
int line;
- XBT_DEBUG("xbt_dict_cursor_step");
+ XBT_CDEBUG(xbt_dict_cursor, "xbt_dict_cursor_step");
xbt_assert(cursor);
current = cursor->current;
if (cursor->dict != NULL) {
if (current != NULL) {
- XBT_DEBUG("current is not null, take the next element");
+ XBT_CDEBUG(xbt_dict_cursor, "current is not null, take the next element");
current = current->next;
- XBT_DEBUG("next element: %p", current);
+ XBT_CDEBUG(xbt_dict_cursor, "next element: %p", current);
}
while (current == NULL && ++line <= cursor->dict->table_size) {
- XBT_DEBUG("current is NULL, take the next line");
+ XBT_CDEBUG(xbt_dict_cursor, "current is NULL, take the next line");
current = cursor->dict->table[line];
- XBT_DEBUG("element in the next line: %p", current);
+ XBT_CDEBUG(xbt_dict_cursor, "element in the next line: %p", current);
}
- XBT_DEBUG("search finished, current = %p, line = %d", current, line);
+ XBT_CDEBUG(xbt_dict_cursor, "search finished, current = %p, line = %d", current, line);
cursor->current = current;
cursor->line = line;
xbt_dictelm_t current;
- XBT_DEBUG("xbt_dict_get_or_free");
+ XBT_CDEBUG(xbt_dict_cursor, "xbt_dict_get_or_free");
if (!cursor || !(*cursor))
{
_sanity_check_dynar(dynar);
- XBT_DEBUG("Reset the dynar %p", (void *) dynar);
+ XBT_CDEBUG(xbt_dyn, "Reset the dynar %p", (void *) dynar);
if (dynar->free_f) {
xbt_dynar_map(dynar, dynar->free_f);
}
XBT_INLINE void *xbt_dynar_pop_ptr(xbt_dynar_t const dynar)
{
_check_populated_dynar(dynar);
- XBT_DEBUG("Pop %p", (void *) dynar);
+ XBT_CDEBUG(xbt_dyn, "Pop %p", (void *) dynar);
dynar->used--;
return _xbt_dynar_elm(dynar, dynar->used);
}
{
/* sanity checks done by remove_at */
- XBT_DEBUG("Pop %p", (void *) dynar);
+ XBT_CDEBUG(xbt_dyn, "Pop %p", (void *) dynar);
xbt_dynar_remove_at(dynar, dynar->used - 1, dst);
}
XBT_INLINE void xbt_dynar_sort(xbt_dynar_t dynar,
int_f_cpvoid_cpvoid_t compar_fn)
{
-#ifdef HAVE_MERGESORT
- mergesort(dynar->data, dynar->used, dynar->elmsize, compar_fn);
-#else
qsort(dynar->data, dynar->used, dynar->elmsize, compar_fn);
-#endif
}
/** @brief Sorts a dynar according to their color assuming elements can have only three colors.
/*
* Return 0 if d1 and d2 are equal and 1 if not equal
*/
-XBT_INLINE int xbt_dynar_compare(xbt_dynar_t d1, xbt_dynar_t d2,
+int xbt_dynar_compare(xbt_dynar_t d1, xbt_dynar_t d2,
int(*compar)(const void *, const void *))
{
int i ;
*/
XBT_INLINE xbt_fifo_item_t xbt_fifo_newitem(void)
{
- XBT_WARN("This function is deprecated. Use xbt_fifo_new_item.");
+ XBT_CWARN(xbt_fifo, "This function is deprecated. Use xbt_fifo_new_item.");
return xbt_fifo_new_item();
}
*/
XBT_INLINE void xbt_fifo_freeitem(xbt_fifo_item_t b)
{
- XBT_WARN("This function is deprecated. Use xbt_fifo_free_item.");
+ XBT_CWARN(xbt_fifo, "This function is deprecated. Use xbt_fifo_free_item.");
xbt_fifo_free_item(b);
return;
}
*/
XBT_INLINE xbt_fifo_item_t xbt_fifo_getFirstItem(xbt_fifo_t l)
{
- XBT_WARN("This function is deprecated. Use xbt_fifo_get_first_item.");
+ XBT_CWARN(xbt_fifo, "This function is deprecated. Use xbt_fifo_get_first_item.");
return xbt_fifo_get_first_item(l);
}
*/
xbt_fifo_item_t xbt_fifo_getNextItem(xbt_fifo_item_t i)
{
- XBT_WARN("This function is deprecated. Use xbt_fifo_get_next_item.");
+ XBT_CWARN(xbt_fifo, "This function is deprecated. Use xbt_fifo_get_next_item.");
return xbt_fifo_get_next_item(i);
}
XBT_LOG_CONNECT(instr_routing);
XBT_LOG_CONNECT(instr_sd);
XBT_LOG_CONNECT(instr_surf);
+ XBT_LOG_CONNECT(instr_trace);
+ XBT_LOG_CONNECT(instr_TI_trace);
#endif
/* jedule */
-/* Copyright (c) 2010-2012. The SimGrid Team.
+/* Copyright (c) 2010-2013. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* To that extend, we have a little area here living in .BSS that we return if asked for memory before the malloc is resolved.
*/
int allocated_junk=0; /* keep track of whether our little area was already given to someone */
-char junkarea[512];
+char junkarea[4096];
/* This version use mmalloc if there is a current heap, or the legacy implem if not */
void *malloc(size_t n) {
"Panic: real malloc symbol not resolved yet, and I already gave my little private memory chunk away. "
"Damn LD, we must extend our code to have several such areas.\n");
exit(1);
- } else if (n>512) {
+ } else if (n > sizeof junkarea) {
fprintf(stderr,
- "Panic: real malloc symbol not resolved yet, and I need %zu bytes while my little private memory chunk is only 512 bytes wide. "
- "Damn LD, we must fix our code to extend this area.\n",n);
+ "Panic: real malloc symbol not resolved yet, and I need %zu bytes while my little private memory chunk is only %zu bytes wide. "
+ "Damn LD, we must fix our code to extend this area.\n", n, sizeof junkarea);
exit(1);
} else {
allocated_junk = 1;
/* ********************************* PTHREAD IMPLEMENTATION ************************************ */
#ifdef HAVE_PTHREAD_H
+#include <limits.h>
#include <semaphore.h>
#ifdef HAVE_MUTEX_TIMEDLOCK
void xbt_os_thread_setstacksize(int stack_size)
{
- size_t def=0;
- if(stack_size<0)xbt_die("stack size is negative, maybe it exceeds MAX_INT?\n");
- pthread_attr_init(&attr);
- pthread_attr_getstacksize (&attr, &def);
- int res = pthread_attr_setstacksize (&attr, stack_size);
- if ( res!=0 ) {
- if(res==EINVAL)XBT_WARN("Thread stack size is either < PTHREAD_STACK_MIN, > the max limit of the system, or perhaps not a multiple of PTHREAD_STACK_MIN - The parameter was ignored");
- else XBT_WARN("unknown error in pthread stacksize setting");
+ size_t sz;
+ int res;
+
+ if (stack_size < 0)
+ xbt_die("stack size %d is negative, maybe it exceeds MAX_INT?", stack_size);
- pthread_attr_setstacksize (&attr, def);
+ sz = stack_size;
+ pthread_attr_init(&attr);
+ res = pthread_attr_setstacksize(&attr, sz);
+
+#ifdef PTHREAD_STACK_MIN
+ if (res == EINVAL) {
+ /* Invalid size, try again with a multiple of PTHREAD_STACK_MIN. */
+ size_t rem = sz % PTHREAD_STACK_MIN;
+ if (rem != 0 || sz == 0) {
+ size_t sz2 = sz - rem + PTHREAD_STACK_MIN;
+ XBT_DEBUG("pthread_attr_setstacksize failed for %#zx, try again with %#zx",
+ sz, sz2);
+ sz = sz2;
+ res = pthread_attr_setstacksize(&attr, sz);
+ }
}
- thread_attr_inited=1;
+#endif
+
+ if (res == EINVAL)
+ XBT_WARN("invalid stack size (maybe too big): %#zx", sz);
+ else if (res != 0)
+ XBT_WARN("unknown error %d in pthread stacksize setting: %#zx", res, sz);
+ thread_attr_inited = 1;
}
const char *xbt_os_thread_name(xbt_os_thread_t t)
//Freebsd doesn't provide this clock_gettime flag yet, because it was added too recently (after 1993)
#ifdef __FreeBSD__
-#define CLOCK_PROCESS_CPUTTIME_ID CLOCK_PROF
+#define CLOCK_PROCESS_CPUTIME_ID CLOCK_PROF
#endif
double xbt_os_time(void)
#include "xbt/log.h"
#include "xbt/str.h"
#include "xbt/replay.h"
+#include <ctype.h>
+#include <wchar.h>
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(replay,xbt,"Replay trace reader");
static char **action_get_action(char *name);
+static char *str_tolower (const char *str)
+{
+ char *ret = xbt_strdup (str);
+ int i, n = strlen (ret);
+ for (i = 0; i < n; i++)
+ ret[i] = tolower (str[i]);
+ return ret;
+}
+
+
xbt_replay_reader_t xbt_replay_reader_new(const char *filename)
{
xbt_replay_reader_t res = xbt_new0(s_xbt_replay_reader_t,1);
*/
void xbt_replay_action_register(const char *action_name, action_fun function)
{
- xbt_dict_set(action_funs, action_name, function, NULL);
+ char* lowername = str_tolower (action_name);
+ xbt_dict_set(action_funs, lowername, function, NULL);
+ xbt_free(lowername);
}
/** \ingroup XBT_replay
*/
void xbt_replay_action_unregister(const char *action_name)
{
- xbt_dict_remove(action_funs, action_name);
+ char* lowername = str_tolower (action_name);
+ xbt_dict_remove(action_funs, lowername);
+ xbt_free(lowername);
}
void _xbt_replay_action_init(void)
if (action_fp) { // A unique trace file
char **evt;
while ((evt = action_get_action(argv[0]))) {
+ char* lowername = str_tolower (evt[1]);
action_fun function =
- (action_fun)xbt_dict_get(action_funs, evt[1]);
+ (action_fun)xbt_dict_get(action_funs, lowername);
+ xbt_free(lowername);
function((const char **)evt);
for (i=0;evt[i]!= NULL;i++)
free(evt[i]);
xbt_replay_reader_t reader = xbt_replay_reader_new(argv[1]);
while ((evt=xbt_replay_reader_get(reader))) {
if (!strcmp(argv[0],evt[0])) {
- action_fun function = (action_fun)xbt_dict_get(action_funs, evt[1]);
+ char* lowername = str_tolower (evt[1]);
+ action_fun function = (action_fun)xbt_dict_get(action_funs, lowername);
+ xbt_free(lowername);
function(evt);
} else {
XBT_WARN("%s: Ignore trace element not for me",
// if it's for me, I'm done
evtname = xbt_dynar_get_as(evt, 0, char *);
- if (!strcmp(name, evtname)) {
+ if (!strcasecmp(name, evtname)) {
return xbt_dynar_to_array(evt);
} else {
// Else, I have to store it for the relevant colleague
set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}")
-add_executable(storage storage.c)
+add_executable(storage_basic storage_basic.c)
### Add definitions for compile
if(NOT WIN32)
- target_link_libraries(storage simgrid m pthread )
+ target_link_libraries(storage_basic simgrid m pthread )
else()
- target_link_libraries(storage simgrid)
+ target_link_libraries(storage_basic simgrid)
endif()
set(tesh_files
${tesh_files}
- ${CMAKE_CURRENT_SOURCE_DIR}/storage.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/storage_basic.tesh
PARENT_SCOPE
)
set(xml_files
)
set(teshsuite_src
${teshsuite_src}
- ${CMAKE_CURRENT_SOURCE_DIR}/storage.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/storage_basic.c
PARENT_SCOPE
)
set(bin_files
-$ msg/storage/storage --cfg=path:${srcdir:=.} ${srcdir:=.}/msg/storage/platform.xml ${srcdir:=.}/msg/storage/deployment.xml 0 "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
+$ msg/storage/storage_basic --cfg=path:${srcdir:=.} ${srcdir:=.}/msg/storage/platform.xml ${srcdir:=.}/msg/storage/deployment.xml 0 "--log=root.fmt:[%10.6r]%e(%i:%P@%h)%e%m%n"
> [ 0.000000] (1:server@server) *** Storage info of: server ***
> [ 0.000000] (1:server@server) *** Dump a storage element ***
> [ 0.000000] (1:server@server) Print the content of the storage element: sdisk1
${CMAKE_CURRENT_SOURCE_DIR}/reduce_scatter_coll.tesh
${CMAKE_CURRENT_SOURCE_DIR}/struct.tesh
${CMAKE_CURRENT_SOURCE_DIR}/vector.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/TI_output.tesh
PARENT_SCOPE
)
set(xml_files
--- /dev/null
+$ rm -rf ./out_ti.txt_files
+$ rm -rf ./out_in_ti.txt_files
+
+p Test output of time independent tracing
+p generate a trace with pingpong, and replay itself, then check that output trace of the second run is the same as in the first (once sorted)
+! setenv LD_LIBRARY_PATH=../../lib
+! output sort
+$ ../../smpi_script/bin/smpirun -trace-ti --cfg=tracing/filename:out_in_ti.txt --cfg=smpi/cpu_threshold:-1 -map -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/../../examples/msg/small_platform.xml -np 4 ./pingpong -q
+> *** Ping-pong test (MPI_Send/MPI_Recv) ***
+> == pivot=0 : pingpong [0] <--> [1]
+> == pivot=1 : pingpong [1] <--> [2]
+> == pivot=2 : pingpong [2] <--> [3]
+> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'smpi_simgrid.txt'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi/format' to 'TI'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi/computing' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'maxmin/precision' to '1e-9'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'out_in_ti.txt'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
+> [0] About to send 1st message '99' to process [1]
+> [0] Received reply message '100' from process [1]
+> [1] About to send 1st message '100' to process [2]
+> [1] About to send back message '100' to process [0]
+> [1] Received 1st message '99' from process [0]
+> [1] Received reply message '101' from process [2]
+> [1] increment message's value to '100'
+> [2] About to send 1st message '101' to process [3]
+> [2] About to send back message '101' to process [1]
+> [2] Received 1st message '100' from process [1]
+> [2] Received reply message '102' from process [3]
+> [2] increment message's value to '101'
+> [3] About to send back message '102' to process [2]
+> [3] Received 1st message '101' from process [2]
+> [3] increment message's value to '102'
+> [rank 0] -> Tremblay
+> [rank 1] -> Jupiter
+> [rank 2] -> Fafard
+> [rank 3] -> Ginette
+
+$ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.:critical -trace-ti --cfg=tracing/filename:out_ti.txt --cfg=smpi/cpu_threshold:-1 -map -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/../../examples/msg/small_platform.xml -np 4 ../../examples/smpi/smpi_replay ./out_in_ti.txt
+> [rank 0] -> Tremblay
+> [rank 1] -> Jupiter
+> [rank 2] -> Fafard
+> [rank 3] -> Ginette
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'smpi_simgrid.txt'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi/format' to 'TI'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi/computing' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'maxmin/precision' to '1e-9'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'out_ti.txt'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'smpi/cpu_threshold' to '-1'
+> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
+> [Jupiter:1:(0) 0.016798] [smpi_replay/INFO] Simulation time 0.016798
+
+! output sort
+$ find ./out_ti.txt_files -type f -exec cat {} \;
+> 0 init
+> 0 send 1 1 1
+> 0 recv 1 1 1
+> 0 finalize
+> 1 init
+> 1 recv 0 1 1
+> 1 send 0 1 1
+> 1 send 2 1 1
+> 1 recv 2 1 1
+> 1 finalize
+> 2 init
+> 2 recv 1 1 1
+> 2 send 1 1 1
+> 2 send 3 1 1
+> 2 recv 3 1 1
+> 2 finalize
+> 3 init
+> 3 recv 2 1 1
+> 3 send 2 1 1
+> 3 finalize
+
+! output sort
+$ find ./out_in_ti.txt_files -type f -exec cat {} \;
+> 0 init
+> 0 send 1 1 1
+> 0 recv 1 1 1
+> 0 finalize
+> 1 init
+> 1 recv 0 1 1
+> 1 send 0 1 1
+> 1 send 2 1 1
+> 1 recv 2 1 1
+> 1 finalize
+> 2 init
+> 2 recv 1 1 1
+> 2 send 1 1 1
+> 2 send 3 1 1
+> 2 recv 3 1 1
+> 2 finalize
+> 3 init
+> 3 recv 2 1 1
+> 3 send 2 1 1
+> 3 finalize
+
+$ rm -rf ./out_ti.txt_files
+$ rm -rf ./out_in_ti.txt_files
+$ rm out_ti.txt
+$ rm out_in_ti.txt
+
+
+
+p Same test, but only using one output file for all processes
+p generate a trace with pingpong, and replay itself, then check that output trace of the second run is the same as in the first (once sorted)
+! output sort
+$ ../../smpi_script/bin/smpirun -trace-ti --cfg=tracing/filename:out_in_ti.txt --cfg=tracing/smpi/format/ti_one_file:yes -map -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/../../examples/msg/small_platform.xml -np 4 ./pingpong -q
+> *** Ping-pong test (MPI_Send/MPI_Recv) ***
+> == pivot=0 : pingpong [0] <--> [1]
+> == pivot=1 : pingpong [1] <--> [2]
+> == pivot=2 : pingpong [2] <--> [3]
+> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'smpi_simgrid.txt'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi/format' to 'TI'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi/computing' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'maxmin/precision' to '1e-9'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'out_in_ti.txt'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi/format/ti_one_file' to 'yes'
+> [0] About to send 1st message '99' to process [1]
+> [0] Received reply message '100' from process [1]
+> [1] About to send 1st message '100' to process [2]
+> [1] About to send back message '100' to process [0]
+> [1] Received 1st message '99' from process [0]
+> [1] Received reply message '101' from process [2]
+> [1] increment message's value to '100'
+> [2] About to send 1st message '101' to process [3]
+> [2] About to send back message '101' to process [1]
+> [2] Received 1st message '100' from process [1]
+> [2] Received reply message '102' from process [3]
+> [2] increment message's value to '101'
+> [3] About to send back message '102' to process [2]
+> [3] Received 1st message '101' from process [2]
+> [3] increment message's value to '102'
+> [rank 0] -> Tremblay
+> [rank 1] -> Jupiter
+> [rank 2] -> Fafard
+> [rank 3] -> Ginette
+
+$ ../../smpi_script/bin/smpirun -ext smpi_replay --log=replay.:critical -trace-ti --cfg=tracing/filename:out_ti.txt --cfg=tracing/smpi/format/ti_one_file:yes -map -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/../../examples/msg/small_platform.xml -np 4 ../../examples/smpi/smpi_replay ./out_in_ti.txt
+> [rank 0] -> Tremblay
+> [rank 1] -> Jupiter
+> [rank 2] -> Fafard
+> [rank 3] -> Ginette
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'smpi_simgrid.txt'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi/format' to 'TI'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi/computing' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'maxmin/precision' to '1e-9'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/model' to 'SMPI'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'network/TCP_gamma' to '4194304'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/filename' to 'out_ti.txt'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/smpi/format/ti_one_file' to 'yes'
+> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
+> [Jupiter:1:(0) 0.016798] [smpi_replay/INFO] Simulation time 0.016798
+
+
+
+$ rm -rf ./out_ti.txt_files
+$ rm -rf ./out_in_ti.txt_files
+$ rm out_ti.txt
+$ rm out_in_ti.txt
+
+
+
perror("can't allocate send buffer");
fflush(stderr);
MPI_Abort(MPI_COMM_WORLD, EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
rb = (int *) malloc(size * sizeof(int));
if (!rb) {
fflush(stderr);
free(sb);
MPI_Abort(MPI_COMM_WORLD, EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
for (i = 0; i < size; ++i) {
sb[i] = rank + 1;
{
fprintf( stderr, "%s, err = %d\n", str, code );
MPI_Abort( MPI_COMM_WORLD, code );
+ exit(code);
}
int test_communicators( void )
{
fprintf( stderr, "%s, err = %d\n", str, code );
MPI_Abort( MPI_COMM_WORLD, code );
+ exit(code);
}
int test_communicators( void )
{
fprintf( stderr, "%s, err = %d\n", str, code );
MPI_Abort( MPI_COMM_WORLD, code );
+ exit(code);
}
int test_attrs( void )
if ((MPI_Aint)attribute_val != (MPI_Aint)world_rank) {
printf( "incorrect attribute value %d\n", *(int*)attribute_val );
MPI_Abort(MPI_COMM_WORLD, 1005 );
+ exit(1005);
}
return MPI_SUCCESS;
}
printf( "dup_comm key_1 not found on %d\n", world_rank );
fflush( stdout );
MPI_Abort(MPI_COMM_WORLD, 3004 );
+ exit(3004);
}
if (value != world_rank) {
printf( "dup_comm key_1 value incorrect: %ld\n", (long)value );
fflush( stdout );
MPI_Abort(MPI_COMM_WORLD, 3005 );
+ exit(3005);
}
MPI_Attr_get(dup_comm, key_3, (void **)&vvalue, &flag );
printf( "dup_comm key_3 found!\n" );
fflush( stdout );
MPI_Abort(MPI_COMM_WORLD, 3008 );
+ exit(3008);
}
MTestPrintfMsg(1, "Keyval_free key=%#x\n", key_1);
MPI_Keyval_free(&key_1 );
if ((MPI_Aint)attribute_val != (MPI_Aint)world_rank) {
printf( "incorrect attribute value %d\n", *(int*)attribute_val );
MPI_Abort(MPI_COMM_WORLD, 1005 );
+ exit(1005);
}
return MPI_SUCCESS;
}
errs++;
printf( "incorrect rank in world comm: %d\n", rank );
MPI_Abort(MPI_COMM_WORLD, 3001 );
+ exit(3001);
}
n = world_size / 2;
errs++;
printf( "incorrect lo group rank: %d\n", rank ); fflush(stdout);
MPI_Abort(MPI_COMM_WORLD, 3002 );
+ exit(3002);
}
else {
/* printf( "lo in\n" );FFLUSH; */
errs++;
printf( "rank : %d incorrect lo comm:\n", rank ); fflush(stdout);
MPI_Abort(MPI_COMM_WORLD, 3003 );
+ exit(3003);
}
}
printf( "dup_comm key_1 not found on %d\n", world_rank );
fflush( stdout );
MPI_Abort(MPI_COMM_WORLD, 3004 );
+ exit(3004);
}
if (value != world_rank) {
(long)value, world_rank );
fflush( stdout );
MPI_Abort(MPI_COMM_WORLD, 3005 );
+ exit(3005);
}
MPI_Attr_get(dup_comm, key_3, (void **)&vvalue, &flag );
printf( "dup_comm key_3 found!\n" );
fflush( stdout );
MPI_Abort(MPI_COMM_WORLD, 3008 );
+ exit(3008);
}
MPI_Keyval_free(&key_1 );
MPI_Keyval_free(&key_3 );
errs++;
printf( "incorrect split rank: %d\n", rank ); fflush(stdout);
MPI_Abort(MPI_COMM_WORLD, 3009 );
+ exit(3009);
}
MPI_Barrier(split_comm );
errs++;
printf( "incorrect ident result: %d\n", result );
MPI_Abort(MPI_COMM_WORLD, 3010 );
+ exit(3010);
}
if (lo_comm != MPI_COMM_NULL) {
errs++;
printf( "incorrect congruent result: %d\n", result );
MPI_Abort(MPI_COMM_WORLD, 3011 );
+ exit(3011);
}
}
errs++;
printf( "incorrect similar result: %d\n", result );
MPI_Abort(MPI_COMM_WORLD, 3012 );
+ exit(3012);
}
if (lo_comm != MPI_COMM_NULL) {
errs++;
printf( "incorrect unequal result: %d\n", result );
MPI_Abort(MPI_COMM_WORLD, 3013 );
+ exit(3013);
}
}
/*
#define LARGE_BUF (256 * 1024)
/* FIXME: MAX_BUF is too large */
-#define MAX_BUF (128 * 1024 * 1024)
+#define MAX_BUF (32 * 1024 * 1024)
#define LOOPS 10
__thread char * sbuf, * rbuf;
if (!displs) fprintf(stderr,"\tdispls of %zd bytes\n", comm_size * sizeof(int) );
fflush(stderr);
MPI_Abort(MPI_COMM_WORLD, -1);
+ exit(-1);
}
if (!comm_rank) {
if (tmp != (int)tmp) {
fprintf( stderr, "Integer overflow in variable tmp\n" );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
recvcounts[i] = (int) tmp;
if (size < 2) {
fprintf( stderr, "At least 2 processes required\n" );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
/* Set errors return so that we can provide better information
if (count <= 0) {
fprintf( stderr, "Invalid count argument %s\n", argv[1] );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
}
buf = (int *)malloc( max_offset * sizeof(int) );
if (!buf) {
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
bufout = (int *)malloc( max_offset * sizeof(int) );
if (!bufout) {
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
initMat( comm, buf );
buf = (int *)malloc( count * 9 * sizeof(int) );
if (!buf) {
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
bufout = (int *)malloc( count * 9 * sizeof(int) );
if (!bufout) {
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
for (i=0; i < count; i++) {
fprintf( stderr, "Unable to allocated space for buffers (%d)\n",
count );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
for (i=0; i<count; i++) {
bufin[i] = i;
errs++;
fprintf( stderr, "Failed to allocate sendbuf and/or recvbuf\n" );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
for (i=0; i<count*size; i++)
recvbuf[i] = -1;
if (!sbuf || !rbuf) {
fprintf( stderr, "Could not allocated buffers!\n" );
MPI_Abort( comm, 1 );
+ exit(1);
}
/* Load up the buffers */
if (!sendcounts || !recvcounts || !rdispls || !sdispls) {
fprintf( stderr, "Could not allocate arg items!\n" );
MPI_Abort( comm, 1 );
+ exit(1);
}
for (i=0; i<size; i++) {
sendcounts[i] = i;
if (!rbuf) {
fprintf( stderr, "Could not reallocate rbuf!\n" );
MPI_Abort( comm, 1 );
+ exit(1);
}
/* Load up the buffers */
if (!sendcounts || !recvcounts || !rdispls || !sdispls) {
fprintf( stderr, "Could not allocate arg items!\n" );
MPI_Abort( comm, 1 );
+ exit(1);
}
/* Get the neighbors */
if (!sbuf || !rbuf) {
fprintf( stderr, "Could not allocate buffers!\n" );
MPI_Abort( comm, 1 );
+ exit(1);
}
/* Load up the buffers */
if (!sbuf || !rbuf) {
fprintf( stderr, "Could not allocated buffers!\n" );
MPI_Abort( comm, 1 );
+ exit(1);
}
/* Load up the buffers */
if (!sendcounts || !recvcounts || !rdispls || !sdispls || !sendtypes || !recvtypes) {
fprintf( stderr, "Could not allocate arg items!\n" );
MPI_Abort( comm, 1 );
+ exit(1);
}
/* Note that process 0 sends no data (sendcounts[0] = 0) */
for (i=0; i<size; i++) {
if (!rbuf) {
fprintf( stderr, "Could not reallocate rbuf!\n" );
MPI_Abort( comm, 1 );
+ exit(1);
}
/* Load up the buffers */
{
int i, type_size;
MPI_Datatype type = MPI_DATATYPE_NULL;
- char *buf = NULL;
+ int *buf = NULL;
int wrank, wsize;
MPI_Init(&argc, &argv);
fprintf(stderr,"Unrecognized argument %s\n",
argv[i]);
MPI_Abort(MPI_COMM_WORLD,EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
}
if ( !sb ) {
perror( "can't allocate send buffer" );
MPI_Abort(MPI_COMM_WORLD,EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
rb = (int *)malloc(size*chunk*sizeof(int));
if ( !rb ) {
perror( "can't allocate recv buffer");
free(sb);
MPI_Abort(MPI_COMM_WORLD,EXIT_FAILURE);
+ exit(EXIT_FAILURE);
}
for ( i=0 ; i < size*chunk ; ++i ) {
sb[i] = rank + 1;
fprintf( stderr, "Number of processors must divide %d\n",
MAX_PROCESSES );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
if ( (rank < participants) ) {
fprintf( stderr, "Number of processors must divide %d\n",
MAX_PROCESSES );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
if ( (rank < participants) ) {
fprintf( stderr, "Number of processors must divide %d\n",
MAX_PROCESSES );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
MPI_Comm_split(MPI_COMM_WORLD, rank<participants, rank, &test_comm);
fprintf( stderr, "Number of processors must divide %d\n",
MAX_PROCESSES );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
/* while (MAX_PROCESSES % participants) participants--; */
if ( (rank < participants) ) {
if (!sbuf || !rbuf) {
fprintf( stderr, "Could not allocated buffers!\n" );
MPI_Abort( comm, 1 );
+ exit(1);
}
/* Load up the buffers */
if (!sendcounts || !recvcounts || !rdispls || !sdispls) {
fprintf( stderr, "Could not allocate arg items!\n" );
MPI_Abort( comm, 1 );
+ exit(1);
}
for (i=0; i<size; i++) {
sendcounts[i] = i;
if (!sbuf || !rbuf) {
fprintf( stderr, "Could not allocated buffers!\n" );
MPI_Abort( comm, 1 );
+ exit(1);
}
/* Load up the buffers */
if (!sendcounts || !recvcounts || !rdispls || !sdispls || !sendtypes || !recvtypes) {
fprintf( stderr, "Could not allocate arg items!\n" );
MPI_Abort( comm, 1 );
+ exit(1);
}
/* Note that process 0 sends no data (sendcounts[0] = 0) */
for (i=0; i<size; i++) {
if (!(cond_)) { \
fprintf(stderr, "assertion (%s) failed, aborting\n", #cond_); \
MPI_Abort(MPI_COMM_WORLD, 1); \
+ exit(1); \
} \
} while (0)
if (!(cond_)) { \
fprintf(stderr, "assertion (%s) failed, aborting\n", #cond_); \
MPI_Abort(MPI_COMM_WORLD, 1); \
+ exit(1); \
} \
} while (0)
default:
fprintf(stderr, "unexpected value for l->case_num=%d)\n", (l->case_num));
MPI_Abort(comm, 1);
+ exit(1);
break;
}
}
MPI_Type_commit( &mattype );
buf = (int *)malloc( count * size * size * sizeof(int) );
- if (!buf) MPI_Abort( MPI_COMM_WORLD, 1 );
+ if (!buf) {
+ MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
+ }
bufout = (int *)malloc( count * size * size * sizeof(int) );
- if (!bufout) MPI_Abort( MPI_COMM_WORLD, 1 );
+ if (!bufout) {
+ MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
+ }
for (root = 0; root < size; root ++) {
initMat( comm, buf );
MPI_Type_commit( &mattype );
buf = (int *)malloc( count * size * size * sizeof(int) );
- if (!buf) MPI_Abort( MPI_COMM_WORLD, 1 );
+ if (!buf) {
+ MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
+ }
bufout = (int *)malloc( count * size * size * sizeof(int) );
- if (!bufout) MPI_Abort( MPI_COMM_WORLD, 1 );
+ if (!bufout) {
+ MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
+ }
for (root = 0; root < size; root ++) {
initMat( comm, buf );
err++;
fprintf(stderr, "unable to allocate send/recv buffers, aborting");
MPI_Abort(MPI_COMM_WORLD, 1);
+ exit(1);
}
for (i=0; i<size; i++)
sendbuf[i] = rank + i;
fprintf( stderr, "Could not allocate %d ints for recvcounts\n",
size );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
mycount = (1024 * 1024) / size;
for (i=0; i<size; i++)
fprintf( stderr, "Could not allocate %d ints for sendbuf\n",
mycount * size );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
idx = 0;
for (i=0; i<size; i++) {
fprintf( stderr, "Could not allocate %d ints for recvbuf\n",
mycount );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
for (i=0; i<mycount; i++) {
recvbuf[i] = -1;
fprintf( stderr, "Could not allocate %d ints for sendbuf\n",
sendcount );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
for (i=0; i<sendcount; i++) {
fprintf( stderr, "Could not allocate %d ints for recvbuf\n",
recvcount );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
for (i=0; i<recvcount; i++) {
recvbuf[i] = (long long)(-i);
fprintf( stderr, "Could not allocate %d ints for sendbuf\n",
mycount * size );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
idx = 0;
for (i=0; i<size; i++) {
fprintf( stderr, "Could not allocate %d ints for recvbuf\n",
mycount );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
MPI_Reduce_scatter_block( sendbuf, recvbuf, mycount, MPI_INT, MPI_SUM,
fprintf( stderr, "Could not allocate %d int for recvcounts\n",
size );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
for (i=0; i<size; i++)
recvcounts[i] = recvcount;
fprintf( stderr, "Could not allocate %d ints for sendbuf\n",
sendcount );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
for (i=0; i<sendcount; i++) {
fprintf( stderr, "Could not allocate %d ints for recvbuf\n",
recvcount );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
for (i=0; i<recvcount; i++) {
recvbuf[i] = (long long)(-i);
recvbuf = (double *)malloc( nx * ny * sizeof(double) );
if (!recvbuf) {
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
sendbuf = 0;
if (myrow == 0 && mycol == 0) {
sendbuf = (double *)malloc( nx * ny * size * sizeof(double) );
if (!sendbuf) {
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
}
sendcounts = (int *) malloc( size * sizeof(int) );
fprintf( stderr, "Unable to allocated %d words for data\n",
3 * count );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
for (i=0; i<count*3; i++) {
outVal[i] = -1;
if (size < 2) {
fprintf( stderr, "This test requires at least two processes." );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
source = 0;
if (size < 4) {
fprintf( stderr, "This test requires at least four processes." );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
color = MPI_UNDEFINED;
if (size % 2) {
fprintf(stderr, "this program requires a multiple of 2 number of processes\n");
MPI_Abort(MPI_COMM_WORLD, 1);
+ exit(1);
}
excl = malloc((size / 2) * sizeof(int));
if (size < 2) {
printf("this test requires at least 2 processes\n");
MPI_Abort(MPI_COMM_WORLD, 1);
+ exit(1);
}
#ifdef TEST_IDUP
fprintf( stderr, "%s: errcode = %d, class = %d, msg = %s\n",
str, code, class, msg );
MPI_Abort( MPI_COMM_WORLD, code );
+ exit(code);
}
int main( int argc, char *argv[] )
if (size < 2) {
printf( "Size must be at least 2\n" );
MPI_Abort( MPI_COMM_WORLD, 0 );
+ exit(0);
}
MPI_Comm_rank( MPI_COMM_WORLD, &rank );
if (size < 33) {
printf("ERROR: this test requires at least 33 processes\n");
MPI_Abort(MPI_COMM_WORLD, 1);
- return 1;
+ exit(1);
}
/* group of c0
if (size < 4) {
printf( "This test requires at least 4 processes\n" );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
MPI_Comm_rank( MPI_COMM_WORLD, &wrank );
if (size < 4) {
printf( "This test requires at least 4 processes\n" );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
while (MTestGetIntercomm( &intercomm, &isLeft, 2 )) {
if (size < 2) {
fprintf( stderr, "This test requires at least two processes." );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
while (MTestGetIntercomm( &intercomm, &isLeft, 2 )) {
/* Test 1: Simple, 1-D cyclic decomposition */
if (AllocateGrid( 1, 3*wsize, &srcArray, &destArray ) ) {
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
/* Simple cyclic with 1-dim global array */
if (PackUnpack( darraytype, srcArray, destArray, 3 )) {
fprintf( stderr, "Error in pack/unpack check\n" );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
/* Now, check for correct data */
for (i=0; i<3; i++) {
/* Test 2: Simple, 1-D cyclic decomposition, with block size=2 */
if (AllocateGrid( 1, 4*wsize, &srcArray, &destArray ) ) {
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
/* Simple cyclic with 1-dim global array */
if (PackUnpack( darraytype, srcArray, destArray, 4 )) {
fprintf( stderr, "Error in pack/unpack check\n" );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
loc = 0;
/* for each cyclic element */
if (px * py != wsize) {
fprintf( stderr, "An even number of processes is required\n" );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
/* Cyclic/Cyclic */
if (AllocateGrid( 5*px, 7*py, &srcArray, &destArray )) {
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
/* Simple cyclic/cyclic. Note in C order, the [1] index varies most
if (PackUnpack( darraytype, srcArray, destArray, 5*7 )) {
fprintf( stderr, "Error in pack/unpack check\n" );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
loc = 0;
/* Cyclic(2)/Cyclic(3) */
if (AllocateGrid( 6*px, 4*py, &srcArray, &destArray )) {
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
/* Block cyclic/cyclic. Note in C order, the [1] index varies most
if (PackUnpack( darraytype, srcArray, destArray, 4*6 )) {
fprintf( stderr, "Error in pack/unpack check\n" );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
loc = 0;
fprintf( stderr, "Unable to allocate pack array of size %d\n",
packsize );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
position = 0;
MPI_Pack( (int*)srcArray, 1, darraytype, packArray, packsize, &position,
errs++;
printf( "This test requires at least 2 processes\n" );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
src = 0;
#include <stdlib.h>
#include <mpi.h>
+#define equals(a, b) ((long long)(a) == (long long)(b))
+
/* assert-like macro that bumps the err count and emits a message */
#define check(x_) \
do { \
/* MPI_Type_size */
MPI_Type_size(imax_contig, &size);
- check(size == INT_MAX);
+ check(equals(size, INT_MAX));
MPI_Type_size(four_ints, &size);
- check(size == 4*sizeof(int));
+ check(equals(size, 4*sizeof(int)));
MPI_Type_size(imx4i, &size);
- check(size == MPI_UNDEFINED); /* should overflow an int */
+ check(equals(size, MPI_UNDEFINED)); /* should overflow an int */
MPI_Type_size(imx4i_rsz, &size);
- check(size == MPI_UNDEFINED); /* should overflow an int */
+ check(equals(size, MPI_UNDEFINED)); /* should overflow an int */
/* MPI_Type_size_x */
MPI_Type_size_x(imax_contig, &size_x);
- check(size_x == INT_MAX);
+ check(equals(size_x, INT_MAX));
MPI_Type_size_x(four_ints, &size_x);
- check(size_x == 4*sizeof(int));
+ check(equals(size_x, 4*sizeof(int)));
MPI_Type_size_x(imx4i, &size_x);
- check(size_x == 4LL*sizeof(int)*(INT_MAX/2)); /* should overflow an int */
+ check(equals(size_x, 4LL*sizeof(int)*(INT_MAX/2))); /* should overflow an int */
MPI_Type_size_x(imx4i_rsz, &size_x);
- check(size_x == 4LL*sizeof(int)*(INT_MAX/2)); /* should overflow an int */
+ check(equals(size_x, 4LL*sizeof(int)*(INT_MAX/2))); /* should overflow an int */
/* MPI_Type_get_extent */
MPI_Type_get_extent(imax_contig, &lb, &extent);
- check(lb == 0);
- check(extent == INT_MAX);
+ check(equals(lb, 0));
+ check(equals(extent, INT_MAX));
MPI_Type_get_extent(four_ints, &lb, &extent);
- check(lb == 0);
- check(extent == 4*sizeof(int));
+ check(equals(lb, 0));
+ check(equals(extent, 4*sizeof(int)));
MPI_Type_get_extent(imx4i, &lb, &extent);
- check(lb == 0);
+ check(equals(lb, 0));
if (sizeof(MPI_Aint) == sizeof(int))
- check(extent == MPI_UNDEFINED);
+ check(equals(extent, MPI_UNDEFINED));
else
- check(extent == imx4i_true_extent);
+ check(equals(extent, imx4i_true_extent));
MPI_Type_get_extent(imx4i_rsz, &lb, &extent);
- check(lb == INT_MAX);
- check(extent == -1024);
+ check(equals(lb, INT_MAX));
+ check(equals(extent, -1024));
/* MPI_Type_get_extent_x */
MPI_Type_get_extent_x(imax_contig, &lb_x, &extent_x);
- check(lb_x == 0);
- check(extent_x == INT_MAX);
+ check(equals(lb_x, 0));
+ check(equals(extent_x, INT_MAX));
MPI_Type_get_extent_x(four_ints, &lb_x, &extent_x);
- check(lb_x == 0);
- check(extent_x == 4*sizeof(int));
+ check(equals(lb_x, 0));
+ check(equals(extent_x, 4*sizeof(int)));
MPI_Type_get_extent_x(imx4i, &lb_x, &extent_x);
- check(lb_x == 0);
- check(extent_x == imx4i_true_extent);
+ check(equals(lb_x, 0));
+ check(equals(extent_x, imx4i_true_extent));
MPI_Type_get_extent_x(imx4i_rsz, &lb_x, &extent_x);
- check(lb_x == INT_MAX);
- check(extent_x == -1024);
+ check(equals(lb_x, INT_MAX));
+ check(equals(extent_x, -1024));
/* MPI_Type_get_true_extent */
MPI_Type_get_true_extent(imax_contig, &lb, &extent);
- check(lb == 0);
- check(extent == INT_MAX);
+ check(equals(lb, 0));
+ check(equals(extent, INT_MAX));
MPI_Type_get_true_extent(four_ints, &lb, &extent);
- check(lb == 0);
- check(extent == 4*sizeof(int));
+ check(equals(lb, 0));
+ check(equals(extent, 4*sizeof(int)));
MPI_Type_get_true_extent(imx4i, &lb, &extent);
- check(lb == 0);
+ check(equals(lb, 0));
if (sizeof(MPI_Aint) == sizeof(int))
- check(extent == MPI_UNDEFINED);
+ check(equals(extent, MPI_UNDEFINED));
else
- check(extent == imx4i_true_extent);
+ check(equals(extent, imx4i_true_extent));
MPI_Type_get_true_extent(imx4i_rsz, &lb, &extent);
- check(lb == 0);
+ check(equals(lb, 0));
if (sizeof(MPI_Aint) == sizeof(int))
- check(extent == MPI_UNDEFINED);
+ check(equals(extent, MPI_UNDEFINED));
else
- check(extent == imx4i_true_extent);
+ check(equals(extent, imx4i_true_extent));
/* MPI_Type_get_true_extent_x */
MPI_Type_get_true_extent_x(imax_contig, &lb_x, &extent_x);
- check(lb_x == 0);
- check(extent_x == INT_MAX);
+ check(equals(lb_x, 0));
+ check(equals(extent_x, INT_MAX));
MPI_Type_get_true_extent_x(four_ints, &lb_x, &extent_x);
- check(lb_x == 0);
- check(extent_x == 4*sizeof(int));
+ check(equals(lb_x, 0));
+ check(equals(extent_x, 4*sizeof(int)));
MPI_Type_get_true_extent_x(imx4i, &lb_x, &extent_x);
- check(lb_x == 0);
- check(extent_x == imx4i_true_extent);
+ check(equals(lb_x, 0));
+ check(equals(extent_x, imx4i_true_extent));
MPI_Type_get_true_extent_x(imx4i_rsz, &lb_x, &extent_x);
- check(lb_x == 0);
- check(extent_x == imx4i_true_extent);
+ check(equals(lb_x, 0));
+ check(equals(extent_x, imx4i_true_extent));
/* MPI_{Status_set_elements,Get_elements}{,_x} */
MPI_Get_elements(&status, MPI_INT, &elements);
MPI_Get_elements_x(&status, MPI_INT, &elements_x);
MPI_Get_count(&status, MPI_INT, &count);
- check(elements == 10);
- check(elements_x == 10);
- check(count == 10);
+ check(equals(elements, 10));
+ check(equals(elements_x, 10));
+ check(equals(count, 10));
/* set_x simple */
MPI_Status_set_elements_x(&status, MPI_INT, 10);
MPI_Get_elements(&status, MPI_INT, &elements);
MPI_Get_elements_x(&status, MPI_INT, &elements_x);
MPI_Get_count(&status, MPI_INT, &count);
- check(elements == 10);
- check(elements_x == 10);
- check(count == 10);
+ check(equals(elements, 10));
+ check(equals(elements_x, 10));
+ check(equals(count, 10));
/* Sets elements corresponding to count=1 of the given MPI datatype, using
* set_elements and set_elements_x. Checks expected values are returned by
MPI_Get_elements(&status, (type_), &elements); \
MPI_Get_elements_x(&status, (type_), &elements_x); \
MPI_Get_count(&status, (type_), &count); \
- check(elements == (elts_)); \
- check(elements_x == (elts_)); \
- check(count == 1); \
+ check(equals(elements, (elts_))); \
+ check(equals(elements_x, (elts_))); \
+ check(equals(count, 1)); \
} \
\
elements = elements_x = count = 0xfeedface; \
MPI_Get_elements_x(&status, (type_), &elements_x); \
MPI_Get_count(&status, (type_), &count); \
if ((elts_) > INT_MAX) { \
- check(elements == MPI_UNDEFINED); \
+ check(equals(elements, MPI_UNDEFINED)); \
} \
else { \
- check(elements == (elts_)); \
+ check(equals(elements, (elts_))); \
} \
- check(elements_x == (elts_)); \
- check(count == 1); \
+ check(equals(elements_x, (elts_))); \
+ check(equals(count, 1)); \
} while (0) \
check_set_elements(imax_contig, INT_MAX);
{
fprintf(stderr, "Could not make struct type."), fflush(stderr);
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
memset(s_buf, 0, EL_COUNT*SIZE);
if (size < 2) {
fprintf( stderr, "This test requires at least two processes." );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
source = 0;
buf = (int *)malloc( count * 3 * sizeof(int) );
if (!buf) {
MPI_Abort( comm, 1 );
+ exit(1);
}
for (i=0; i<3*count; i++) buf[i] = -1;
if (rank == source) {
buf = (int *)malloc( count * 3 * sizeof(int) );
if (!buf) {
MPI_Abort( comm, 1 );
+ exit(1);
}
for (i=0; i<3*count; i++) buf[i] = -1;
if (rank == source) {
cmake_minimum_required(VERSION 2.6)
-if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_F2C)
+if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_F90)
if(WIN32)
set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h")
else()
cmake_minimum_required(VERSION 2.6)
-if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_F2C)
+if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_F90)
if(WIN32)
set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h")
else()
if (size .lt. 2) then
print *, "Must have at least 2 processes"
call MPI_Abort( 1, MPI_COMM_WORLD, ierr )
+ stop
endif
errs = 0
if (size .lt. 2) then
print *, "Must have at least 2 processes"
call MPI_Abort( 1, MPI_COMM_WORLD, ierr )
+ stop
endif
comm = MPI_COMM_WORLD
cmake_minimum_required(VERSION 2.6)
-if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_F2C)
+if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_F90)
if(WIN32)
set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h")
else()
cmake_minimum_required(VERSION 2.6)
-if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_F2C)
+if(enable_smpi AND enable_smpi_MPICH3_testsuite AND SMPI_F90)
if(WIN32)
set(CMAKE_C_FLAGS "-include ${CMAKE_HOME_DIRECTORY}/include/smpi/smpi_main.h")
else()
"This test requires a comm world with no more than %d processes\n",
MAX_WORLD_SIZE );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
if (size < 4) {
fprintf( stderr, "This test requiers at least 4 processes\n" );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
MPI_Comm_group( comm, &gworld );
if (!ranks || !ranksout) {
fprintf(stderr, "out of memory\n");
MPI_Abort(MPI_COMM_WORLD, 1);
+ exit(1);
}
/* generate a comm with the rank order reversed */
errs++;
fprintf( stderr, "This test requires at least two processes\n" );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
source = 0;
dest = 1;
errs++;
fprintf( stderr, "At least 2 processes required\n" );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
src = 0;
fprintf( stderr, "Could not allocate buffer of %d bytes\n",
bufsize );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
MPI_Buffer_attach( buf, bufsize );
fprintf( stderr, "Unable to allocate a buffer of %d bytes\n",
bufsize );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
MPI_Buffer_attach( buf, bufsize );
if (size < 2) {
fprintf( stderr, "Must run with at least 2 processes\n" );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
MPI_Comm_rank( MPI_COMM_WORLD, &rank );
fprintf( stderr, "Unable to allocate buffers of size %d\n",
n0 * (int)sizeof(int) );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
memset( buf0, -1, n0 * sizeof(int) );
memset( buf1, -1, n0 * sizeof(int) );
fprintf( stderr, "Unable to allocate buffer %d of size %ld\n",
i, (long)extent );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
}
buf = (int *)malloc( 10 * 30 * sizeof(int) );
if (size != 3) {
fprintf(stderr,"[%d] usage: mpiexec -n 3 %s\n",rank,argv[0]);
MPI_Abort(MPI_COMM_WORLD,1);
+ exit(1);
}
cols = malloc(cnt*sizeof(long long));
if (size < 2) {
printf("this test requires at least 2 processes\n");
MPI_Abort(MPI_COMM_WORLD, 1);
+ exit(1);
}
/* all processes besides ranks 0 & 1 aren't used by this test */
if (!buf) {
fprintf( stderr, "Unable to allocate %d bytes\n", n );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
MPI_Send_init( buf, n, MPI_CHAR, dest, cs+n+1, comm, &req );
MPI_Start( &req );
{
fprintf( stderr, "Unable to allocate %d bytes\n", nn);
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
MPI_Recv( btemp, nn, MPI_CHAR, 0, tag, comm, &status );
free(btemp);
if (!buf) {
fprintf( stderr, "Unable to allocate %d bytes\n", n );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
bsendbufsize = n + MPI_BSEND_OVERHEAD;
bsendbuf = (char *)malloc( bsendbufsize );
if (!bsendbuf) {
fprintf( stderr, "Unable to allocate %d bytes for bsend\n", n );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
MPI_Buffer_attach( bsendbuf, bsendbufsize );
MPI_Bsend_init( buf, n, MPI_CHAR, dest, cs+n+2, comm, &req );
{
fprintf( stderr, "Unable to allocate %d bytes\n", nn);
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
MPI_Recv( btemp, nn, MPI_CHAR, 0, tag, comm, &status );
free(btemp);
if (!buf) {
fprintf( stderr, "Unable to allocate %d bytes\n", n );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
MPI_Rsend_init( buf, n, MPI_CHAR, dest, cs+n+3, comm, &req );
MPI_Start( &req );
{
fprintf( stderr, "Unable to allocate %d bytes\n", n);
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
MPI_Recv( btemp, n, MPI_CHAR, 0, tag, comm, &status );
free(btemp);
if (!buf) {
fprintf( stderr, "Unable to allocate %d bytes\n", n );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
MPI_Ssend_init( buf, n, MPI_CHAR, dest, cs+n+4, comm, &req );
MPI_Start( &req );
{
fprintf( stderr, "Unable to allocate %d bytes\n", nn);
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
MPI_Recv( btemp, nn, MPI_CHAR, 0, tag, comm, &status );
free(btemp);
if (dest > r) r = dest;
fprintf( stderr, "This program requires %d processes\n", r-1 );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
if (rank == src) {
if (!buf) {
fprintf( stderr, "Unable to allocate %d bytes\n", n );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
MTestPrintfMsg( 1, "(%d) About to create isend and cancel\n",cs );
MPI_Isend( buf, n, MPI_CHAR, dest, cs+n+1, comm, &req );
{
fprintf( stderr, "Unable to allocate %d bytes\n", nn );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
MPI_Recv( btemp, nn, MPI_CHAR, 0, tag, comm, &status );
free(btemp);
if (!buf) {
fprintf( stderr, "Unable to allocate %d bytes\n", n );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
bsendbufsize = n + MPI_BSEND_OVERHEAD;
bsendbuf = (char *)malloc( bsendbufsize );
if (!bsendbuf) {
fprintf( stderr, "Unable to allocate %d bytes for bsend\n", n );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
MPI_Buffer_attach( bsendbuf, bsendbufsize );
MTestPrintfMsg( 1, "About to create and cancel ibsend\n" );
{
fprintf( stderr, "Unable to allocate %d bytes\n", nn);
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
MPI_Recv( btemp, nn, MPI_CHAR, 0, tag, comm, &status );
free(btemp);
if (!buf) {
fprintf( stderr, "Unable to allocate %d bytes\n", n );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
MTestPrintfMsg( 1, "About to create and cancel irsend\n" );
MPI_Irsend( buf, n, MPI_CHAR, dest, cs+n+3, comm, &req );
{
fprintf( stderr, "Unable to allocate %d bytes\n", n);
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
MPI_Recv( btemp, n, MPI_CHAR, 0, tag, comm, &status );
free(btemp);
if (!buf) {
fprintf( stderr, "Unable to allocate %d bytes\n", n );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
MTestPrintfMsg( 1, "About to create and cancel issend\n" );
MPI_Issend( buf, n, MPI_CHAR, dest, cs+n+4, comm, &req );
{
fprintf( stderr, "Unable to allocate %d bytes\n", nn);
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
MPI_Recv( btemp, nn, MPI_CHAR, 0, tag, comm, &status );
free(btemp);
if (!buf) {
fprintf( stderr, "Unable to allocate %d bytes\n", n );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
if (rank == source) {
fprintf( stderr, "This program requires a comm_world no larger than %d",
MAXPES );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
for (size = 1; size <= MYBUFSIZE ; size += size) {
if (size < 2) {
printf( "This test requires at least 2 processes\n" );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
for (testnum=0; msgsizes[testnum] > 0; testnum++) {
fprintf( stderr, "Unable to allocate %d bytes\n",
msgSize );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
}
partner = (rank + 1) % size;
fprintf( stderr, "%s\n", msg );
fflush( stderr );
MPI_Abort( MPI_COMM_WORLD, 1 );
+ exit(1);
}
/* ------------------------------------------------------------------------ */
static void MTestResourceSummary( FILE *fp )
! setenv LD_LIBRARY_PATH=../../lib
! output sort
$ ../../smpi_script/bin/smpirun -map -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/../../examples/msg/small_platform.xml -np 4 ./pingpong -q
-> *** Ping-pong test (MPI_Send/MPI_Recv) ***
+> *** Ping-pong test (MPI_Send/MPI_Recv) ***
> == pivot=0 : pingpong [0] <--> [1]
> == pivot=1 : pingpong [1] <--> [2]
> == pivot=2 : pingpong [2] <--> [3]
# (since we want to pass it to the child, it has to be redefined before each command)
# Go for the first test
p Test Reduce with 3 processes
+! output sort
$ ../../smpi_script/bin/smpirun -map -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/../../examples/msg/small_platform.xml -np 3 ./reduce -q
> [rank 0] -> Tremblay
> [rank 1] -> Jupiter
# second test
! setenv LD_LIBRARY_PATH=../../lib
+! output sort
p Test Reduce with 5 processes
$ ../../smpi_script/bin/smpirun -map -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/../../examples/msg/small_platform.xml -np 5 ./reduce -q
> [rank 0] -> Tremblay
> ok.
# third test
+! output sort
! setenv LD_LIBRARY_PATH=../../lib
p Test Reduce with 12 processes
$ ../../smpi_script/bin/smpirun -map -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/../../examples/msg/small_platform.xml -np 12 ./reduce -q
p Test reduce_scatter
$ ../../smpi_script/bin/smpirun -map -hostfile ${srcdir:=.}/hostfile -platform ${srcdir:=.}/../../examples/msg/small_platform.xml -np 16 --log=xbt_cfg.thres:critical ./reduce_scatter_coll
-> No Errors
+> No Errors
> You requested to use 16 processes, but there is only 5 processes in your hostfile...
> [0.000000] [surf_config/INFO] Switching workstation model to compound since you changed the network and/or cpu model(s)
> [rank 0] -> Tremblay
xbt_init(&argc,argv);
XBT_INFO("Allocating a new heap");
- heapA = xbt_mheap_new(-1, ((char*)sbrk(0)) + BUFFSIZE);
+ unsigned long mask = ~((unsigned long)getpagesize() - 1);
+ void *addr = (void*)(((unsigned long)sbrk(0) + BUFFSIZE) & mask);
+ heapA = xbt_mheap_new(-1, addr);
if (heapA == NULL) {
perror("attach 1 failed");
fprintf(stderr, "bye\n");
/* log_usage - A test of normal usage of the log facilities */
-/* Copyright (c) 2004-2007, 2009-2012. The SimGrid Team.
+/* Copyright (c) 2004-2007, 2009-2013. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
dolog("");
dolog(" ");
dolog(" test.thres:info root.thres:info ");
+#ifndef NDEBUG
dolog(" test.thres:debug ");
+#endif
dolog(" test.thres:verbose root.thres:error ");
dolog(" test.thres:critical ");
int status = TRACE_platform_graph_export_graphviz (graphvizFile);
if (status == 0){
- XBT_INFO ("%s expects --cfg=tracing:1 --cfg=tracing/platform:1", argv[0]);
+ XBT_INFO ("%s expects --cfg=tracing:yes --cfg=tracing/platform:yes", argv[0]);
}
#else
XBT_INFO ("works only if simgrid was compiled with tracing enabled.");
#! ./tesh
-$ ${bindir:=.}/graphicator ${srcdir:=.}/teshsuite/simdag/platforms/one_cluster.xml --cfg=tracing:1 --cfg=tracing/platform:1 test.dot
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to '1'
-> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/platform' to '1'
+$ ${bindir:=.}/graphicator ${srcdir:=.}/teshsuite/simdag/platforms/one_cluster.xml --cfg=tracing:yes --cfg=tracing/platform:yes test.dot
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing' to 'yes'
+> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'tracing/platform' to 'yes'
$ rm test.dot
# Valgrind suppressions for stuff that we cannot control
-# Memory leak in dash
-# dash is actually used when checking the "mkfile" command in tesh
+# Memory leaks in standard tools (e.g. dash, tail, or sort)
{
- Memory leak in /bin/dash
+ Memory leak in /bin tools
Memcheck:Leak
...
- obj:/bin/dash
+ obj:/bin/*
}
-# We also don't want to be annoyed by leaks in /usr/bin/tail
{
- Memory leak in /usr/bin/tail
+ Memory leak in /usr/bin tools
Memcheck:Leak
...
- obj:/usr/bin/tail
+ obj:/usr/bin/*
}
# There's a constant leak of 56 bytes in the depths of libc which
Memset
memuse
ment
-mergesort
-MERGESORT
merr
messageSize
messageSizes
set(tesh_files
${tesh_files}
${CMAKE_CURRENT_SOURCE_DIR}/setenv.tesh
- ${CMAKE_CURRENT_SOURCE_DIR}/set-ignore-output.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/set-output-ignore.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/set-output-sort.tesh
+ ${CMAKE_CURRENT_SOURCE_DIR}/set-output-sort-1.tesh
${CMAKE_CURRENT_SOURCE_DIR}/set-return.tesh
${CMAKE_CURRENT_SOURCE_DIR}/set-signal.tesh
${CMAKE_CURRENT_SOURCE_DIR}/set-timeout.tesh
${CMAKE_CURRENT_SOURCE_DIR}/background.tesh
- ${CMAKE_CURRENT_SOURCE_DIR}/basic2.tesh
${CMAKE_CURRENT_SOURCE_DIR}/basic.tesh
${CMAKE_CURRENT_SOURCE_DIR}/bg-basic.tesh
${CMAKE_CURRENT_SOURCE_DIR}/bg-set-signal.tesh
< 997 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
< 998 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
< 999 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-$ wc -c
-> 150000
+$ sed -n '$='
+> 1000
p And now, a read/write test
$ cat tmp_fich
> TOTO TUTU
+! expect return 2
+! output ignore
+< $ cat tmp_fich
+< > TUTU TOTO
+$ ${bindir:=.}/tesh --enable-coverage
+
$ rm tmp_fich
p And now, some multilines examples
+p Really basic multiline
< a
< b
< c
> c
> d
-$ wc -l tmp_fich
-> 4 tmp_fich
+$ sed -n '$=' tmp_fich
+> 4
$ rm tmp_fich
-$ ${bindir:=.}/tesh --enable-coverage --log='log.thresh:info tesh.fmt:%m%n' basic2.tesh
-> Enable coverage
-> Test suite `basic2'
-> [basic2:3] Test sorting and filtering of output
-> [basic2:5] true
-> [basic2:8] true
-> [basic2:10] printf 'profiling: foo\\n'
-> [basic2:12] printf 'profiling: foo'
-> [basic2:15] printf 'profiling: foo\\n'
-> [basic2:18] printf 'profiling: foo'
-> [basic2:20] printf 'a\\nb\\nc\\nd\\n'
-> [basic2:26] printf 'a\\nb\\nc\\nd'
-> [basic2:33] printf 'c\\nd\\nb\\na\\n'
-> [basic2:40] printf 'c\\nd\\nb\\na'
-> [basic2:46] printf 'a\\nprofiling: foo\\nprofiling: bar\\nb\\nc\\nd\\nprofiling: baz\\n'
-> [basic2:52] printf 'a\\nprofiling: foo\\nprofiling: bar\\nb\\nc\\nd\\nprofiling: baz'
-> [basic2:59] printf 'c\\nprofiling: foo\\nprofiling: bar\\nd\\nb\\na\\nprofiling: baz\\n'
-> [basic2:66] printf 'c\\nprofiling: foo\\nprofiling: bar\\nd\\nb\\na\\nprofiling: baz'
-> Test suite `basic2' OK
+p Now, check for spaces in input
+
+p * leading and trailing spaces...
+< a
+< b
+< c
+$ sed 's/ /_/g'
+> __a
+> _b_
+> c__
+
+p * empty lines...
+< a
+<
+< c
+$ sed '2s/^/b/'
+> a
+> b
+> c
+
+<
+< b
+< c
+$ sed '1s/^/a/'
+> a
+> b
+> c
+
+p Now that input should be good, check for spaces in output
+
+p * leading spaces...
+< _x
+$ sed 's/_/ /'
+> x
+
+! expect return 2
+! output ignore
+< < _x
+< $ sed 's/_/ /'
+< > x
+$ ${bindir:=.}/tesh --enable-coverage
+
+! expect return 2
+! output ignore
+< < x
+< $ cat
+< > x
+$ ${bindir:=.}/tesh --enable-coverage
+
+p * trailing spaces...
+< x_
+$ sed 's/_/ /'
+> x
+
+! expect return 2
+! output ignore
+< < x_
+< $ sed 's/_/ /'
+< > x
+$ ${bindir:=.}/tesh --enable-coverage
+
+! expect return 2
+! output ignore
+< < x
+< $ cat
+< > x
+$ ${bindir:=.}/tesh --enable-coverage
+
+p * empty lines...
+< a
+<
+< c
+$ cat
+> a
+>
+> c
+
+! expect return 2
+! output ignore
+< < a
+< <
+< < c
+< $ cat
+< > a
+< > c
+$ ${bindir:=.}/tesh --enable-coverage
+
+! expect return 2
+! output ignore
+< < a
+< < c
+< $ cat
+< > a
+< >
+< > c
+$ ${bindir:=.}/tesh --enable-coverage
+
+<
+< b
+< c
+$ cat
+>
+> b
+> c
+
+! expect return 2
+! output ignore
+< <
+< < b
+< < c
+< $ cat
+< > b
+< > c
+$ ${bindir:=.}/tesh --enable-coverage
+
+! expect return 2
+! output ignore
+< < b
+< < c
+< $ cat
+< >
+< > b
+< > c
+$ ${bindir:=.}/tesh --enable-coverage
> Test suite from stdin
> [(stdin):1] ./return1
> Test suite `(stdin)': NOK (<(stdin):1> returned code 1)
-> Output of <(stdin):1> so far:
+> Output of <(stdin):1> so far:
> ||
$ cd ..
> Test suite from stdin
> [(stdin):1] ./segfault
> Test suite `(stdin)': NOK (<(stdin):1> got signal SIGSEGV)
-> Output of <(stdin):1> so far:
+> Output of <(stdin):1> so far:
> ||
$ cd ..
}
xbt_strbuff_chomp(rctx->output_got);
xbt_strbuff_chomp(rctx->output_wanted);
- xbt_strbuff_trim(rctx->output_got);
- xbt_strbuff_trim(rctx->output_wanted);
/* Check for broken pipe */
if (rctx->brokenpipe)
xbt_dynar_t a = xbt_str_split(rctx->output_got->data, "\n");
char *out = xbt_str_join(a, "\n||");
xbt_dynar_free(&a);
- XBT_INFO("Output of <%s> so far: \n||%s", rctx->filepos, out);
+ XBT_INFO("Output of <%s> so far:\n||%s", rctx->filepos, out);
free(out);
} else if (rctx->output == e_output_check
&& (rctx->output_got->used != rctx->output_wanted->used
xbt_dynar_t a = xbt_str_split(rctx->output_got->data, "\n");
char *out = xbt_str_join(a, "\n||");
xbt_dynar_free(&a);
- XBT_INFO("Here is the (ignored) command output: \n||%s", out);
+ XBT_INFO("Here is the (ignored) command output:\n||%s", out);
free(out);
}
-#! ./tesh
-
p Test sorting and filtering of output
$ true
--- /dev/null
+#! ./tesh
+
+p This tests whether TESH correctly sorts command output
+
+$ ${bindir:=.}/tesh --enable-coverage --log='log.thresh:info tesh.fmt:%m%n' set-output-sort-1.tesh
+> Enable coverage
+> Test suite `set-output-sort-1'
+> [set-output-sort-1:1] Test sorting and filtering of output
+> [set-output-sort-1:3] true
+> [set-output-sort-1:6] true
+> [set-output-sort-1:8] printf 'profiling: foo\\n'
+> [set-output-sort-1:10] printf 'profiling: foo'
+> [set-output-sort-1:13] printf 'profiling: foo\\n'
+> [set-output-sort-1:16] printf 'profiling: foo'
+> [set-output-sort-1:18] printf 'a\\nb\\nc\\nd\\n'
+> [set-output-sort-1:24] printf 'a\\nb\\nc\\nd'
+> [set-output-sort-1:31] printf 'c\\nd\\nb\\na\\n'
+> [set-output-sort-1:38] printf 'c\\nd\\nb\\na'
+> [set-output-sort-1:44] printf 'a\\nprofiling: foo\\nprofiling: bar\\nb\\nc\\nd\\nprofiling: baz\\n'
+> [set-output-sort-1:50] printf 'a\\nprofiling: foo\\nprofiling: bar\\nb\\nc\\nd\\nprofiling: baz'
+> [set-output-sort-1:57] printf 'c\\nprofiling: foo\\nprofiling: bar\\nd\\nb\\na\\nprofiling: baz\\n'
+> [set-output-sort-1:64] printf 'c\\nprofiling: foo\\nprofiling: bar\\nd\\nb\\na\\nprofiling: baz'
+> Test suite `set-output-sort-1' OK
+
+p Check the default prefix length (19) for "output sort"
+! output sort
+< 12345678901234567 B line
+< 12345678901234567 A line
+$ cat
+> 12345678901234567 A line
+> 12345678901234567 B line
+
+! output sort
+< 123456789012345678 B line
+< 123456789012345678 A line
+$ cat
+> 123456789012345678 B line
+> 123456789012345678 A line
+
+! expect return 2
+! output ignore
+< ! output sort
+< < 123456789012345678 B line
+< < 123456789012345678 A line
+< $ cat
+< > 123456789012345678 A line
+< > 123456789012345678 B line
+$ ${bindir:=.}/tesh --enable-coverage
+
+p Check user-defined prefix length for "output sort"
+! output sort 5
+< 000 B line
+< 000 A line
+$ cat
+> 000 A line
+> 000 B line
+
+! output sort 4
+< 000 B line
+< 000 A line
+$ cat
+> 000 B line
+> 000 A line
+
+! expect return 2
+! output ignore
+< ! output sort 4
+< < 000 B line
+< < 000 A line
+< $ cat
+< > 000 A line
+< > 000 B line
+$ ${bindir:=.}/tesh --enable-coverage