Skip to content

round robin load balance#2500

Merged
thorstenhater merged 7 commits intoarbor-sim:masterfrom
thorstenhater:feat/round-robin-load-balance
Apr 9, 2026
Merged

round robin load balance#2500
thorstenhater merged 7 commits intoarbor-sim:masterfrom
thorstenhater:feat/round-robin-load-balance

Conversation

@thorstenhater
Copy link
Copy Markdown
Contributor

@thorstenhater thorstenhater commented Mar 17, 2026

The current partition load balance gets a sibling: round-robin load balance.
This is helpful when consecutive ranges contain similar cells, but the overall
balance is off.

When trying out the Allen V1 model on JUWELS, we get this using partition

---- meters -------------------------------------------------------------------------------
meter                         time(s)      memory(MB)
-------------------------------------------------------------------------------------------
model-init                  10912.980        1679.208
model-run                     995.572        5718.083
meter-total                 11908.552        7397.291

and this using round-robin

---- meters -------------------------------------------------------------------------------
meter                         time(s)      memory(MB)
-------------------------------------------------------------------------------------------
model-init                   4782.748        1535.923
model-run                     496.480        6460.236
meter-total                  5279.228        7996.159

Copy link
Copy Markdown
Collaborator

@ibanezbm ibanezbm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved 👍

@thorstenhater thorstenhater merged commit e5c1bcd into arbor-sim:master Apr 9, 2026
27 of 28 checks passed
thorstenhater added a commit that referenced this pull request Apr 16, 2026
# Preliminary release notes for v0.12

## What's Changed
* V0.11.0 rc by @thorstenhater in
#2454
* Release finalisation by @thorstenhater in
#2455
* CSCS CI by @thorstenhater in
#2448
* Re-factor connection setup and event dispatch. by @thorstenhater in
#2449
* Add tiled busyring by @thorstenhater in
#2456
* Fill in a missing part of the docs by @thorstenhater in
#2462
* Major Optimisations in Label Resolution by @thorstenhater in
#2458
* Refactor domain decomposition by @thorstenhater in
#2457
* Add an escape hatch to label resolution by @thorstenhater in
#2459
* Fix crash on probding elided values by @thorstenhater in
#2466
* Only store PRNG data if needed by @thorstenhater in
#2467
* 🐍 Polish `label_dict` by @thorstenhater in
#2451
* use better builtins for double max/min by @thorstenhater in
#2469
* Remove typed map and refactor cable cell by @thorstenhater in
#2468
* Many small refactoring / clean-ups / memory savings by @thorstenhater
in #2465
* Bump pb11 to latest major version by @thorstenhater in
#2475
* Fix GPU test issues by @ibanezbm in
#2479
* Align versions by @thorstenhater in
#2481
* Add probing of eX. by @thorstenhater in
#2478
* Add trivial compiler test by @thorstenhater in
#2488
* Replace MPI_Allgatherv with MPI_Alltoallv for communication pattern by
@ibanezbm in #2460
* Use CBRNG in schedules. by @thorstenhater in
#2386
* Update year 🎉 by @thorstenhater in
#2491
* Don't use deprecated numpy functions by @thorstenhater in
#2490
* Co-simulation tutorial by @thorstenhater in
#2492
* Nested timers by @marvinKaster in
#2486
* Clean-up iclamp interface by @thorstenhater in
#2494
* Fix override by @thorstenhater in
#2493
* Better use of __restrict__ by @thorstenhater in
#2476
* Add AdEx cells. by @thorstenhater in
#2230
* units in cv policy by @thorstenhater in
#2495
* Flat map in mechanism description for 1.5x speed-up in synapse
creation by @thorstenhater in
#2501
* Perf/compress contiguous by @thorstenhater in
#2470
* Allow more SWC files in the parser by @thorstenhater in
#2471
* STDP case for busyring benchmark by @jlubo in
#2489
* round robin load balance by @thorstenhater in
#2500

## New Contributors
* @ibanezbm made their first contribution in
#2479
* @marvinKaster made their first contribution in
#2486

**Full Changelog**:
v0.11.0...v0.12.0
@thorstenhater thorstenhater mentioned this pull request Apr 16, 2026
thorstenhater added a commit that referenced this pull request Apr 17, 2026
# Release notes

This release constitutes a major improvement in terms of parallel
performance
by replacing the underlying MPI algorithm (see our paper at IPDPS'26)
and
setup time by improving label resolution and adding the access to raw
labels.
On the functional side, we introduced AdEx cells, added a new load
balancing
method, and probes for the reversal potential.

## What's Changed
* V0.11.0 rc by @thorstenhater in
#2454
* Release finalisation by @thorstenhater in
#2455
* CSCS CI by @thorstenhater in
#2448
* Re-factor connection setup and event dispatch. by @thorstenhater in
#2449
* Add tiled busyring by @thorstenhater in
#2456
* Fill in a missing part of the docs by @thorstenhater in
#2462
* Major Optimisations in Label Resolution by @thorstenhater in
#2458
* Refactor domain decomposition by @thorstenhater in
#2457
* Add an escape hatch to label resolution by @thorstenhater in
#2459
* Fix crash on probding elided values by @thorstenhater in
#2466
* Only store PRNG data if needed by @thorstenhater in
#2467
* 🐍 Polish `label_dict` by @thorstenhater in
#2451
* use better builtins for double max/min by @thorstenhater in
#2469
* Remove typed map and refactor cable cell by @thorstenhater in
#2468
* Many small refactoring / clean-ups / memory savings by @thorstenhater
in #2465
* Bump pb11 to latest major version by @thorstenhater in
#2475
* Fix GPU test issues by @ibanezbm in
#2479
* Align versions by @thorstenhater in
#2481
* Add probing of eX. by @thorstenhater in
#2478
* Add trivial compiler test by @thorstenhater in
#2488
* Replace MPI_Allgatherv with MPI_Alltoallv for communication pattern by
@ibanezbm in #2460
* Use CBRNG in schedules. by @thorstenhater in
#2386
* Update year 🎉 by @thorstenhater in
#2491
* Don't use deprecated numpy functions by @thorstenhater in
#2490
* Co-simulation tutorial by @thorstenhater in
#2492
* Nested timers by @marvinKaster in
#2486
* Clean-up iclamp interface by @thorstenhater in
#2494
* Fix override by @thorstenhater in
#2493
* Better use of __restrict__ by @thorstenhater in
#2476
* Add AdEx cells. by @thorstenhater in
#2230
* units in cv policy by @thorstenhater in
#2495
* Flat map in mechanism description for 1.5x speed-up in synapse
creation by @thorstenhater in
#2501
* Perf/compress contiguous by @thorstenhater in
#2470
* Allow more SWC files in the parser by @thorstenhater in
#2471
* STDP case for busyring benchmark by @jlubo in
#2489
* round robin load balance by @thorstenhater in
#2500

## New Contributors
* @ibanezbm made their first contribution in
#2479
* @marvinKaster made their first contribution in
#2486

**Full Changelog**:
v0.11.0...v0.12.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants