[ 
https://issues.apache.org/jira/browse/HDDS-15684?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ivan Andika updated HDDS-15684:
-------------------------------
    Summary: OM double buffer performance improvements  (was: Replace OM double 
buffer with triple buffer)

> OM double buffer performance improvements
> -----------------------------------------
>
>                 Key: HDDS-15684
>                 URL: https://issues.apache.org/jira/browse/HDDS-15684
>             Project: Apache Ozone
>          Issue Type: Improvement
>            Reporter: Ivan Andika
>            Assignee: Ivan Andika
>            Priority: Major
>
> Just an idea to improve the OM double buffer improvements.
> Came across 
> [https://medium.com/@sgn00/triple-buffer-lock-free-concurrency-primitive-611848627a1e]
> We can try to think whether we can use triple buffer to replace the current 
> double buffer.
> The current weakness of double buffer is that we cannot swap the buffers if 
> there is either a read or write in progress (or there might be data 
> corruption). Additionally, we still uses locking although technically the 
> Ratis applier thread and Ozone Manager double buffer can be reduced to a 
> single SPSC problem which might not need any locks.
> The third buffer idea will add another buffer. This would decouple the read 
> and writer. We can also implement the lockless implementation to improve the 
> performance.
> Another possible improvements for the locality is to use raw array instead of 
> list of object references. This should improve the memory locality and 
> hopefully improve performance. This should not be needed after the value 
> objects since value objects will allow value object to act like primitives 
> instead of references 
> ([https://openjdk.org/projects/valhalla/value-objects)|https://openjdk.org/projects/valhalla/value-objects]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to