ETS Decentralized Counters Benchmark Results

The implementation of decentralized counters for ETS tables has been benchmarked on two machines. The purposes of the benchmarks are to check that the decentralized counters cause a scalability improvement on big multicore machines and to check that the performance penalty is small in scenarios that do not benefit from decentralized counters.

Scenarios with many different set sizes (approximately 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072 and 262144 items) have been benchmarked on a machine with 8 hardware threads. A larger machine (64 hardware threads), has been used to benchmark scenarios with a set size of approximately 500000 items.

Results

Conclusion

The results from the machine with 64 hardware threads indicate that decentralized counters give all types of ETS tables a major scalability improvement in some scenarios when many cores are being used. Furthermore, the benefit of decentralized counters is especially large in scenarios with many write operations (i.e., insert/2 and delete/2).

Decentralized counters do not cause a major performance penalty in any of the scenarios that are included in the benchmark.