Divided map into shards

To get better performance and to avoid concurrency bottlenecks I’ve
sharded the map into 256 maps, each responsible for storing a portion
of the over all data, each with its own locking mech’.