Testing
Once the module
is built, it must be loaded on both machines before it can be used.
To accomplish this, a script was written that automatically copies
the module to the /cplant/modules directory as well as the corresponding
directory on the other machine (test programs are also copied at
this point), unloads the previous modules if they are still running
and loads the new module along with several others. Because Portals
3 is still in the development stage, other modules are required
to perform fundamental tasks. For example, the old Portals 2 module
is sometimes used to initiate a job by synchronizing information
on both nodes. This and other helper modules are loaded in the following
order: portals.mod (Portals 2), rtscts.mod, myrIP.mod and, finally,
the new P3oT.mod is loaded last.
With the help
of the Portals 2 module, a test program can be run atomically from
the Portals 3 testing directory. These tests are compiled together
into p3test, so they can be run one after the other and test all
aspects of the Portals implementation. Using this program, preliminary
results show a latency of around 80 microseconds for the P3oT module.
It should be noted that this figure comes from an initial implementation
with no optimizations and which still includes one memory copy to
or from the CMB per node and an OS call upon sending. When these
time consuming activities are circumvented, the latency will be
much less.
|