剖析基准测试
——
剖析基准测试
基准测试能在您分析和比较各个系统时为您节省时间。但是,基准测试的真正价值常常意味着对每个评分的意义“进行逆向工程”并且将那些见解应用到您的实际环境中。
要点
● 基准试图将复杂系统进行抽象和简化以便您能更好地进行苹果对苹果比较。
● 基准必须附带完整的测试详情才有意义。
● 您有责任分析基准测试详情以判断一个给定评分是否与实际情况相关。
● 基准应该只作为整个决策过程的一个数据点,诸如供应商开发支持和平台灵活性等其他定性因素可能比基准测试高评分更重要。
基准是一个您能用以对两个或更多相似选择对象的价值和质量进行一致的测量、量化和比较的参考点,这些选择对象包括商业过程、工具和嵌入式处理器等。对于嵌入式处理器来说,基准通常是一组在候选处理器上运行的一致性软件代码,因此您可以将候选处理器的性能与其他可供选用的处理器进行比较。处理器基准并不局限于测量处理器体系结构效率;它们还能表明编译器相对于人工优化编码的效率。
理想的基准对一个系统的重要性能度量进行提取和合并,形成一个在特定上下文中,能对不同系统选择进行有意义的“苹果对苹果”比较的简化表示 或评分。但是,使用理想的基准如果不能比不太精确的比较工作更多地节省时间、降低成本或者减小风险,那是不切实际的。
对于具有某一清晰目标的系统或任务来说,您常常会找到一个性能度量,用以精确获取系统行为,并在您将该系统与其他选择对象比较时具有良好的相关性。比较两个处理器的时钟速率就是获得相对性能的一个流行的基准度量,但是它的适用环境很窄,只有当这两个处理器除了时钟速率之外大致相同时,这种比较才有用。尽管比较基准测试评分的简单性如何吸引人,但正确解释这些相互关联的评分则需要您了解基准测量的基本细节及其与您应用系统的相关性。对于嵌入式设计来说,您比较的处理器体系结构可能大不相同,因此使用时钟速率作为基准度量也许是不适宜的。
通常,嵌入式设计必须同时平衡并满足许多目标,例如提供正确的功能既要快速、经济实惠,又要具有低功耗、高质量和灵活性。就这几类情况而言,性能是多方面的,因此将系统性能精确地描述为一个简化的评分,用以与其他选择对象进行有意义的比较,可能是困难而又代价高昂的。对多个系统进行比较存在一个难题,就是既要使获得和导出基准测试评分简易而又花钱少,又要使不同系统的相同评分的排名有意义。
谎言和更多谎言
许多处理器供应商都使用基准测试评分作为一种营销工具。但是,有些经常发布的基准测试评分,如MIPS(每秒百万条指令)和DMIPS(Dhrystone MIPIS),在没有特定背景的情况下是毫无意义和不恰当的(参阅附文《基准测试游戏》)。这两类性能评分的继续广泛使用使得处理器基准测试获得了对处理器性能度量不精确的名声。一次网上搜索就会发现对下面关于标准基准测试的陈述的多次引用:“计算机行业有三种谎言:谎言、该死的谎言和基准测试。”
综合基准测试通常试图通过使用人工指令序列或者通过尽量模拟真实环境应用系统中的普通指令混合,来度量某个系统、处理器或编译程序的一个或多个新性能。相反,真实环境应用系统基准测试在考虑处理器特性方面前进了一步,它试图对处理器体系结构和开发工具如何处理特定类型应用系统的预期工作量进行预测和量化。应用系统基准测试可能使用一组或多组真实应用程序代码块来为一个应用系统实现代表性的功能。
公开传播诸如MIPS和DMIPS等标准综合基准测试这种做法凸显出人们需要开发和使用简单而又有意义的度量。这几类基准测试相对比较便宜,也最容易实现,因而没有容易而又低成本实现的无版权替代方案。行业标准基准测试是对竞争性产品进行比较的基础,但是,供应商通常要承担一笔可观的费用以便获得基准测试证据。BDTI(Berkeley设计科技有限公司)、EEMBC(EDN嵌入式微处理器基准联盟)和SPEC(标准性能评估公司)等基准组织通过提供能对目标性能测量进行分类的基准测试套件,致力于各种不同方面的计算。各种基准测试套件构成一致性测试的基础,并支持一个性能评分的粒度范围,使得您能够在一个特定环境中更好地评估处理器特性和系统性能。
行业标准基准测试可以作为决策过程的一个有价值的“输入”,但还不足以成为您设计决策的唯一依据。首先,为您应该考虑的每个处理器平台找到相关而又可比的基准测试结果可能是很难或者是不可能的事。另一个问题是,当您确定找到相关而又可比的基准测试时,基准测试数据可能本来是为您当前正在考虑的一代代处于完全不同时间点的不同处理器导出的,而且它本可以采用的存储器结构与您将要使用的迥然不同。特定的或自定义基准测试是分析过程的一部分,有助于填补行业标准基准测试与您应用需求之间的空白。
有几类基准测试用户退出了。显而易见的基准测试用户是嵌入式系统设计师或者是成为销售组织营销对象的终端用户。但是,据几个基准组织说,终端用户并不是行业标准基准测试结果的主要用户群体。基准测试作为主要决策依据还不充分,因为它们不能精确地反映每个嵌入式系统设计师的应用需求。例如,许多基准测试是内核级的,不考虑与设计师在最终应用中要使用的操作系统的交互作用。
当终端用户使用基准测试结果时,他们同各个处理器厂商的合作常常比同基准组织的合作更为密切,以便获得性能数据和复制测试结果方面的帮助,并了解基准测试配置如何适用于他们的设计要求。终端用户可能使用基准测试作为缩减候选处理器名单的一个“输入”,但是其他项目如一组集成特性、支持的I/O接口、开发工具、培训、文档、第三方开发支持基础设施以及规划风险,都将在排除候选处理器时起重要作用。通常,终端用户基准测试是一个仅适合于立即进行的设计项目的特殊过程。
许多处理批量大而对价格敏感的设计的OEM(原始设备制造商),都根据自己的自定义基准测试来选择处理器。自定义基准测试可以由既有应用代码构成,但也可能包括来自行业标准基准测试的代码。有些OEM成为基准组织的成员,以便获得基准测试源代码,因此,他们能将该源代码的一部分合并到他们的自定义基准测试套件中。这些基准测试套件只能满足范围狭小的目标需求,所以更详细、更全面。行业标准基准努力在相关性、复杂度和成本之间取得平衡,能满足范围较广的应用需求。通常,OEM基准测试工作对竞争很敏感,只供内部使用
要点
● 基准试图将复杂系统进行抽象和简化以便您能更好地进行苹果对苹果比较。
● 基准必须附带完整的测试详情才有意义。
● 您有责任分析基准测试详情以判断一个给定评分是否与实际情况相关。
● 基准应该只作为整个决策过程的一个数据点,诸如供应商开发支持和平台灵活性等其他定性因素可能比基准测试高评分更重要。
基准是一个您能用以对两个或更多相似选择对象的价值和质量进行一致的测量、量化和比较的参考点,这些选择对象包括商业过程、工具和嵌入式处理器等。对于嵌入式处理器来说,基准通常是一组在候选处理器上运行的一致性软件代码,因此您可以将候选处理器的性能与其他可供选用的处理器进行比较。处理器基准并不局限于测量处理器体系结构效率;它们还能表明编译器相对于人工优化编码的效率。
理想的基准对一个系统的重要性能度量进行提取和合并,形成一个在特定上下文中,能对不同系统选择进行有意义的“苹果对苹果”比较的简化表示 或评分。但是,使用理想的基准如果不能比不太精确的比较工作更多地节省时间、降低成本或者减小风险,那是不切实际的。
对于具有某一清晰目标的系统或任务来说,您常常会找到一个性能度量,用以精确获取系统行为,并在您将该系统与其他选择对象比较时具有良好的相关性。比较两个处理器的时钟速率就是获得相对性能的一个流行的基准度量,但是它的适用环境很窄,只有当这两个处理器除了时钟速率之外大致相同时,这种比较才有用。尽管比较基准测试评分的简单性如何吸引人,但正确解释这些相互关联的评分则需要您了解基准测量的基本细节及其与您应用系统的相关性。对于嵌入式设计来说,您比较的处理器体系结构可能大不相同,因此使用时钟速率作为基准度量也许是不适宜的。
通常,嵌入式设计必须同时平衡并满足许多目标,例如提供正确的功能既要快速、经济实惠,又要具有低功耗、高质量和灵活性。就这几类情况而言,性能是多方面的,因此将系统性能精确地描述为一个简化的评分,用以与其他选择对象进行有意义的比较,可能是困难而又代价高昂的。对多个系统进行比较存在一个难题,就是既要使获得和导出基准测试评分简易而又花钱少,又要使不同系统的相同评分的排名有意义。
谎言和更多谎言
许多处理器供应商都使用基准测试评分作为一种营销工具。但是,有些经常发布的基准测试评分,如MIPS(每秒百万条指令)和DMIPS(Dhrystone MIPIS),在没有特定背景的情况下是毫无意义和不恰当的(参阅附文《基准测试游戏》)。这两类性能评分的继续广泛使用使得处理器基准测试获得了对处理器性能度量不精确的名声。一次网上搜索就会发现对下面关于标准基准测试的陈述的多次引用:“计算机行业有三种谎言:谎言、该死的谎言和基准测试。”
综合基准测试通常试图通过使用人工指令序列或者通过尽量模拟真实环境应用系统中的普通指令混合,来度量某个系统、处理器或编译程序的一个或多个新性能。相反,真实环境应用系统基准测试在考虑处理器特性方面前进了一步,它试图对处理器体系结构和开发工具如何处理特定类型应用系统的预期工作量进行预测和量化。应用系统基准测试可能使用一组或多组真实应用程序代码块来为一个应用系统实现代表性的功能。
公开传播诸如MIPS和DMIPS等标准综合基准测试这种做法凸显出人们需要开发和使用简单而又有意义的度量。这几类基准测试相对比较便宜,也最容易实现,因而没有容易而又低成本实现的无版权替代方案。行业标准基准测试是对竞争性产品进行比较的基础,但是,供应商通常要承担一笔可观的费用以便获得基准测试证据。BDTI(Berkeley设计科技有限公司)、EEMBC(EDN嵌入式微处理器基准联盟)和SPEC(标准性能评估公司)等基准组织通过提供能对目标性能测量进行分类的基准测试套件,致力于各种不同方面的计算。各种基准测试套件构成一致性测试的基础,并支持一个性能评分的粒度范围,使得您能够在一个特定环境中更好地评估处理器特性和系统性能。
行业标准基准测试可以作为决策过程的一个有价值的“输入”,但还不足以成为您设计决策的唯一依据。首先,为您应该考虑的每个处理器平台找到相关而又可比的基准测试结果可能是很难或者是不可能的事。另一个问题是,当您确定找到相关而又可比的基准测试时,基准测试数据可能本来是为您当前正在考虑的一代代处于完全不同时间点的不同处理器导出的,而且它本可以采用的存储器结构与您将要使用的迥然不同。特定的或自定义基准测试是分析过程的一部分,有助于填补行业标准基准测试与您应用需求之间的空白。
有几类基准测试用户退出了。显而易见的基准测试用户是嵌入式系统设计师或者是成为销售组织营销对象的终端用户。但是,据几个基准组织说,终端用户并不是行业标准基准测试结果的主要用户群体。基准测试作为主要决策依据还不充分,因为它们不能精确地反映每个嵌入式系统设计师的应用需求。例如,许多基准测试是内核级的,不考虑与设计师在最终应用中要使用的操作系统的交互作用。
当终端用户使用基准测试结果时,他们同各个处理器厂商的合作常常比同基准组织的合作更为密切,以便获得性能数据和复制测试结果方面的帮助,并了解基准测试配置如何适用于他们的设计要求。终端用户可能使用基准测试作为缩减候选处理器名单的一个“输入”,但是其他项目如一组集成特性、支持的I/O接口、开发工具、培训、文档、第三方开发支持基础设施以及规划风险,都将在排除候选处理器时起重要作用。通常,终端用户基准测试是一个仅适合于立即进行的设计项目的特殊过程。
许多处理批量大而对价格敏感的设计的OEM(原始设备制造商),都根据自己的自定义基准测试来选择处理器。自定义基准测试可以由既有应用代码构成,但也可能包括来自行业标准基准测试的代码。有些OEM成为基准组织的成员,以便获得基准测试源代码,因此,他们能将该源代码的一部分合并到他们的自定义基准测试套件中。这些基准测试套件只能满足范围狭小的目标需求,所以更详细、更全面。行业标准基准努力在相关性、复杂度和成本之间取得平衡,能满足范围较广的应用需求。通常,OEM基准测试工作对竞争很敏感,只供内部使用
评论