[jira] [Updated] (TEZ-2849) Implement Specific Workaround for JDK-8026049 & JDK-8073093
[ https://issues.apache.org/jira/browse/TEZ-2849?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tsuyoshi Ozawa updated TEZ-2849: Attachment: TEZ-2849.2.patch [~gopalv] Attaching a patch rebased on trunk. Unfortunately, it fails with UnsupportedOperationException. {quote} 15/10/06 23:54:42 INFO examples.TeraSortWithSession: DAG diagnostics: [Vertex failed, vertexName=TeraSortMapper, vertexId=vertex_1444175589504_0001_2_00, diagnostics=[Task failed, taskId=task_1444175589504_0001_2_00_16, diagnostics=[TaskAttempt 0 failed, info=[Error: Failure while running task: attempt_1444175589504_0001_2_00_16_0:java.lang.UnsupportedOperationException at java.nio.ByteBuffer.array(ByteBuffer.java:959) at org.apache.tez.runtime.library.common.sort.impl.PipelinedSorter$SortSpan.compareKeys(PipelinedSorter.java:828) at org.apache.tez.runtime.library.common.sort.impl.PipelinedSorter$SortSpan.compare(PipelinedSorter.java:847) at org.apache.hadoop.util.QuickSort.sortInternal(QuickSort.java:99) at org.apache.hadoop.util.QuickSort.sort(QuickSort.java:63) at org.apache.tez.runtime.library.common.sort.impl.PipelinedSorter$SortSpan.sort(PipelinedSorter.java:794) at org.apache.tez.runtime.library.common.sort.impl.PipelinedSorter.flush(PipelinedSorter.java:535) at org.apache.tez.runtime.library.output.OrderedPartitionedKVOutput.close(OrderedPartitionedKVOutput.java:182) at org.apache.tez.runtime.LogicalIOProcessorRuntimeTask.close(LogicalIOProcessorRuntimeTask.java:375) at org.apache.tez.runtime.task.TaskRunner2Callable$1.run(TaskRunner2Callable.java:79) at org.apache.tez.runtime.task.TaskRunner2Callable$1.run(TaskRunner2Callable.java:60) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657) at org.apache.tez.runtime.task.TaskRunner2Callable.callInternal(TaskRunner2Callable.java:60) at org.apache.tez.runtime.task.TaskRunner2Callable.callInternal(TaskRunner2Callable.java:35) at org.apache.tez.common.CallableWithNdc.call(CallableWithNdc.java:36) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) {quote} > Implement Specific Workaround for JDK-8026049 & JDK-8073093 > > > Key: TEZ-2849 > URL: https://issues.apache.org/jira/browse/TEZ-2849 > Project: Apache Tez > Issue Type: Sub-task >Affects Versions: 0.8.1 >Reporter: Gopal V >Assignee: Gopal V > Attachments: TEZ-2849.1.patch, TEZ-2849.2.patch > > > The CPU performance overhead of the sort operation is tied to the JIT > handling of the aliased byte buffers without an explicit alignment (i.e a > byte[] buffer referenced as an IntBuffer). > https://bugs.openjdk.java.net/browse/JDK-8026049 > + > https://bugs.openjdk.java.net/browse/JDK-8073093 > Workaround that JIT limitation while keeping in mind the modern CPU > micro-code optimizations around alignment. > http://lemire.me/blog/archives/2012/05/31/data-alignment-for-speed-myth-or-reality/ -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (TEZ-2849) Implement Specific Workaround for JDK-8026049 & JDK-8073093
[ https://issues.apache.org/jira/browse/TEZ-2849?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Gopal V updated TEZ-2849: - Attachment: TEZ-2849.1.patch Replace the slow parts of the ByteBuffer operations with a disjoint array copy primitive. Can you take a look [~ozawa]? > Implement Specific Workaround for JDK-8026049 & JDK-8073093 > > > Key: TEZ-2849 > URL: https://issues.apache.org/jira/browse/TEZ-2849 > Project: Apache Tez > Issue Type: Sub-task >Affects Versions: 0.8.1 >Reporter: Gopal V >Assignee: Gopal V > Attachments: TEZ-2849.1.patch > > > The CPU performance overhead of the sort operation is tied to the JIT > handling of the aliased byte buffers without an explicit alignment (i.e a > byte[] buffer referenced as an IntBuffer). > https://bugs.openjdk.java.net/browse/JDK-8026049 > + > https://bugs.openjdk.java.net/browse/JDK-8073093 > Workaround that JIT limitation while keeping in mind the modern CPU > micro-code optimizations around alignment. > http://lemire.me/blog/archives/2012/05/31/data-alignment-for-speed-myth-or-reality/ -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (TEZ-2849) Implement Specific Workaround for JDK-8026049 & JDK-8073093
[ https://issues.apache.org/jira/browse/TEZ-2849?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Gopal V updated TEZ-2849: - Description: The CPU performance overhead of the sort operation is tied to the JIT handling of the aliased byte buffers without an explicit alignment (i.e a byte[] buffer referenced as an IntBuffer). https://bugs.openjdk.java.net/browse/JDK-8026049 + https://bugs.openjdk.java.net/browse/JDK-8073093 Workaround that JIT limitation while keeping in mind the modern CPU micro-code optimizations around alignment. http://lemire.me/blog/archives/2012/05/31/data-alignment-for-speed-myth-or-reality/ was: The CPU performance overhead of the sort operation is tied to the JIT handling of the aliased byte buffers without an explicit alignment (i.e a byte[] buffer referenced as an IntBuffer). Workaround that JIT limitation while keeping in mind the modern CPU micro-code optimizations around alignment. http://lemire.me/blog/archives/2012/05/31/data-alignment-for-speed-myth-or-reality/ > Implement Specific Workaround for JDK-8026049 & JDK-8073093 > > > Key: TEZ-2849 > URL: https://issues.apache.org/jira/browse/TEZ-2849 > Project: Apache Tez > Issue Type: Sub-task >Affects Versions: 0.8.1 >Reporter: Gopal V >Assignee: Gopal V > > The CPU performance overhead of the sort operation is tied to the JIT > handling of the aliased byte buffers without an explicit alignment (i.e a > byte[] buffer referenced as an IntBuffer). > https://bugs.openjdk.java.net/browse/JDK-8026049 > + > https://bugs.openjdk.java.net/browse/JDK-8073093 > Workaround that JIT limitation while keeping in mind the modern CPU > micro-code optimizations around alignment. > http://lemire.me/blog/archives/2012/05/31/data-alignment-for-speed-myth-or-reality/ -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (TEZ-2849) Implement Specific Workaround for JDK-8026049 & JDK-8073093
[ https://issues.apache.org/jira/browse/TEZ-2849?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Gopal V updated TEZ-2849: - Affects Version/s: 0.8.1 > Implement Specific Workaround for JDK-8026049 & JDK-8073093 > > > Key: TEZ-2849 > URL: https://issues.apache.org/jira/browse/TEZ-2849 > Project: Apache Tez > Issue Type: Sub-task >Affects Versions: 0.8.1 >Reporter: Gopal V >Assignee: Gopal V > > The CPU performance overhead of the sort operation is tied to the JIT > handling of the aliased byte buffers without an explicit alignment (i.e a > byte[] buffer referenced as an IntBuffer). > Workaround that JIT limitation while keeping in mind the modern CPU > micro-code optimizations around alignment. > http://lemire.me/blog/archives/2012/05/31/data-alignment-for-speed-myth-or-reality/ -- This message was sent by Atlassian JIRA (v6.3.4#6332)