savina icon indicating copy to clipboard operation
savina copied to clipboard

AStar/GuidedSearch benchmark issues.

Open smarr opened this issue 9 years ago • 1 comments

The allNodes field is for some reason a HashMap. However, it seems to be densely populated so, I would kind of assume it should be an array. Any specific reason why it is a HashMap?

The busyWait function uses Math.random() and thus, sequentializes all workers on the AtomicLong seed of the shared Random object.

smarr avatar Sep 29 '15 12:09 smarr

Implementing this benchmark faithfully with a language that guarantees isolation between actors is also hard. I am not sure how to do it. Especially not preserving the parallelism.

At each step, the GridNodes are read and mutated. Interestingly, mutation is probably idempotent, but, an actor needs to know whether it succeeded to know whether it should continue working on the neighbor, or to check whether it is done.

I have no good idea how to realize this in a pure event-loop language without sequentializing all operations. There needs to be either a strategy of distributing the grid nodes between multiple actors, or a mechanism that allows for instance idempotent racy mutation. Either way, this seems like a huge change to the benchmark.

smarr avatar Sep 29 '15 14:09 smarr