首页期刊导航|计算机科学
期刊信息/Journal information
计算机科学
计算机科学

朱完元

月刊

1002-137X

jsjkx12@163.com

023-63500828

401121

重庆市渝北区洪湖西路18号

计算机科学/Journal Computer ScienceCSCD北大核心CSTPCD
查看更多>>本刊的读者对象是:大专院校师生,从事计算机科学与技术领域的科研、生产人员。办刊宗旨是:坚持“双百”方针,活跃计算机科学与技术领域的学术气氛,重点报导国内外计算机科学与技术的发展动态,为我国的计算机科学与技术立于世界之林、达到国际先进水平奋斗而矢志不渝。
正式出版
收录年代

    基于流线的流场可视化绘制方法综述

    张倩肖丽
    1-7页
    查看更多>>摘要:流场可视化是科学计算可视化中一个重要的分支,主要对计算流体动力学的模拟计算结果进行可视化,给研究人员提供视觉上直观可见的图形图像,方便研究人员进行分析.流场可视化的已知技术包括基于几何的方法(如流线和粒子追踪法)以及基于纹理的方法(如LIC、噪声点、IBFV等).流线可视化是流场可视化的一个重要且常用的几何可视化手段.在流线可视化的研究中,流线的放置是整个流线可视化的重点,流线的数目和位置影响了整个可视化效果.当流线放置过多时,会造成视觉的杂乱;而流线放置过少会使流场信息表达不完整,无法传递完整的信息给领域专家.为了实现对科学数据的精确显示,流线可视化产生了两个重要的研究方向:种子点的放置和流线的约减.文中介绍了种子点放置方法和流线的约减方法的相关研究,总结了在2D和3D流场上出现的一些问题和采取的解决方案,并针对日益增长的科学数据,提出流线可视化下一步需要解决的问题.

    流线放置种子点生成策略流线约减流场可视化科学计算可视化

    一种面向异常传播的微服务故障诊断方法

    王焘张树东李安邵亚茹...
    8-16页
    查看更多>>摘要:微服务软件架构将大型复杂应用软件拆分成多个可独立部署的相互之间通过轻量级通信机制协作的微服务,从而实现了应用软件的敏捷开发和持续交付.然而,应用软件的微服务数量众多,调用关系复杂,当某个微服务出现故障时会引发与之交互的微服务也出现异常,从而大幅增加了软件应用出现故障的可能性.面对众多异常微服务,考虑到异常的传播性,如何高效、准确地定位引发异常的故障微服务,成为亟待解决的问题.针对该问题,文中提出一种面向异常传播的微服务故障诊断方法.首先,监测微服务度量信息与微服务之间的调用行为;然后,基于回归分析构建度量与API调用之间的回归模型以检测异常微服务;同时,构建微服务依赖图以刻画微服务间的异常传播;最后,基于服务依赖图以及异常服务集合得到故障传播子图,并基于PageRank算法找出最有可能引发异常的根因,即故障微服务.实验结果表明,该方法能够有效检测异常服务,准确诊断故障微服务,同时具有较低的开销.

    故障诊断微服务服务调用度量关联异常传播

    一种基于微服务架构的服务划分方法

    江郑王俊丽曹芮浩闫春钢...
    17-23页
    查看更多>>摘要:对单体系统进行微服务划分能有效缓解单体架构中系统冗余、难以维护等问题,但是现有的微服务划分方法未能充分利用微服务架构的属性信息,导致服务划分结果的合理性不高.文中给出了一种基于微服务架构的服务划分方法.该方法通过系统服务与属性的关联信息来构建实体-属性关系图,然后结合微服务架构的特征信息与目标系统的需求信息制定服务划分规则,量化两类顶点之间的关联信息,生成实体-属性加权图,最后应用加权的GN算法自动地实现系统的微服务划分.实验结果表明,该方法在服务划分的时效性上有较大提升,并且生成的微服务划分方案在评估指标上的表现更好.

    微服务架构服务划分问题建模划分规则GN算法

    基于GPU加速的并行WMD算法

    胡蓉阳王东王昊天罗辉章...
    24-28页
    查看更多>>摘要:Word Mover's Distance(WMD)是一种度量文本相似度的方法,它将两个文本之间的差异定义为文本的词嵌入向量之间的最小距离.WMD利用词汇表,将文本表示为归一化的词袋向量.文本的单词在语料中所占的比例很小,因此用词袋模型生成的文本向量很稀疏.多个文本可以组成一个高维的稀疏矩阵,这样的稀疏矩阵会生成大量不必要的运算.通过一次性对多个目标文本计算单个源文本的WMD,可以使计算过程高度并行化.针对文本向量的稀疏性,文中提出了一种基于GPU的并行Sinkhorn-WMD算法,采取压缩格式存储目标文本的方式来提高内存利用率,根据稀疏结构减少中间过程的计算.利用预训练词嵌入向量计算单词距离矩阵,对WMD算法进行改进,在两个公开的新闻数据集上进行优化算法的验证.实验结果表明,在NVIDIA TITAN RTX上并行算法与CPU串行相比最高可以达到67.43倍的加速.

    文本相似度WMD并行计算GPU稀疏矩阵乘法

    基于SIMD的三角函数高性能实现与优化

    姚建宇张祎维张广婷贾海鹏...
    29-35页
    查看更多>>摘要:作为基本的数学运算,三角函数的高性能实现对构建处理器的基础软件生态具有重要意义,特别是当前处理器都采用了SIMD架构,基于SIMD实现高性能三角函数具有重要的研究意义和应用价值.对此,文中采用数值分析的方法,对5个常用的三角函数sin,cos,tan,atan,atan2进行了高性能的实现与优化.首先通过分析浮点数IEEE754标准,设计了高效的三角函数算法;然后通过多项式逼近算法中的泰勒公式、帕德近似及雷米兹算法提升了算法精度;最后利用指令流水线与SIMD优化进一步提升了算法性能.实验结果表明,在满足精度的前提下,所实现的三角函数,相较于libm算法库和ARM_M算法库,在ARM V8计算平台上都获得了较大的性能提升,其中相比libm算法库有1.77~6.26倍的时间性能提升,相比ARM_M算法库有1.34~1.5倍的时间性能提升.

    三角函数SIMD高性能数值分析ARMV8架构

    基于"嵩山"超级计算机系统的量子傅里叶变换模拟

    谢景明胡伟方韩林赵荣彩...
    36-42页
    查看更多>>摘要:"嵩山"超级计算机系统是中国自主研发的新一代异构超级计算机集群,其搭载的CPU和DCU加速器均为我国自主研发.为扩充该平台的科学计算生态,验证量子计算研究在该平台上开展的可行性,文中使用异构编程模型实现了量子傅里叶变换模拟在"嵩山"超级计算机系统上的异构版本,将程序的计算热点部分分配至DCU上运行;然后使用MPI在单计算节点上开启多进程,实现DCU加速器数据传输和计算的并发;最后,通过计算与通信的隐藏避免了DCU在数据传输时处于较长时间的空闲状态.实验首次在超算系统上实现了44 Qubits规模的量子傅里叶变换模拟,结果显示,异构版本的量子傅里叶变换模拟充分利用了DCU加速器计算资源,相较于传统CPU版本,其取得了11.594的加速比,且在集群上具有良好的可拓展性,该方法为其他量子算法在"嵩山"超级计算机系统上的模拟实现以及优化提供了参考.

    异构计算量子傅里叶变换DCU加速器HIP-CMPI通信隐藏

    基于DGX-2的湍流燃烧问题优化研究

    文敏华汪申鹏韦建文李林颖...
    43-48页
    查看更多>>摘要:湍流燃烧问题的数值模拟是航空发动机设计的关键工具.由于需要使用高精度计算模型求解NS方程,湍流燃烧的数值模拟需要庞大的计算量,而物理化学模型的引入则导致流场极为复杂,使得计算域内的负载平衡问题成为大规模并行计算的瓶颈.为此文中将湍流燃烧的数值模拟方法在单台具有强大计算能力的服务器——DGX-2上进行移植和优化,设计了通量计算的线程分配方式,并以Roofline模型为工具分析指导了实际的优化方向.此外,还设计了高效的数据通信方式,并结合DGX-2的高速互联实现了湍流燃烧数值模拟方法的多GPU并行版本.实验结果表明,相较于双路Intel Xeon 6248 CPU 40核心的并行版本,迭代过程的计算部分在单块V100上获得了8.1倍的性能提升,在DGX-2共16块V100上达到了66.1倍的加速,优于CPU并行版本所能达到的最高性能.

    湍流燃烧NS方程DGX-2CUDA

    基于数据重用分析的多面体循环合并策略

    胡伟方陈云李颖颖商建东...
    49-58页
    查看更多>>摘要:现有多面体编译工具往往使用一些简单的启发式策略来寻找最优的语句合并,对于不同的待优化程序,需要手工调整循环合并策略以获得最佳性能.针对这一问题,面向多核CPU目标平台,文中提出了一种基于数据重用分析的循环合并策略.该策略避免了不必要的且会影响数据局部性利用的合并限制:针对调度的不同阶段,提出了面向不同并行层次的并行性合并限制;对于数组访问关系较为复杂的语句,提出了面向CPU高速缓存优化的分块性合并限制.相较于以往的合并策略,该策略在计算合并收益时考虑到了空间局部性的变化.文中基于LLVM编译框架中的多面体编译模块Polly实现了这一策略,并选用Polybench等测试套件中的部分测试用例进行测试.实验结果表明,相较于现有的多种合并策略,在单核执行情况下,测试用例平均获得了14.9%~62.5%的性能提升;在多核执行情况下,多个测试用例平均获得了19.7%~94.9%的性能提升,在单个测试用例中最高获得了1.49x~3.07x的加速效果.

    编译优化多面体模型LLVM编译框架循环合并数据局部性

    基于演化和语义特征的上帝类检测方法

    王继文吴毅坚彭鑫
    59-66页
    查看更多>>摘要:随着软件开发迭代速度的加快,开发人员在编码过程中往往由于交付压力等种种原因违反软件设计的基本原则,造成代码坏味,进而影响软件质量.上帝类是最常见的代码坏味之一,指承担了太多职责的类.上帝类违反"高内聚、低耦合"的设计原则,损害软件系统的质量,会影响代码的可理解性和可维护性.因此,文中提出一种新的上帝类检测方法.首先抽取实际项目中方法在演化、语义等维度上的特征;然后对演化、语义特征进行融合,并基于融合后的结果重新聚类,将彼此关系紧密的方法重新划归到新的类簇中;通过分析实际项目中各个类的成员方法在新的聚类结果中的分布情况,计算类的内聚度,从而找出内聚度低的类作为上帝类检测结果.实验表明,所提方法优于目前主流的上帝类检测方法.与基于度量的传统检测方法相比,该方法在查全率、查准率上均提升超过20个百分点;与基于机器学习的检测方法相比,该方法尽管查全率略低,但查准率、F1值均有显著提升.

    上帝类代码坏味软件演化内聚度

    基于元模型的协同建模模型组装与更新方法

    张子良庄毅叶彤
    67-74页
    查看更多>>摘要:随着软件规模日益增大,软件复杂度不断提高,飞机、轮船等大型系统的设计与开发往往是由多个不同专业领域、具有不同职能的团队相互协同完成的.针对协同建模中局部模型之间缺失信息所导致的模型不完整问题和更新操作之间发生冲突所导致的模型不一致问题,文中首先提出了一种基于元模型的协同建模模型组装与更新方法(Model Combination and Update,MCAU),该方法在元模型上定义了协同关系与更新操作,可在协同建模过程中保证模型的完整性与一致性,并通过一个实例对所提方法进行了应用与分析.其次,文中还提出了一种基于模型驱动的软件协同建模框架(Software Collaborative Modeling Framework,SCMF),该框架可有效支持多种建模语言的扩展.最后,基于Eclipse框架开发了软件协同建模原型系统CorMo-del,并通过相关实验进一步验证了MCAU方法的有效性.

    协同建模元模型冲突检测模型完整性模型一致性