Parallel Data Processing
We consider a version of merge sort that operates on trees rather than
lists. We observe that while this merge sort on trees does the same work as
merge sort on lists, their span is very different. We track it down to the
underlying data structures: merge sort on lists imposes dependencies that
prevent opportunities for parallelism; trees instead impose fewer
dependencies. This suggests that trees are a more advantageous data
structure than lists for parallel computation.