[jira] [Updated] (CASSANDRA-13903) Add JDK9 vectorizedMismatch array compare support

2018-07-10 Thread Joshua McKenzie (JIRA)


 [ 
https://issues.apache.org/jira/browse/CASSANDRA-13903?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Joshua McKenzie updated CASSANDRA-13903:

Labels: Performance  (was: )

> Add JDK9 vectorizedMismatch array compare support
> -
>
> Key: CASSANDRA-13903
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13903
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local Write-Read Paths
>Reporter: Yingqi Lu
>Priority: Major
>  Labels: Performance
>
> Dear All,
> JDK9 has recently been released (http://openjdk.java.net/projects/jdk9/). It 
> introduces a set of new vectorizedMismatch APIs for array comparison. On 
> supported platforms, the new JDK9 implementation is intrisified to leverage 
> SIMD instructions. For a byte array comparison, up to 64 bytes (512 bits) can 
> be compared as a single unit. Feature details please refer to 
> http://download.java.net/java/jdk9/docs/api/java/util/Arrays.html and 
> https://bugs.openjdk.java.net/browse/JDK-8033148
> Currently in Cassandra, keys are implemented as ByteBuffers and compared as 
> byte arrays most of the time. Key comparison, for example decorated key 
> compare, it is either done with unsafe operation taking 8 bytes at a time, or 
> pure java operation comparing byte by byte. This can be optimized with new 
> JDK9 java.util.Arrays.compare APIs on modern CPUs.
> Please let us know your feedback. At the meantime, we will submit a patch 
> with performance studies in couple of weeks.
> Thanks,
> Yingqi Lu



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-13903) Add JDK9 vectorizedMismatch array compare support

2017-09-25 Thread Yingqi Lu (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-13903?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yingqi Lu updated CASSANDRA-13903:
--
Description: 
Dear All,

JDK9 has recently been released (http://openjdk.java.net/projects/jdk9/). It 
introduces a set of new vectorizedMismatch APIs for array comparison. On 
supported platforms, the new JDK9 implementation is intrisified to leverage 
SIMD instructions. For a byte array comparison, up to 64 bytes (512 bits) can 
be compared as a single unit. Feature details please refer to 
http://download.java.net/java/jdk9/docs/api/java/util/Arrays.html and 
https://bugs.openjdk.java.net/browse/JDK-8033148

Currently in Cassandra, keys are implemented as ByteBuffers and compared as 
byte arrays most of the time. Key comparison, for example decorated key 
compare, it is either done with unsafe operation taking 8 bytes at a time, or 
pure java operation comparing byte by byte. This can be optimized with new JDK9 
java.util.Arrays.compare APIs on modern CPUs.

Please let us know your feedback. At the meantime, we will submit a patch with 
performance studies in couple of weeks.

Thanks,
Yingqi Lu


  was:
Dear All,

JDK9 has recently been released (http://openjdk.java.net/projects/jdk9/). It 
introduces a set of new vectorizedMismatch APIs for array comparison. On 
supported platforms, the new JDK9 implementation is intrisified to leverage 
SIMD instructions. For a byte array comparison, up to 64 bytes (512 bits) can 
be compared as a single unit.  

Currently in Cassandra, keys are implemented as ByteBuffers and compared as 
byte arrays most of the time. Key comparison, for example decorated key 
compare, it is either done with unsafe operation taking 8 bytes at a time, or 
pure java operation comparing byte by byte. This can be optimized with new JDK9 
java.util.Arrays.compare APIs on modern CPUs.

Please let us know your feedback. At the meantime, we will submit a patch with 
performance studies in couple of weeks.

Thanks,
Yingqi Lu



> Add JDK9 vectorizedMismatch array compare support
> -
>
> Key: CASSANDRA-13903
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13903
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local Write-Read Paths
>Reporter: Yingqi Lu
>
> Dear All,
> JDK9 has recently been released (http://openjdk.java.net/projects/jdk9/). It 
> introduces a set of new vectorizedMismatch APIs for array comparison. On 
> supported platforms, the new JDK9 implementation is intrisified to leverage 
> SIMD instructions. For a byte array comparison, up to 64 bytes (512 bits) can 
> be compared as a single unit. Feature details please refer to 
> http://download.java.net/java/jdk9/docs/api/java/util/Arrays.html and 
> https://bugs.openjdk.java.net/browse/JDK-8033148
> Currently in Cassandra, keys are implemented as ByteBuffers and compared as 
> byte arrays most of the time. Key comparison, for example decorated key 
> compare, it is either done with unsafe operation taking 8 bytes at a time, or 
> pure java operation comparing byte by byte. This can be optimized with new 
> JDK9 java.util.Arrays.compare APIs on modern CPUs.
> Please let us know your feedback. At the meantime, we will submit a patch 
> with performance studies in couple of weeks.
> Thanks,
> Yingqi Lu



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-13903) Add JDK9 vectorizedMismatch array compare support

2017-09-25 Thread Yingqi Lu (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-13903?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Yingqi Lu updated CASSANDRA-13903:
--
Labels:   (was: Cassandra-9608 dependency)

> Add JDK9 vectorizedMismatch array compare support
> -
>
> Key: CASSANDRA-13903
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13903
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Local Write-Read Paths
>Reporter: Yingqi Lu
>
> Dear All,
> JDK9 has recently been released (http://openjdk.java.net/projects/jdk9/). It 
> introduces a set of new vectorizedMismatch APIs for array comparison. On 
> supported platforms, the new JDK9 implementation is intrisified to leverage 
> SIMD instructions. For a byte array comparison, up to 64 bytes (512 bits) can 
> be compared as a single unit.  
> Currently in Cassandra, keys are implemented as ByteBuffers and compared as 
> byte arrays most of the time. Key comparison, for example decorated key 
> compare, it is either done with unsafe operation taking 8 bytes at a time, or 
> pure java operation comparing byte by byte. This can be optimized with new 
> JDK9 java.util.Arrays.compare APIs on modern CPUs.
> Please let us know your feedback. At the meantime, we will submit a patch 
> with performance studies in couple of weeks.
> Thanks,
> Yingqi Lu



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org