Skip to content

Conversation

naure
Copy link
Collaborator

@naure naure commented Aug 21, 2025

  • NUMA-aware allocation of irises.
    • Using the default "first-touch" policy of Linux. Allocations of Arc will be made from the worker threads, which optimistically tends to allocate on the NUMA node of the thread.
    • Each threads is given an affinity to a CPU core, assuming that subsequent core IDs correspond to NUMA locality.
  • The approach is to reallocate the iris codes. That’s because the data has to be allocated somewhere to even be sent to the worker threads.
    • The alternative would be to move multiple pieces of logic themselves to threads.
  • This PR is also an experimental move of the exclusive ownership of iris stores to the iris worker pool.
  • Configure with HAWK_NUMA true/false (default true).

@naure naure changed the base branch from main to au/iris-workers August 21, 2025 10:23
Base automatically changed from au/iris-workers to main August 28, 2025 09:43
@naure naure changed the title Au/iris workers store Au/iris workers NUMA-awareness Aug 28, 2025
@naure naure force-pushed the au/iris-workers-store branch from 1c66217 to 93e0852 Compare August 28, 2025 11:54
@naure naure requested a review from mcalancea August 28, 2025 11:54
@naure naure marked this pull request as ready for review August 28, 2025 11:54
@naure naure changed the title Au/iris workers NUMA-awareness Au/iris workers NUMA-awareness (POP-2820) Aug 28, 2025
@naure naure requested a review from carlomazzaferro August 28, 2025 15:06
Copy link
Collaborator

@mcalancea mcalancea left a comment

Choose a reason for hiding this comment

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

Looks good.

@naure
Copy link
Collaborator Author

naure commented Sep 3, 2025

@carlomazzaferro Should we merge this?

Pro: first iteration of NUMA.

Con: possibly none, or slightly slower startup. (edited)

@naure naure marked this pull request as draft September 8, 2025 11:40
@naure naure marked this pull request as ready for review September 11, 2025 14:17
@naure
Copy link
Collaborator Author

naure commented Sep 11, 2025

@mcalancea @carlomazzaferro Probably worth reviewing again now. The new approach no longer has this previous problem around blocking channels.

@naure naure merged commit 3c2530f into main Sep 15, 2025
17 checks passed
@naure naure deleted the au/iris-workers-store branch September 15, 2025 14:11
naure added a commit that referenced this pull request Sep 15, 2025
@naure naure mentioned this pull request Sep 15, 2025
mcalancea pushed a commit that referenced this pull request Sep 25, 2025
* Deploy dev with #1594 and #1634 (and more)

* Au/dev tune (#1666)

au/dev-tune: Adjust HAWK parameters

* au/dev-tune: connection_parallelism=16

* au/ Balance OT Roles (POP-2917) (#1675)

au/balance-ot-roles

* dev: Deploy au/tune-params

* au/disable round counter (POP-2876) (#1646)

* au/disable-round-counter

* au/disable-round-counter: Count MPC rounds with FastHistogram

* au/reserve-extra (POP-2874) (#1647)

au/reserve-extra

* au/tune-params: lower parallelism params (#1677)

* au/write_all (#1645)

* Au/no wait send (POP-2878) (#1644)

* au/fast-metrics

* au/net-metrics: More networking metrics (#1629)

* au/fast-metrics: Remove unused GRPC metrics

* au/fast-metrics: Remove networking changes

* au/network-metrics: Add fast metrics to the networking

* au/no-wait-send: Send packets earlier and do not spin

* dev: deploy same as stage

* dev: build docker

* dev: deploy

* dev: Don’t build on deploy commands
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