1.1 高性能并行仿真技术

1.1.1 现代仿真技术对高性能计算的需求

随着数值计算的发展和计算机能力的提高,越来越多的科学领域开始采用仿真模拟方法进行问题建模与数值求解,以解决科学研究与工程设计中的实际问题。采用仿真模拟不仅节约了大量的人力和物力开销,还能解决许多实验方法所不能解决的问题。目前,仿真技术在基础科学研究、国民经济和国家安全的尖端科技领域中起着不可替代的作用,成为推动科学发展和社会进步的重要研究手段。

当前,仿真技术要求数值模拟达到高分辨、高逼真、全系统的规模和能力D.E.Culler,等.并行计算机体系结构(第2版).北京:机械工业出版社,2003.,导致其仿真程序通常具有极大规模的数据量和计算量,对高性能计算的需求巨大C.W.McCurdy,R.Stevens,etal.Creating Science-driven Computer Architecture: A New Path to Scientific Leadership.NERSC Technical Report, LBNL/PUB-5483, Lawrence Berkeley National Laboratory, Oct., 2002.Scientific Computing Research Environments for the Mathematical Sciences.NSF 05-627.http://www.nsf.gov/pubs/2007/nsf07502/nsf07502.htm.2007.。例如,据估计,蛋白质折叠程序的计算量达到1021量级,需要1015量级的计算能力;NASA研究中心专家分析,要在15min内完成对飞机机翼或整架飞机的大涡流模拟,分别需要1015量级或1018量级的计算能力IBM Blue Gene team.Blue Gene: A Vision for Protein Science Using a Petaflop Supercomputer.IBM System Journal, 40(2):310-327, 2001.车永刚.科学计算程序性能分析与优化关键技术研究.博士学位论文.长沙:国防科技大学, 2004.。该运算能力需求已远远超过了目前单CPU所能达到的程度,导致当前的单机计算平台已无法满足现代仿真技术对高性能的巨大需求。在这种背景下,仿真技术与并行计算技术的结合变得自然而迫切,产生了高性能并行仿真技术。

在仿真领域中,实时、高分辨率合成孔径雷达(Synthetic Aperture Radar,SAR)成像技术是当前军事领域的热点研究问题吕守业, 龙腾.机载合成孔径雷达实时成像处理系统研究.北京理工大学学报, 25( 2):155-158, 2005.熊君君, 王贞松, 姚建平, 等.星载SAR实时成像处理器的FPGA实现.电子学报, 33(6):1070-1072, 2005.。SAR是一种高分辨率成像雷达,广泛应用于侦察、武器制导、导航、定位、对机动目标探测和跟踪、导弹目标识别等军事领域。现代战场信息瞬息万变,为了获得战场先机,对实时、高精度SAR成像技术的需求越来越迫切王小宁, 陈文新.机载SAR实时成像处理算法及实现.空间电子技术, 3:43-46, 2003.何学辉, 苏涛, 刑孟道.一种机载SAR实时成像信号处理系统的设计.雷达科学与技术, 1(3):165-169, 2003.费君, 胡学成, 雷万明.高分辨率SAR实时信号处理.现代雷达, 26(11):42-43, 2004.。SAR成像处理具有庞大的数据量和运算量,通常需要十亿至百亿次的运算速度。大量的数据处理和复杂的运算操作制约了SAR成像处理的实时性。例如,对于规模为24×17.7km2的某L波段SAR成像条带,飞行时间仅7min16s,发射脉冲37万个,数据采样达7.86亿次,采用浮点数据(4个字节)来存储,需占用空间29.28GB。对于该次采样的回波数据进行成像处理,基于当前较为先进的单台Dell Precision 690工作站(CPU为Intel Xeon x5355@2.66GHz,内存8GB),即使采用忽略了部分复杂计算操作的串行成像算法也需要运行1.67h,远远超过了整个飞行时SAR的工作时间。而且,随着SAR成像处理系统朝着高带宽、高分辨率方向不断发展,其处理的数据量和运算量还会急剧增加邢孟道.基于实测数据的雷达成像方法研究.博士学位论文, 西安电子科技大学, 2002.江帆.机载合成孔径雷达CS成像算法及其并行性研究.硕士学位论文.长沙: 国防科技大学, 2002.。普通计算机和代价昂贵的专用硬件系统已远远无法满足日益增长的SAR成像处理需求,而传统的串行算法也无法利用并行计算平台,运算速度慢,难以扩大规模,不能满足日趋复杂的雷达对抗信号仿真需求C.Lin, L.Snyder.并行程序设计原理.陆鑫达, 林新华, 译.北京: 机械工业出版社, 2009.。在这种背景下,采用并行处理技术是实现高性能SAR成像的必经之路。

1.1.2 并行计算平台的性能优势

与串行计算相比,并行计算能够有效利用高性能并行计算机的系统资源,实现系统性能最大化,从而加快求解问题的速度,提高求解问题的规模,是目前唯一能满足实际大规模计算需求的支撑技术张林波, 迟学斌, 莫则尧, 等.并行计算导论.北京: 清华大学出版社, 2006.S.Akhter, J.Roberts.多核程序设计技术.李宝峰, 等译.北京: 电子工业出版社, 2007.。其中,并行计算平台是并行计算研究的基础,它结合了并行计算机系统和并行编程模型,为程序提供了多任务可同时并发执行的处理模式。并行计算机系统是具有多个内部处理器的单计算机或者多个计算机互联构成的计算机系统,支持并行编程模型。并行编程模型不同于传统的串行编程模型,可以采用专用的并行编程语言或者对现有高级语言进行并行控制方面的扩展,为并行程序设计者和并行计算机系统的交互提供接口。开发高性能并行仿真程序时,需要结合并行计算平台的特性和程序的并行特性,选择适合的并行优化算法,编写出正确高效的并行程序。并行计算平台具有强大的性能优势,具备提高并行程序性能的潜力,主要体现在以下四个方面。

1.强大的计算能力

并行计算平台具有大量的运算单元,通过充分利用这些丰富的运算资源,并且采用访存优化和通信优化技术来保证计算所需的数据带宽,并行计算平台能够获得强大的计算能力。

2.数据局部性

并行计算平台通常采用多级存储层次来保证持续的供数能力,这样能够提供寄存器重用、Cache重用以及本地存储访问局部性。通过数据布局优化,尽可能地将数据访问集中到本地存储器,避免远程访存开销,加快数据访问速度。

3.多级并行性

层次式的并行计算平台是目前主流并行体系结构。该平台不但能够提供结点内部的线程级并行,还可以提供结点间的数据级并行及任务级并行。多种并行方式的粒度和适用范围各不相同,单纯依靠任意一种并行都难以开发并行计算平台的优势,需要综合考虑这三种并行方式的优劣,采用最优的并行方式组合来构造高效的并行处理模式。

4.延迟隐藏

并行计算平台打破以“计算”为中心的程序员思维习惯,将访存和通信提升到与计算同等重要的高度。尽管结点间复杂的互联网络能够引起并行计算平台的远程访存和通信开销,但是可以通过程序的优化设计,将计算、访存、通信显式分离并降低三者之间的相关性,这样系统可以利用缓冲区技术将这三种长延迟事件重叠执行,从而有效隐藏访存或通信延迟。

综上所述,通过采用目前先进的VLSI技术、应用并行处理模型以及开发多级存储带宽利用率,并行计算平台不但能够有效避免或隐藏访存和通信延迟,而且能够充分利用片上丰富的运算资源,提供强大的并行计算潜力。

1.1.3 基于并行计算平台加速高性能仿真程序

为了满足现代仿真程序对高性能的需求,需要选择高性能并行计算平台,同时根据平台的性能优势对仿真程序进行优化,以充分开发并行计算平台的计算潜力。为了便于研究的开展和成果的验证,本书针对典型仿真程序——SAR成像处理程序设计了高效并行化方法,以研究普适性的并行仿真优化技术。

基于并行计算平台的并行优化技术为实现快速SAR成像处理提供了高效的解决途径。高性能SAR成像程序是高性能并行计算平台和优化程序相结合的产物。采用并行体系结构和并行编程模型加速SAR成像程序,主要基于以下两方面原因。

(1)具有强大性能优势的并行计算机体系结构和并行编程模型为加速SAR成像程序提供了平台支持。首先,片上存储局部性为SAR成像程序的性能提高准备了快速供数的途径。其次,延迟重叠技术能够有效地隐藏访存和通信延迟,使所有运算单元保持高效、持续运转。并且,大量的运算单元为程序的并行任务划分、映射和执行提供了易于并行的计算资源。

(2)SAR成像程序具有开发并行体系结构和并行编程模型的性能优势的潜力。首先,SAR成像程序对大量连续数据做相同处理,能够以单程序多数据(Simple Program Multiple Data,SPMD)模型在多结点上并行执行。其次,SAR成像程序通常具有大规模数据量,有利于挖掘程序的数据并行性。此外,SAR成像程序的计算量通常集中于循环结构,因此循环天然地成为了对SAR成像程序并行化的良好候选。

为了使SAR成像程序能够充分开发并行体系结构的性能潜力,必须根据程序特点,采用面向性能的并行优化技术,将串行程序转化为计算密集和带宽利用率高的并行程序,从而映射到并行计算平台上高效执行。因此,基于并行计算平台,研究SAR成像并行仿真优化技术具有重要意义。本书选择易于配置、性价比高、应用广泛的工作站机群作为并行成像技术的研究平台,该平台同时具有分布存储和共享存储两层存储层次,覆盖了目前主流并行计算机体系结构的典型特性。基于工作站机群,以典型SAR成像程序——距离-多普勒(R-D)程序为代表,着力于研究高性能仿真程序的普适性并行优化技术。同时,研究工作也致力于开发高性能、可扩展的SAR成像并行处理软件,实现实时、高分辨率成像,以期推动雷达对抗试验及仿真的研究和建设,为加快SAR成像的速度,提高SAR成像的规模和精度奠定基础。并且,随着高性能并行计算机技术的发展,研究成果也能够高效地运行于更大规模的机群系统,为高性能SAR成像软件的快速可持续性发展提供有力的技术支持。