Benchmark(基准测试程序)
目录
1.简介:.... 1
2.应用:.... 1
3.组成:.... 1
3.1 数据集.... 1
3.2 工作负载.... 1
3.3 度量指标.... 1
4.运用.... 2
1、Hibench:.... 2
2、Berkeley BigDataBench:.... 2
3、Hadoop GridMix:.... 2
4、Bigbench:.... 2
5、BigDataBenchmark:.... 2
6、TPC-DS:.... 2
7、其他的Benchmark:.... 2
1.简介:
用于测量机器的硬件最高实际运行性能,以及软件优化的性能提升效果,可分为微基准测试程序(Microbenchmark)和宏基准测试程序(Macrobenchmark)。
微基准测试程序用来测量一个计算机系统的某一特定方面,如CPU定点/浮点性能、存储器速度、I/O速度、网络速度或系统软件性能(如同步性能);
宏基准测试程序用来测量一个计算机系统的总体性能或优化方法的通用性,可选取不同应用,如Web服务程序、数据处理程序以及科学与工程计算程序。
为了达到上述目标,基准测试程序需要满足如下条件:首先。基准测试程序包含最常见的计算、通信和访存模式,能够为实际的应用程序预测不同高性能计算系统性能排名;其次,能指导高性能计算系统和应用的改进,亦即在基准测试程序上有效的优化方法能移植到实际应用中。
2.应用:
Benchmark在计算机领域应用最成功的就是性能测试,主要测试负载的执行时间、传输速度、吞吐量、资源占用率等。
3.组成:
Benchmark的核心由3部分组成:数据集、 工作负载、度量指标。
3.1 数据集
数据类型分为结构化数据、半结构化数据和非结构化数据。由于大数据环境下的数据类型复杂,负载多样,所以大数据Benchmark需要生成3种类型的数据和对应负载。
1)结构化数据:传统的关系数据模型,可用二维表结构表示。典型场景有电商交易、财务系统、医疗HIS数据库、政务信息化系统等等;
2)半结构化数据:类似XML、HTML之类,自描述,数据结构和内容混杂在一起。典型应用场景有邮件系统、Web搜索引擎存储、教学资源库、档案系统等等,可以考虑使用Hbase等典型的KeyValue存储;
3)非结构化数据:各种文档、图片、视频和音频等。典型的应用有视频网站、图片相册、交通视频监控等等。
3.2 工作负载
互联网领域数据庞大,用户量大,成为大数据问题产生的天然土壤。对工作负载理解和设计可以从以下几个维度来看
1)密集计算类型:CPU密集型计算、IO密集型计算、网络密集型计算;
2)计算范式:SQL、批处理、流计算、图计算、机器学习;
3)计算延迟:在线计算、离线计算、实时计算;
4)应用领域:搜索引擎、社交网络、电子商务、地理位置、媒体、游戏。
3.3 度量指标
性能高估的两大利器就是Benchmark和Profile工具。Benchmark用压力测试挖掘整个系统的性能状况,而Profile工具最大限度地呈现系统的运行时状态和性能指标,方便用户诊断性能问题和进行调优。
1)工具的使用
a)在架构层面:perf、nmon等工具和命令;
b)在JVM层面:btrace、Jconsole、JVisualVM、JMap、JStack等工具和命令;
c)在Spark层面:web ui、console log,也可以修改Spark源码打印日志进行性能监控。
2)度量指标
a)从架构角度度量:浮点型操作密度、整数型操作密度、指令中断、cache命中率、TLB命中;
b)从Spark系统执行时间和吞吐的角度度量:Job作业执行时间、Job吞吐量、Stage执行时间、Stage吞吐量、Task执行时间、Task吞吐量;
c)从Spark系统资源利用率的角度度量:CPU在指定时间段的利用率、内存在指定时间段的利用率、磁盘在指定时间段的利用率、网络带宽在指定时间段的利用率;
d)从扩展性的角度度量:数据量扩展、集群节点数据扩展(scale out)、单机性能扩展(scale up)。
4.运用
1、Hibench:
由Intel开发的针对Hadoop的基准测试工具,开源的,用户可以到Github库中下载
2、Berkeley BigDataBench:
随着Spark的推出,由AMPLab开发的一套大数据基准测试工具,官网介绍
3、Hadoop GridMix:
Hadoop自带的Benchmark,作为Hadoop自带的测试工具使用方便、负载经典,应用广泛
4、Bigbench:
由Teradata、多伦多大学、InfoSizing、Oracle开发,其设计思想和利用扩展具有研究价值,可以参阅论文Bigbench:Towards an industry standard benchmark for big data analytics。
5、BigDataBenchmark:
由中科院研发,官方介绍
6、TPC-DS:
广泛应用于SQL on Hadoop的产品评测
7、其他的Benchmark:
Malstone、Cloud Harmony、YCSB、SWIM、LinkBench、DFSIO、Hive performance Benchmark(Pavlo)等等
Benchmark(基准测试程序)相关推荐
- 现代基准测试程序种类以及使用方法
文章目录 基准测试程序种类 常见测试程序概述 常见测试程序使用 Dhrystone的使用 UnixBench的使用 CPU-Z的安装与使用 参考文献 现代计算机的性能测量极大地依赖于在其上运行的工作负 ...
- 高性能计算机的基准测试程序包括,863专家:从应用出发测试HPC只需三步走
HPC选型测试只有从应用出发,以应用为先,方可有效避免HPC系统出现配置失衡或利用率不高等问题. 近年来,随着经济的高速发展,高性能计算(HPC)已经从最初的科研计算迈向更为广阔的商业计算和信息化服务 ...
- boost::endian模块实现benchmark的测试程序
boost::endian模块实现benchmark的测试程序 实现功能 C++实现代码 实现功能 boost::endian模块实现benchmark的测试程序 C++实现代码 #ifndef _S ...
- 高性能计算基准测试程序(二)--MPI测试基准
#OSU介绍 官网及下载链接:http://mvapich.cse.ohio-state.edu/benchmarks/ ##测试集 参考官方介绍,一般测试过程中使用IMB测试MPI传输的各项性能并结 ...
- 初学Benchmark(基准测试程序)(一)
目录 引入(关于基准测试) 一.Benchmark的定义: 二.Benchmark的组成: 三.Benchmark的运用: 引入(关于基准测试) ·定义: 基准测试是一种测量和评估软件性能指标的活动, ...
- 高性能计算机的基准测试程序包括,QX∕T 148-2020 气象领域高性能计算机系统测试与评估规范(可复制版)(40页)-原创力文档...
ICS 07. 060 A 47 中华人民共和国气象行业标准 QX/T 148-2020 代替 QX斤 1 48-201 I 气象领域高性能计算机系统 测试与评估规范 Specification fo ...
- 计算机四级的英文,计算机四级考试中英文术语对照
access 访问存取通路进入 achieve 实现完成 acquire 获得 adjacency list method 邻接表表示法 adjacency matrix method 邻接矩阵表示法 ...
- 计算机常用英语单词对照
第一部分.计算机算法常用术语中英对照 Data Structures 基本数据结构 Dictionaries 字典 Priority Queues 堆 Graph Data Structures 图 ...
- 计算机常见故障 英语词汇,计算机常用英语词汇大全剖析.doc
计算机常用英语词汇大全 第一章 计算机硬件 1.1 计算机的组成 audio 声[音]频的,声音的 bus 总线 computer 计算机 central processing unit (CPU) ...
最新文章
- Vim编程之:tags,cscope,taglist
- APDPlat的系统启动和关闭流程剖析
- 扼杀 304,Cache-Control: immutable
- 机器学习爬大树之(GBDT原理)--二分类篇
- C语言堆栈入门 —— 堆和栈的区别
- .NET简谈观察者模式
- linux桥接wifi与有线,两个路由器有线桥接好还是无线桥接好?
- win10底部任务栏不见了怎么办
- 用html5制作古诗,古诗词书签制作
- HTTP抓包和Python爬虫获取7天酒店免费房信息
- LeetCode笔记05:最长公共前缀
- Arduino使用TM1637四位数码管
- 安装win11电脑必须支持TPM2.0和必须支持安全启动的解决方法
- 基于V4L2的视频驱动开发(1)
- 你知道怎么快速将Ps(EPS)格式图片转成png、jpg等格式吗
- 移动端 - Android客户端性能测试常见指标
- POJ 2954-Triangle(计算几何+皮克定理)
- 机器学习损失函数 / 激活函数 / 优化算法 总览
- 微短剧:爱优腾、抖快、喜马拉雅的新航线
- ai智能医疗产业_人工智能以减少医疗错误
热门文章
- js如何实现扫描身份证识别_javascript实现根据身份证号读取相关信息
- 阿里云轻量应用服务器环境搭建-Docker删除镜像
- python绘制三维地形图_如何用Matplotlib 画三维图的示例代码
- Xftp7下载安装与使用
- 《逆向工程》dll注入基础
- mysql查询两个字的人名_mysql 怎么通过一条sql查询出 两个人员的名字
- 物流笔记 | 物流专业相关会议介绍
- linu 文件管理及重定向
- 1元,5元,10元,20元,50元、100元面值人民币组合给定x元的问题
- 我的世界JAVA版本mod推荐_我的世界经典必玩MOD推荐