读paper
晚上读了一篇paper,是Proceedings of the 34th annual international
symposium on Computer architecture上的《Analysis of Redundancy and Application Balance in the
SPEC CPU2006 Benchmark Suite》。
这篇paper主要针对SPEC
CPU2006基准测试套件的冗余性和平衡性问题进行了研究,作者考虑到有使用小部分测试组件来进行测试的需要,所以对如何选择子套件给出指导意见。文中通过在不同系统上使用性能计数器以及一些统计技术(如PCA和聚类分析)来分析套件中各个基准程序之间的相似度和冗余度,并最终给出了有价值的子套件。
SPEC CPU2006包含了10个整数型程序和17个浮点数型程序,和2000相比,除了INT型还保留了3个外,其他都换掉了。基准程序要求覆盖应用面要广,同时程序之间的相似度又不能太大,否则就冗余了,这就是一个平衡性的问题了。
作者首先给出了进行分析的几个方面:指令混合度,指令局部性,数据局部性(主要通过cache和快表的命中 来分析),分支预测性,接着引入了本文中最重要的分析方法论:PCA和聚类分析。
用
PCA来消除误差,其实就是进行加权处理。聚类分析的职能是建立一种分类方法,它是将一批样品或变量,按照它们在性质上的亲疏程度进行分类。距离的种类很多,其中欧式距离在聚类分析中用得最广。 当确定了样品之间的距离之后,就要对样品进行分类。分类的方法很多,本节只介绍系统聚类法,它是聚类分析中应用最广泛的一 种方法。首先将n个样品每个自成一类,然后每次将具有最小距离的两类合并成一类,合并后重新计算类与类之间的距离,这个过程一直持续到所有样品归为一类为 止。分类结果可以画成一张直观的聚类谱系图。
应用系统聚类法进行聚类分析的步骤如下:
确定待分类的样品的指标;
收集数据;
对数据进行变换处理(如标准化或规格化);
使各个样品自成一类,即n个样品一共有n类;
计算各类之间的距离,得到一个距离对称矩阵,将距离最近的两个类并成一类;
并类后,如果类的个数大于1,那么重新计算各类之间的距离,继续并类,直至所有样品归为一类为止;
最后绘制系统聚类谱系图,按不同的分类标准或不同的分类原则,得出不同的分类结果。
整个文章最大的亮点是第3章的方法论部分,确实是整篇的核心点,研究思路很赞。。。
作者:洞庭散人
出处:http://phinecos.cnblogs.com/
posted on 2007-10-05 22:51 Phinecos(洞庭散人) 阅读(520) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
2006-10-05 状态模式(Strategy Pattern)