activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ARTEMIS-1151) Adapting TimedBuffer and NIO Buffer Pooling
Date Mon, 08 May 2017 15:58:04 GMT

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

ASF subversion and git services commented on ARTEMIS-1151:
----------------------------------------------------------

Commit 21c9ed85cf6b9a53debdd32747bd42b2e733da80 in activemq-artemis's branch refs/heads/master
from [~nigro.fra@gmail.com]
[ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=21c9ed8 ]

ARTEMIS-1151 Adapting TimedBuffer and NIO Buffer Pooling

- NIO/ASYNCIO new TimedBuffer with adapting batch window heuristic
- NIO/ASYNCIO improved TimedBuffer write monitoring with
  lightweight concurrent performance counters
- NIO/ASYNCIO journal/paging operations benefit from less buffer copy
- NIO/ASYNCIO any buffer copy is always performed with raw batch copy
  using SIMD instrinsics (System::arrayCopy) or memcpy under the hood
- NIO improved clear buffers using SIMD instrinsics (Arrays::fill) and/or memset
- NIO journal operation perform by default TLABs allocation pooling (off heap)
  retaining only the last max sized buffer
- NIO improved file copy operations using zero-copy FileChannel::transfertTo
- NIO improved zeroing using pooled single OS page buffer to clean the file
  + pwrite (on Linux)
- NIO deterministic release of unpooled direct buffers to avoid OOM errors
  due to slow GC
- Exposed OS PAGE SIZE value using Env class


> Adapting TimedBuffer and NIO Buffer Pooling
> -------------------------------------------
>
>                 Key: ARTEMIS-1151
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-1151
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>          Components: Broker
>            Reporter: Francesco Nigro
>            Assignee: Francesco Nigro
>            Priority: Minor
>
> This is the list of improvements: 
> - NIO/ASYNCIO new TimedBuffer with adapting batch window heuristic 
> - NIO/ASYNCIO improved TimedBuffer write monitoring with lightweight concurrent performance
counters
> - NIO/ASYNCIO journal/paging operations benefit from less buffer copy 
> - NIO/ASYNCIO any buffer copy is always performed with raw batch copy using SIMD instrinsics
(System::arrayCopy) or memcpy under the hood 
> - NIO improved clear buffers using SIMD instrinsics (Arrays::fill) and/or memset
> - NIO journal operation perform by default TLABs allocation pooling (off heap) retaining
only the last max sized buffer
> - NIO improved file copy operations using zero-copy FileChannel::transfertTo 
> - NIO improved zeroing using pooled single OS page buffer to clean the file + pwrite
(on Linux) 
> - NIO deterministic release of unpooled direct buffers to avoid OOM errors due to slow
GC 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message