240 likes | 351 Views
硕士中期考核. 面向科学 计算的 用户级检查点系统. 学生:张福玺 导师:赵晓芳 高性能中心操作系统组 2011 年 12 月 13 日. 提纲. 学位论文研究情况 已 取得的阶段性成果 下一步工作计划 课程完成 情况. 提纲. 学位论文研究情况 已 取得的阶段性成果 下一步工作计划 课程完成 情况. P 级系统. 随着系统规模的迅速增长, MTTI 也迅速降低.
E N D
硕士中期考核 面向科学计算的用户级检查点系统 学生:张福玺 导师:赵晓芳 高性能中心操作系统组 2011年12月13日
提纲 • 学位论文研究情况 • 已取得的阶段性成果 • 下一步工作计划 • 课程完成情况
提纲 • 学位论文研究情况 • 已取得的阶段性成果 • 下一步工作计划 • 课程完成情况
P级系统 • 随着系统规模的迅速增长,MTTI也迅速降低 C. Engelmann and S.L. Scott: Reliability, Availability, and Serviceability (RAS) for Petascale High-End Computing and Beyond
P级规模下检查点 • P级系统,无优化的情况下,一次检查点操作耗时将达到30分钟! Compute nodes 40 to 200 GB/s Parallel file system (1 to 2 PB) Total memory: 100-200 TB Network(s) I/O nodes 1000 sec. < Ckpt < 2500 sec.
开题以来的相关研究进展 • SRS(Stop Restart Software) • providing an easy-to-use checkpointing library that allows reconguration of parallel applications. • allowing checkpoint data to be ported across heterogeneous machines • providing migration of the application across locations that do not share common file systems without requiring the user to migrate data
提纲 • 学位论文研究情况 • 已取得的阶段性成果 • 下一步工作计划 • 课程完成情况
系统框架 process i process i process i libdcr3 libdcr3 libdcr3 libdcr3 libdcr3 libdcr3 node A node B node X MPI MPI MPI MPI MPI MPI process j process j process j • 为应用提供编程接口 • 同步、存取数据等操作 dcrd dcrd dcrd kernel kernel kernel • 管理本结点的应用进程 • 执行gctrl下发命令 gctrl • 全局同步 • 全局状态监测 • 故障监测与自动重启触发 PPS FS (HDFS) 数据流 控制流
系统框架 • 应用负责通信一致性 • 控制信息分级传输 • 仅由gctrl传输给dcrd,dcrd之间无信息传输 • 控制信息传输采用频外传输 • 独立于MPI环境 • 数据传输在应用运行时的MPI环境下进行 • 控制命令消息简短、处理简单
自动化检查点框架 • 运行时故障检测 • 自动重启 • 检查点系统自身的容错
自动化检查点框架 • 运行时故障检测 1.注册进程 注册进程 dcrd 2.定期广播查询 gctrl定期广播查询 4.回复gctrl MPI进程 3.进程状态 正常回复 进程异常崩溃 dcrd查看本地进程状态 gctrl dcrd 是否有进程异常崩溃? MPI进程 是 否 回复结点正常 回复超时为结点故障 dcrd MPI进程 回复结点异常
自动化检查点框架 选用后备结点替代故障结点 • 自动重启 gctrl 终止本地进程(dcrd) dcrd dcrd dcrd dcrd 重启的进程将迁移到替代结点上 当可用计算核数不足时,将无法自动重启 注销应用(gctrl) MPI进程 MPI进程 MPI进程 MPI进程 重启的进程将继续运行在原结点上 后备结点替换故障结点 设置重启参数 PPS FS(HDFS) 执行重启
自动化检查点框架 • 检查点系统自身的容错 • 初始部署:结点列表文件 • 运行时故障 • gctrl/dcrd异常崩溃 • watchdog监视运行,日志文件保存运行信息 • 重启进程,读取日志文件 • dcrd结点故障 • gctrl定期广播,故障结点被标记为坏结点 • 修复后,启动dcrd通知gctrl • gctrl结点故障 • 人工选择可用结点,重启gctrl • 故障时应用处于运行中 • 检查点时:检查点失败,应用异常退出 • gctrl触发自动重启 • 非检查点时:不影响应用运行
检查点数据存储管理 • 采用写时复制(COW),非阻塞式检查点 • 检查点数据保存与应用的继续执行在时间上重叠 • 应用定义需要做检查点的数据 • 减少检查点存储空间需求和IO阻塞 • 采用高效快速的压缩算法(snappy) • 降低IO带宽对检查点性能的影响 • 自动垃圾回收,只保存最新的检查点数据 • 使用HDFS作为保存检查点数据的文件系统 • 分布式存储 • N模冗余
检查点数据存储管理 • 检查点整体流程 检查点开始 检查点垃圾回收 保存压缩后的数据 调用fork() 父进程返回继续执行计算 子进程保存检查点数据 子进程退出 0号MPI进程 保存本次检查点信息 (版本信息、 总MPI进程数、 第n次检查点等) 压缩检查点数据 (snappy) 检查点结束
用户编程接口 • int dcr3_init(const char *app_string) • 注册应用 • int dcr3_ckpt(char **ckpt_data, int *data_len, int data_num) • 保存检查点数据(检查点) • int dcr3_rstr(int round, char ***rstr_data, int **data_len, int *data_num) • 读入检查点数据(重启) • int dcr3_finalize(void) • 注销应用
已完成的测试结果 • 模拟网络环境下(一个结点上运行多个dcrd),完成对上千结点规模的应用检查点扩展性测试 • 完成存储管理的功能测试 • 检查点数据的在线压缩存储与读取 • 垃圾数据的自动回收 • 重启时,检查点数据的自动迁移 • 完成自动化检查点框架功能性测试 • 软件故障以及结点故障识别 • 故障时自动重启应用 • 检查点系统自身的容错性
部分测试结果 • msFEM(有限元分析) 5结点、32进程 HDFS保存检查点数据时将占用一部分CPU资源,影响应用的执行
部分测试结果 • msFEM(有限元分析) 5结点、32进程 DCR3系统能有效的降低存储空间需求、IO带宽需求
提纲 • 学位论文研究情况 • 已取得的阶段性成果 • 下一步工作计划 • 课程完成情况
下一步工作计划 • 更大规模系统下可扩展性测试 • 完善测试数据 • 撰写学位论文
提纲 • 学位论文研究情况 • 已取得的阶段性成果 • 下一步工作计划 • 课程完成情况
课程完成情况 • 总学分34.5,学位课19学分 • 部分课程 • 英语A • 排队论 • 高性能计算机系统 • 编译程序高级教程 • 主流操作系统技术与实践 • 分布式操作系统 • 并行处理 • 高性能并行计算