
1.5 扩展阅读
面向特定领域的算法库不仅在算法设计方面进行了优化,还根据硬件平台的特点进行了针对性优化,因此熟悉相关领域算法库的使用方法和其基本算法原理对于提升软件性能具有重要作用。表1-8列举了一些常用的算法库。
在不同的应用领域中,往往采用不同的基准测试程序评价软件系统或计算机系统性能。在高性能计算领域,一般使用峰值计算性能和实际计算性能作为指标,计算性能的单位一般为每秒能完成的64位双精度浮点计算:其中峰值计算性能是所有节点的峰值计算性能之和,实际计算性能是运行Linpack基准测试程序(使用高斯消去法求解稠密线性方程组)时每秒实际完成的64位双精度浮点计算。例如,我国性能最高的超级计算机“神威·太湖之光”的峰值计算性能为125 TFLOPS,实际计算性能为94 TFLOPS,即每秒最多完成125×1012次64位双精度浮点计算,在运行Linpack基准测试程序时每秒完成94×1012次64位双精度浮点计算。
表1-8 常用算法库

在数据库领域,往往使用TPC系列的基准测试程序,其中包括TPC-A,用于评价在联机事务处理(OLTP)环境下的数据库和硬件的性能;TPC-B,用于测试不包括网络的纯事务处理量;TPC-C,用于测试联机订货系统;TPC-D、TPC-H和TPC-R,用于测试决策支持系统;TPC-W,用于测试基于Web商业(Commerce)模拟通过Internet进行市场服务和销售的商业行为。TPC的测试结果一般以系统吞吐率作为指标,例如TPC-C测试指标为每分钟完成的事务数。
在深度学习领域,MLPerf测试以ResNet50、SSD、BERT等常见深度学习网络为基准,测试特定深度学习硬件、软件和服务完成标准测试数据集的时间。
除了本书介绍的排队论外,往往还使用Petri网、Markov过程等方法[5-6]为计算机系统建立数学模型,并估计系统的关键性参数。