You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
Currently, the qualification cmd in core-tools dump all the estimate files on the root directory in a combined fashion.
This implementation means that all the results are kept in memory until the end eventhough there is not much needed for a combined report.
Below is a list of all problems that are caused by that design choice:
the generated CSV files are huge; especially for the ones listing operators, and expressions. This definitely cause an overhead on the downstream that has to load those huge files, then do filters per App-ID.
no incremental runs. A crash in runtime or a halt imply that no output is generated. Resuming the run means starting from scratch.
bottleneck in generate the reports because it becomes a single threaded at the end. this means that we are slowing down the exection and not taking advantage of parallelism in generating the reports.
Describe the solution you'd like
Change directory structure of the core-tools output. Break the reports to be per-app and each app has its own directory.
A summary csv file remains in the top directory.
a directory apps will contain the second level.
for each attempt there will be a subdirectory apps/<appId-attemptID> that contains the relevant output.
we want to have appId-attemptID as a unique key in order to handle multiple-attempts per app.
This way, directories won't be overridden by multiple attempts.
Describe alternatives you've considered
In #1377 , a solution is suggested to store QualificationSummary objects in RocksDB file. While this could be a good way to offload the objects to disk, there will be considerable overhead from writing/reading to/from the disk. In addition, there will be significant amount of work to wrap all the objects to be serialized into rocksDB.
Signed-off-by: Ahmed Hussein (amahussein) <[email protected]>
Contributes to NVIDIA#1643
Splits the output of qualification core module to be per-app.
This is a subtask toward the final goal of working with qualification on
per-app basis end-to-end.
Signed-off-by: Ahmed Hussein (amahussein) <[email protected]>
Contributes to NVIDIA#1643
Splits the output of qualification core module to be per-app.
This is a subtask toward the final goal of working with qualification on
per-app basis end-to-end.
Signed-off-by: Ahmed Hussein (amahussein) <[email protected]>
Contributes to #1643
Splits the output of qualification core module to be per-app. This is a
subtask toward the final goal of working with qualification on per-app
basis end-to-end.
---------
Signed-off-by: Ahmed Hussein (amahussein) <[email protected]>
Is your feature request related to a problem? Please describe.
Currently, the qualification cmd in core-tools dump all the estimate files on the root directory in a combined fashion.
This implementation means that all the results are kept in memory until the end eventhough there is not much needed for a combined report.
Below is a list of all problems that are caused by that design choice:
Describe the solution you'd like
Change directory structure of the core-tools output. Break the reports to be per-app and each app has its own directory.
apps
will contain the second level.apps/<appId-attemptID>
that contains the relevant output.we want to have
appId-attemptID
as a unique key in order to handle multiple-attempts per app.This way, directories won't be overridden by multiple attempts.
Describe alternatives you've considered
In #1377 , a solution is suggested to store QualificationSummary objects in RocksDB file. While this could be a good way to offload the objects to disk, there will be considerable overhead from writing/reading to/from the disk. In addition, there will be significant amount of work to wrap all the objects to be serialized into rocksDB.
Additional context
There is a need to make changes to downstream in
Sub Tasks
The text was updated successfully, but these errors were encountered: