The coolest thing IMHO about the Aeron LogBuffer is how it trades performances on concurrent writings with a measurable loss of precision on backpressure: it is a really a very smart and effective idea!
Il giorno martedì 30 maggio 2017 13:06:32 UTC+2, Martin Thompson ha scritto: > > The claim is on a long with a check before increment. > > On Tuesday, 30 May 2017 11:25:50 UTC+1, Peter Veentjer wrote: >> >> Thanks everyone. >> >> Another related question. When an atomic integer is used so that writers >> can claim their segment in the buffer, what prevent wrapping of this atomic >> integer and falsely assuming you have allocated a section in the buffer? >> >> So imagine the buffer is full, and the atomic integer > buffer.length. >> Any thread that wants to write, keeps increasing this atomic integer far >> far beyond its maximum capacity of the buffer. Which in itself is fine >> because one can detect what kind write failure one had: >> - first one the over commit >> - subsequent over commit >> >> But what if the value wraps? In theory one could end up thinking one has >> claimed a segment of memory still needed for reading purposes. >> >> One simple way to reduce the problem is to use an atomic long instead of >> an atomic integer. >> > -- You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
