-
Notifications
You must be signed in to change notification settings - Fork 6k
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
[data] New executor [10/n]--- Plumbing for locality_with_output and setting execution options #31908
Merged
Merged
[data] New executor [10/n]--- Plumbing for locality_with_output and setting execution options #31908
Changes from all commits
Commits
Show all changes
95 commits
Select commit
Hold shift + click to select a range
761a53a
streaming stuff only
ericl 8404b37
add basic streaming
ericl 124b9b5
integrate with feature flag
ericl 78a89c3
fix stats
ericl 34990e8
stats todo
ericl e0c3e04
wip refactor
ericl 9117a85
fix it
ericl 3cf4a6e
fix finalization
ericl b4147b5
add sanity test
ericl 6c5f732
test completed flag
ericl 11d0a7d
remove demo
ericl 008eb13
disable by default
ericl 7c4117b
fix legacy call
ericl 75ed42d
off
ericl 8901571
comments 1
ericl 02a6043
Merge remote-tracking branch 'upstream/master' into streaming-executor
ericl 528f87d
remove index from inputs done
ericl 4a36f66
fix tests
ericl fe86e26
limit 1
ericl 15e382f
wip
ericl e34273d
add lim
ericl ee2d105
validation code
ericl 97ed2a0
Merge remote-tracking branch 'upstream/master' into streaming-executor
ericl 4d56c68
Merge branch 'streaming-executor' into resource-limits
ericl 9e36935
add resources
ericl ea64f22
canonicalize remote args
ericl d81c7c0
valid code
ericl 481ce6a
todos
ericl 67ae881
fix regression
ericl c16d265
Merge remote-tracking branch 'upstream/master' into streaming-executor
ericl 159c2fa
Merge branch 'streaming-executor' into resource-limits
ericl 3e954e9
remove stale docs
ericl ba8e530
comments 2
ericl 31cfd08
remove unnecessary reverse
ericl 7858cc2
Merge remote-tracking branch 'upstream/master' into streaming-executor
ericl 1a66c03
Merge branch 'streaming-executor' into resource-limits
ericl 3facdb3
add int math
ericl 057db68
fix resource limits
ericl 9d2e46a
add limits reporting
ericl 0dd2459
add todo
ericl 96b7202
update
ericl 647ae29
test actor pool
ericl 64909b5
add some todos
ericl 8123f90
fix error message
ericl 9fbd192
update limits
ericl 6081848
1/4
ericl 3c042b9
add tracing
ericl 06e6f8d
trace step
ericl ed821d3
test unordered map
ericl 75c688f
improve progress bar
ericl a9e4ed4
Merge remote-tracking branch 'upstream/master' into resource-limits
ericl 3863a9c
refresh less
ericl 5f7bb0d
todo
ericl 9b8c453
restore limits
ericl 257d6c5
refactor
ericl b9cec56
wip
ericl e0b550b
wip
ericl 00c1cea
shutdown
ericl d37a0dc
wip
ericl bd5d2dc
wip
ericl 29970f7
fix test operator
ericl ea18db1
fix exec test
ericl 464bad3
test order preservation
ericl 273ddb8
Merge branch 'streaming-interfaces' into resource-limits
ericl cdc7f5b
fix
ericl 32377ac
wip
ericl 5802753
fix test
ericl 75a46e9
update test
ericl 61ba793
Merge remote-tracking branch 'upstream/master' into streaming-interfaces
ericl dd2c073
deflake
ericl 9c6cf2c
add progress str
ericl ed80f9a
remove s
ericl 3871a0a
comments 3
ericl 2416de0
Merge remote-tracking branch 'upstream/master' into streaming-interfaces
ericl 4206fab
Merge branch 'streaming-interfaces' into resource-limits
ericl 21311ce
cleanup
ericl 2f2d4e3
Merge remote-tracking branch 'upstream/master' into resource-limits
ericl 1434a19
update 2
ericl 03ced27
fix tests
ericl 82c740c
add basic tests
ericl 9194c8f
wip
ericl 5a92b13
update
ericl 59f6695
Merge remote-tracking branch 'upstream/master' into resource-limits
ericl 96e0c20
plumbing
ericl d2ccc49
check scheduling strat
ericl 5f7ecbf
add spread strategy test
ericl 9aed814
update
ericl c257365
Merge remote-tracking branch 'upstream/master' into resource-limits
ericl 34911bd
remove broken test
ericl 295af5d
lint
ericl ca933bc
fix
ericl 5f6ed2c
Merge remote-tracking branch 'upstream/master' into resource-limits
ericl b77d577
Merge branch 'resource-limits' into plumbing2
ericl aa0b4bd
fix test
ericl 67ff6c9
fix lint
ericl File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,13 @@ | ||
import os | ||
import threading | ||
from typing import Optional | ||
from typing import Optional, TYPE_CHECKING | ||
|
||
from ray.util.annotations import DeveloperAPI | ||
from ray.util.scheduling_strategies import SchedulingStrategyT | ||
|
||
if TYPE_CHECKING: | ||
from ray.data._internal.execution.interfaces import ExecutionOptions | ||
|
||
# The context singleton on this process. | ||
_default_context: "Optional[DatasetContext]" = None | ||
_context_lock = threading.Lock() | ||
|
@@ -144,6 +147,7 @@ def __init__( | |
enable_auto_log_stats: bool, | ||
trace_allocations: bool, | ||
optimizer_enabled: bool, | ||
execution_options: "ExecutionOptions", | ||
): | ||
"""Private constructor (use get_current() instead).""" | ||
self.block_splitting_enabled = block_splitting_enabled | ||
|
@@ -171,6 +175,8 @@ def __init__( | |
self.enable_auto_log_stats = enable_auto_log_stats | ||
self.trace_allocations = trace_allocations | ||
self.optimizer_enabled = optimizer_enabled | ||
# TODO: expose execution options in Dataset public APIs. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It'd be better to create a tracking issue There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Added to #31797 |
||
self.execution_options = execution_options | ||
|
||
@staticmethod | ||
def get_current() -> "DatasetContext": | ||
|
@@ -179,6 +185,8 @@ def get_current() -> "DatasetContext": | |
If the context has not yet been created in this process, it will be | ||
initialized with default settings. | ||
""" | ||
from ray.data._internal.execution.interfaces import ExecutionOptions | ||
|
||
global _default_context | ||
|
||
with _context_lock: | ||
|
@@ -213,6 +221,7 @@ def get_current() -> "DatasetContext": | |
enable_auto_log_stats=DEFAULT_AUTO_LOG_STATS, | ||
trace_allocations=DEFAULT_TRACE_ALLOCATIONS, | ||
optimizer_enabled=DEFAULT_OPTIMIZER_ENABLED, | ||
execution_options=ExecutionOptions(), | ||
) | ||
|
||
return _default_context | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
given
execution_options
could be muted inStreamingExecutor
/BulkExecutor
, shall we just provide a method inDatasetContext.get_execution_options()
to just return a deep copy ofctx.execution_options
?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missed this comment--- I'll file a followup.