Microcell Distribution

March 28th, 2010


closeThis post was published 2 years 1 month 24 days ago and as such probably does not reflect my current opinions, knowledge or ability.

The images in this post show the successful distribution of space over the network, allowing clients to connect and be assigned a section of the world to process. Currently the framework allows functions for distributing cells to be added when the simulation starts, as additional nodes connect, and/or at regular intervals. These can be managed either by the central server, or initiated by worker nodes themselves. The majority of the remainder of the project involves the algorithms for distributing cells between nodes.

Additionally, the framework now supports both hexagons and quads as cells. Hexagons have the advantage that only 3 cells meet at any corner, limiting the maximum number of nodes which might be involved should an event take place there. Here’s some images of the view from the server with the most basic (block) distribution of cells:



Related Posts


Comments

  1. Weeble says:

    Is high “surface area” a bad property for cells allocated to a node, since it increases the amount of inter-node communication? What sort of work is getting done per-cell? You mentioned pathfinding previously. Are you keeping the per-cell work pretty simple to focus on the high-level assignment of work? How interesting is the inter-cell communication? Do cells have message queues or are they only for nodes?

    *Looks back at Gantt chart*

    Is it pretty much finished now? Just writing up left?

  2. Hazel says:

    Hi,
    That’s right, I’m just madly writing up now. I still have a few results I’d like to verify, but it has been hard to find a time when I can access higher numbers of computers at the university, even at the weekend, so I probably won’t get a chance.

    Higher perimeters for a node are generally a bad thing, since there are likely to be more transfers that way, however the pathfinding maps mean that not every edge is even – some might never have any transfers at all if entities can’t walk there.
    Per cell, the work is pretty much just some characters using A* to find paths to other random point on the graph as you say.

    The inter-cell communication isn’t particularly interesting I’m afraid. Message queues would make sense if I was passing much more than entities between cells, but as it stands there are only message queues per-node for now.

    I’m not unhappy with how the project turned out, but I do feel that the topic area was too broad and that I should have focussed down on one area much earlier. In the end I investigated a lot of aspects of the simulation, but none of them in quite the detail I would have like.

Leave a Reply