1 / 41

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

硕士开题报告. 面向科学计算的 用户级检查点系统. 学生:张福玺 导师:赵晓芳 高性能中心操作系统组 2011 年 3 月 15 日. 大纲. 研究背景与意义 国内外研究现状分析 研究目标和内容 关键问题及拟解决的方法 预期研究成果及创新之处 已有工作基础 研究计划及预期进展 参考文献. 大纲. 研究背景与意义 国内外研究现状分析 研究目标、内容 关键问题及拟解决的方法 预期研究成果及创新之处 已有工作基础 研究计划及预期进展 参考文献. 研究背景与意义. 科学计算离不开 HPC

vaughan
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年3月15日

  2. 大纲 • 研究背景与意义 • 国内外研究现状分析 • 研究目标和内容 • 关键问题及拟解决的方法 • 预期研究成果及创新之处 • 已有工作基础 • 研究计划及预期进展 • 参考文献

  3. 大纲 • 研究背景与意义 • 国内外研究现状分析 • 研究目标、内容 • 关键问题及拟解决的方法 • 预期研究成果及创新之处 • 已有工作基础 • 研究计划及预期进展 • 参考文献

  4. 研究背景与意义 • 科学计算离不开HPC • 对于绝大多数具有挑战性的科学问题,超级计算机是获得新认识和解决问题的关键。 • 科学计算需要高可扩展、可不断升级的超级计算机系统来帮助完成实际的大规模计算。 • 科学模拟需要更强的并行计算能力,才能解决更大的问题、获得更精确的结果。诸如制造更好的药物,宇宙大爆炸后元素如何形成等问题需要上百万次的迭代过程,需要强大的并行计算能力。 • 迈入千万亿次科学计算时代

  5. 研究背景与意义 • 实例1 • Jaguar(2010.11 Top500 Rank2) • 模拟从地表产生的二氧化碳在大气中聚集的过程 • 实例2 • Jaguar(2010.11 Top500 Rank2) • 核聚变 • 模拟电波向里传播加热聚变等离子

  6. 研究背景与意义 • 实例3 • Franklin(2010.11 Top500 Rank26) • 32,000 processors • 模拟超新星

  7. 研究背景与意义 • 千万亿次科学计算的特点 • 计算问题的规模巨大 • 以20%的并行效率估计,千万亿次级应用的并行度要达到20万以上的计算核 • 计算机体系结构非常复杂 • 包含上万个结点,每个结点包含多个处理器,每个处理器包含多核或众核 • 千万亿次超级计算机系统平均无故障运行时间将缩短到以几小时计 • 只有容错的程序才能完成计算 • 需要高效的动态负载平衡支持 • 自适应网格方法(Adaptive Mesh Refinement)

  8. 研究背景与意义 • 千万亿次科学计算对检查点技术的挑战 • 高可扩展性 • 上万结点,十万甚至几十万的计算核 • 超多计算进程并行检查点 • 系统全局一致性 • 支持负载平衡的并行架构 • 检查点的同时进行高效动态负载平衡 • 海量检查点数据管理 • 海量数据周期性的写操作与突发性的读操作 • 海量数据在存储系统中的组织

  9. 研究背景与意义 • 用户级实现的优势 • 系统级实现高度依赖硬件平台和操作系统 • 可在不同的平台重启应用执行 • 需要保存的数据明显少于系统级实现 • 应用级检查点数据几兆字节(megabytes) • 完整的系统级检查点数据几万亿字节(terabytes) (IBM Blue Gene,蛋白质折叠应用) • 系统级无法满足负载平衡数据迁移的需求

  10. 研究背景与意义 • 目前已有许多检查点容错系统,但是这些系统主要针对通用的计算程序,缺乏专门对大规模科学计算的高效容错支持 • 提高曙光6000在大规模科学计算应用方面的容错性能

  11. 大纲 • 研究背景与意义 • 国内外研究现状分析 • 研究目标、内容 • 关键问题及拟解决的方法 • 预期研究成果及创新之处 • 已有工作基础 • 研究计划及预期进展 • 参考文献

  12. 国内外研究现状分析 • Cornell Checkpointing Compiler(C3) • 面向共享内存程序,OpenMP • 半自动化用户级检查点系统 • 程序调用函数potentialCheckpoint() • 编译器植自动入保存和重启进程状态的代码

  13. 国内外研究现状分析 • C3检查点协议 • 阻塞、协作式 • 每个线程调用一次barrier • 线程保存各自的状态,线程0还要保存系统共享的状态 • 每个线程再调用一次barrier

  14. 国内外研究现状分析 • Dome(Distributed object migration environment) • 基于PVM,SPMD • 不透明、用户级检查点 • 提供两个类:dVector和dScalar

  15. 国内外研究现状分析 • Dome • 根据运行时各结点的计算量,动态负载平衡 • 初始时将数据平均分到每个处理器 • 记录每个处理器处理计算的时间 • 负载平衡阶段:同步Dome程序,对比各处理器用于计算的时间 • 基于比较的结果重新分配数据,数据只传输给相邻处理器 • 全局:依据所有处理器的计算时间做出决策 • 本地:相邻处理器之间交互计算时间信息

  16. 国内外研究现状分析 • Libckpt • 用户级检查点 • 增量检查点、写时复制检查点 • 用户定制的检查点 • 可定制要保存的检查点内容 • exclude_bytes(char *addr, int size, int usage) • 程序指定可进行检查点的位置(同步检查点) • checkpoint_here()

  17. 国内外研究现状分析 • Zoltan • 针对动态模拟类应用、并行分割、负载平衡、数据管理 • 面向数据对象、对于具体的数据结构中立 • 提供多类的并行动态分割算法 • 支持重新分割后数据自动迁移 • 采用分布式目录的方式管理数据信息

  18. 国内外研究现状分析 • Zoltan整体流程

  19. 国内外研究现状分析 • 存储时间开销分析(Buffer)

  20. 国内外研究现状分析 • 存储时间开销分析(Copy-on-write)

  21. 国内外研究现状分析 • 存储时间开销分析(Fork)

  22. 大纲 • 研究背景与意义 • 国内外研究现状分析 • 研究目标、内容 • 关键问题及拟解决的方法 • 预期研究成果及创新之处 • 已有工作基础 • 研究计划及预期进展 • 参考文献

  23. 研究目标 • 扩展性 • 压力测试规模达到6000结点以上 • 对于MPI实现透明 • 不修改MPI实现 • 支持多种MPI实现 • 支持由应用语义定义的负载平衡 • 支持各类的负载平衡算法 • 支持以不同于检查点时的进程数重启 • 检查点/重启时自动数据迁移 • 高效检查点数据存储 • 保证海量检查点数据的可靠存储 • 减少检查点文件大小,减少IO带宽对检查点性能的影响 • 检查点数据读写对应用性能的影响控制在1%以内 • 简单易用的用户接口

  24. 研究内容 • 检查点时系统一致性算法 • 符合科学计算特点的高效的检查点同步算法 • 支持负载平衡的机制 • 检查点/重启时自动迁移数据 • 检查点数据存储管理 • 快速高效的IO处理 • 海量文件与数据的管理

  25. 大纲 • 研究背景与意义 • 国内外研究现状分析 • 研究目标、内容 • 关键问题及拟解决的方法 • 预期研究成果及创新之处 • 已有工作基础 • 研究计划及预期进展 • 参考文献

  26. 关键问题及拟解决的方法 • 超多计算进程并行执行检查点 • 触发检查点的时机 • 大规模科学计算中许多问题的解决,最终归结为采用迭代法求解大型稀疏线性方程组 • 同一轮迭代结束时,系统处于全局一致 • 对于应用的一次检查点,由于进程推进速度不同,每个进程的检查点时刻不可预见 • 无需负载平衡时,每个进程可独立做检查点 • 有负载需求时,需全局同步后,再做检查点 • 写检查点文件与应用计算并行进行

  27. 关键问题及拟解决的方法 • 支持负载平衡的机制 • 针对科学计算的特点 • 面向数据的负载平衡 • 根据应用场景的不同,算法由应用定义 • 应用注册用于分析数据的算法 • 检查点/重启时,根据所定义的算法将各MPI进程数据重新划分成平衡的数据分布 • 传输不平衡数据,使得应用重新处于负载均衡状态

  28. 关键问题及拟解决的方法 • 支持负载平衡的机制(重启) • 重启进程数(Pr)可不同于检查点时的进程数(Pc) • 当Pr>Pc时,rank号大于Pc的进程不读入检查点数据,其计算数据在负载平衡数据传输时由其它进程传入 • 当Pr<Pc时,进程读入所有rank_old%Pr等于其rank号的检查点数据,然后通过负载平衡传输数据(rank_old指检查点时进程的rank号)

  29. 关键问题及拟解决的方法 • 负载平衡时机(检查点) • 调用检查点之后 • 写检查点数据之前 P0 P1 P2 checkpoint() checkpoint() checkpoint() barrier(全局一致性) 负载平衡分析 负载平衡分析 负载平衡分析 负载平衡 数据传输 负载平衡 数据传输 负载平衡 数据传输 barrier(全局一致性) 进程继续执行 进程继续执行 进程继续执行

  30. 关键问题及拟解决的方法 • 负载平衡时机(重启) • 由应用触发重启 • 动态组织重启数据 • 分析进程数的变化 • 利用负载平衡算法重新划分数据 • 将负载平衡后的数据作为实际的重启数据交给各进程 P0 P1 P2 restart() restart() restart() 负载平衡分析 负载平衡分析 负载平衡分析 负载平衡 数据传输 负载平衡 数据传输 负载平衡 数据传输 barrier(全局一致性) 重启完成 重启完成 重启完成

  31. 关键问题及拟解决的方法 • 高效的全局同步协议 • 关乎到整个系统的性能 • 超多计算进程之间同步,避免大量的消息通信 • 负载平衡分析之前需全局同步 • 重启时,所有进程可继续运行之前需全局同步 • 负载平衡时,数据传输完成需全局同步 • 由结点内同步和结点间同步共同构成 • 结点内同步 • 每个结点统计本结点上进程的执行同步情况 • 本结点内所有进程完成同步之后,通知管理结点 • 结点间同步 • 管理结点收到所有结点的通知后,全局同步完成

  32. 关键问题及拟解决的方法 • 检查点数据存储管理 • 大量进程在同一时间段内并发的写数据 • 先将数据写入内存 • 相对较长间隔后台存入稳定存储 • 海量的检查点数据去冗余、压缩/解压缩 • 不同进程之间的检查点数据存在冗余 • 科学模拟应用在运行一段时间后,数据趋于收敛,进程之间的检查点数据冗余更为突出 • 对去冗余之后的检查点数据进行压缩,减少检查点文件大小,降低IO带宽对检查点性能的影响 • 使用专为检查点设计的文件系统

  33. 大纲 • 研究背景与意义 • 国内外研究现状分析 • 研究目标、内容 • 关键问题及拟解决的方法 • 预期研究成果及创新之处 • 已有工作基础 • 研究计划及预期进展 • 参考文献

  34. 预期成果及创新之处 • 预期成果 • 用户级检查点系统 • 应用编程接口 • 大规模环境下用户级检查点高效同步机制 • 支持应用定义的负载平衡机制 • 集成检查点数据存储管理 • 创新之处 • 以数据为中心的检查点 • 面向科学计算的检查点 • 支持应用定义的负载平衡机制

  35. 大纲 • 研究背景与意义 • 国内外研究现状分析 • 研究目标、内容 • 关键问题及拟解决的方法 • 预期研究成果及创新之处 • 已有工作基础 • 研究计划及预期进展 • 参考文献

  36. 已有工作基础 • 调研了各类检查点实现技术 • 调研了大规模科学计算的编程模型特点 • 完成系统的详细设计

  37. 大纲 • 研究背景与意义 • 国内外研究现状分析 • 研究目标、内容 • 关键问题及拟解决的方法 • 预期研究成果及创新之处 • 已有工作基础 • 研究计划及预期进展 • 参考文献

  38. 研究计划及预期进展 • 2011/03 • 用户接口实现 • 2011/04-2011/05 • 检查点同步机制的实现 • 2011/06-2011/07 • 负载平衡机制的实现 • 2011/08-2011/09 • 实现检查点数据存储管理与故障自动检测 • 2011/10-2011/12 • 测评与整体优化 • 2012/01-2012/04 • 论文

  39. 大纲 • 研究背景与意义 • 国内外研究现状分析 • 研究目标、内容 • 关键问题及拟解决的方法 • 预期研究成果及创新之处 • 已有工作基础 • 研究计划及预期进展 • 参考文献

  40. 参考文献 • http://www.top500.org • http://www.scientificcomputing.com • Bronevetsky, G., et al., Application-level checkpointing for shared memory programs, In Conference on Architectural Support for ProgrammingLanguages and Operating Sys-tems (ASPLOS). 2004:Boston, MA, USA. p. 235-247. • E. N. M. Elnozahy, L. Alvisi, Y.-M. Wang, and D. B. Johnson. A survey of rollback-recovery protocols in message passing systems. ACM Comput. Surv., 34(3):375–408, 2002. • J. S. Plank. An Overview of Checkpointing in Uniprocessor and Distributed Systems, Focusing on Implementation and Performance. Technical Report UT-CS-97-372, Dept. of Computer Science, University of Tennessee, July 1997. • J. Duell, P. Hargrove, and E. Roman. The design and implementation of Berkeley Lab’s linux checkpoint/restart. Technical Report LBNL-54941, Lawrence Berkeley National Lab, 2003. • A. Beguelin, E. Seligman, and P. Stephan, Application Level Fault Tolerance in Heterogeneous Networks of Workstations. J. Parallel and Distributed Computing, vol. 43, no. 2, pp. 147-155, June 1997. • E. Roman. A Survey of Checkpoint/Restart Implementations. Technical Report LBNL-54942, Lawrence Berkeley National Laboratory, July 2002. • P. H. Hargrove and J. C. Duell. Berkeley Lab Checkpoint/Restart (BLCR) for Linux Clusters. • W. Huang, G. Santhanaraman, H. -W. Jin, Q. Gao, and D. K. Panda. Design of High Performance MVAPICH2: MPI2 over InfiniBand. • Q. GAO, W. YU, W. HUANG, and D. K. PANDA. Application-Transparent Checkpoint/Restart for MPI Programs over InfiniBand. • J. Hursey, J. M. Squyres, T. I. Mattox, A. Lumsdaine. The Design and Implementation of Checkpoint/Restart Process Fault Tolerance for Open MPI. • S. Sankaran, J. M. Squyres, B. Barrett, and A. Lumsdaine. The LAM/MPI Checkpoint/Restart Framework: System-Initiated Checkpointing. • M. Chandy and L. Lamport, Distributed Snapshots: Determining Global States of Distributed Systems. ACM Trans. Computing Systems, vol. 3, no. 1, pp. 63-75, Aug. 1985. • J. S. Plank, M. Beck, G. Kingsley, and K. Li.. Libckpt: Transparent Checkpointing Under UNIX. Conference Proceedings, Usenix Winter 1995. Technical Conference, pages 213-223. January 1995. • A.Baratloo, P.Dasgupta, and Z.M.Kedem. CALYPSO: A novel software system for fault-tolerant parallel processing on distributed pltforms. In 4th IEEE International Symposium on High Performance Distributed Computing, August 1995. • G. Deconinck ,  J. Vounckx ,  R. Lauwereins ,  J. A. Peperstraete.A User-Triggered Checkpointing Library for Computation-Intensive Applications. In Proceedings of 7th IASTED-ISMM International Conference On Parallel and Distributed Computing and Systems, 1995.

  41. 谢谢!

More Related