apl-cornell / fabric

Distributed persistent programming language with secure information flow types
http://www.cs.cornell.edu/projects/fabric/
Other
28 stars 4 forks source link

FetchManager Cache should not pin down entries in memory #19

Closed tmagrino closed 6 years ago

tmagrino commented 6 years ago

Right now, the cache used by the dissemination layer, Cache, does not use soft or weak references. This creates a form of memory leak for workers, particularly when using the DummyFetchManager.

Ideally a solution would ensure that entries that the worker is actually using (ie. objects present in the Worker's ObjectCache) aren't evicted due to memory pressure prematurely.

tmagrino commented 6 years ago

As of cc9b255 this only affects the Pastry backed dissemination layer.

tmagrino commented 6 years ago

@liujed points out I was incorrect in my understanding of this part of the code and we're not actually pinning objects in memory. That said, memory pressure is now avoided when it's "dead-ish" weight with cc9b255.