codes-org / codes

The Co-Design of Exascale Storage Architectures (CODES) simulation framework builds upon the ROSS parallel discrete event simulation engine to provide high-performance simulation utilities and models for building scalable distributed systems simulations
Other
40 stars 16 forks source link

rc_stack doesn't free memory in sequential (--sync=1) mode (Imported #70) #70

Closed nmcglo closed 5 years ago

nmcglo commented 8 years ago

Original Issue Author: Jonathan Jenkins Original Issue ID: 70 Original Issue URL: https://xgitlab.cels.anl.gov/codes/codes/issues/70


When rc_stack_gc() is called in sequential mode it never triggers the code path to free memory, leading to a continuous memory leak.

We could either modify the gc function to detect sequential mode, or else modify the push/pop functions to avoid saving elements that won't be rolled back in the first place?

nmcglo commented 8 years ago

Jonathan Jenkins:

As it turns out, pe->GVT doesn't get updated in sequential mode... Funny enough, there's a local variable in the sequential scheduler called gvt that tracks the sim time. Maybe I should reach into the backtrace and check that ;)

Anywho, rc-stack is no longer leaky in non-optimistic modes (unless you tell it to be by passing in a NULL free function).

nmcglo commented 8 years ago

Jonathan Jenkins:

Status changed to closed

nmcglo commented 8 years ago

Jonathan Jenkins:

Fix confirmed- thanks!