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
Various models use an output buffer which is a static character array of something like 4k chars to output to the LPIO files at the end of the simulation. These are initialized when the LPs are initialized but generally unused until the end. Some models push to them during the sim which I guess is why they're included in the LP state. But is this really necessary or helpful? Wouldn't it be cheaper to handle during the finalize() function of that LP unless otherwise necessary (dragonfly models for instance only use it in finalize()).
Also I have a sneaking suspicion that we're using more than whats allocated in finalize anyway and doing some risky leaky memory stuff.
Various models use an output buffer which is a static character array of something like 4k chars to output to the LPIO files at the end of the simulation. These are initialized when the LPs are initialized but generally unused until the end. Some models push to them during the sim which I guess is why they're included in the LP state. But is this really necessary or helpful? Wouldn't it be cheaper to handle during the finalize() function of that LP unless otherwise necessary (dragonfly models for instance only use it in finalize()).
Also I have a sneaking suspicion that we're using more than whats allocated in finalize anyway and doing some risky leaky memory stuff.