数据并行是指把数据划分成若干块分别映像到不同的处理机上,每一台处理机运行同样的处理程序对所分派的数据进行处理。大部分并行处理均采用这种处理方式,尤其是对于计算复杂性很高的问题(如流体力学计算、图象处理)进行并行处理。在这种处理方式中,通常,不同的处理机在计算过程中需要进行一定量的通信。因此,在这种并行处理方式中,也需要根据问题的特点设计合理的并行处理算法,以减小处理机间的通信对并行处理性能的影响。
随着信息量的快速增长和检索数据库规模的扩大,
信息检索采用顺序处理方式越来越难以满足检索性能要求,及时有高性能的顺序计算机支持也渐渐无能为力。而解决这一问题的有效途径之一就是将
并行处理技术引入信息检索领域,这也是并行技术研究与多种应用结合的必然结果。并行检索的直接优点是允许查询大规模的数据库和缩短检索响应时间。
按照并行性的一般含义,我们可以将并行技术大致分为数据并行和功能并行,二者都需依赖于并行硬件体系结构。在
SIMD计算机系统中,并行性一般指数据并行。计算机内包含一组处理单元(PE),每一个处理单元存储一个(或多个)数据元素。当机器执行顺序程序时,可对应于全部或部分的内部处理单元所存的数据同时操作。在
MIMD计算机成分布式计算机系统中,既可以采用数据并行,也可以采用功能并行,此时的数据并行可理解为数据库中的各数据集分存于多台处理机或计算机中,它们可同时对各自存储的数据集执行相同的操作。而功能并行是将一个程序分为若干个段,每一段由一台处理机或计算机执行,而多段程序并行执行需考虑段间同步、通讯等许多问题。
数据级并行依赖于并行处理机,它属于SIMD系统内的并行。并行处理机的特点是重复设置许多个同样的处理单元,按照一定的方式相互连接,在统一的控制部件作用下,各自对分配来的数据并行地完成同一指令规定的操作。控制部件实际上是一台高性能单处理机,它执行控制指令和只适用于串行处理的操作指令,而把适用于并行处理的指令传送给所用的处理单元,但仅有那些处于“活动”状态的处理单元才并行地对各自的数据进行同一操作。为了实现快速有效的数据处理,数据应在各处理单元之间合理分配与存储,使各处理单元主要对自身存储器内的数据进行运算。