Francesco Nigro created ARTEMIS-2321:
----------------------------------------

             Summary: Paging scalability and GC improvements
                 Key: ARTEMIS-2321
                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2321
             Project: ActiveMQ Artemis
          Issue Type: Improvement
          Components: Broker
    Affects Versions: 2.8.0
            Reporter: Francesco Nigro


PageCursorProviderImpl::getPageCache's on cache miss is blocking the whole 
softCache until the requested page isn't fully read, making other threads 
unable to make progress by querying the cache.
It would be better to make the page read operation a non-blocking operation for 
the whole cache, allowing threads that need different pageId to make progress.

Other improvements:
* PageCursorProviderImpl can use specialized primitive hash maps to reduce 
memory footprint (that would cause some page entries to be collected 
prematurely)
* PageCache children can avoid to maintain a reference to a Page
* PagingStoreImpl perform many unnecessary volatile stores/loads and some 
fields can be turned into plain ones, avoiding expensive atomic operations






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

Reply via email to