1 / 27

面向科学 计算的 用户级检查点系统

硕士中期考核. 面向科学 计算的 用户级检查点系统. 学生:张福玺 导师:赵晓芳 高性能中心操作系统组 2011 年 12 月 13 日. 提纲. 学位论文研究情况 已 取得的阶段性成果 下一步工作 计划 课程完成 情况. 提纲. 学位论文研究情况 已 取得的阶段性成果 下一步工作 计划 课程完成 情况. P 级系统. 随着系统规模的迅速增长, MTTI 也迅速降低.

ollie
Download Presentation

面向科学 计算的 用户级检查点系统

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 硕士中期考核 面向科学计算的用户级检查点系统 学生:张福玺 导师:赵晓芳 高性能中心操作系统组 2011年12月13日

  2. 提纲 • 学位论文研究情况 • 已取得的阶段性成果 • 下一步工作计划 • 课程完成情况

  3. 提纲 • 学位论文研究情况 • 已取得的阶段性成果 • 下一步工作计划 • 课程完成情况

  4. P级系统 • 随着系统规模的迅速增长,MTTI也迅速降低 C. Engelmann and S.L. Scott: Reliability, Availability, and Serviceability (RAS) for Petascale High-End Computing and Beyond

  5. 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.

  6. 开题以来的相关研究进展 • 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

  7. 提纲 • 学位论文研究情况 • 已取得的阶段性成果 • 下一步工作计划 • 课程完成情况

  8. 系统框架 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 PPS FS (HDFS) 数据流 控制流

  9. 系统框架 • 功能/模块划分 • 全局控制器gctrl • 检查点操作时结点间全局同步 • 全局状态(应用状态、结点状态)监测 • 故障监测与自动重启触发 • 本地控制器dcrd • 管理本结点上运行的应用进程 • 执行gctrl下发的命令(通知进程执行检查点、重启等) • 用户函数库libdcr3 • 为应用提供编程接口(初始化、检查点、重启等) • 同步、存取数据操作等

  10. 扩展性问题 • 应用负责通信一致性,选择系统处于一致的时刻触发检查点操作 • 全局一个管理进程(gctrl),每个结点一个本地管理进程(dcrd) • dcrd负责结点内的进程管理与信息收集 • gctrl管理所有的dcrd • 控制信息分级传输,仅由gctrl传输给dcrd,dcrd之间无信息传输 • 每个管理进程均维护一个消息队列 • 控制信息传输采用频外传输,独立于MPI环境 • 数据传输在应用运行时的MPI环境下进行 • 控制命令消息简短(100字节以内)、处理简单(注册、查询等),可保证检查点系统在大规模系统下亦能有良好的性能

  11. 自动化检查点框架 • 应用运行时故障检测 • 注册进程 • 广播查询 • 进程状态(NULL信号) • 回复gctrl • 检测完成 • 回复超时为结点故障 dcrd MPI进程 gctrl dcrd MPI进程 dcrd MPI进程

  12. 自动化检查点框架 • 自动重启 • dcrd故障检测回复超时为结点故障 • 对于非结点故障,重启的进程将继续运行在原结点上 • 对于结点故障,选用后备结点替代故障结点,重启的进程将迁移到替代结点上 • 当可用计算核数不足时,将无法自动重启

  13. 自动化检查点框架 gctrl dcrd dcrd dcrd dcrd dcrd MPI进程 MPI进程 MPI进程 MPI进程 MPI进程 PPS FS(HDFS)

  14. 自动化检查点框架 • 检查点系统自身的容错 • 系统部署 • gctrl读入结点列表文件 • gctrl启动各结点dcrd • 运行时加入新的dcrd • 新dcrd向结点列表文件中逻辑相邻的结点查询gctrl所在 • 向gctrl发出请求加入 • gctrl回复

  15. 自动化检查点框架 • 检查点系统自身的容错 • 运行时检测 • gctrl状态 • watchdog监视运行状态 • 日志文件保存gctrl运行时的信息(所有dcrd结点、检查点序号等) • dcrd状态 • watchdog监视运行状态 • gctrl定期广播查询 • 日志文件保存dcrd运行时信息

  16. 自动化检查点框架 • 检查点系统自身的容错 • 故障处理 • watchdog发现gctrl异常崩溃 • 重启gctrl,读入保存的日志以恢复以前的状态 • dcrd回复超时 • gctrl将对应结点标记为坏结点 • watchdog发现dcrd异常崩溃 • 重启dcrd • 通知gctrl,本dcrd从故障中恢复 • gctrl将对应结点标记设为好结点 • 应用执行检查点时,gctrl或dcrd异常崩溃 • 本次检查点会失败 • gctrl恢复之后将启动应用自动重启流程 dcrd dcrd gctrl dcrd dcrd dcrd

  17. 检查点数据存储管理 • 采用写时复制(COW),非阻塞式检查点,检查点数据保存与应用的继续执行在时间上重叠 • 采用高效快速的压缩算法(snappy),将检查点数据保存之前在线压缩,降低IO带宽对检查点性能的影响 • 自动垃圾回收,只保存最新的检查点数据 • 使用HDFS作为保存检查点数据的文件系统(N模冗余,分布式存储)

  18. 检查点整体流程 检查点开始 0号MPI进程 保存本次检查点信息 (版本信息、 总MPI进程数、 第n次检查点等) 压缩检查点数据 (snappy) 是否有负载平衡? 是 子进程退出 否 负载平衡 数据处理 保存压缩后的数据 调用fork() 父进程返回继续执行计算 子进程保存检查点数据 检查点结束

  19. 用户编程接口 • int dcr3_init(const char *app_string) • int dcr3_lbpre(int *(*lbpre_cb)(char **ckpt_data, int *data_len, int data_num)) • 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)

  20. 已完成的测试结果 • 模拟网络环境下(一个结点上运行多个dcrd),完成对上千结点规模的应用检查点扩展性测试 • 完成存储管理的功能测试 • 检查点数据的在线压缩存储与读取 • 垃圾数据的自动回收 • 重启时,检查点数据的自动迁移 • 完成自动化检查点框架功能性测试 • 软件故障以及结点故障识别 • 故障时自动重启应用 • 检查点系统自身的容错性

  21. 部分测试结果 • msFEM(有限元分析) 5结点、32进程

  22. 部分测试结果 • msFEM(有限元分析) 5结点、32进程

  23. 提纲 • 学位论文研究情况 • 已取得的阶段性成果 • 下一步工作计划 • 课程完成情况

  24. 下一步工作计划 • 更大规模系统下可扩展性测试 • 完善测试数据 • 撰写学位论文

  25. 提纲 • 学位论文研究情况 • 已取得的阶段性成果 • 下一步工作计划 • 课程完成情况

  26. 课程完成情况 • 总学分34.5,学位课19学分 • 部分课程 • 英语A • 排队论 • 高性能计算机系统 • 编译程序高级教程 • 主流操作系统技术与实践 • 分布式操作系统 • 并行处理 • 高性能并行计算

  27. 谢谢!

More Related