泰坦(英语:Titan,实验室代号“OCLF-3”)是一台由克雷公司承建的超级计算机,置放于美国能源部下属的橡树岭国家实验室中,供各项科学研究项目使用。泰坦是由原来也置放于橡树岭国家实验室的美洲虎(英文:Jaguar)经过多次升级改装而成。泰坦也是世界上第一台以通用图形处理器(GPGPU)为主要资料处理单元的超级计算机,2012年11月至2013年6月是世界上最快的超级计算机。美洲虎在2011年10月被宣布开始进行大幅升级,2012年10月,升级作业基本完工后这台超级计算机被更名为泰坦,并开始进行稳定性和性能测试,2013年中期方可供科学研究者们使用。[4][5]升级的预算开始时是6千万美元,其中绝大部分由美国能源部提供。而后来根据克雷公司的公开信息,整台泰坦超级计算机的费用最终是9千7百万美元,[4]为填补资金空缺,美国国家海洋和大气管理局也出了一小部分资金参与建造,以从主要出资方美国能源部的手上获得一定的使用权。[6]
泰坦使用由超微半导体提供的皓龙(Opteron)处理器链接英伟达提供的Tesla运算用图形处理器以进行协同运算,来在提供比美洲虎更高的运算性能之同时保持能源利用效率。整台泰坦共计18,688颗中央处理器和相同数量的图形处理器,理论峰值性能是27petaFLOPS(每秒27×1015次浮点运算),然而,在2012年11月的LINPACK基准性能测试中却仅获取17.59petaFLOPS的成绩(每秒17.59×1015次浮点运算)[3][7],直到2013年6月在Top500位列第一的排名被中国的天河二号取代。尽管如此,无论从性能上抑或是能效比上来说,仍然要比同时期的其它超级计算机更胜一筹。
泰坦可用于任何目的的资料处理。然而,资料处理任务的优先级,需要基于三个方面的考量:任务计划的重要度、任务计划对异构运算的利用潜力以及任务计划的运算程序源码与其它超级计算机的兼容性。经过筛选调度后,选中六个运算计划,这六个“前锋”计划在泰坦开放使用后由泰坦依调度执行处理,这些处理任务多为关于纳米科技或气候模型。不过其它没被选为首先处理的任务计划,仍会进行优先级调度,进入等候贮列,以待泰坦的运行处理。由于以图形处理器来处理资料,基于图形处理器拥有比中央处理器多得多的线程的理由,不少程序需要进行源码变动处理以适应新的混合架构,这些处理常常需要有更高阶的运算平行度,而这些变更甚至也可以在以中央处理器为主的超级计算机上获得性能的提升。
泰坦于2019年6月30日截止受理运算任务,并于同年的8月2日正式退役[8],而日后泰坦的计算任务将会由高峰接手。[9]泰坦拆除后留下的空间将进行扩展并安装同样采用AMD处理器的前沿(英文:Frontier)超级计算机,而前沿预计于2021年完工,届时将成为继Summit之后的第二代AI系统。[10][11]
泰坦是橡树岭实验室美洲虎超级计算机的升级版。美洲虎初期纯粹使用中央处理器,而后期也以图形处理器辅助中央处理器运算。[12][13]
为了在保持性能功耗比的情况下提升资料处理性能,原来的美洲虎超级计算机在2005年落成后不久时已经制定了多种升级方案,当时美洲虎仍使用Cray XT3(英语:Cray XT3)主机平台,峰值运算性能为25teraFLOPS。[14]2008年美洲虎的Cray XT3主机平台升级Cray XT4(英语:Cray XT4)主机平台,峰值性能也提升至263teraFLOPS;2009年继续升级至Cray XT5(英语:Cray XT5)主机平台,峰值性能为1.4petaFLOPS。[14]在升级为泰坦前,未来的升级计划原定的峰值性能为1.76petaFLOPS。[15]
2005年当美洲虎落成时,橡树岭国家实验室已计划打造一台达到20petaFLOPS性能级别的超级计算机,而以传统的中央处理器架构来实现在当时来说有不低的难度和成本,因此选择以中央处理器+图形处理器的混合架构方案,尽管这个方案直到2010年才得以实现,2011年以后计划将升级后的美洲虎更名为泰坦。[16]2010年11月16日在ACM/IEEE超级运算研讨会(英语:ACM/IEEE Supercomputing Conference)非正式私人会议上公布了美洲虎的大升级计划(亦即泰坦的建造),在会议的前一年(2009年)还和NVIDIA签署通用图形处理器的供应协议。[17][18]2011年10月11日对外宣布开始第一阶段的升级。[19]最初的计划是将新建一个占地15,000平方米(160,000平方英尺)的新机房,来置放升级后的美洲虎,但最后限于预算而取消,改为沿用美洲虎现有的基础设施。[20]2011年10月9日,美洲虎的主机开始了为期一年的汰换升级,完全升级后的超级计算机会重命名为“泰坦”。[21]
第一阶段的升级主要是更换新的中央处理器。
2011年10月至12月期间,美洲虎200个机柜中的96个机柜中装备的Cray XT5平台主机(刀片服务器,配置为每节点两颗6核心的AMD Opteron处理器)升级为Cray XK6(英语:Cray XK6)平台主机(刀片服务器,配置为每节点一颗16核心的Opteron 6274处理器),其它剩余的机柜仍照常运作。同年12月,所有运算任务转移至96个已更换Cray XK6主机平台的机柜中,剩余的104个机柜中的主机均升级Cray XK6。[22] 系统内部连线(允许各节点的处理单元相互沟通的网络)也被升级,橡树岭国家实验室的ESnet网络连线的带宽也升级为100Gb/s,以便更快地从其它实验室、大学和研究机构进行资料交换。[23]系统存储器容量也随着Cray XK6主机平台的升级而翻倍扩增至600TB,其中有960台Cray XK6主机(占用10个机柜)还装有以NVIDIA Fermi架构显示核心(即用于NVIDIA GeForce 400/500系列显卡的图形处理器)为基础的NVIDIA Tesla运算加速卡。这960个节点作为泰坦日后硬件配置的参考,并用来为日后泰坦的完全升级测试程序源码。美洲虎至泰坦的第一阶段的升级使得这台超级计算机的峰值性能从2.3petaFLOPS提升至3.3petaFLOPS,这个阶段下这台超级计算机仍称为美洲虎。[21]
第二阶段的升级主要是更换安装新的用作通用资料处理的图形处理器。
2012年中期,英伟达推出NVIDIA Kepler架构的图形处理器,也在不久推出基于这个架构的NVIDIA Tesla运算处理器。2012年9月13日开始,按照实验室和克雷、英伟达签订的合约,英伟达提供超过一万八千块NVIDIA Tesla K20X运算加速卡(基于开普勒架构的GK110顶级显示核心,用作通用图形处理器[24][25])装进美洲虎超级计算机的Cray XK6平台主机中,每节点一块,更换图形处理器后Cray XK6平台更名为Cray XK7(英语:Cray XK7)平台。中央处理器维持不变,仍为16核心的Opteron 6274处理器。[4][26]同年10月底基本完工并且将这台超级计算机更名为泰坦。[27]
“泰坦”在2013年初接受验收测试,但只完成了92%的测试项目,低于原来通过95%的测试项目的要求。[22][28]后来检查发现,导致测试出现问题的是主板的PCI-E插槽内的金手指连接器虚焊或焊接部位出现裂缝。[29]对于这个问题,克雷公司按照合同要求承担修复所需费用,并且以每星期12到16个机柜的速度修复这个缺陷。[29]修复过程中其它能正常运作的机柜照常运算以供研究者们继续进行他们的运算任务,[29]而且到2013年3月11日,共8,972颗通用图形处理器通过测试后,正式投入运作[30]2013年4月8日,橡树岭国家实验室宣布修复工作已完成,预计2013年5月完成最后的验收测试项目。[31]6月12日,橡树岭实验室宣布泰坦已经完成了测试。[32]
泰坦的升级建造仍由美洲虎的承建商克雷公司来负责进行,其主要资金来源是美国能源部下属的橡树岭国家实验室。当时实验室的资金用来升级中央处理器的话是十分充足的,但剩下的资金就不足够用来购置18,688块通用图形处理器(运算加速卡),因此美国国家海洋和大气管理局也同意出资填补资金缺口,但需要以一定的使用权和使用时限作为回报。[33][34]橡树岭实验室的科学计算负责人杰夫·尼科尔斯(Jeff Nichols)表示“泰坦花了实验室大约6千万美元,后来国家海洋和大气管理局的出资不足1千万美元,但是具体数字则因为保密协议就不便公开了。”[33][12]与克雷公司的全部合约共计约9千7百万美元,不包括泰坦落成以后的可能的升级。[12]
在美洲虎超级计算机升级完成后,克雷将用于泰坦超级计算机的Cray XK7主机平台作商业化推广,还表示日后仍会有很大的硬件升级空间与性能提升空间。[35]
2013年3月份,英伟达发布了消费级市场最强单片机显卡——GeForce GTX Titan,使用和泰坦超级计算机上使用的Tesla K20X运算卡相同的“GK110”图形处理器。[36]与超级计算机共享一个型号的显示核心、保留完整的通用运算能力,是这款显卡的最大卖点之一,主要针对民间对游戏图形和科学运算都有需要的发烧级玩家。[37],随后还陆续发布了GeForce GTX TITAN Black Edition[38]以及单卡双GPU的GeForce GTX TITAN Z[39]。还有玩家用其来进行比特币挖矿操作。[40][41][42]
原计划泰坦将在2018年被新建造的超级计算机高峰(Summit)取代,或由泰坦改造升级,不过最终高峰因需要另建基础设施而于另外的机房中建造,使得泰坦得以保留继续服役。这台新的超级计算机由IBM承建,使用更少的运算节点,每个节点配备更强力的通用图形处理器提供更强的运算能力;而且还配备固态非易失性存储设备,作为来自分布式文件系统的文件资料缓存。[43]
泰坦超级计算机使用和美洲虎超级计算机相同的200个机柜的设计,占地404平方米,基本上只是更换了机柜和布线。[5][44]沿用改进自美洲虎超级计算机的电力供应系统和冷却系统,节省了能源部/实验室约两千万美元的经费。[6]泰坦的总耗电功率最大8.2兆瓦,[45]比美洲虎高出了1.2兆瓦,但是泰坦提供比美洲虎快了几乎10倍的运算性能,特别是浮点运算方面。[2][5]电力供应系统的交流电输入电压高达480伏,供每个机柜使用,由于使用更高的电压,因此可以使用比美国标准的208伏(线电压)电缆更细的输入电缆,由更小直径的电缆铜芯上节省出来的资金就有一百万美元。[2]为应付电力供应突然中断的事件,碳纤维飞轮能量存储器可以维持网络系统和存储系统16秒的电力供应,[46]如果两秒内电力供应没有恢复,柴油发电机就会在大约7秒的时间内启动,并一直驱动飞轮,[46]但是飞轮和发电机被设计成只为网络系统和存储系统维持电力供应,以便能快速重新开启整台机器,发电机也不会为运算处理单元基础设施提供后备电力供应,因此外接电力供应中断时(即使发电机已启动)是不会进行运算处理作业的,这个特性和笔记本电脑的“睡眠”功能类似。[46]
泰坦的机柜使用主动式风冷散热器,但是外界空气进入机柜前则要事先经过冷却处理,[47]所用的空气冷却器,可制冷质量为6,600吨(相当于23.2兆瓦的热功率),以5.5摄氏度(约42华氏度)的低温冷却水作为空气冷却器的散热介质,从机柜中带走热量的热空气会流到至空气冷却器冷却,再回流进入机柜,如此往复循环。[47]另外,“泰坦”的散热系统设计时并没有考虑噪音问题,因此这台超级计算机运作时的噪音非常巨大,以至于机房需要更好的隔音措施,进入机房并且逗留超过15分钟的人员必须采取像是佩戴隔音耳塞或耳机等的听力保护措施。[48]
完整的泰坦超级计算机上有18,688个运算节点,每部刀片服务器拥有四个运算节点,24部刀锋主机为一个机柜。[49]
为了更大幅度地提升平行运算性能,建造方选择用通用图形处理器实现,因为图形处理器平行运算效率相比传统的中央处理器的有更为巨大的优势所在。[50]尽管图形处理器/通用图形处理器的时钟频率要比中央处理器低不少,但每颗NVIDIA GK110显示核心拥有2,688个主频为732MHz的流处理器(CUDA核心),全部流处理器联合进行运算处理,从而使得整个系统性能更高。[1][44]因此,在泰坦超级计算机上,中央处理器核心主要用以分配运算任务给通用图形处理器,资料处理主要由通用图形处理器来实现。而此前的超级计算机,则是由中央处理器直接处理资料,即使有通用图形处理器的加入也就是辅助运算的角色。[50]
在运算主机以外,为方便管理并监控泰坦的运作状况,还另外设置了登录管理节点。每个登录节点的配置为一颗八核心的AMD Opteron 6140中央处理器和256GB的存储器。在授权用户透过网络连线至登录管理节点并登录后,默认是在登录管理节点上进行任务调度、监控运算节点运作状况等作业。[51]
为了让科研人员能够更好地明白泰坦的资料处理结果,泰坦也设有显示输出,通过链接名为“EVEREST”的显示设备来实现。EVEREST,全名“Exploratory Visualisation Environment for Research and Technology”,意即“技术和研究的探索可视化环境”,是一个装有一块10米×3米(30英尺×10英尺)的主屏幕和一块尺寸要小上一些的副屏幕的房间,屏幕的分辨率均为3千7百万像素×3千3百万像素,还附带3D显示能力(需要配合3D眼镜使用)。[56]
泰坦的理论峰值性能为每秒27×1015次浮点运算(27petaFLOPS),或者是每秒2.7千万亿次运算作业。[57]2012年11月12日,泰坦通过LINPACK基准性能测试,最终成绩为每秒17.59×1015次浮点运算,TOP500最后宣布了新的第一名由泰坦超级计算机夺得,取代前任第一IBM红杉。尽管目前的实际峰值性能和理论峰值性能相比有较大落差,但能效比仍然要比众多超级计算机优胜。[3]
泰坦超级计算机也是Green500中排名第三的超级计算机(截至2012年11月),每消耗一瓦特的电功率获得2142.77megaFLOPS(21.4277亿次浮点运算每秒)的运算性能。[58]Green500也是全球500强超级计算机的排名,但不同于TOP500的是Green500是根据性能功耗比来进行排名。[59]不过在2013年6月Top500和Green500在天河二号登录性能成绩更新排名以后,泰坦的排名降至Top500的第二名,在Green500上的排名也降至29名,而泰坦并没有进行第二次成绩测试,直至现在,在Top500上的排名并没有变化。[60][61]
泰坦超级计算机使用克雷公司基于Linux核心开发的Cray Linux Environment(英语:Cray Linux Environment)分布式操作系统。Cary Linux Environment操作系统由以下两部分组成:登录管理节点为全功能Linux核心的操作系统,运算节点则是为提升性能和效率而特别优化精简的基于轻量级Linux核心CNL(Compute Node Linux)的操作系统。[51]文件系统使用Lustre分布式文件系统,代号“Spider”。[62]
不同于以往以中央处理器作主要资料处理单元或以图形处理器辅助处理资料的超级计算机,泰坦超级计算机以图形处理器为主要的资料处理单元。在初期,不少项目的程序源码一般重新编写或编译以方便泰坦的通用图形处理器运行,而且还要求这些源码能兼容于以中央处理器为主的系统,以便项目可以不仅可以由泰坦进行处理,还能供其它仍使用传统中央处理器架构的超级计算机运行。[63]Oak Ridge Leadership Computing Facility(OLCF)还成立了Center for Accelerated Application Readiness(加速申请中心,CAAR)来帮助科学研究者们重写或重新编译他们所写的代码以供泰坦运作之,并且在英伟达总部举办开发者研习会,让研究人员和程序员学习并使用泰坦和其它类似的超级计算机的架构、编译器和应用程序。[64][65]
CAAR目前已和英伟达以及其它代码提供者合作开发新版编译器,将指令集成到供通用图形处理器使用的编程语言当中,[64]以使研究者们可以和以前一样,以Fortran、C或C++来编写他们的代码而无须学习新的编程语言,并且编译器可以将这些代码编译为通用图形处理器可以高效运作的程序。[64]
目前泰坦的程序开发工具中,“图形处理器加速库”包括MAGMA、CULA、cuBLAS/cuSPARSE;“加速编译器指令”包括OpenACC、PGI Accelerator、CAPS HMPP Workbench;“低端图形处理器编程语言”有NVIDIA C for CUDA、PGI CUDA Fortran、OpenCL。这些工具中有部分甚至允许开发者在不了解关于NVIDIA CUDA的知识的情况下使用。[66]在泰坦上适用的编译器有PGI(Portland Group Compiler Suite,默认使用这个)、GCC、CCE(Cray Compiling Environment)以及英特尔提供的编译器。[67]
目前来说,对现有科学研究项目中的代码重写的部分主要是多线程化、增进并发性的部分,即所谓的多核多线程优化,只是更深入、更适合通用图形处理器的架构特性(通用图形处理器拥有比中央处理器多得多的线程和更好的运算并发性)。不过这样的程序源码优化也适用于传统以中央处理器为基础的机器上,这些机器也可以从中获得性能提升。天体物理学家兼程序员Bronson Messer,表示“一个应用程序要将泰坦的性能发挥至极限,必须寻求方法来使通用图形处理器满负载运作,需要明确的是通用图形处理器尽管处理速度很快,但灵活度显然不如中央处理器。”[64]作业管理者也发现,一些计划项目的代码在重写后,在那些不是基于图形处理器的机器上的效率也变得大有提升,“Denovo”项目的程序在基于中央处理器的机器上甚至还比原先获得双倍的性能提升表现。[63]
要求调用图形处理器的进行运算作业的代码变更量因不同项目而变。根据负责NRDF项目的梅瑟博士(Dr. Messer)的意见,他们的代码中调用图形处理器的算法源码只占整个代码中很小的百分比,因为这些程序算法的运算都相对简单,但处理进程重复而且具有平行性。[68]NRDF的程序用CUDA Fortran写成,CUDA Fortran是Fortran语言链接CUDA指令扩展库(NVIDIA CUDA库)给予图形处理器使用的Fortran改进版本。[68]
由于泰坦超级计算机的研发依靠美国能源部和美国国家海洋和大气管理局的资金资助,因此来自美国联邦政府部门的科学研究不少,有能源(包括可再生能源、核能)、气候变化、高效率引擎、新型燃料、新型材料等一系列科学研究项目。[69][70]
在泰坦正式激活的当天,时任美国能源部长朱棣文发表声明,表示“高性能计算领先之国家,在国防、科学、医学、能源等一系列领域均将拥有比其它不具备超级计算机的国家更为巨大的优势,泰坦将和能源部下属的其它超级计算机一起,成为确保美利坚合众国之创新优势的有力工具。”[71]
尽管泰坦可以用于几乎任何类型的科学研究项目,但使用请求往往超出了许可时间,因此制定出项目优先级选择标准,其标准是:根据项目计划的重要度来决定执行时间的选择,这里面若有能力充分发挥混合架构运算能力,并且还能够在其它超级计算机上运作的,则优先考虑(即不可只让泰坦单独处理)。2009年,OLCF收到了50个首先使用它们的超级计算机的项目,经筛选后剩下六个成功进入候选,这六个项目中不仅是重要的科学研究项目,还赋予它们完全使用并发挥混合运算的运算能力。[44][63]这六个首先使用泰坦的项目中,大部分是关于新型纳米材料、气候变化模型的研究。不过,其它未入选的项目,仍然会进入泰坦的任务调度队列,等待泰坦的执行处理。
在泰坦上首先处理的六个项目分别是“S3D”、“WL-LSMS”、“Denovo”、“LAMMPS”、“CAM-SE”和“NRDF”:
负责“NRDF”项目的梅瑟博士的研究需要数以百计的偏微分方程来追踪能量、角度、散射角以及在一颗恒星进入超新星阶段时每种不同类型的中微子模拟,得出数百万个单独的方程。另外,一个名为“Chimera”(奇美拉/凯米拉)的代码,以神话中的生物奇美拉来命名之,乃它有三个“头”:一个是仿真恒星物质(主要是其化学组成)的流体力学;第二个是模拟辐射转移;第三个是模拟核燃烧(即热核反应/核聚变)。第三个“头”首先由图形处理器群运行处理,由于热核反应的过程模拟最容易由图形处理器的架构来处理,尽管其它方面的源码也将及时进行适应性修改及优化目前,项目模拟了14或15种核素,但如果图形处理器提供良好的加速,梅瑟博士预计,与经验观察相比,将有多达200种核素可以在更高的精度上被模拟出来。[74]
“VERA”项目是一个轻水反应堆的仿真,在美洲虎超级计算机上的CASL(Consortium for Advanced Simulation of Light Water Reactors,联合轻水反应堆高级仿真)编写并运作。VERA允许工程师监控反应堆使用寿命里反应堆核心任何部分的性能表现和状态,以辨别找出有研究价值或改进反应堆设计等他们感兴趣的研究点。[75]尽管不是六个先锋计划中的一员,但VERA将会在CAAR的协助下进行充分优化并由泰坦的管理团队进行测试后在泰坦上继续运作。计算机科学家汤姆·埃文斯(Tom Evans)发现,相比于以往在传统中央处理器为主的超级计算机之间进行代码适应性修改以及优化作业,为泰坦的混合架构修改及优化VERA的代码难度十分大。尽管如此,他们的目标是要将仿真整个反应堆燃料循环的时间,从以往需要18~36个月,在泰坦上缩短至只需一个星期。[75]
2013年已经有三分之一的代码已计划编译并在泰坦上运行,典型情况下在一个时间段中会有多达四到五个项目间断使用。[48][76]