随着计算机和互联网技术的迅速发展,图像/视频类型的多媒体数据已经成为了当前网络中传输与处理的主要数据之一。考虑到用户体验与实际应用的需求,多媒体类数据通常需要进行实时性处理。因此,要从如此大量的数据中有效地提取出有用的信息不仅具有数据密集的特性,同时还有计算密集的特性。这给相关的系统和体系结构设计提出了重大的挑战。 之前大多数的研究主要集中在基于文本搜索的系统和传统的多媒体处理程序。对于多媒体检索类的应用却没有一个系统的研究和分析。因此我们需要进一步了解此类应用的特性,以及这些特性给相关的系统优化和体系结构设计所带来的影响和启示。 本文首先构建了一个面向多媒体检索应用的
基准程序
测试集,此程序集可以很好的用来评估相关系统和体系结构的设计。基准程序测试集中选取了一系列当前主流的具有代表性的多媒体检索算法,涵盖了整个检索的过程,包括特征提取阶段,特征匹配阶段,以及几何验证阶段。在所构建的基准程序测试集上,本文还进一步分析了多媒体检索算法的固有特性,同时对多媒体检索系统优化和相关体系结构的设计提出了建议。本文的主要贡献有: ●设计并构建了面向多媒体检索应用的基准程序测试集,此程序集有以下特点: 》包含了当下主流的具有代表性的多媒体检索算法 (?)涵盖了多媒体检索系统的三个主要阶段,包括特征提取阶段,特征匹配阶段,几何验证阶段 》提供了不同大小的输入集,使得基于整个测试集可以对不同的应用场景进行系统优化和相关体系结构设计的评估 (?)提供了一套灵活的接口,自动化配置参数输入,并设计了连接各个算法的基本框架,基于此框架可方便快捷地构建图像检索系统。 ●对多媒体检索算法的固有特性进行了较为全面的分析,并提出了一些可行的建议,多媒体检索算法有着: (?)复杂的分支跳转行为和较高的分支预测错误率 (?)较低的潜在指令集并行度 (?)较差的数据访存时间局部性,和在一定条件下较好的空间局部性 》对于浮点运算并不十分敏感 (?)访存密集性和计算密集性 (?)不同算法上各异的输入集敏感性 (?)不平衡的并行任务分配特性 (?)各个检索阶段间的高带宽要求以及庞大的后端数据库交互需求基准测试定义 计算机硬件
性能以可以执行指令的最大速率衡量。普通度量标准已经达到每秒执行百万指令数(MIPS)和每秒执行百万浮点 *** 作数,和每秒执行十亿次浮点 *** 作数(GFLOPS)和万亿次浮点 *** 作数(TFLOPS)。 理论最大性能不能全面反映计算机系统的实际性能。因为许多因素如多CPU协同、内存带宽、内存延迟和I/O性能等使得计算机系统只能实现远低于理论指标的指令执行速度。 因此推出了计算机系统性能基准测试的概念: 计算机系统性能基准测试:由中立非盈利机构开发一组经心统筹设计和组合的程序,量度计算机系统运行这组程序的性能指标。 SPEC(standard performance evaluation corporation) TPC(transaction processing performance council) 基准测试分类为: 工业标准基准测试:测试主要子系统性能:如cpu的SPEC CPU2000;McCaplin Stream测试内存带宽。可合起来测试计算机系统全面性能 标准应用基准测试指标: Internet应用基准测试指标:用于量度系统支持各种基于Internet应用的性能,例如:用于测量系统执行Web应用性能的SPECweb99和SPECweb99_SLL,用于测量系统执行电子邮件应用性能的SPECmail2000,用于测量系统执行JAVA应用性能的SPECjbb2000(服务器端)和SPECjvm98(客户机端); - 高性能技术计算应用基准测试指标:用于量度系统执行以浮点计算为主应用的性能,例如:用于测量系统进行线性代数计算性能的Linpack,用于测量系统执行图形和图象显示方面应用的性能的SPEC glperf和SPEC viewperf,用于测量系统执行高性能技术技术应用性能的SPEChpc96; - 网络上分布式分时应用基准测试指标:用于测量系统支持网络上各种分时应用性能的基准测试指标,例如,用于测量系统执行网络文件系统应用的性能指标SPECsfs97,用于测量系统执行在线事务处理应用性能的TPC-C ,用于测量系统支持数据仓库、在线分析和决策应用性能的TPC-H 和TPC-R等; 具体实际应用基准测试指标:许多重要的独立软件开发商(ISV)都制订了计算机系统运行本公司开发的软件产品的基准测试指标。例如,在数据库应用方面Oracle、Informix、Sybase和IBM DB2 等公司的基准测试指标;在企业应用方面SAP、SAS、 PeopleSoft、 Notes、Baan 等公司的基准测试指标;在高性能技术计算方面系统运行Amber、 CHARMm、 Fluent、LS-DYNA、MARC、ANSYS等著名应用软件的指标等。各ISV的基准测试对于服务器系统生产厂商也都是完全中立的:工业标准基准测试: SPEC CPU2000: 测试值SPECint_2000,SPECfp_2000(单cpu系统);SPECint_rate2000,SPECfp_rate2000 分布式应用基准测试指标 SPEC SFS97 基准测试指标:测量 NFS文件服务器的吞吐能力和响应时间 在线事务处理(OLTP)基准测试指标 TPC-C:大多数企业应用都涉及在线事务处理(OLTP),人们于是开始把量度系统在特定分时环境中吞吐能力和响应速度的TPC-C作为系统的基准测试指标之一。 在线分析处理(OLAP)基准测试指标TPC-H 和TPC-R: TPC-H 是一个用于量度服务器支持在线分析(OLAP)和决策能力的基准测试。它由一组面向业务的即时查询和同时数据修改组成。所选择的数据库查询和修改 *** 作都具有广泛的实际应用背景、同时又照顾到容易实施。这一基准测试说明服务器支持如下决策支持功能的能力:s 观察大量数据; s 执行高度复杂的查询; s 给出关键业务问题的答案; TPC-H 基准测试报告的性能尺度称为组合每小时查询性能指标(QphH@Size),反映系统处理查询的综合能力,包括对选择规模数据库执行查询的速度、当查询以单一流送入时的查询处理能力、当查询由多个同时用户送入时的查询吞吐能力。TPC-H 的价格/性能指标以$/QphH@Size来表示。数据库查询的速度显然与数据库容量有关,因此TPC-H 基准测试指标也与测试时所使用的数据库容量有关。例如,1TB TPC-H、10TB TPC-H 指标分别表示使用容量为1 TB和10 TB 数据库进行测试、所得到的结果。 此外,TPC委员会还设计的TPC-R 基准测试。它类似于TPC-H,但允许根据对预先了解的知识对查询进行优化。TPC-R 基准测试报告的性能尺度称为组合每小时查询性能指标(QphR@Size),TPC-R 的价格/性能指标以$/QphR@Size来表示。高性能技术计算(HPTC)应用基准测试指标 除了使用SPEC CPU 2000外,人们也设计了一系列基准测试。其中最常用和著名的是Linpack基准测试。 SPEC glperf 和 SPEC viewperf 基准测试 SPEC glperf 和 SPEC viewperf 是专门应用于测量计算机系统执 行图 形和图象显示方面应用的性能指标。 基于 IPF的HP zx2000/zx6000 工作站提供很强的图形显示和图像处理功能,成为支持CAD/CAM/CAE/GIS 等高性能技术计算应用的领先的桌面平台。 Internet应用基准测试指标 SPECweb99 SPECweb99_SSL SPECmail2001 面向JAVA应用基准测试 SPEC JVM98 SPEC JBB2000 实际应用基准测试指标 三大类:数据库应用基准测试 、企业应用基准测试和高性能技术计算基准测试 Oracle 、 Sybase 和 IBM DB2 Oracle推出Oracle应用标准基准测试(ASB),并承诺长期使用它来测量服务器执行Oracle应用的性能特性。Oracle ASB是一组可比较的标准应用,包括利用Oracle 9i来执行企业资源规划(ERP)应用一系列最常用的模块。服务器运行这些应用结果说明服务器支持Oracle应用的性能和可伸缩性,它提供一个标准量度来比较不同的系统配置上执行Oracle应用的性能。此外,Oracle还提供ASB(RAC)基准测试用于测量服务器集群在Oracle 9i RAC (真正应用集群, Real Application Cluster)环境下支持Oracle应用的性能和可伸缩性。关于Oracle数据库的ASB和ASB(RAC)基准测试的进一步信息参阅: HP Integrity 和HP 9000不仅在基于Oracle的TPC-C 基准测试中提供领先的结果,而且也提供领先的Oracle ASB和ASB(RAC)基准测试指标,反映了它们强 大的处理 能力,也反映了HP *** 作系统 在 VLM 、VLDB (超大规企业应用基准测试指标 SAP 、SAS、PeopleSoft、Baan 等公司的基准测试指标可以作为考察计算机系统支持企业应用性能的指标。 高性能技术计算基准测试指标 在高性能技术计算方面计算机系统运行Amber、CHARMm、Fluent 、LS-DYNA、MARC、 ANSYS 等著名高性能计算应用的指标可以作为考察计算机系统支持高性能技术计算应用性能的指标。 HP是高性能技术计算领域领先厂商,提供最多的集群架构超级计算机、集群系统、企业级服务器、中低档服务器和工作站,丰富的应用软件、解决方案,以领先的高性能和性价比,满足应用需求基准测试是一项测试或一系列测试,用来确定某个计算机硬件运行起来的状况有多好。在许多情况下,“基准测试”实际上等同于“压力测试”。通过测试硬件的极限,然后可以将测得的结果与其他硬件测得的结果作一番比较。
大多数基准测试旨在模拟 PC 在实际情形下遇到的那种工作负载。正因为如此,基准测试几乎就是获得定量数据、了解系统性能如何的唯一方法――如果你的数据差强人意,这表明应该升级部分PC部件。
所以,准备好测试你自己的 PC 了吗?下面是可供 Linux 用户使用的一些比较实用的基准测试。
一、一体化基准测试
一体化基准测试工具又叫基准测试套件,恰如其名:它们测试和衡量系统的各个方面,而不是专注于某一个特定的硬件,如果你不想用三四个不同的工具搞乱系统,这很有用。
1、Phoronix 测试套件
Phoronix 测试套件是最知名的一体化 Linux 基准测试解决方案之一。有一些人声称,它有许多固有的问题当然,我们不会说它在各方面完美无缺,但是它对大多数用户来说足够好。另外,外面值得一用的替代套件并不多。
Phoronix 可使用 100 多个不同的测试套件(即一组组单项测试)和 450 多个不同的测试配置文件。你可以选择只安装所需的那部分,所以如果你只关注处理器和普通硬盘基准测试,那么只要安装“Processor_Tests”和“Disk_Tests”。它还支持系统日志和报告。
最棒的是,Phoronix 是自由而开源的。它还提供 Live CD 这种形式,名为 PTS Desktop Live,让你可以直接从 CD、DVD 或 U 盘来运行,所以你可以在需要时使用“干净”的 *** 作系统,测试任何机器的硬件。
2、Stress-ng
你可能从名称中猜得,stress-ng 是真正的压力测试――它极其适合测试系统的极限,但是由于它要求很严苛,我们不建议经常运行它。如果反复接受压力测试,某些部件(尤其是处理器和普通硬盘)会损耗得更快。
将 stress-ng 安装到 Debian 和 Ubuntu 上:
sudo apt-get install stress-ng
将 stress-ng 安装到 Fedora、Red Hat 和 CentOS 上:
sudo yum install stress-ng
一旦安装完毕,stress-ng 可以测试各种各样的部件,包括处理器、内存、输入/输出、 网络、虚拟内存及更多部件。它还很容易配置――针对每项测试,你可以指定不同的参数,比如多少测试实例、多少个处理器核心、测试强度多大、运行多久等。
介绍所有不同的命令和参数不在本文的范围之内,但是 Ubuntu 维基上的这个页面是个不错的起始点。
3、PassMark BurnInTest
PassMark 拥有各种各样的 PC 测试和监控软件,包括大名鼎鼎的 MemTest86 和 PerformanceTest 应用程序,它们只面向Windows 用户。另一方面,BurnInTest 应用程序却有 Linux 版本,它无疑值得尝试一番。
简而言之,它能同时测试计算机的所有主要子系统。但它不是测试纯粹的性能,而是更加专注于稳定性和可靠性。为了获得最佳结果,我们推荐将它与其他一些形式的性能测试手段结合起来。
它提供免费 30 天试用的服务;一旦试用期结束,就要收费(79 美元)。
二、处理器基准测试
比较两个不同的处理器很困难。还记得你知道奔腾 III 几乎总是胜过奔腾 II 的日子吗?有时候,i5 的性能胜过 i7,四核并非总是胜过双核。
正由于如此,处理器可以从基准测试比较得到最大的好处――超过其他任何一个 PC 硬件。如果你决定不使用上述一体化测试,那么可以从下面两款工具中的一款入手。
1、Geekbench
Geekbench 是目前市面上最出色的处理器基准测试之一。它随带 10 项整数工作负载测试和 8 项浮点工作负载测试――其中一些测试在 Hardinfo(下有介绍)中也有,但是其中一些是 Geekbench 特有的。
Windows 版本和 Mac 版本随带用户界面,但 Linux 版本只有命令行可执行文件。基准测试结果上传到网上,让你可以以一种比终端更直观的方式查看分数。
上传后,Geekbench 会在功能有限的“尝试模式”(实际上是无限制的免费试用)下运行,只有 64 位和 OpenCL 基准测试。想要 CUDA 基准测试、独立模式及其他功能,你需要购买 Geekbench 或 Geekbench 专业版。
2、Hardinfo
可以使用原生软件包管理器从大多数发行版获取 Hardinfo,不过我觉得在 Deiban 和 Ubuntu 上运行这个命令来得更容易:
sudo apt-get install hardinfo
或者在 Fedora、Red Hat 和 CentOS 上运行这个命令:
sudo yum install hardinfo
Hardinfo 随带 6 项不同的基准测试,每一种测试提供了一个分数,你可以用分数来准确地与其他系统比较。处理器测试执行整数运算,FPU 测试执行浮点运算。比较结果时,确保比较的是同样的测试。
Hardinfo 还是一种迅速获取系统信息的有用方式。只要浏览侧边栏中的各个页面,即可查看计算机配置的详细信息。
三、GPU 基准测试
想以一种非科学的方式测试系统的图形功能,只要看看你的 PC 能不能处理图形密集型游戏。想获得更准确的结果,只要运行下列这些测试。
1、Unigine
Unigine 有两项基准测试值得一提:Valley 基准测试和 Heaven 基准测试。每一项测试渲染不同的场景(分别是覆以森林的山谷和一系列浮空岛),迫使你的 GPU“超时工作”。
这是大多数 Linux 游戏玩家首选的图形基准测试。
免费基准测试是交互式,完全足以大致了解你的 GPU 有多好,但是如果是商业用途、进行深入的逐帧分析,专业版必不可少。售价 495 美元。
2、GFXBench
GFXBench 之前名为 GLBenchmark,它是面向 Linux 系统的两种主要的图形基准测试中名气较小的。它随带两组测试:高级测试(总体性能)和低级测试(特定功能的性能)。
四、数据硬盘基准测试
说到存储数据的硬盘,速度并非总是最重要。比如说,当硬盘用来存储备份内容,主要的问题是寿命、可靠性和容量。不过若是日常 *** 作,你需要性能出色的高速固态硬盘。
1、Hdparm
Hdparm 是一种命令行实用工具,安装在大多数现代的发行版上,非常易于使用。它不仅可用来测试驱动器的性能,还可以针对每个驱动器来改变设置(比如开启或关闭 DMA)。不过要小心:如果使用不当,Hdparm 会导致驱动器崩溃或损坏!
首先,使用 df 命令列出系统上的所有驱动器。找到想要测试的那个驱动器――如果你没有把握,可以使用上下文,比如总的磁盘空间或挂载位置,然后与下列命令结合使用。以本文为例,我的驱动器是 /dev/sda2。
为了测试缓冲读取性能:
sudo hdparm -t /dev/sda2
/dev/sda2:
Timing buffered disk reads: 180 MB in 3.00 seconds = 59.96 MB/sec`
为了测试缓存读取性能:
sudo hdparm -T /dev/sda2
/dev/sda2:
Timing cached reads: 3364 MB in 2.00 seconds = 1682.75 MB/sec`
无论你使用哪一个,都要多次运行命令,以获得多个读数,然后求平均值,以便更准确地了解性能。确保你没有做可能影响读数的其他任何 *** 作,比如传输文件。
2、Bonnie++
Bonnie++ 是一种自由的实用工具,旨在基准测试文件系统和硬驱性能。它并不直接安装在大多数发行版上,但是应该出现在核心代码库中。可使用下列命令安装到 Debian 和 Ubuntu上:
sudo apt-get install bonnie++
或者使用这个命令安装到Fedora、Red Hat或CentOS上:
sudo yum install bonnie++
一旦安装完毕,运行Bonnie++的最简单方法就是使用下列命令:
bonnie++ -d /tmp -r 2048 -u [username]
这会在 /tmp 目录下运行测试(因而测试 /tmp 所在的驱动器的性能),使用的参数表明系统有 2048MB 内存,测试将以[用户名]的用户权限来运行,本文中该用户是 jleeso。
不确信你的系统上有多少内存?请使用 free –m 命令,在合计栏下查找 Mem。
最后,你会看到逗号分隔的一行,上面是密密麻麻的不同数字。这些就是你的结果。比例:
1.96,1.96,ubuntu,1,1378913658,4G,,786,99,17094,3,15431,3,4662,91,37881,4,548.4,17,16,,,,,142,0,+++++,+++,+++++,+++,+++++,+++,+++++,+++,+++++,+++,16569us,15704ms,2485ms,51815us,491ms,261ms,291us,400us,710us,382us,42us,787us
拷贝它,输入下面这个命令:
echo "[粘贴你的结果]" | bon_csv2html >/tmp/t
评论列表(0条)