[jira] [Updated] (TEZ-2849) Implement Specific Workaround for JDK-8026049 & JDK-8073093

2015-10-06 Thread Tsuyoshi Ozawa (JIRA)

 [ 
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

2015-09-24 Thread Gopal V (JIRA)

 [ 
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

2015-09-22 Thread Gopal V (JIRA)

 [ 
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

2015-09-22 Thread Gopal V (JIRA)

 [ 
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)