Load balancing with heterogeneous morphologies and synapses

General issues of interest both for network and
individual cell parallelization.

Moderator: hines

hines
Site Admin
Posts: 1528
Joined: Wed May 18, 2005 3:32 pm

Re: Load balancing with heterogeneous morphologies and synap

Post by hines » Tue Mar 28, 2017 2:58 pm

I encourage you to modify lpt_bal to write a file instead of return the per process balance data. That typically corresponds better to a natural workflow in which separate runs do separate phases of the problem.

After reading the mcomplex.dat file, just compute the cell complexities as before. Those complexities will be better proxies for the actual relative computation
time.

iraikov
Posts: 16
Joined: Wed Mar 18, 2015 11:53 am
Location: University of California, Irvine

Re: Load balancing with heterogeneous morphologies and synap

Post by iraikov » Wed Apr 05, 2017 1:05 pm

Hi Michael,

Sorry to bring this up again, but it looks like if each MPI rank calls ExperimentalMechComplex procedure, the mcomplex.dat file will get clobbered by the different ranks writing to it. Would it be sufficient to call ExperimentalMechComplex and then compute cell complexities without writing to mcomplex.dat? Thanks,
Ivan
hines wrote:I encourage you to modify lpt_bal to write a file instead of return the per process balance data. That typically corresponds better to a natural workflow in which separate runs do separate phases of the problem.

After reading the mcomplex.dat file, just compute the cell complexities as before. Those complexities will be better proxies for the actual relative computation
time.

ted
Site Admin
Posts: 5376
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Load balancing with heterogeneous morphologies and synap

Post by ted » Thu Apr 06, 2017 12:11 am

That can be prevented by reorganizing the code to separate determination of complexity from writing results to the output file. Then all hosts can calculate the complexities in parallel, after which writing to the output file can be done by a procedure that serializes the process of generating the output file. I don't have a Python example at hand, but there must be something similar somewhere in ModelDB; proc spikeout() in ran3par.hoc in ModelDB entry 96444 is an example of a hoc implementation of a serialized output file generator.

hines
Site Admin
Posts: 1528
Joined: Wed May 18, 2005 3:32 pm

Re: Load balancing with heterogeneous morphologies and synap

Post by hines » Sat Apr 08, 2017 2:45 pm

ExperimentalMechComplexity is parallelized to distribute the mechanism experiments on different ranks and should safely write a single mcomplex.dat file.
By the way, you can add a list of mechanism name arguments for mechanism that should NOT be performance tested,

Post Reply