Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[scheduler] Rename future abstractions #555

Merged
merged 6 commits into from
Mar 21, 2023

Conversation

iyzhang
Copy link
Contributor

@iyzhang iyzhang commented Mar 17, 2023

The names of some of the abstractions in the scheduler are a bit confusing from Demikernel's point of view and they do not reflect our needs. First, we've renamed Future to Coroutine (even though they are not strictly coroutines). This is our basic unit of computation for performing I/O. Next, this PR creates a Task abstraction to replace the previous FutureResult abstraction. The scheduler uses Tasks for scheduling now instead of opaque Futures as before. Thus, you must wrap a Future/Coroutine in a Task before you can insert it into the scheduler because the scheduler no longer knows about generic Futures. This means that we are able to have a better view into what coroutines are running (and our background coroutines are also wrapped in Task, rather than being directly scheduled). This addresses issue #529

@iyzhang iyzhang added the enhancement Enhancement Request on an Existing Feature label Mar 17, 2023
@iyzhang iyzhang requested a review from ppenna March 17, 2023 02:21
@iyzhang iyzhang force-pushed the enhancement-runtime-scheduler-renaming branch from f175912 to 12ca1c2 Compare March 17, 2023 15:43
@iyzhang iyzhang marked this pull request as ready for review March 17, 2023 15:59
@iyzhang iyzhang linked an issue Mar 17, 2023 that may be closed by this pull request
@iyzhang iyzhang force-pushed the enhancement-runtime-scheduler-renaming branch 2 times, most recently from aa6dfe9 to b2ecbfc Compare March 17, 2023 17:10
src/rust/catmem/demikernel.code-workspace Outdated Show resolved Hide resolved
src/rust/inetstack/test_helpers/engine.rs Show resolved Hide resolved
src/rust/catloop/futures/mod.rs Outdated Show resolved Hide resolved
src/rust/catmem/futures/pop.rs Outdated Show resolved Hide resolved
src/rust/catnap/mod.rs Outdated Show resolved Hide resolved
@iyzhang iyzhang force-pushed the enhancement-runtime-scheduler-renaming branch from b2ecbfc to b35ea36 Compare March 17, 2023 17:24
@iyzhang iyzhang force-pushed the enhancement-runtime-scheduler-renaming branch from 40bc1fe to bcd3741 Compare March 18, 2023 19:48
src/rust/catcollar/futures/close.rs Outdated Show resolved Hide resolved
src/rust/catcollar/futures/connect.rs Outdated Show resolved Hide resolved
src/rust/catcollar/futures/pop.rs Outdated Show resolved Hide resolved
src/rust/catcollar/futures/push.rs Outdated Show resolved Hide resolved
src/rust/catcollar/futures/pushto.rs Outdated Show resolved Hide resolved
src/rust/inetstack/protocols/tcp/established/mod.rs Outdated Show resolved Hide resolved
src/rust/catnap/futures/close.rs Outdated Show resolved Hide resolved
src/rust/catmem/mod.rs Outdated Show resolved Hide resolved
src/rust/catmem/mod.rs Outdated Show resolved Hide resolved
@ppenna ppenna force-pushed the enhancement-runtime-scheduler-renaming branch 2 times, most recently from 7c68ca9 to c547624 Compare March 20, 2023 18:28
@iyzhang iyzhang force-pushed the enhancement-runtime-scheduler-renaming branch 4 times, most recently from 813b8df to 8a48bf0 Compare March 20, 2023 22:04
src/rust/catcollar/mod.rs Outdated Show resolved Hide resolved
src/rust/catcollar/mod.rs Outdated Show resolved Hide resolved
src/rust/catcollar/mod.rs Outdated Show resolved Hide resolved
src/rust/catcollar/mod.rs Outdated Show resolved Hide resolved
src/rust/catcollar/mod.rs Outdated Show resolved Hide resolved
src/rust/catloop/mod.rs Outdated Show resolved Hide resolved
src/rust/catloop/mod.rs Outdated Show resolved Hide resolved
src/rust/catloop/mod.rs Outdated Show resolved Hide resolved
src/rust/catloop/mod.rs Outdated Show resolved Hide resolved
src/rust/catloop/mod.rs Outdated Show resolved Hide resolved
src/rust/catloop/mod.rs Outdated Show resolved Hide resolved
src/rust/catnap/mod.rs Outdated Show resolved Hide resolved
src/rust/catnap/mod.rs Outdated Show resolved Hide resolved
src/rust/catnap/mod.rs Outdated Show resolved Hide resolved
src/rust/catnap/mod.rs Outdated Show resolved Hide resolved
src/rust/inetstack/mod.rs Outdated Show resolved Hide resolved
src/rust/scheduler/mod.rs Outdated Show resolved Hide resolved
@ppenna ppenna self-requested a review March 20, 2023 22:35
@iyzhang iyzhang force-pushed the enhancement-runtime-scheduler-renaming branch 2 times, most recently from a640e27 to fb6663e Compare March 21, 2023 01:35
@ppenna ppenna force-pushed the enhancement-runtime-scheduler-renaming branch from fb6663e to d08b996 Compare March 21, 2023 12:38
@ppenna ppenna requested review from ppenna and removed request for ppenna March 21, 2023 16:00
@iyzhang iyzhang force-pushed the enhancement-runtime-scheduler-renaming branch from d08b996 to 972caf3 Compare March 21, 2023 16:35
@ppenna ppenna merged commit bb19454 into dev Mar 21, 2023
@ppenna ppenna deleted the enhancement-runtime-scheduler-renaming branch March 21, 2023 16:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Enhancement Request on an Existing Feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[runtime] Create Demikernel coroutine trait using Future trait
2 participants