Skip to main content
QUICK REVIEW

[论文解读] Collective Mind: cleaning up the research and experimentation mess in computer engineering using crowdsourcing, big data and machine learning

Grigori Fursin|arXiv (Cornell University)|Aug 11, 2013
Parallel Computing and Optimization Techniques参考文献 35被引用 4
一句话总结

本文提出了 Collective Mind,一种基于众包、插件式、开源的基础设施,旨在实现计算机工程领域系统化、可复现且协作化的研究。它通过共享实验数据、建模系统行为以及支持社区驱动的调优启发式方法和预测模型的验证与改进,利用大数据、机器学习和真实世界实验,自动化并提升软硬件协同设计、优化与调优的效率。

ABSTRACT

Software and hardware co-design and optimization of HPC systems has become intolerably complex, ad-hoc, time consuming and error prone due to enormous number of available design and optimization choices, complex interactions between all software and hardware components, and multiple strict requirements placed on performance, power consumption, size, reliability and cost. We present our novel long-term holistic and practical solution to this problem based on customizable, plugin-based, schema-free, heterogeneous, open-source Collective Mind repository and infrastructure with unified web interfaces and on-line advise system. This collaborative framework distributes analysis and multi-objective off-line and on-line auto-tuning of computer systems among many participants while utilizing any available smart phone, tablet, laptop, cluster or data center, and continuously observing, classifying and modeling their realistic behavior. Any unexpected behavior is analyzed using shared data mining and predictive modeling plugins or exposed to the community at cTuning.org for collaborative explanation, top-down complexity reduction, incremental problem decomposition and detection of correlating program, architecture or run-time properties (features). Gradually increasing optimization knowledge helps to continuously improve optimization heuristics of any compiler, predict optimizations for new programs or suggest efficient run-time (online) tuning and adaptation strategies depending on end-user requirements. We decided to share all our past research artifacts including hundreds of codelets, numerical applications, data sets, models, universal experimental analysis and auto-tuning pipelines, self-tuning machine learning based meta compiler, and unified statistical analysis and machine learning plugins in a public repository to initiate systematic, reproducible and collaborative research, development and experimentation with a new publication model where experiments and techniques are validated, ranked and improved by the community.

研究动机与目标

  • 解决由于庞大设计空间和组件间依赖性导致的计算机系统优化研究日益复杂、随意且不可复现的问题。
  • 克服传统自动调优方法存在的探索时间长、跨程序和架构缺乏知识复用的局限性。
  • 通过共享的开源基础设施,实现对实验结果、模型和优化技术的系统化、社区驱动的验证与改进。
  • 通过在多样化设备和平台间分布实验,支持在线和离线自动调优、预测建模与行为分析。
  • 推动一种新型发表模式,即共享实验、实验数据和未解释的行为,通过协作验证提升计算机工程研究的可复现性和严谨性。

提出的方法

  • 部署无模式、插件式、开源的 Collective Mind 代码库(c-mind.org/repo),用于存储和共享 codelets、基准测试、数据集、模型和实验流水线。
  • 集成统一的网页界面和在线建议系统,实现在异构设备(智能手机、笔记本、集群、数据中心)上对系统行为进行实时、协作的分析与调优。
  • 使用数据挖掘和机器学习插件对系统行为进行分类、建模与预测,检测程序、架构和运行时特征之间的相关性,并将异常情况暴露给社区。
  • 通过分析意外行为,实施自上而下的复杂性降低和逐步问题分解,将其分解为更小、可分析的组件。
  • 应用降维和统计分析技术,对大规模实验数据进行压缩与系统化处理,提升模型的效率与可扩展性。
  • 利用通用编译与执行流水线,结合自适应探索方法(如遗传算法、爬山法),实现对优化参数的自动化调优。

实验结果

研究问题

  • RQ1协作式、社区驱动的实验如何提升计算机系统研究的可复现性和严谨性?
  • RQ2共享的、插件式基础设施能否减少在软硬件协同设计中探索复杂优化空间所需的时间与精力?
  • RQ3如何利用机器学习与数据挖掘技术,对多样化程序、架构和工作负载下的系统行为进行建模与预测?
  • RQ4共享所有研究数据——包括失败结果或未解释的行为——对优化技术的验证与改进有何影响?
  • RQ5统一且可扩展的框架能否实现可扩展的、实时的在线调优与程序自适应,以满足终端用户需求?

主要发现

  • Collective Mind 框架通过在公共代码库中共享数百个 codelets、基准测试、数据集和实验流水线,实现了系统化、可复现且协作化的研究。
  • 社区对未解释或异常系统行为的协作分析,通过共享的数据挖掘与预测建模,显著提升了对程序、架构和运行时特征相关性的检测能力。
  • 该框架通过在不同程序、数据集和硬件平台间复用知识,支持对编译器和元编译器中优化启发式方法的持续改进。
  • 在学术与工业项目(如与 IBM、Intel、CEA 和 Synopsys 合作)中的实际验证,证实了该框架在降低调优复杂性和加速优化方面的有效性。
  • 使用通用的自适应调优流水线结合统计与机器学习插件,显著减少了性能调优中对人工、随意实验的依赖。
  • 该基础设施支持开发混合预测模型,将经典方法(如 roofline 模型、容量模型)与数据驱动技术相结合,提升了模型的准确性与可扩展性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。