org.apache.hadoop.mapreduce.v2.app.speculate
Class NullTaskRuntimesEngine

java.lang.Object
  extended by org.apache.hadoop.mapreduce.v2.app.speculate.NullTaskRuntimesEngine
All Implemented Interfaces:
TaskRuntimeEstimator

public class NullTaskRuntimesEngine
extends Object
implements TaskRuntimeEstimator


Constructor Summary
NullTaskRuntimesEngine()
           
 
Method Summary
 long attemptEnrolledTime(org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptId attemptID)
           
 void contextualize(org.apache.hadoop.conf.Configuration conf, AppContext context)
           
 void enrollAttempt(TaskAttemptStatusUpdateEvent.TaskAttemptStatus status, long timestamp)
           
 long estimatedNewAttemptRuntime(org.apache.hadoop.mapreduce.v2.api.records.TaskId id)
          Estimates how long a new attempt on this task will take if we start one now
 long estimatedRuntime(org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptId id)
          Estimate a task attempt's total runtime.
 long runtimeEstimateVariance(org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptId id)
          Computes the width of the error band of our estimate of the task runtime as returned by TaskRuntimeEstimator.estimatedRuntime(TaskAttemptId)
 long thresholdRuntime(org.apache.hadoop.mapreduce.v2.api.records.TaskId id)
          Find a maximum reasonable execution wallclock time.
 void updateAttempt(TaskAttemptStatusUpdateEvent.TaskAttemptStatus status, long timestamp)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NullTaskRuntimesEngine

public NullTaskRuntimesEngine()
Method Detail

enrollAttempt

public void enrollAttempt(TaskAttemptStatusUpdateEvent.TaskAttemptStatus status,
                          long timestamp)
Specified by:
enrollAttempt in interface TaskRuntimeEstimator

attemptEnrolledTime

public long attemptEnrolledTime(org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptId attemptID)
Specified by:
attemptEnrolledTime in interface TaskRuntimeEstimator

updateAttempt

public void updateAttempt(TaskAttemptStatusUpdateEvent.TaskAttemptStatus status,
                          long timestamp)
Specified by:
updateAttempt in interface TaskRuntimeEstimator

contextualize

public void contextualize(org.apache.hadoop.conf.Configuration conf,
                          AppContext context)
Specified by:
contextualize in interface TaskRuntimeEstimator

thresholdRuntime

public long thresholdRuntime(org.apache.hadoop.mapreduce.v2.api.records.TaskId id)
Description copied from interface: TaskRuntimeEstimator
Find a maximum reasonable execution wallclock time. Includes the time already elapsed. Find a maximum reasonable execution time. Includes the time already elapsed. If the projected total execution time for this task ever exceeds its reasonable execution time, we may speculate it.

Specified by:
thresholdRuntime in interface TaskRuntimeEstimator
Parameters:
id - the TaskId of the task we are asking about
Returns:
the task's maximum reasonable runtime, or MAX_VALUE if we don't have enough information to rule out any runtime, however long.

estimatedRuntime

public long estimatedRuntime(org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptId id)
Description copied from interface: TaskRuntimeEstimator
Estimate a task attempt's total runtime. Includes the time already elapsed.

Specified by:
estimatedRuntime in interface TaskRuntimeEstimator
Parameters:
id - the TaskAttemptId of the attempt we are asking about
Returns:
our best estimate of the attempt's runtime, or -1 if we don't have enough information yet to produce an estimate.

estimatedNewAttemptRuntime

public long estimatedNewAttemptRuntime(org.apache.hadoop.mapreduce.v2.api.records.TaskId id)
Description copied from interface: TaskRuntimeEstimator
Estimates how long a new attempt on this task will take if we start one now

Specified by:
estimatedNewAttemptRuntime in interface TaskRuntimeEstimator
Parameters:
id - the TaskId of the task we are asking about
Returns:
our best estimate of a new attempt's runtime, or -1 if we don't have enough information yet to produce an estimate.

runtimeEstimateVariance

public long runtimeEstimateVariance(org.apache.hadoop.mapreduce.v2.api.records.TaskAttemptId id)
Description copied from interface: TaskRuntimeEstimator
Computes the width of the error band of our estimate of the task runtime as returned by TaskRuntimeEstimator.estimatedRuntime(TaskAttemptId)

Specified by:
runtimeEstimateVariance in interface TaskRuntimeEstimator
Parameters:
id - the TaskAttemptId of the attempt we are asking about
Returns:
our best estimate of the attempt's runtime, or -1 if we don't have enough information yet to produce an estimate.


Copyright © 2014 Apache Software Foundation. All Rights Reserved.