LogP模型提出的背景
  根据技术发展的趋势,20世纪90年代末和未来的并行计算机发展的主流之一是巨量并行机,即MPC(Massively Parallel Computers),它由成千个功能强大的处理器/存储器节点,通过具有有限带宽的和相当大的延迟的互连网络构成。所以我们建立并行计算模型应该充分考虑到这个情况,这样基于模型的并行算法才能在现有和将来的并行计算机上有效的运行。根据已有的编程经验,现有的共享存储、消息传递和数据并行等编程方式都很流行,但还没有一个公认的和占支配地位的编程方式,因此应该寻求一种与上面的编程方式无关的计算模型。而根据现有的理论模型,共享存储PRAM模型和互连网络的SIMD模型对开发并行算法还不够合适,因为它们既没有包含分布存储的情况,也没有考虑通信和同步等实际因素,从而也不能精确的反映运行在真实的并行计算机上的算法的行为,所以,1993年D.Culer等人在分析了分布式存储计算机特点的基础上,提出了点对点通信的多计算机模型,它充分说明了互联网络的性能特性,而不涉及到具体的网络结构,也不假定算法一定要用现实的消息传递操作进行描述。

  LogP模型是一种分布存储的、点到点通信的多处理机模型,其中通信网络由4个主要参数来描述:
  (1)L(Latency) 表示源处理机与目的处理机进行消息(一个或几个字)通信所需要的等待或延迟时间的上限,表示网络中消息的延迟。
  (2)o(overhead)表示处理机准备发送或接收每个消息的时间开销(包括操作系统核心开销和网络软件开销),在这段时间里处理不能执行其它操作。
  (3)g(gap)表示一台处理机连续两次发送或接收消息时的最小时间间隔,其倒数即微处理机的通信带宽。
  (4)P(Processor)处理机/存储器模块个数
  假定一个周期完成一次局部操作,并定义为一个时间单位,那么,L,o和g都可以表示成处理器周期的整数倍。

  LogP模型的特点
  (1)抓住了网络与处理机之间的性能瓶颈。g反映了通信带宽,单位时间内最多有L/g个消息能进行处理机间传送。
  (2)处理机之间异步工作,并通过处理机间的消息传送来完成同步。
  (3)对多线程技术有一定反映。每个物理处理机可以模拟多个虚拟处理机(VP),当某个VP有访问请求时,计算不会终止,但VP的个数受限于通信带宽和上下文交换的开销。VP受限于网络容量,至多有L/g个VP。
  (4)消息延迟不确定,但延迟不大于L。消息经历的等待时间是不可预测的,但在没有阻塞的情况下,最大不超过L。
  (5)LogP模型鼓励编程人员采用一些好的策略,如作业分配,计算与通信重叠以及平衡的通信模式等。
  (6)可以预估算法的实际运行时间。

  LogP模型的不足之处
  (1)对网络中的通信模式描述的不够深入。如重发消息可能占满带宽、中间路由器缓存饱和等未加描述。
  (2)LogP模型主要适用于消息传递算法设计,对于共享存储模式,则简单地认为远地读操作相当于两次消息传递,未考虑流水线预取技术、Cache引起的数据不一致性以及Cache命中率对计算的影响。
  (3)未考虑多线程技术的上下文开销。
  (4)LogP模型假设用点对点消息路由器进行通信,这增加了编程者考虑路由器上相关通信操作的负担。