[jira] [Commented] (MAPREDUCE-7241) FileInputFormat listStatus oom caused by lots of unwanted block infos
[ https://issues.apache.org/jira/browse/MAPREDUCE-7241?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16967366#comment-16967366 ] Zhihua Deng commented on MAPREDUCE-7241: Would anyone have any ideas about this improvement? [~ste...@apache.org] [~jlowe] > FileInputFormat listStatus oom caused by lots of unwanted block infos > - > > Key: MAPREDUCE-7241 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7241 > Project: Hadoop Map/Reduce > Issue Type: Improvement > Components: job submission >Affects Versions: 2.6.1 >Reporter: Zhihua Deng >Priority: Major > Attachments: MAPREDUCE-7241.trunk.02.patch, > MAPREDUCE-7241.trunk.patch, filestatus.png > > > This case sometimes sees in hive when user issues queries over all partitions > by mistakes. The file status cached when listing status could accumulate to > over 3g. After digging into the dumped memory, the LocatedBlock occupies > about 50%(sometimes over 60%) memory that retained by LocatedFileStatus, as > shows followed, > !filestatus.png! > Right now we only extract the block locations info from LocatedFileStatus, > the datanode infos(types) or block token are not taken into account. So there > is no need to cache LocatedBlock, as do like this: > BlockLocation[] blockLocations = dedup(stat.getBlockLocations()); > LocatedFileStatus shrink = new LocatedFileStatus(stat, blockLocations); > private static BlockLocation[] dup(BlockLocation[] blockLocations) { > BlockLocation[] copyLocs = new BlockLocation[blockLocations.length]; > int i = 0; > for (BlockLocation location : blockLocations) > { copyLocs[i++] = new BlockLocation(location); } > return copyLocs; > } > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org
[jira] [Updated] (MAPREDUCE-7208) Tuning TaskRuntimeEstimator
[ https://issues.apache.org/jira/browse/MAPREDUCE-7208?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ahmed Hussein updated MAPREDUCE-7208: - Attachment: MAPREDUCE-7208-branch-2.10.002.patch > Tuning TaskRuntimeEstimator > > > Key: MAPREDUCE-7208 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7208 > Project: Hadoop Map/Reduce > Issue Type: Improvement >Reporter: Ahmed Hussein >Assignee: Ahmed Hussein >Priority: Minor > Attachments: MAPREDUCE-7208-branch-2.10.001.patch, > MAPREDUCE-7208-branch-2.10.002.patch, MAPREDUCE-7208.001.patch, > MAPREDUCE-7208.002.patch, MAPREDUCE-7208.003.patch, MAPREDUCE-7208.004.patch, > smoothing-exponential.md > > > By default, MR uses LegacyTaskRuntimeEstimator to get an estimate of the > runtime. The estimator does not adjust dynamically to the progress rate of > the tasks. On the other hand, the existing alternative > "ExponentiallySmoothedTaskRuntimeEstimator" behavior in unpredictable. > > There are several dimensions to improve the exponential implementation: > # Exponential shooting needs a warmup period. Otherwise, the estimate will > be affected by the initial values. > # Using a single smoothing factor (Lambda) does not work well for all the > tasks. To increase the level of smoothing across the majority of tasks, we > need to give a range of flexibility to dynamically adjust the smoothing > factor based on the history of the task progress. > # Design wise, it is better to separate between the statistical model and > the MR interface. We need to have a way to evaluate estimators statistically, > without the need to run MR. For example, an estimator can be evaluated as a > black box by using a stream of raw data as input and testing the accuracy of > the generated stream of estimates. > # The exponential estimator speculates frequently and fails to detect > slowing tasks. It does not detect slowing tasks. As a result, a taskAttempt > that does not do any progress won't trigger a new speculation. > > The file [^smoothing-exponential.md] describes how Simple Exponential > smoothing factor works. > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org
[jira] [Commented] (MAPREDUCE-7208) Tuning TaskRuntimeEstimator
[ https://issues.apache.org/jira/browse/MAPREDUCE-7208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16967819#comment-16967819 ] Hadoop QA commented on MAPREDUCE-7208: -- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 18m 42s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 4 new or modified test files. {color} | || || || || {color:brown} branch-2.10 Compile Tests {color} || | {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 29s{color} | {color:blue} Maven dependency ordering for branch {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 9m 3s{color} | {color:green} branch-2.10 passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 30s{color} | {color:green} branch-2.10 passed with JDK v1.7.0_95 {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 19s{color} | {color:green} branch-2.10 passed with JDK v1.8.0_222 {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 42s{color} | {color:green} branch-2.10 passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 1m 54s{color} | {color:green} branch-2.10 passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 21s{color} | {color:green} branch-2.10 passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 23s{color} | {color:green} branch-2.10 passed with JDK v1.7.0_95 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 10s{color} | {color:green} branch-2.10 passed with JDK v1.8.0_222 {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:blue}0{color} | {color:blue} mvndep {color} | {color:blue} 0m 11s{color} | {color:blue} Maven dependency ordering for patch {color} | | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 1m 39s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 40s{color} | {color:green} the patch passed with JDK v1.7.0_95 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 40s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 1m 17s{color} | {color:green} the patch passed with JDK v1.8.0_222 {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 1m 17s{color} | {color:green} the patch passed {color} | | {color:orange}-0{color} | {color:orange} checkstyle {color} | {color:orange} 0m 42s{color} | {color:orange} hadoop-mapreduce-project/hadoop-mapreduce-client: The patch generated 3 new + 679 unchanged - 2 fixed = 682 total (was 681) {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 1m 39s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 2m 38s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 1m 7s{color} | {color:green} the patch passed with JDK v1.7.0_95 {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 57s{color} | {color:green} the patch passed with JDK v1.8.0_222 {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} unit {color} | {color:green} 2m 58s{color} | {color:green} hadoop-mapreduce-client-core in the patch passed. {color} | | {color:green}+1{color} | {color:green} unit {color} | {color:green} 9m 9s{color} | {color:green} hadoop-mapreduce-client-app in the patch passed. {color} | | {color:red}-1{color} | {color:red} unit {color} | {color:red}116m 46s{color} | {color:red} hadoop-mapreduce-client-jobclient in the patch failed. {color} | | {color:red}-1{color} | {color:red} asflicense {color} | {color:red} 0m 34s{color} | {color:red} The patch generated 1 ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}182m 3s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Docker | Client=19.03.4 Server=19.03.4 Image:yetus/hadoop:1c7ae5
[jira] [Updated] (MAPREDUCE-7208) Tuning TaskRuntimeEstimator
[ https://issues.apache.org/jira/browse/MAPREDUCE-7208?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Turner Eagles updated MAPREDUCE-7208: -- Fix Version/s: 3.3.0 Resolution: Fixed Status: Resolved (was: Patch Available) > Tuning TaskRuntimeEstimator > > > Key: MAPREDUCE-7208 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7208 > Project: Hadoop Map/Reduce > Issue Type: Improvement >Reporter: Ahmed Hussein >Assignee: Ahmed Hussein >Priority: Minor > Fix For: 3.3.0 > > Attachments: MAPREDUCE-7208-branch-2.10.001.patch, > MAPREDUCE-7208-branch-2.10.002.patch, MAPREDUCE-7208.001.patch, > MAPREDUCE-7208.002.patch, MAPREDUCE-7208.003.patch, MAPREDUCE-7208.004.patch, > smoothing-exponential.md > > > By default, MR uses LegacyTaskRuntimeEstimator to get an estimate of the > runtime. The estimator does not adjust dynamically to the progress rate of > the tasks. On the other hand, the existing alternative > "ExponentiallySmoothedTaskRuntimeEstimator" behavior in unpredictable. > > There are several dimensions to improve the exponential implementation: > # Exponential shooting needs a warmup period. Otherwise, the estimate will > be affected by the initial values. > # Using a single smoothing factor (Lambda) does not work well for all the > tasks. To increase the level of smoothing across the majority of tasks, we > need to give a range of flexibility to dynamically adjust the smoothing > factor based on the history of the task progress. > # Design wise, it is better to separate between the statistical model and > the MR interface. We need to have a way to evaluate estimators statistically, > without the need to run MR. For example, an estimator can be evaluated as a > black box by using a stream of raw data as input and testing the accuracy of > the generated stream of estimates. > # The exponential estimator speculates frequently and fails to detect > slowing tasks. It does not detect slowing tasks. As a result, a taskAttempt > that does not do any progress won't trigger a new speculation. > > The file [^smoothing-exponential.md] describes how Simple Exponential > smoothing factor works. > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org
[jira] [Commented] (MAPREDUCE-7208) Tuning TaskRuntimeEstimator
[ https://issues.apache.org/jira/browse/MAPREDUCE-7208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16967872#comment-16967872 ] Hudson commented on MAPREDUCE-7208: --- SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #17610 (See [https://builds.apache.org/job/Hadoop-trunk-Commit/17610/]) MAPREDUCE-7208. Tuning TaskRuntimeEstimator. (Ahmed Hussein via jeagles) (jeagles: rev ed302f1fed6d124d682486d24dae958946dba9be) * (edit) hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/speculate/DefaultSpeculator.java * (add) hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/speculate/forecast/TestSimpleExponentialForecast.java * (edit) hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/speculate/DataStatistics.java * (edit) hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/MRJobConfig.java * (edit) hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/v2/TestSpeculativeExecutionWithMRApp.java * (add) hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/speculate/forecast/SimpleExponentialSmoothing.java * (edit) hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/speculate/StartEndTimesBase.java * (add) hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapreduce/v2/TestSpeculativeExecOnCluster.java * (edit) hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/test/java/org/apache/hadoop/mapreduce/v2/app/TestRuntimeEstimators.java * (add) hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/speculate/SimpleExponentialTaskRuntimeEstimator.java * (edit) hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/speculate/TaskRuntimeEstimator.java > Tuning TaskRuntimeEstimator > > > Key: MAPREDUCE-7208 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7208 > Project: Hadoop Map/Reduce > Issue Type: Improvement >Reporter: Ahmed Hussein >Assignee: Ahmed Hussein >Priority: Minor > Fix For: 3.3.0 > > Attachments: MAPREDUCE-7208-branch-2.10.001.patch, > MAPREDUCE-7208-branch-2.10.002.patch, MAPREDUCE-7208.001.patch, > MAPREDUCE-7208.002.patch, MAPREDUCE-7208.003.patch, MAPREDUCE-7208.004.patch, > smoothing-exponential.md > > > By default, MR uses LegacyTaskRuntimeEstimator to get an estimate of the > runtime. The estimator does not adjust dynamically to the progress rate of > the tasks. On the other hand, the existing alternative > "ExponentiallySmoothedTaskRuntimeEstimator" behavior in unpredictable. > > There are several dimensions to improve the exponential implementation: > # Exponential shooting needs a warmup period. Otherwise, the estimate will > be affected by the initial values. > # Using a single smoothing factor (Lambda) does not work well for all the > tasks. To increase the level of smoothing across the majority of tasks, we > need to give a range of flexibility to dynamically adjust the smoothing > factor based on the history of the task progress. > # Design wise, it is better to separate between the statistical model and > the MR interface. We need to have a way to evaluate estimators statistically, > without the need to run MR. For example, an estimator can be evaluated as a > black box by using a stream of raw data as input and testing the accuracy of > the generated stream of estimates. > # The exponential estimator speculates frequently and fails to detect > slowing tasks. It does not detect slowing tasks. As a result, a taskAttempt > that does not do any progress won't trigger a new speculation. > > The file [^smoothing-exponential.md] describes how Simple Exponential > smoothing factor works. > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org
[jira] [Updated] (MAPREDUCE-7208) Tuning TaskRuntimeEstimator
[ https://issues.apache.org/jira/browse/MAPREDUCE-7208?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Turner Eagles updated MAPREDUCE-7208: -- Fix Version/s: 3.2.2 > Tuning TaskRuntimeEstimator > > > Key: MAPREDUCE-7208 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7208 > Project: Hadoop Map/Reduce > Issue Type: Improvement >Reporter: Ahmed Hussein >Assignee: Ahmed Hussein >Priority: Minor > Fix For: 3.3.0, 3.2.2 > > Attachments: MAPREDUCE-7208-branch-2.10.001.patch, > MAPREDUCE-7208-branch-2.10.002.patch, MAPREDUCE-7208.001.patch, > MAPREDUCE-7208.002.patch, MAPREDUCE-7208.003.patch, MAPREDUCE-7208.004.patch, > smoothing-exponential.md > > > By default, MR uses LegacyTaskRuntimeEstimator to get an estimate of the > runtime. The estimator does not adjust dynamically to the progress rate of > the tasks. On the other hand, the existing alternative > "ExponentiallySmoothedTaskRuntimeEstimator" behavior in unpredictable. > > There are several dimensions to improve the exponential implementation: > # Exponential shooting needs a warmup period. Otherwise, the estimate will > be affected by the initial values. > # Using a single smoothing factor (Lambda) does not work well for all the > tasks. To increase the level of smoothing across the majority of tasks, we > need to give a range of flexibility to dynamically adjust the smoothing > factor based on the history of the task progress. > # Design wise, it is better to separate between the statistical model and > the MR interface. We need to have a way to evaluate estimators statistically, > without the need to run MR. For example, an estimator can be evaluated as a > black box by using a stream of raw data as input and testing the accuracy of > the generated stream of estimates. > # The exponential estimator speculates frequently and fails to detect > slowing tasks. It does not detect slowing tasks. As a result, a taskAttempt > that does not do any progress won't trigger a new speculation. > > The file [^smoothing-exponential.md] describes how Simple Exponential > smoothing factor works. > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org
[jira] [Updated] (MAPREDUCE-7208) Tuning TaskRuntimeEstimator
[ https://issues.apache.org/jira/browse/MAPREDUCE-7208?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Turner Eagles updated MAPREDUCE-7208: -- Fix Version/s: 3.1.4 > Tuning TaskRuntimeEstimator > > > Key: MAPREDUCE-7208 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7208 > Project: Hadoop Map/Reduce > Issue Type: Improvement >Reporter: Ahmed Hussein >Assignee: Ahmed Hussein >Priority: Minor > Fix For: 3.3.0, 3.1.4, 3.2.2 > > Attachments: MAPREDUCE-7208-branch-2.10.001.patch, > MAPREDUCE-7208-branch-2.10.002.patch, MAPREDUCE-7208.001.patch, > MAPREDUCE-7208.002.patch, MAPREDUCE-7208.003.patch, MAPREDUCE-7208.004.patch, > smoothing-exponential.md > > > By default, MR uses LegacyTaskRuntimeEstimator to get an estimate of the > runtime. The estimator does not adjust dynamically to the progress rate of > the tasks. On the other hand, the existing alternative > "ExponentiallySmoothedTaskRuntimeEstimator" behavior in unpredictable. > > There are several dimensions to improve the exponential implementation: > # Exponential shooting needs a warmup period. Otherwise, the estimate will > be affected by the initial values. > # Using a single smoothing factor (Lambda) does not work well for all the > tasks. To increase the level of smoothing across the majority of tasks, we > need to give a range of flexibility to dynamically adjust the smoothing > factor based on the history of the task progress. > # Design wise, it is better to separate between the statistical model and > the MR interface. We need to have a way to evaluate estimators statistically, > without the need to run MR. For example, an estimator can be evaluated as a > black box by using a stream of raw data as input and testing the accuracy of > the generated stream of estimates. > # The exponential estimator speculates frequently and fails to detect > slowing tasks. It does not detect slowing tasks. As a result, a taskAttempt > that does not do any progress won't trigger a new speculation. > > The file [^smoothing-exponential.md] describes how Simple Exponential > smoothing factor works. > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org
[jira] [Updated] (MAPREDUCE-7208) Tuning TaskRuntimeEstimator
[ https://issues.apache.org/jira/browse/MAPREDUCE-7208?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Turner Eagles updated MAPREDUCE-7208: -- Fix Version/s: 2.11.0 > Tuning TaskRuntimeEstimator > > > Key: MAPREDUCE-7208 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7208 > Project: Hadoop Map/Reduce > Issue Type: Improvement >Reporter: Ahmed Hussein >Assignee: Ahmed Hussein >Priority: Minor > Fix For: 3.3.0, 3.1.4, 3.2.2, 2.11.0 > > Attachments: MAPREDUCE-7208-branch-2.10.001.patch, > MAPREDUCE-7208-branch-2.10.002.patch, MAPREDUCE-7208.001.patch, > MAPREDUCE-7208.002.patch, MAPREDUCE-7208.003.patch, MAPREDUCE-7208.004.patch, > smoothing-exponential.md > > > By default, MR uses LegacyTaskRuntimeEstimator to get an estimate of the > runtime. The estimator does not adjust dynamically to the progress rate of > the tasks. On the other hand, the existing alternative > "ExponentiallySmoothedTaskRuntimeEstimator" behavior in unpredictable. > > There are several dimensions to improve the exponential implementation: > # Exponential shooting needs a warmup period. Otherwise, the estimate will > be affected by the initial values. > # Using a single smoothing factor (Lambda) does not work well for all the > tasks. To increase the level of smoothing across the majority of tasks, we > need to give a range of flexibility to dynamically adjust the smoothing > factor based on the history of the task progress. > # Design wise, it is better to separate between the statistical model and > the MR interface. We need to have a way to evaluate estimators statistically, > without the need to run MR. For example, an estimator can be evaluated as a > black box by using a stream of raw data as input and testing the accuracy of > the generated stream of estimates. > # The exponential estimator speculates frequently and fails to detect > slowing tasks. It does not detect slowing tasks. As a result, a taskAttempt > that does not do any progress won't trigger a new speculation. > > The file [^smoothing-exponential.md] describes how Simple Exponential > smoothing factor works. > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org
[jira] [Updated] (MAPREDUCE-7208) Tuning TaskRuntimeEstimator
[ https://issues.apache.org/jira/browse/MAPREDUCE-7208?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Turner Eagles updated MAPREDUCE-7208: -- Fix Version/s: 2.10.1 > Tuning TaskRuntimeEstimator > > > Key: MAPREDUCE-7208 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7208 > Project: Hadoop Map/Reduce > Issue Type: Improvement >Reporter: Ahmed Hussein >Assignee: Ahmed Hussein >Priority: Minor > Fix For: 3.3.0, 3.1.4, 3.2.2, 2.10.1, 2.11.0 > > Attachments: MAPREDUCE-7208-branch-2.10.001.patch, > MAPREDUCE-7208-branch-2.10.002.patch, MAPREDUCE-7208.001.patch, > MAPREDUCE-7208.002.patch, MAPREDUCE-7208.003.patch, MAPREDUCE-7208.004.patch, > smoothing-exponential.md > > > By default, MR uses LegacyTaskRuntimeEstimator to get an estimate of the > runtime. The estimator does not adjust dynamically to the progress rate of > the tasks. On the other hand, the existing alternative > "ExponentiallySmoothedTaskRuntimeEstimator" behavior in unpredictable. > > There are several dimensions to improve the exponential implementation: > # Exponential shooting needs a warmup period. Otherwise, the estimate will > be affected by the initial values. > # Using a single smoothing factor (Lambda) does not work well for all the > tasks. To increase the level of smoothing across the majority of tasks, we > need to give a range of flexibility to dynamically adjust the smoothing > factor based on the history of the task progress. > # Design wise, it is better to separate between the statistical model and > the MR interface. We need to have a way to evaluate estimators statistically, > without the need to run MR. For example, an estimator can be evaluated as a > black box by using a stream of raw data as input and testing the accuracy of > the generated stream of estimates. > # The exponential estimator speculates frequently and fails to detect > slowing tasks. It does not detect slowing tasks. As a result, a taskAttempt > that does not do any progress won't trigger a new speculation. > > The file [^smoothing-exponential.md] describes how Simple Exponential > smoothing factor works. > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org
[jira] [Commented] (MAPREDUCE-7208) Tuning TaskRuntimeEstimator
[ https://issues.apache.org/jira/browse/MAPREDUCE-7208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16967913#comment-16967913 ] Ahmed Hussein commented on MAPREDUCE-7208: -- Thanks [~jeagles]. Reviewed 2.10 patch errors. They are unrelated time-out unit tests. > Tuning TaskRuntimeEstimator > > > Key: MAPREDUCE-7208 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-7208 > Project: Hadoop Map/Reduce > Issue Type: Improvement >Reporter: Ahmed Hussein >Assignee: Ahmed Hussein >Priority: Minor > Fix For: 3.3.0, 3.1.4, 3.2.2, 2.10.1, 2.11.0 > > Attachments: MAPREDUCE-7208-branch-2.10.001.patch, > MAPREDUCE-7208-branch-2.10.002.patch, MAPREDUCE-7208.001.patch, > MAPREDUCE-7208.002.patch, MAPREDUCE-7208.003.patch, MAPREDUCE-7208.004.patch, > smoothing-exponential.md > > > By default, MR uses LegacyTaskRuntimeEstimator to get an estimate of the > runtime. The estimator does not adjust dynamically to the progress rate of > the tasks. On the other hand, the existing alternative > "ExponentiallySmoothedTaskRuntimeEstimator" behavior in unpredictable. > > There are several dimensions to improve the exponential implementation: > # Exponential shooting needs a warmup period. Otherwise, the estimate will > be affected by the initial values. > # Using a single smoothing factor (Lambda) does not work well for all the > tasks. To increase the level of smoothing across the majority of tasks, we > need to give a range of flexibility to dynamically adjust the smoothing > factor based on the history of the task progress. > # Design wise, it is better to separate between the statistical model and > the MR interface. We need to have a way to evaluate estimators statistically, > without the need to run MR. For example, an estimator can be evaluated as a > black box by using a stream of raw data as input and testing the accuracy of > the generated stream of estimates. > # The exponential estimator speculates frequently and fails to detect > slowing tasks. It does not detect slowing tasks. As a result, a taskAttempt > that does not do any progress won't trigger a new speculation. > > The file [^smoothing-exponential.md] describes how Simple Exponential > smoothing factor works. > > -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org