-
Notifications
You must be signed in to change notification settings - Fork 304
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
HPCC-30937 Update readCost, writeCost, numDiskReads and numDiskWrites periodically #18110
Conversation
https://track.hpccsystems.com/browse/HPCC-30937 |
dc35fb7
to
c6433d3
Compare
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.
@shamser please rebase.
5c392de
to
d50ad91
Compare
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.
@shamser - looks good, a couple of 'future' comments/questions, and it will need rebasing.
dali/base/dadfs.cpp
Outdated
return 0; | ||
cost_type writeCost = 0; | ||
ForEachItemIn(idx, clusters) | ||
writeCost += money2cost_type(calcFileAccessCost(clusters.item(idx), numDiskWrites, 0)); |
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.
will need rebasing when cost_type consistency PR merged
void CDiskReadMasterBase::done() | ||
{ | ||
updateFileReadCostStats(); | ||
diskAccessCost = calcFileReadCostStats(true); |
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.
In the long run, we should be publishing all stats. periodically, i.e. also publishing the file access stats as a Thor subgraph is running, not just at the end.
And it would be okay to do so now for longer running subgraphs, but it could be painful for frequent short running subgraphs.
This is related to https://track.hpccsystems.com/browse/HPCC-29207.
We will need to revisit this/other areas which delay updates like this when HPCC-29207 is worked on.
CMasterActivity::getActivityStats(stats); | ||
diskAccessCost = calcFileReadCostStats(false); | ||
if (diskAccessCost) | ||
stats.addStatistic(StCostFileAccess, diskAccessCost); |
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.
future: instead of aggregating storing (diskAccessCost) as a member, and aggregating in CMasterGraph::getDiskAccessCost(), could the StatisticsAggregator which currently stops at the sg level, be responsible for aggregating these up, so done in a generalized way instead?
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.
It could be. I think there are other activity stats that can be aggregated by StatisticsAggregator.
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.
@shamser - can you open a cost 2.0 subtask to remember to revisit this?
… periodically Previously, readCost, writeCost, numDiskReads and numDiskWrites was updated to the workunit at the end of the activity. This meant that users were unable to view these stats while the activity was running. Furthermore, as these costs were calculated at the activity, the guillotine was also not always effective until the end of an activity (i.e activities that used a lot of disk access to exceed the guillotine threshold substantially before being terminated.) This commit updates readCost, writeCost, numDiskReads and numDiskWrites periodically (with every serialization of the stats to master). The updates to file properties will still be updated at the end of the activity to avoid creating extra load on dali. Signed-off-by: Shamser Ahmed <[email protected]>
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.
@shamser - looks good.
7787e78
into
hpcc-systems:candidate-9.4.x
Type of change:
Checklist:
Smoketest:
Testing: