Parallel merge sort