1. 数据如何分配到不同的处理器上

  在串行排序程序中,待排序的数据都放在本机的内存中(只考虑内部排序),而并行程序则有多种选择。可以把所有数据放在一个结点上,其它结点从此结点取数据并把处理结果再回送给此结点。但很多情况下要求源数据和处理结果数据都分布在不同的结点上,这就要考虑数据的分布问题。

  一个直观的办法是把所有参与排序的处理器和数据编号,源数据按照其编号取模分布到相应的处理器上。排序结果在各个处理器上均匀分布,满足小编号处理器上的每个元素均小于大编号处理器上的每个元素。对于处理器不同的编号方式,排序的性能可能不同。