Darrel Schneider created GEODE-212:
--------------------------------------
Summary: ResourceManager implementation impacts off-heap
performance
Key: GEODE-212
URL: https://issues.apache.org/jira/browse/GEODE-212
Project: Geode
Issue Type: Bug
Components: offheap
Reporter: Darrel Schneider
Assignee: Darrel Schneider
When the resource manager is configured with either a eviction or critical
threshold then it registers a listener with the off-heap SimpleMemoryAllocator
that causes every off-heap allocate and free to call this listener.
The current listener does a synchronize on a singleton and notifies it. This
will impact the rate at which multiple threads can allocate and free off-heap
objects.
I simple test using 8 threads showed that without the resource manager they
could do 16 million allocate/frees in 3 seconds. With the resource manager it
took 12 seconds.
The notify is done to a singleton thread that simple checks to see if the new
off-heap memory size would result in a change to the resource manager state.
This can be done without synchronizing. Only if a change is possible do we need
to do the sync and notify.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)