cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Benedict (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CASSANDRA-5863) Create a Decompressed Chunk [block] Cache
Date Thu, 06 Mar 2014 15:10:43 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-5863?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13922619#comment-13922619
] 

Benedict edited comment on CASSANDRA-5863 at 3/6/14 3:08 PM:
-------------------------------------------------------------

I wonder if storing decompressed chunks on SSD really makes much sense? It's likely the decompression
is still faster than IO to even a fast flash drive.

Moving hot compressed chunks onto an SSD makes a lot of sense, but think that maybe these
are two different tickets? One to bring the page/buffer cache in process, and store it uncompressed,
the other to track hot file regions and store them on a cache drive.

One possible neat thing to try doing as well might be to have a mixed compressed/uncompressed
in-memory page cache. i.e. have a smaller uncompressed page cache, into which pages are moved
from a larger compressed page cache (being removed from their at the same time), and when
evicted the data is recompressed and moved back. This is probably only helpful for non-SSD
boxes, though, as reading may be faster than recompressing.


was (Author: benedict):
I wonder if storing decompressed chunks on SSD really makes much sense? It's likely the decompression
is still faster than IO to even a fast flash drive.

Moving hot compressed chunks onto an SSD makes a lot of sense, but think that maybe these
are two different tickets? One to bring the page/buffer cache in process, and store it uncompressed,
the other to track hot file regions and store them on a cache drive.

One possible neat thing to try doing as well might be to have a mixed compressed/uncompressed
in-memory page cache. i.e. have a smaller uncompressed page cache, into which pages are moved
from a larger compressed page cache, at which point it's removed from the compressed page
cache, and when evicted from the uncompressed page cache the data is recompressed and placed
in the compressed page cache. This is probably only helpful for non-SSD boxes, though, as
reading may be faster than recompressing.

> Create a Decompressed Chunk [block] Cache
> -----------------------------------------
>
>                 Key: CASSANDRA-5863
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5863
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: T Jake Luciani
>            Assignee: Pavel Yaskevich
>              Labels: performance
>             Fix For: 2.1 beta2
>
>
> 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. Initially this could be a off heap cache but it would be great to put these
decompressed chunks onto a SSD so the hot data lives on a fast disk similar to https://github.com/facebook/flashcache.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message