[DGD] Best method to make a wilderness map

Shentino shentino at gmail.com
Sun Feb 19 05:44:07 CET 2012


On Sat, Feb 18, 2012 at 5:38 PM, Kris Van Hees <aedil at alchar.org> wrote:
> On Sat, Feb 18, 2012 at 05:22:35PM -0800, Shentino wrote:
>> DGD's memory usage model is quite elastic.
>                                    ^^^^^^^

By this I mean that dgd doesn't enforce any hard limits on memory
usage, but it instead manages that indirectly through object swapping.

Every execution round, or task (which is callout, connection, or
input), DGD swaps out a certain fraction of all objects, starting with
the least recently referenced.

swap_fragment determines how aggressive this is.  if it's set at 1000,
for example, then dgd will swap out 1/1000th of all memory resident
objects.

It doesn't enforce memory usage natively, and you can have total used
memory float up or down depending on how active your mud gets versus
how fast it swaps objects out.

> Can you explain what you mean by that?  To my experience, most people
> in CS would not describe it as elastic, but rather well optimised
> towards operating with a deterministic memory footprint, i.e. able to
> work well with predefined limits on memory usage.  It is also one of
> my favourite features in DGD: it makes good use of the resources it has
> been given.
>
>> Swapping is done proportional to the number of active objects in
>> memory, and will swap twice as fast with twice as many objects
>> resident.
>>
>> What WILL slow you down in a heartbeat is if you're using so much
>> memory the OS starts stepping in with paging.
>                                        ^^^^^^

BY "stepping in" I refer to intervening.

If dgd's memory usage gets too high, the operating system might page
some of it out to swap just like it would for any other process trying
to cram more stuff into memory than will fit at one time.
> I assume you mean 'swapping' here on the side of the OS?
>
>        Kris
> ___________________________________________
> https://mail.dworkin.nl/mailman/listinfo/dgd



More information about the DGD mailing list