Skip to content

Executor decision caching and single-host optimisations - #222

Merged
Shillaker merged 18 commits into
masterfrom
single-host
Feb 11, 2022
Merged

Executor decision caching and single-host optimisations#222
Shillaker merged 18 commits into
masterfrom
single-host

Conversation

@Shillaker

@Shillaker Shillaker commented Feb 3, 2022

Copy link
Copy Markdown
Collaborator

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.

1 participant