计算机学报杂志

发表咨询:400-808-1731

订阅咨询:400-808-1751

计算机学报杂志 北大期刊 CSCD期刊 统计源期刊

Chinese Journal of Computers

  • 11-1826/TP 国内刊号
  • 0254-4164 国际刊号
  • 3.18 影响因子
  • 1-3个月下单 审稿周期
计算机学报是中国计算机学会;中国科学院计算技术研究所主办的一本学术期刊,主要刊载该领域内的原创性研究论文、综述和评论等。杂志于1978年创刊,目前已被数学文摘、上海图书馆馆藏等知名数据库收录,是中国科学院主管的国家重点学术期刊之一。计算机学报在学术界享有很高的声誉和影响力,该期刊发表的文章具有较高的学术水平和实践价值,为读者提供更多的实践案例和行业信息,得到了广大读者的广泛关注和引用。
栏目设置:研究论文与技术报告、短文、学术通信、学术活动、中国计算机学会学术动态

计算机学报 2017年第09期杂志 文档列表

计算机学报杂志高性能计算
基于天河2高速互连网络实现混合层次文件系统H2FS高速通信1961-1979

摘要:高效通信性能是影响并行文件系统性能与效率的重要因素.该文基于TH-2系统的高性能互连网络——天河2高速互连网络(TH—Express2),设计并实现了混合层次文件系统H^2FS中的高速通信模块FSE-FSE采用了TH—Express2的短报文通信MP和远程内存访问RDMA相结合的方式,实现客户端与ION的通信.FSE采用基于动态链表的内存注册池减少通信延迟,提高通信效率.基于可变信用的流量控制,FSE有效降低系统出现拥塞的可能性,提高系统的可扩展性和稳定性.为了充分利用多核处理器的并发处理能力以及多RDMA引擎的传输能力,FSE对报文传输和数据处理功能采用了多维多线程方式,提高数据访问带宽.FSE的自适应端点管理针对通信端点容错能力设计,提高了系统弹性,有助于增强系统稳定性.FSE实现优化了数据传输效率,实现了低延迟、高带宽、高可扩展数据访问.在两个不同实际系统上的测试结果表明,FSE可以充分发掘TH—Express2的特性,点点数据访问带宽可达8.6Gbps,使得H^2FS具有较高的数据访问带宽和元数据性能,并具有良好的可扩展性.同基于TCP的通信模块实现相比,FSE的读写延迟可低至55%和20%,最大单10N写性能是其3.3倍;同Lustre文件系统相比,FSE更好地利用了高速网的特性来获取较高性能,写延迟可低至其28.6%.

随机二元扩展码:一种适用于分布式存储系统的编码1980-1995

摘要:随着分布式存储系统的存储容量快速增长,备份容灾存储效率低的缺陷日益明显,基于纠删码的容灾方法越来越受到重视。然而,应用于存储系统的纠删码研究起步较晚,可供选用的码类少,并且大多数属于通信领域的编码方法,不能很好满足存储领域的特殊需求.该文将提出一种新颖的存储编码方法,称为随机二元扩展码(Random Binary Extensive Code,RBEC),为数据容灾存储系统提供一种新的选择.RBEC是一种基于异或运算的系统码,编码矩阵由一个单位阵和一个随机阵构成,采取自底向上的设计模式,通过控制随机矩阵中各个元素生成,达到码字整体上高性能.相比其他传统码类,RBEC参数具有动态调整能力,其编码矩阵的行列可以自由伸缩.进而,存储系统可根据应用需求的变化,动态调整码率和纠删能力.对于(k,δ,t)参数RBEC码,该文给出了容任意t删除错的成功译码概率下界及其证明,并指出通过增加艿值可使译码概率下界无限趋近1(100%).为了提高译码效率,该文进一步给出了一种简化译码矩阵规模的方法.最后介绍了RBEC在分布式存储系统的应用.

计算机系统体系结构的层次设计1996-2017

摘要:计算机系统由许多连通的层和子系统组成,这些层和子系统的交互模式复杂,整体体系结构设计尤为重要.在计算机系统体系结构演变的过程中形成了一些基本设计原理,其中层次设计是设计大规模系统体系结构的有效途径.从Dijkstra的工作开始,计算机系统体系结构的层次设计原理已经被提出很长时间,是计算机系统体系结构设计的重要组成部分.它广泛存在于计算机体系结构设计、网络体系结构设计、云计算、网络虚拟化、软件工程以及计算机科学的很多其他分支.计算机科学技术的演变和革新异常频繁,适用范围广的层次设计模型框架和层次设计方法尤为重要.虽然有不少工作对体系结构层次设计进行研究,但很少有工作对层次设计原则和方法的内涵进行探索,同时缺少统一的层次设计模型框架和评价指标.现有工作的不足主要表现为:(1)对计算机系统层次设计的描述通常是非形式化阐述;(2)现有的层次设计分析以具体系统和应用分析为主,缺少对层次设计机制内涵的理解分析;(3)现有层次设计模型主要局限于所研究的对象系统,缺少统一的层次设计模型框架和评价指标.针对计算机系统层次结构设计的上述不足,该文首先给出了层次设计相关的基本概念及其形式化定义,然后对层次设计研究现状从层次模型设计、层次构件设计、层次跨层设计和层次覆盖设计四个方面进行归类综述.层次模型设计主要包含层次描述模型和层次量化模型,对层次结构针对对象系统特征进行数学描述和推导;层次构件设计将层次结构的某一子结构以单一或较少模块抽象来实现;层次跨层设计是指打破既定层次结构,根据特定需求生成新的层间交互关系;层次覆盖主要是指以虚拟节点和逻辑连接构成的灵活的虚拟平面设计.在此基

面向ARMv864位多核处理器的QGEMM设计与实现2018-2029

摘要:该文在ARMv864位多核处理器上基于OpenBLAS首次设计、实现并优化了四精度矩阵乘法(Quadruple precision General Matrix-Matrix Multiplication,QGEMM).由于浮点计算中不可避免地引入舍入误差,双精度矩阵乘法(DGEMM)在某些情况下不能给出令人满意的数值结果,因此需要高精度或多精度算法来实现更精确的计算.Double—double算术是一种较为有效和广泛使用的手段.文中采用double—double数据格式构建结构体存储四精度浮点数据;基于OpenBLAS中的稠密矩阵计算的分块算法,增加四精度数据格式的相关的头文件和源文件,并用汇编代码撰写文中所提出的QGEMM的核心内核;利用无误差变换技术,调整并优化内核中的算法流程,避免规格化操作步骤造成的数据强制依赖关系;通过分析算法的数据依赖关系,设计寄存器的分配和轮转策略,优化指令调度顺序。开发指令级并行性,提高QGEMM的实际性能.根据具体算法使用混合乘加指令(FMA)的程度不同,文中采用了算法理论峰值性能这一概念,其有别于机器理论峰值的概念,能更好地评估文中所提出的QGEMM的实际效率.数值实验表明:文中通过汇编代码实现并优化的QGEMM性能最高达到19.7Gflops,效率为在ARMy864位多核处理器平台上QGEMM算法理论峰值性能的82.1%,在满足数值结果精度要求的同时,其计算速度约是由c语言撰写的未优化的QGEMM和MBLAS中QGEMM的5.8倍,是编译器GCC实现的longdouble数据格式的QGEMM的24倍.同时数值实验还显示文中提出的QGEMM针对不同规模的矩阵具有较好的线程可扩展性.

一种邻近层资源共享的三维堆叠存储器内建自修复策略2030-2039

摘要:在摩尔定律面临终结的趋势下,三维集成电路技术被认为是继续提升集成电路性能和集成度的重要技术途径之一.由于采用堆叠的结构,三维集成电路适用于高密度以及异质集成应用领域.存储器是高密度集成电路的典型代表,是三维集成电路的重要应用方向之一.三维存储器技术可同时提高存储密度与访存通路带宽,是解决“存储墙”问题的一种可行技术途径.然而,由于存储器件尺寸的微缩,存储阵列中的故障存储单元数量呈增加趋势.对存储器产品,基于冗余存储资源的内建自修复技术是提高其可靠性的重要方法.三维存储器的层与层之间可通过硅通孔等技术实现互连,使得垂直方向上的冗余资源共享成为可能,从而改善三维存储器的可靠性.该文提出一种邻近层共享冗余的三维存储器修复策略,用以提高现有三维存储器内建自修复技术的故障修复能力.该策略不会引发死锁现象,具有良好的冗余资源利用率和较小的硅通孔面积代价.仿真结果表明,与已有的结对冗余策略相比,该文所提出的冗余共享策略具有更高的故障修复率,且故障修复率不随存储器层数的增加而显著下降,更适用于大规模三维存储器.

光滑粒子流体动力学方法的高效异构加速2040-2056

摘要:目前,光滑粒子流体动力学方法的GPu加速几乎都是基于简化的Euler控制方程,完整的Navier-stokes方程的GPU实现非常少,且对其困难、优化策略、加速效果的描述较为模糊.另一方面,CPU—GPU协同方式深刻影响着异构平台的整体效率,GPU加速模型还有待进一步探讨.文中的目的是将自主开发的、基于Navier—Stokes方程的SPH应用程序petaPar在异构平台上进行高效加速.文中首先从数学公式的角度分析了Euler方程和Navier—Stokes方程的计算特征,并总结了Navier—Stokes方程在GPU加速中面临的困难.由于Euler方程只含有简单的标量和向量计算,是典型的适合GPU的计算密集轻量级kernel;而完整形式的Navie〉Stokes方程涉及复杂的材料本构和大量张量计算,需要面对GPU上大kernel带来的系列问题,如访存压力、cache不足、低占用率、寄存器溢出等.文中通过减少粒子属性、提取操作到粒子更新、利用粒子的重用度、最大化GPU占用率等策略对Navier-Stokes方程的粒子交互kernel进行优化,具体实现见5.1节.同时,文中调研了三种GPU加速模型:热点加速、全GPU加速以及对等协同,分析了其开发投入、应用范围、理论加速比等,并深入探讨了对等协同模型的通信优化策略.由于通信粒子的不连续分布,GPU端通信粒子的抽取、插入、删除等操作本质上是对不连续内存的并行操作,会严重影响CPU—GPU的同步效果,而相关文献对此问题没有阐述.我们通过改进粒子索引规则解决此问题:粒子排序时不仅考虑网格编号,还要考虑网格类型,具体实现见5.2.3节.基于Euler方程和Navier—Stokes方程实现并分析了三种GPU加速模型.测试结果显示,三种模型下,Euler方程分别获得了8倍、33倍、36倍的加速,Navier-Stokes方程分别获得了6倍、15倍、20倍的加速.全GPU加速均突破了热点加速的�

面向神威·太湖之光的PETSc可扩展异构并行算法及其性能优化2057-2069

摘要:共性数学库PETSc(Portable,Extensible Toolkit for Scientific Computation)是高性能计算的基础模块,是超级计算机计算环境的基础算法库之一,其性能直接影响调用数学库的高性能数值计算应用的效率.面向国际上首台100P神威·太湖之光异构超级计算机,根据实际研究需要选取PETSc中两个典型用例ex5(单节点线性求解方程组问题)和exl9(多节点求解2D驱动腔问题)进行实验探究.对运行结果分析找到的热点函数主要为PETSc函数库中7个核心函数,针对这7个核心函数(主要包括向量运算与矩阵运算),提出和实现了其异构并行算法,并结合机器的异构体系结构提出了相应的性能优化方法.在超级计算机上的实验结果为:核心函数并行算法在4主核、256从核的单节点上加速比最大可达到16.4;多节点情况下,当输入规模为16384时,8192个节点相对于256节点的加速比为32,且加速比随着异构处理器数目的增加接近线性增加,表明PETSc核心函数并行算法在神威·太湖之光超级计算机上具有良好的可扩展性.

基于现代硬件的并行内存排序方法综述2070-2092

摘要:研究了现代硬件上的并行内存排序方法,对其研究现状与进展进行了综述.首先简要阐述了经典排序算法以及排序网络的优缺点,分析其并行优化的适用性,然后从现代CPU处理器设备(多核、配备大内存)、图形处理器(GPU)、现场可编程逻辑门阵列(FPGA)等新型处理器设备介绍现有排序方法的研究成果.处理器设备的架构不同,对排序算法的优化策略也不同,现代CPU主要利用线程的本地存储层次优化数据在存储单元中的排列,以减少访存次数及减少访存缺失,同时利用单指令多数据流技术(SIMD),以提高算法的数据级并行度;GPU则需要将多个线程组织成线程块,依靠共享内存提高线程块的访存速度,而在线程块内则使用单指令多线程(SIMT)技术提高线程的执行效率;FPGA则更靠近于硬件底层,受到自身的资源限制,FPGA的优化策略主要依靠硬件描述语言或高级综合语言优化电路的设计,提高资源利用率的同时增加FPGA的吞吐量.现有的成果表明,GPU的并行内存排序性能优于CPU端上的并行内存排序性能.作者最后对未来的研究方向进行了展望.

一种跨HDFS集群的文件资源调度机制2093-2110

摘要:集群文件系统作为一种典型的分布式文件系统类型,通过集群内多个节点的协同,消除了单点故障以及性能瓶颈问题,实现了高可用、高性能以及动态负载均衡,并且具有较高的可扩展性,因此常作为实现和提供云存储服务的关键技术之一.该文针对HDFS集群主要局限于同一数据中心内部部署且可扩展性受限的问题,提出一种跨数据中心集群部署的文件资源调度机制和金蝶分布式文件服务KDFS,通过分布式架构再设计,支持多个HDFS集群动态组网协同工作;通过引入文件资源池,屏蔽了不同集群之间的文件差异性,能够面向多应用提供透明服务;通过引入弹性存储与最优存储策略,确保集群资源安全冗余与就近服务的同时提升了集群的存储效率.实验和实践证明,跨HDFS集群的文件资源调度机制不但解决了HDFS集群可扩展性受限的问题,同时通过跨数据中心部署,实现了集群文件异地冗余灾备、跨数据中心负载均衡以及文件就近存取服务,有效地提高了应用使用KDFS存储服务的体验.

NUMA架构内多个节点间访存延时平衡的内存分配策略2111-2126

摘要:随着多核架构的发展和普及,NUMA多核架构凭借其本地访存低延时的优势,被各大商业数据中心以及科学计算集群广泛采用.NUMA架构通过增加多个内存控制器,缓解了多核架构下对同一个内存控制器的争用问题,但同时也增加了内存管理的负担.Linux的系统开发者为了实现充分利用NUMA本地访存低延时的特点,在为进程分配内存时,选择进程当前正在运行的NUMA节点作为分配内存的目标节点.这种分配会导致进/线程之间共享内存的不公平.例如,一个在当前本地节点被分配很多内存的进程,可能被调度到远端节点运行,这样会导致进程的性能波动.针对这一问题,该文设计了一种保证NUMA架构内各内存节点间访存延时平衡的内存分配策略,并在Linux系统中实现和验证.延时的获取方法依赖平台,但是系统内核的策略是通用的.实验结果表明,与Linux默认的内存分配策略相比,进/线程间的不公平性平均降低了16%(最多34%),并且各进/线程的性能没有较大抖动.

一种面向循环优化和非规则代码段的粗粒度半自动并行化方法2127-2147

摘要:多核架构已成为当今的主流,而大量传统的串行程序和遗留软件无法充分利用多核处理器的并行计算性能.人工改写这些遗留软件工作量繁重、成本高昂,自动实现程序并行化的技术成为学术和工业界研究的热点.该文提出了一种新颖的面向一般程序的for循环优化和非规则代码段的粗粒度半自动并行化方法.该方法通过程序动态分析,根据程序的控制流和数据依赖信息将源程序代码映射成可计算单元(Cu)图,从中提取出可并行执行的非规则代码段.同时针对程序中for循环部分,提出了一种基于局部性分析的分块收益模型,有效地选择具有收益的循环代码实施循环分块优化;提出了一种基于cache均匀映射的最优分块因子大小选择算法UMC-TSS,以生成优化的分块代码,充分利用cache性能并实现分块的粗粒度并行.该文实现了一个基于LLVM编译架构的C/C++源码到IntelTBB并行源码转换的半自动化工具,它在AST上进行深度代码重构,只需少量的人工干预即可生成高效的并行代码.为了验证该文方法的有效性,从4组不同的基准测试集上选取18个具有代表性的测试程序在一台IntelXeon多核服务器上进行了一系列实验,在循环级和任务级并行性能上分别获得平均10.95和4.45的加速比.和目前最先进的一种最优分块大小算法相比,UMC-TSS算法平均提升了4%的分块代码性能.实验结果还表明由源到源代码转换工具生成的IntelTBB并行代码具有良好的并行性和可扩展性.

脑科学视角下的高性能计算2148-2166

摘要:高性能计算已经成为脑研究的必要手段,为脑研究开启了全新的研究视角和研究模式;反过来脑研究为高性能计算提供新思路、提出了新要求,催生着新型计算模式的出现.具体来说:(1)近年来脑观测技术性能不断提升,多模态观测普遍采用,全球范围内交叉联合研究也越来越成为常态,使得“大数据”和“云计算”成为脑研究的一种崭新研究视角和研究方法;(2)信息科学家提出了深度神经元网络、脉冲神经元网络等大规模学习算法,这些算法从神经科学中汲取了营养,显著提升了自身性能,实现了人脑智能的某些特征,具有大脑计算模式高效率、低功耗的特征,在多领域内取得了显著的成效.这些算法的研究和实现对高性能计算提出了越来越高的要求,给目前基于传统微处理器和计算架构的计算平台带来了几乎无法克服的困难;(3)信息科学家和神经科学家联合,开始在类脑微处理器和类脑计算架构等层面上开展新型类脑计算探索性研究,取得的研究进展显示了该领域未来充满希望.基于以上三点原因,高性能计算和脑科学研究正越来越紧密地交织在一起,彼此融入了对方的发展.文中以脑研究为切入点,分别从高性能计算对脑研究的技术支撑以及脑研究对高性能计算的启发和推动两个方面对脑科学视角下的高性能计算的现状和发展趋势进行了讨论.

数据中心网络下基于SDN的TCP拥塞控制机制研究与实现2167-2180

摘要:当前的数据中心中大量存在多个发送端向一个接收端同时发送数据的通信模式,但是,这种多对~的通信模式会造成TCPincast问题.当数据中心网络发生TCPincast时,网络整体吞吐量将急剧下降甚至崩溃.软件定义网络(SDN)下的集中控制方法和网络全局视角是解决这一问题的有效途径.文中提出一种基于SDN的TCP拥塞控制机制,称为TCCS.当OpenFlow交换机检测到网络拥塞,将产生拥塞消息并发送至控制器,控制器将通过调整背景数据流ACK报文的接收窗口来限制相应数据流的发送速率.利用SDN的全局视角,TCCS可以精确地降低背景数据流的速率来保证突发数据流的性能.TCCS机制聚焦于网络侧解决TCPincast问题,因此对端系统是透明的.最后的实验表明,TCCS机制能够容纳更多的突发数据流,而且能够保证突发数据流的吞吐量.

一种面向科学计算的数据流优化方法2181-2196

摘要:传统数据流结构通过多上下文来隐藏指令等待源操作数的延迟,然而这种隐藏方式只能部分提高数据流处理器执行单元的利用率.在面向例如Stencil、FFT和矩阵乘法等典型科学应用时,传统数据流结构的执行单元利用率仍然较低.科学计算中的核心程序一般是对不同数据进行相同的操作,而且这些操作可以并行执行,数据之间没有直接依赖关系.传统数据流结构是面向通用计算的,通常采用循环来实现对不同数据的相同操作.在这些循环中,迭代是按照顺序依次执行的,这导致了传统数据流结构没有利用科学计算的并行性来提高性能.所以传统数据流结构在处理这些规则的科学应用时没有协调好数据流计算模式和科学计算特征,而数据流计算是非常适合科学计算这种类型的规则计算.基于科学计算的这些特征,该文提出了一种面向科学计算的数据流结构优化方法:循环流水优化方法.循环流水优化方法利用科学计算的分块和并行处理特征,对传统数据流结构中的上下文控制逻辑进行了改进,将科学计算中的循环采用硬件自迭代的方式实现,并将上下文切换逻辑进行了流水化,使数据流结构中的上下文以流水线方式进入执行单元阵列,从而提高计算单元的利用率.面对这种循环流水优化后的数据流结构,传统数据流结构上的指令映射算法不再适用.通过分析循环流水优化后的结构特征,该文进一步提出了一种改进的指令映射算法:LBC(LoadBalanceCentric)指令映射算法.LBC算法按照深度优先顺序依次映射数据流图中的所有指令,对每条指令分别计算执行单元阵列中所有位置的代价,取最小代价的位置作为最佳映射位置.LBC算法以执行单元负载均衡为核心,同时将定点指令和浮点指令分开处理,保证执行单元上的定点部件和浮点部件�