I think your fundamental premise about the parallelization of processing game events is complicated. As you know much better than me, many of those events depend upon the other events, so they are not parallelizable. Two agents cannot both pick up the same item - one must get priority, and the other's outcome depends upon that.
But maybe there are ways to partition the events into sets such that the content of each set can be processed in parallel.