support customized partitioner and add benchmarking test
singlton threads map