[SYSTEMDS-2972] Dependency Task execution for transform encode#1351
Closed
ilovemesomeramen wants to merge 14 commits intoapache:masterfrom
Closed
[SYSTEMDS-2972] Dependency Task execution for transform encode#1351ilovemesomeramen wants to merge 14 commits intoapache:masterfrom
ilovemesomeramen wants to merge 14 commits intoapache:masterfrom
Conversation
Contributor
|
Thanks for the patch, Lukas. I fixed a few typos and added SuppressWarnings to resolve the warning for unused methods. |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR adds a Framework for dependent Task execution consisting of the
DependencyTaskandDependencyThreadPoolas well as the implementation of build and apply in said Framework.It is now possible for different encoders to provide tasks which best fit the given data characteristics by overriding the
getApplyTasksandgetBuildTasksfunctions. These functions can return a DAG of Tasks which will be integrated into the DAG of the whole Matrix/Frame. Subsequently this DAG is then executed in theDependencyThreadPool. This approach enables the possibility of trying different execution orders without the need to make major changes to the code.At the moment only the Dummycoders implement a different apply method compared to the default. This will be changed in future PRs.
Currently there are two approaches implemented staged and non staged.
During staged execution the building and applying steps take place one after another. Which means the building will be done for the whole Matrix/Frame and then the apply takes place.
Non staged execution on the other hand constructs one large DAG for building and applying.