Skip to content

Conversation

@Shillaker
Copy link
Collaborator

@Shillaker Shillaker commented Feb 3, 2022

These two changes are tightly coupled as they both stem from a refactor of Executor::executeThreads. This function is part of the Executor API (e.g. called in Faasm to execute batches of threads). It was previously doing a lot of untested logic around caching scheduling decisions and updating snapshots, so updating it was difficult.

This change includes a refactor of that function, and adding single-host optimisations, avoiding dirty tracking and snapshot merging for an app executing on a single host.

Changes:

  • Add new CACHED topology hint to move decision caching into the Scheduler.
  • Mark BatchExecuteRequests with a singlehost flag if executed only on the main host.
  • Only perform dirty tracking and snapshot merging if not executing on solely on the main host.

@Shillaker Shillaker self-assigned this Feb 3, 2022
@Shillaker Shillaker marked this pull request as ready for review February 9, 2022 15:03
@Shillaker Shillaker requested review from csegarragonz and removed request for csegarragonz February 9, 2022 15:46
@Shillaker Shillaker marked this pull request as draft February 10, 2022 09:53
@Shillaker Shillaker changed the title Add single-host optimisations Threads: Executor decision caching and single-host optimisations Feb 10, 2022
@Shillaker Shillaker marked this pull request as ready for review February 10, 2022 16:53
@Shillaker Shillaker changed the title Threads: Executor decision caching and single-host optimisations Executor decision caching and single-host optimisations Feb 11, 2022
@Shillaker Shillaker merged commit 55714be into master Feb 11, 2022
@Shillaker Shillaker deleted the single-host branch February 11, 2022 10:55
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