[DGD]statedumping

Kris Van Hees aedil at alchar.org
Wed May 10 21:49:50 CEST 2000


The state dump mechanism of DGD is not a system where a snapshot is taken
of the core memory image of the running process (such as suspend systems
on laptops tend to do), but rather a persistent store to keep the object
world across server reboots.

It is quite intimately connected to the swapping mechanism that actually
addresses your other concern.  As objects are swapped out, the memory space
they took up is released to the driver again.  Every now and then a full
sync is done with the swap (I didn't check this in the code, so this might
have changed since the last time I dealt with that code).  At that moment,
most of the allocated memory is released again, what tends to deal nicely
with possible fragmentation that occured in between two such syncs.

So in the end, the swapping mechanism cleans up memory junk (such as circular
referencing data structures that cannot be cleaned up through reference
counting) and the state dump just makes it so that the object world is saved
in a persistent state, to be loaded again after a server reboot.  It is not
an OS-based suspended image of the process, but rather a driver-implemented
system.

	Kris

On Wed, May 10, 2000 at 10:33:52PM +0300, Risto Karjalainen wrote:
> 
>    I may be stupid or I just know too little of things but there's
>    
>    one things that bugs me like hell:
>    
>    
>    
>    Isn't those reboots needed to clear the computer's memory of the shite
>    that
>    
>    the mud-driver has created there? And if so, how does these statedumps
>    work
>    
>    then? If I reboot and restore the mud state from a state-dump, isn't
>    the memory
>    
>    filled up with that old shite again as all those unnecessary objects
>    are loaded
>    
>    in the memory again? Or is that statedump just a kind of a crash
>    recovery
>    
>    system and it's not necessary to boot the MUD at all?
>    
>    
>    
>    I'm out of thoughts.
>    
>    
>    
>    Regards,
>    
>    Risto Karjalainen

-- 
Software Developer & Creator of Worlds

List config page:  http://list.imaginary.com/mailman/listinfo/dgd



More information about the DGD mailing list