You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Matthew F. Dennis (JIRA)" <ji...@apache.org> on 2011/09/14 19:13:09 UTC

[jira] [Commented] (CASSANDRA-2731) Impelement in-house file caching.

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

Matthew F. Dennis commented on CASSANDRA-2731:
----------------------------------------------

as much as I dislike winblows, the reality is that their async IO facilities are far superior to anything you'll find in Linux.  I'm not sure how one would go about using them from the JVM, but my guess is that the new NIO stuff uses it natively without having a user space thread pool like it does on Linux.

> Impelement in-house file caching.
> ---------------------------------
>
>                 Key: CASSANDRA-2731
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2731
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Pavel Yaskevich
>            Assignee: Pavel Yaskevich
>            Priority: Minor
>
> Implement FileCache, CachedRandomAccessFile (to replace BufferedRandomAccessFile) and RadixTree (to play role of the backend cache storage) classes.
> FileCache class with be responsible for storing/retrieving data from Radix Tree and also flushing of the dirty pages to the disk, page management such as adding new pages, utilizing old/unused pages.
> CRAF Linux only features (via JNI):
> 1). O_DIRECT for both read/write operations.
> 2). AIO's lio_listio write operation batching.
> Provide possibility to migrate hot data directly from Memtable to CRAF cache to keep live-reads data always hot in memory. To minimise compaction effects CRAF should provide a way to by-pass a caching data if it does not already exists. 
> Provide a way to make pointers in the cache which will be useful to minimize impact on performance when a single column is distributed among multiple SSTable files (except counter columns).
> Use jemalloc (http://www.canonware.com/jemalloc/) for cache memory management.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira