Skip to content
This repository has been archived by the owner on Oct 30, 2023. It is now read-only.

Fixing MemoryEstimatorOracle #34

Open
wants to merge 1 commit into
base: trunk
Choose a base branch
from

Conversation

heslami
Copy link

@heslami heslami commented Apr 7, 2017

This diff contains the following fixes:

  1. Once the OOC is at OFFLAODING state, it may offload data to disk indefinitely. We should call GC manually and get OOC out of OFFLOADING if anything has changed in computation/communication pattern.
  2. Fixes a "if" statement which entirely disabled regression for memory estimation.
  3. Interleaving of in resetting and calculating memory estimation potentially can cause data race.
  4. The superstep count in memory estimator was not coherent throughout the calculation.

"mvn clean install" passes all tests and checks.

* Once the OOC is at OFFLAODING state, it may offload data to disk indefinitely. We should call GC manually and get OOC out of OFFLOADING if anything has changed in computation/communication pattern.
Fixes a "if" statement which entirely disabled regression for memory estimation.
* Interleaving of in resetting and calculating memory estimation potentially can cause data race.
* The superstep count in memory estimator was not coherent throughout the calculation.
* Sometime the memory estimator's accuracy is not good. We should fall back to a threshold-based scheme relying on a more pessimistic memory usage report (such as the one given by JVM – memory usage includes garbage data too, but it can be used as a pessimistic estimate, as it is currently used in ThresholdBasedOracle).

More tuning is needed for a smooth memory estimation mechanism.
"mvn clean install" passes all tests and checks.
return new IOAction[]{IOAction.LOAD_PARTITION};
}
}

@Override
public boolean approve(IOCommand command) {
if (!(command instanceof WaitIOCommand) &&
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add some documentation for the logic here?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants