1 / 26

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

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

kaethe
Télécharger la présentation

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

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级系统,无优化的情况下,一次检查点-重启操作需要的时间将达到1小时!(各自耗时半小时左右) 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. 系统框架 MPI 进程 MPI 进程 MPI 进程 dcrd MPI 进程 MPI 进程 MPI 进程 MPI 进程 gctrl dcrd dcrd MPI 进程 MPI 进程 dcrd MPI 进程 MPI 进程 MPI 进程

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

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

  11. 自动化检查点框架 • 应用运行时故障检测 • 应用启动时向本结点上dcrd注册 • gctrl定期向dcrd广播查询 • dcrd发送空信号检测本结点上应用进程的运行状态 • dcrd回复gctrl本结点是否所有进程均正常 • 故障出现时终止应用进程,并进行自动重启

  12. 自动化检查点框架 • 自动重启 • dcrd故障检测回复超时时,认为结点故障 • 对于结点故障,选用后备结点顶替故障结点 • 根据用户预先设置的参数重启应用,非结点故障的,重启的进程将继续运行在原结点上 • 发生结点故障的,重启进程将迁移到新顶替的结点上 • 当可用计算核数不足时,将无法自动重启

  13. 自动化检查点框架 • 检查点系统自身的容错 • 当结点故障时,自动将故障结点dcrd排除在gctrl管理范围之外 • 当新的结点可用时,dcrd将自动向系统中相邻的结点查询gctrl所在位置,然后通知gctrl有新的可用结点 • gctrl出错时需将其重启,gctrl通常运行在管理结点,避免gctrl异常导致检查点系统失效 • 检查点数据在存储介质上的容错由HDFS保证

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

  15. 支持负载平衡的机制 • 提供机制,在检查点/重启的过程中,自动完成应用数据的负载平衡 P0 P1 P2 P0 P1 P2 checkpoint() checkpoint() checkpoint() restart() restart() restart() barrier() 负载平衡分析 负载平衡分析 负载平衡分析 负载平衡分析 负载平衡分析 负载平衡分析 负载平衡 数据传输 负载平衡 数据传输 负载平衡 数据传输 负载平衡 数据传输 负载平衡 数据传输 负载平衡 数据传输 barrier() barrier() 进程继续执行 进程继续执行 进程继续执行 进程继续执行 进程继续执行 进程继续执行

  16. 控制流与数据传输 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) 数据流 控制流

  17. 用户编程接口 • 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)

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

  19. 部分测试结果 • msFEM应用(5结点、32进程、33次检查点)

  20. 部分测试结果

  21. 部分测试结果 • 检查点总数据量对比

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

  23. 下一步的工作计划和研究内容 • 更大规模系统下可扩展性测试 • 完善测试数据 • 撰写学位论文

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

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

  26. 谢谢!

More Related