2.5 CTA:一种实际的并行计算机模型
为了克服PRAM的缺点,我们需要一个考虑通信开销的模型。下面我们描述一个模型,由于历史的原因,该模型被称为候选型体系结构(Candidate Type Architecture),简称CTA。CTA模型能显式地区分两类存储器访问,分别被称为低廉的本地访问和昂贵的非本地访问。
PRAM的问题 在对并行算法的性能极限进行理论分析时,PRAM是一个颇为有用的模型,但是它的存储器访问时间的单位代价却无助于实际的并行程序设计。特别是,该模型本应理想地指导程序员为求解问题选择***的算法,可实际上会误导他们到一个错误的解。例如,对于寻找一个数组中***值元素的问题,***的实际算法是锦标赛算法,它是第1章中所讨论的成对求和算法的变异;当n = P处理器时,其性能应正比于log n。寻找***值元素***的PRAM算法是具有***性的称为Valiant算法。该算法的工作步骤如下;第1步将n个值按3个分组,并分配处理器进行所有可能的比较,在一步时间内找出每一组的***值。由于在一个3元素组{a, b, c}中找出***值需要a:b, a:c,b:c共3次比较, 因此P/3组将需要3*P/3个处理器,即正好P个处理器。这一步将问题的规模减小为原来的1/3。以后的几步,组将会更大(第2步按7个分组),但组数会更少,使得所有的比较用P个处理器就可完成。整个求解将在log log n步内完成。由于完成每一步所需的指令数是固定的,因此整个运行时间将正比于log log n。虽然该算法非常巧妙,但它并不实用,因为在实际的硬件上运行时,它无法达到所预测的运行时间(原因在于PRAM模型假设可以在单位时间内完成存储器的访问)。的确,如果我们乐观地估计一次通信的代价正比于log P(P为并行计算机中的处理器数),那么完成一步所需时间将正比于log P,这就意味着该PRAM算法将需时log n(log log n),当n = P时,它的性能将比锦标赛算法更差。由此我们可以看到,PRAM 模型并不能指导程序员去获得***的实际解。
【责任编辑:董书 TEL:(010)68476606】
点赞 0