public class ThresholdBasedOracle extends Object implements OutOfCoreOracle
OutOfCoreOracle.IOAction| Modifier and Type | Field and Description |
|---|---|
static LongConfOption |
CHECK_MEMORY_INTERVAL
The interval at which memory observer thread wakes up.
|
static FloatConfOption |
EMERGENCY_MEMORY_PRESSURE
The memory pressure at which the job is cloe to fail, even though we were
using maximal disk bandwidth and minimal network rate.
|
static FloatConfOption |
FAIL_MEMORY_PRESSURE
The memory pressure at/above which the job would fail
|
static FloatConfOption |
HIGH_MEMORY_PRESSURE
The memory pressure at which the job is suffering from GC overhead.
|
static LongConfOption |
LAST_GC_CALL_INTERVAL
Memory observer thread would manually call GC if major/full GC has not
been called for a while.
|
static FloatConfOption |
LOW_MEMORY_PRESSURE
The memory pressure at/below which the job can use more memory without
suffering from GC overhead.
|
static FloatConfOption |
OPTIMAL_MEMORY_PRESSURE
The memory pressure at which we expect GC to perform optimally for a
memory intensive job.
|
| Constructor and Description |
|---|
ThresholdBasedOracle(ImmutableClassesGiraphConfiguration conf,
OutOfCoreEngine oocEngine)
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
approve(IOCommand command)
Whether a command is appropriate to bring the memory to a more desired
state.
|
void |
commandCompleted(IOCommand command)
Notification of command completion.
|
void |
gcCompleted(com.sun.management.GarbageCollectionNotificationInfo gcInfo)
Notification of GC completion.
|
OutOfCoreOracle.IOAction[] |
getNextIOActions()
Get the next set of viable IO actions to help bring memory to a more
desired state.
|
void |
startIteration()
Called at the beginning of a superstep.
|
void |
updateRates(double usedMemoryFraction)
Update statistics and rate regarding communication credits and number of
active threads.
|
public static final FloatConfOption FAIL_MEMORY_PRESSURE
public static final FloatConfOption EMERGENCY_MEMORY_PRESSURE
public static final FloatConfOption HIGH_MEMORY_PRESSURE
public static final FloatConfOption OPTIMAL_MEMORY_PRESSURE
public static final FloatConfOption LOW_MEMORY_PRESSURE
public static final LongConfOption CHECK_MEMORY_INTERVAL
public static final LongConfOption LAST_GC_CALL_INTERVAL
public ThresholdBasedOracle(ImmutableClassesGiraphConfiguration conf, OutOfCoreEngine oocEngine)
conf - configurationoocEngine - out-of-core enginepublic void updateRates(double usedMemoryFraction)
usedMemoryFraction - the fraction of used memory over max memorypublic OutOfCoreOracle.IOAction[] getNextIOActions()
OutOfCoreOraclegetNextIOActions in interface OutOfCoreOraclepublic boolean approve(IOCommand command)
OutOfCoreOracleapprove in interface OutOfCoreOraclecommand - the IO command that is about to executepublic void commandCompleted(IOCommand command)
OutOfCoreOraclecommandCompleted in interface OutOfCoreOraclecommand - the IO command that is completedpublic void gcCompleted(com.sun.management.GarbageCollectionNotificationInfo gcInfo)
OutOfCoreOraclegcCompleted in interface OutOfCoreOraclegcInfo - GC informationpublic void startIteration()
OutOfCoreOraclestartIteration in interface OutOfCoreOracleCopyright © 2011-2020 The Apache Software Foundation. All Rights Reserved.