面向异构计算的软件加载运行技术规范.docx
1
面向异构计算的软件加载运行技术规范
1范围
本文件规定了面向异构计算的软件加载运行技术要求及对应的测试方法。其中加载过程的技术要求包含时延、存储需求、兼容性、完整性、缓存性能;运行过程的技术要求包含响应时间、运行时间、计算时间、输入输出时间、内存占用、功耗。
本文件适用于异构计算场景下软件的设计和使用者。
2规范性引用文件
下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T25000.40—2018系统与软件工程系统与软件质量要求和评价(SQuaRE)第40部分:评价过程
3术语和定义
下列术语和定义适用于本文件。
3.1
异构计算heterogeneouscomputing
在一个计算系统中,同时使用多种不同体系结构或不同类型的处理器、加速器或协处理器来执行计算任务或实现业务功能的计算范式。
3.2
运行时间runtime
软件从被启动到完成规定任务后被操作系统终止所经历的时间。
3.3
完备运行时间completeruntime
软件代码及数据全部被加载到内存中时执行所需的时间,软件在完备运行时不会引发缺页中断。
3.4
存储盘storagedisk
指代计算机中的所有具有存储功能的设备,包括固态盘、硬盘和光盘等。
3.5
2
性能指标获取性能指标获取
性能指标
获取
性能指标
获取
交互式软件interactivesoftware
是指通过用户界面与用户进行实时互动的软件。
3.6
内核态kernelmode
是指计算机陷入内核,执行内核代码的工作状态。
3.7
用户态usermode
是指进程执行非内核代码的工作状态。
4概述
在异构计算环境下,软件的加载和运行依赖软件加载技术和软件运行技术两个方面。其中,软件加载是软件运行的前提,见图1:
a)软件加载技术:软件加载是计算机操作系统将软件从外部存储器载入内存的过程。软件加载分为本地加载和远程加载两种方式。
1)本地加载是操作系统从本机存储盘中读取软件的代码和数据并载入内存的过程;
2)远程加载是操作系统通过网络从另一设备读取软件的代码和数据并载入内存的过程。
b)软件运行技术:软件运行是软件在计算机上执行其功能的过程,软件运行分为完备运行和按需
加载运行两种方式。
1)完备运行是操作系统将软件的代码和数据全部加载到内存后的运行过程,软件在完备运行时不会触发加载过程;
2)按需加载运行是操作系统一边运行软件一边读取后续所需的代码和数据并载入内存的过程。
软件运行技术
完备运行
完备运行
按需加载运行
远程加载软件加载技术
远程加载
软件加载技术
本地加载
操作系统
计算机硬件
图1软件加载运行技术框架
5技术要求
5.1软件加载技术要求
5.1.1时延
3
时延是软件从加载过程开始起,至加载结束时刻止所需的时间。时延要求包括本地加载时延和远程加载时延:
a)本地加载时延
操作系统从本机存储盘中读取软件的代码和数据并载入内存的时延。交互式软件加载时延应小于200ms。
b)远程加载时延
操作系统通过网络从另一设备读取软件的代码和数据并载入内存的时延。交互式软件加载时延应小于200ms。
5.1.2存储盘
加载过程所要求的本机最小存储盘资源量。软件进行远程加载时可选择是否保存到本地存储盘。不需要保存到本地的软件对存储盘不做要求,需要保存到本地的软件其存储盘要求应小于等于软件提供者在发布软件时规定的存储要求。
5.1.3兼容性
兼容性要求包括设备兼容性和系统兼容性:
a)设备兼容性
软件与硬件设备相互协调工作的程度,即软件是否适配硬件。对于支持异构系统的软件,其源代码应至少兼容2种及以上类型的异构硬件平台(GPU/NPU/FPGA/DPU等)。
b)系统兼容性
软件加载后与操作系统平台相互协调工作的程度。跨平台软件的源代码应至少适配2种以上的操作系统平台。
5.1.4可扩展性
软件加载到本地后的可扩展程度,即是否能够在本地添加新的功能模块。对于可扩展软件应当在加载完成后支持本地功能扩展,对于不可扩展软件不允许在加载后进行功能扩展。
5.1.5完整性
软件加载部分占完整软件大小的比例。未使用软件的全部功能情况下只需要加载软件的部分代码,加载完整性可小于100%。
5.1.6缓存性能
缓存性能包括本地缓存命中率和缓存占用的硬件资源:
a)本地缓存命中率
软件申请加载所需资源时,从缓存中成功获得所需资源的概率。缓存机制启用时必须