[
https://issues.apache.org/jira/browse/CASSANDRA-5863?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15171263#comment-15171263
]
Pavel Yaskevich commented on CASSANDRA-5863:
--------------------------------------------
I've been working on Windmill [1], recently, and it contains a page cache
implementation that may be useful here or could be used as a reference. The
implementation is similar to the Linux Kernel’s; It is based on a static, fixed
maximum length Radix Tree [2] and supports asynchronous reads and writes using
a dedicated thread pool. I’ve recently added DMA support, via O_DIRECT, and I
am working on something similar to posix_fadvise to provide even more granular
file access controls, as well.
[1] https://github.com/xedin/windmill
[2]
https://0xax.gitbooks.io/linux-insides/content/DataStructures/radix-tree.html
> In process (uncompressed) page cache
> ------------------------------------
>
> Key: CASSANDRA-5863
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5863
> Project: Cassandra
> Issue Type: Sub-task
> Reporter: T Jake Luciani
> Assignee: Branimir Lambov
> Labels: performance
> Fix For: 3.x
>
>
> Currently, for every read, the CRAR reads each compressed chunk into a
> byte[], sends it to ICompressor, gets back another byte[] and verifies a
> checksum.
> This process is where the majority of time is spent in a read request.
> Before compression, we would have zero-copy of data and could respond
> directly from the page-cache.
> It would be useful to have some kind of Chunk cache that could speed up this
> process for hot data, possibly off heap.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)