You are viewing a plain text version of this content. The canonical link for it is here.
Posted to gitbox@activemq.apache.org by GitBox <gi...@apache.org> on 2021/05/11 15:07:36 UTC
[GitHub] [activemq-artemis] franz1981 opened a new pull request #3573: ARTEMIS-3292 PageSyncTimer can reduce garbage and sync while batching syncs
franz1981 opened a new pull request #3573:
URL: https://github.com/apache/activemq-artemis/pull/3573
https://issues.apache.org/jira/browse/ARTEMIS-3292
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [activemq-artemis] franz1981 commented on pull request #3573: ARTEMIS-3292 PageSyncTimer can reduce garbage and sync while batching syncs
Posted by GitBox <gi...@apache.org>.
franz1981 commented on pull request #3573:
URL: https://github.com/apache/activemq-artemis/pull/3573#issuecomment-914053249
TLDR on this change (still need to run CI on this):
- lock-free sync requests (no interference with background sync): it affects `PagingStoreImpl::page`, that's performing `sync` on
```java
if (tx == null && syncNonTransactional && message.isDurable()) {
sync();
}
```
- performing background sync no longer allocate ` OperationContext[]`: it affects paging with fast disks ie with a very short page sync timeout
No hurry to get it but I think is a nice improvement @clebertsuconic @michaelandrepearce wdyt?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: gitbox-unsubscribe@activemq.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [activemq-artemis] franz1981 closed pull request #3573: ARTEMIS-3292 PageSyncTimer can reduce garbage and sync while batching syncs
Posted by GitBox <gi...@apache.org>.
franz1981 closed pull request #3573:
URL: https://github.com/apache/activemq-artemis/pull/3573
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: gitbox-unsubscribe@activemq.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [activemq-artemis] franz1981 commented on pull request #3573: ARTEMIS-3292 PageSyncTimer can reduce garbage and sync while batching syncs
Posted by GitBox <gi...@apache.org>.
franz1981 commented on pull request #3573:
URL: https://github.com/apache/activemq-artemis/pull/3573#issuecomment-921526618
Still waiting approval so I can move on with CI test round (after rebase) and can brought in
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: gitbox-unsubscribe@activemq.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [activemq-artemis] franz1981 edited a comment on pull request #3573: ARTEMIS-3292 PageSyncTimer can reduce garbage and sync while batching syncs
Posted by GitBox <gi...@apache.org>.
franz1981 edited a comment on pull request #3573:
URL: https://github.com/apache/activemq-artemis/pull/3573#issuecomment-838656005
Would be better to use a batching strategy that won't cause tick to copy (an unbounded number of) N pending syncs ie O(N) cost, but just a O(1) cost using a "double buffering" mechanism a-la video game computer graphic rasterization rendering, used in other prj with success eg https://github.com/HdrHistogram/HdrHistogram/blob/master/src/main/java/org/HdrHistogram/SingleWriterRecorder.java#L134
is using a `WriterReaderPhaser` to switch active histogram in order to save the producer threads from being blocked while flushing.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [activemq-artemis] franz1981 edited a comment on pull request #3573: ARTEMIS-3292 PageSyncTimer can reduce garbage and sync while batching syncs
Posted by GitBox <gi...@apache.org>.
franz1981 edited a comment on pull request #3573:
URL: https://github.com/apache/activemq-artemis/pull/3573#issuecomment-921526618
Still waiting approval so I can move on with CI test round (after rebase) and brought it in
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: gitbox-unsubscribe@activemq.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [activemq-artemis] franz1981 edited a comment on pull request #3573: ARTEMIS-3292 PageSyncTimer can reduce garbage and sync while batching syncs
Posted by GitBox <gi...@apache.org>.
franz1981 edited a comment on pull request #3573:
URL: https://github.com/apache/activemq-artemis/pull/3573#issuecomment-914053249
TLDR on this change (still need to run CI on this):
- lock-free sync requests (no interference with background sync): it affects `PagingStoreImpl::page`, that's performing `sync` on
```java
if (tx == null && syncNonTransactional && message.isDurable()) {
sync();
}
```
- performing background sync no longer allocate ` OperationContext[]`: it affects paging with fast disks ie with a very short page sync timeout
No hurry to get it in, but I think is a nice improvement on paging @clebertsuconic @michaelandrepearce wdyt?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: gitbox-unsubscribe@activemq.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [activemq-artemis] franz1981 edited a comment on pull request #3573: ARTEMIS-3292 PageSyncTimer can reduce garbage and sync while batching syncs
Posted by GitBox <gi...@apache.org>.
franz1981 edited a comment on pull request #3573:
URL: https://github.com/apache/activemq-artemis/pull/3573#issuecomment-838656005
Would be better to use a batching strategy that won't cause tick to copy (an unbounded number of) N pending syncs ie O(N) cost, but just a O(1) cost using a "double buffering" mechanism a-la video game computer graphic rasterization rendering, used in other prj with success eg https://github.com/HdrHistogram/HdrHistogram/blob/master/src/main/java/org/HdrHistogram/SingleWriterRecorder.java#L134
is using a `WriterReaderPhaser` to switch active histograms in order to save the producer threads from being blocked while flushing.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [activemq-artemis] franz1981 edited a comment on pull request #3573: ARTEMIS-3292 PageSyncTimer can reduce garbage and sync while batching syncs
Posted by GitBox <gi...@apache.org>.
franz1981 edited a comment on pull request #3573:
URL: https://github.com/apache/activemq-artemis/pull/3573#issuecomment-838656005
Would be better to use a batching strategy that won't cause tick to copy (an unbounded number of) N pending syncs ie O(N) cost, but just a O(1) cost using a "double buffering" mechanism a-la video game computer graphic, used in order prj eg https://github.com/HdrHistogram/HdrHistogram/blob/master/src/main/java/org/HdrHistogram/SingleWriterRecorder.java#L134
is using a `WriterReaderPhaser` to switch active histograms in order to save the producer threads from being blocked while flushing.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [activemq-artemis] franz1981 edited a comment on pull request #3573: ARTEMIS-3292 PageSyncTimer can reduce garbage and sync while batching syncs
Posted by GitBox <gi...@apache.org>.
franz1981 edited a comment on pull request #3573:
URL: https://github.com/apache/activemq-artemis/pull/3573#issuecomment-838656005
Would be better to use a batching strategy that won't cause tick to copy (an unbounded number of) N pending syncs ie O(N) cost, but just a O(1) cost using a "double buffering" mechanism a-la video game computer graphic rasterization rendering, used in other prj with success eg https://github.com/HdrHistogram/HdrHistogram/blob/master/src/main/java/org/HdrHistogram/SingleWriterRecorder.java#L134
is using a `WriterReaderPhaser` to switch active histogram in order to save the producer threads from being blocked while flushing the previously active one.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [activemq-artemis] franz1981 edited a comment on pull request #3573: ARTEMIS-3292 PageSyncTimer can reduce garbage and sync while batching syncs
Posted by GitBox <gi...@apache.org>.
franz1981 edited a comment on pull request #3573:
URL: https://github.com/apache/activemq-artemis/pull/3573#issuecomment-838656005
Would be better to use a batching strategy that won't cause tick to copy (an unbounded number of) N pending syncs ie O(N) cost, but just a O(1) cost using a "double buffering" mechanism a-la video game computer graphic rasterization rendering, used in order prj eg https://github.com/HdrHistogram/HdrHistogram/blob/master/src/main/java/org/HdrHistogram/SingleWriterRecorder.java#L134
is using a `WriterReaderPhaser` to switch active histograms in order to save the producer threads from being blocked while flushing.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [activemq-artemis] franz1981 commented on pull request #3573: ARTEMIS-3292 PageSyncTimer can reduce garbage and sync while batching syncs
Posted by GitBox <gi...@apache.org>.
franz1981 commented on pull request #3573:
URL: https://github.com/apache/activemq-artemis/pull/3573#issuecomment-838656005
Would be better to use a batching strategy that won't cause tick to copy N pending syncs ie O(N) cost, but just a O(1) cost using a "double buffering" mechanism a-la video game computer graphic, used in order prj eg https://github.com/HdrHistogram/HdrHistogram/blob/master/src/main/java/org/HdrHistogram/SingleWriterRecorder.java#L134
is using a `WriterReaderPhaser` to switch active histograms in order to save the producer threads from being blocked while flushing.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org