HBM Predictor分层预测模型详解:从服务器级到bank级的全方位故障预测
HBM Predictor分层预测模型详解:从服务器级到bank级的全方位故障预测
【免费下载链接】hbm-predictorthis project is an in-depth>项目地址: https://gitcode.com/openeuler/hbm-predictor
前往项目官网免费下载:https://ar.openeuler.org/ar/
HBM Predictor是一个分层级、全方位、非侵入式的高带宽内存(HBM)故障预测框架,由厦门大学与华为2012庞加莱实验室合作开发。该项目基于从19个数据中心收集的真实故障数据,构建了从服务器级到bank级的多层预测模型,为HBM可靠性研究提供了完整的分析工具和开源数据集。
🌟 项目核心价值:突破内存墙的关键一步
HBM作为突破"内存墙"的关键技术,其可靠性问题直接影响数据中心的稳定性。HBM Predictor通过数据驱动的分析方法,揭示了HBM故障的内在规律,并提供了精准的故障预测能力。项目成果已发表于USENIX ATC'24学术会议,论文标题为《Removing Obstacles before Breaking Through the Memory Wall: A Close Look at HBM Errors in the Field》。
主要功能亮点
- 多层级预测:支持服务器级、bank级、行级(row)和列级(col)四个层级的故障预测
- 非侵入式设计:无需修改硬件或中断服务即可实现实时监测
- 高预测精度:采用优化阈值的随机森林算法,F1分数最高可达0.819
- 开源数据集:包含脱敏的真实HBM故障数据,促进学术界进一步研究
📊 数据集解析:来自19个数据中心的真实故障记录
项目提供的数据集位于data目录下,分为原始数据和处理后数据两个部分,全面反映了HBM在实际应用中的故障特征。
原始数据(raw_data)
原始数据文件dataset(opensource).csv记录了错误发生的位置、时间和类型等详细信息,包含以下关键字段:
| Datacenter | Server | Name | Stack | SID | PcId | BankGroup | BankArray | Col | Row | Time | EccType |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Datacenter8 | 0.108.38.22 | DSA3 | 0x3 | 0x0 | 0x1 | 0x2 | 0x1 | 0x54 | 0x3e2b | 1650690000 | UER |
处理后数据(processed_data)
处理后的数据针对不同预测层级进行了特征工程,生成四个CSV文件:
data_for_bank-level_prediction.csv:bank级预测数据data_for_col-level_prediction.csv:列级预测数据data_for_row-level_prediction.csv:行级预测数据data_for_server-level_prediction.csv:服务器级预测数据
以bank级预测数据为例,包含功率、温度、错误计数等特征:
| Peak Power | Aver Power | Temp | CE_Row | CE_Col | CE_Cell | UER_Row | UER_Col | UER_Cell | UEO_Row | UEO_Col | UEO_Cell | All_Row | All_Col | All_Cell | SID_0 | SID_1 | label |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 |
⚠️ 注意:数据集中的敏感信息已进行脱敏处理,确保数据安全与隐私保护。
🔍 分层预测模型架构:从宏观到微观的全方位监测
HBM Predictor采用分层设计思想,针对HBM不同层级的故障特征构建专用预测模型,实现从整体系统到局部存储单元的全面监测。
预测层级划分
- 服务器级预测:最高层级的预测,关注整台服务器的HBM健康状态
- bank级预测:针对HBM内存bank的故障预测,属于中层监测
- 行级(row)预测:对内存行单元的精细化预测
- 列级(col)预测:对内存列单元的精细化预测
核心预测算法
项目采用随机森林(Random Forest)算法作为基础预测模型,并通过优化阈值提高预测性能。关键实现代码位于prediction/prediction_performance.py,核心参数设置如下:
rf_classifier = RandomForestClassifier( n_estimators=200, max_depth=50, class_weight="balanced", criterion="entropy", min_samples_leaf=100, min_samples_split=100 )各层级预测性能
通过调整不同阈值,各层级模型实现了优异的预测效果:
- 行级预测:优化阈值0.55时,F1分数达0.779
- 列级预测:优化阈值0.6时,F1分数达0.790
- bank级预测:优化阈值0.55时,F1分数达0.701
- 服务器级预测:优化阈值0.6时,F1分数达0.419
📌 提示:由于机器学习模型的随机性,每次运行结果可能会略有不同。
🚀 快速上手:安装与使用指南
环境准备
确保系统已安装Python 3.6或更高版本,然后克隆项目并安装依赖:
git clone https://gitcode.com/openeuler/hbm-predictor cd hbm-predictor pip3 install -r requirements.txt运行预测模型
预测模块位于prediction目录下,包含四个核心文件:
prediction_performance.py:测试HBM预测器性能diff_model.py:不同模型对比实验diff_observation_window.py:观测窗口大小影响实验diff_prediction_window.py:预测窗口大小影响实验
以测试预测性能为例,执行以下命令:
cd prediction python3 prediction_performance.py运行后将在控制台输出各层级预测结果,并将详细数据保存至data/processed_data/result目录下的CSV文件中。
📁 项目结构解析
项目代码组织清晰,主要分为分析和预测两大模块:
分析模块(analyses)
analyses目录包含9个分析不同错误特征的代码文件,深入探索HBM故障模式:
avg_temp_distribution.py:平均温度分布分析ce_storm_machine.py:CE错误风暴分析dataset_analyze.py:数据集总体分析error_mode.py:错误模式分析max_temp_distribution.py:最高温度分布分析power_impact.py:功率影响分析spatial_locality.py:空间局部性分析structure_impact.py:结构影响分析time_between_error.py:错误间隔时间分析
预测模块(prediction)
prediction目录包含4个预测相关文件,实现了分层预测功能:
prediction_performance.py:预测性能测试diff_model.py:不同模型比较diff_observation_window.py:观测窗口差异实验diff_prediction_window.py:预测窗口差异实验
📚 引用与学术交流
如果您在研究中使用了本项目的数据集或代码,请引用我们的论文:
@inproceedings {298591, author = {Ronglong Wu and Shuyue Zhou and Jiahao Lu and Zhirong Shen and Zikang Xu and Jiwu Shu and Kunlin Yang and Feilong Lin and Yiming Zhang}, title = {Removing Obstacles before Breaking Through the Memory Wall: A Close Look at {HBM} Errors in the Field}, booktitle = {2024 USENIX Annual Technical Conference (USENIX ATC 24)}, year = {2024}, isbn = {978-1-939133-41-0}, address = {Santa Clara, CA}, pages = {851--867}, url = {https://www.usenix.org/conference/atc24/presentation/wu-ronglong}, publisher = {USENIX Association}, month = jul }HBM Predictor项目为HBM可靠性研究提供了宝贵的实践经验和开源工具,期待与学术界和工业界的同仁共同推动HBM技术的发展与应用!
【免费下载链接】hbm-predictorthis project is an in-depth>项目地址: https://gitcode.com/openeuler/hbm-predictor
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
