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

24
面面面面面面面 面面面面面面面学学 学学学 学学 学学学 学学学学学学学学 2011 学 12 学 13 学 学学学学学学

Upload: nathaniel-rich

Post on 30-Dec-2015

179 views

Category:

Documents


10 download

DESCRIPTION

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

TRANSCRIPT

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

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

学生:张福玺导师:赵晓芳

高性能中心操作系统组2011年 12月 13日

硕士中期考核

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

提纲

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

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

提纲

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

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

P级系统

随着系统规模的迅速增长, MTTI 也迅速降低

Systems 2009 2011 2015 2018

System peak 2Peta 20Peta 100-200P 1E

System memory 0.3PB 1.6PB 5PB 10PB

Node performance 125GF 200GF 200-400GF 1-10TF

Node memory BW 25GB/s 40GB/s 100GB/s 200-400GB/s

Node concurrency 12 32 O(100) O(1000)

Interconnect BW 1.5GB/s 22GB/s 25GB/s 50GB/s

System size(nodes) 18,700 100,000 500,000 O(million)

Total concurrency 225,000 3,200,000 O(50,000,000) O(billion)

Storage 15PB 30PB 150PB 300PB

IO 0.2TB/s 2TB/s 10TB/s 20TB/s

MTTI 4days 19h4min 3h52min 1h56min

C. Engelmann and S.L. Scott: Reliability, Availability, and Serviceability (RAS) for Petascale High-End Computing and Beyond

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

P级规模下检查点

Compute nodes

Network(s)

I/O nodes

Parallel file system (1 to 2 PB)

40 to 200 GB/sTotal memory:

100-200 TB

1000 sec. < Ckpt < 2500 sec.

Systems Perf. Ckpt time Source

RoadRunner 1PF ~20 min. Panasas

LLNL BG/L 500 TF >20 min. LLNL

Argonne BG/P 500 TF ~30 min. LLNL

Total SGI Altix 100 TF ~40 min. estimation

IDRIS BG/P 100 TF 30 min. IDRIS

P 级系统,无优化的情况下,一次检查点操作耗时将达到 30 分钟!

Page 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

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

提纲

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

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

process i

process i+1

process j

系统框架

nodeA

nodeB

nodeX

gctrl

MPI 

libdcr3 

process i

kernel

node A

dcrd

 

MPI 

libdcr3

process j

MPI 

libdcr3 

process i

kernel

node B

dcrd

 

MPI

libdcr3

process j

 MPI

libdcr3 

process i

kernel

node X

dcrd

 

MPI

libdcr3

process j

数据流

控制流

PPS FS (HDFS)全局同步全局状态监测故障监测与自动重启触发

管理本结点的应用进程执行 gctrl下发命令

为应用提供编程接口同步、存取数据等操作

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

系统框架

应用负责通信一致性控制信息分级传输

仅由 gctrl传输给 dcrd, dcrd之间无信息传输控制信息传输采用频外传输

独立于MPI环境数据传输在应用运行时的 MPI 环境下进行控制命令消息简短、处理简单

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

自动化检查点框架

运行时故障检测

自动重启

检查点系统自身的容错

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

否是

自动化检查点框架

运行时故障检测

gctrl

dcrd

MPI进程

dcrd

MPI进程

dcrd

MPI进程

1.注册进程

2.定期广播查询

3.进程状态

回复超时为结点故障

进程异常崩溃

4.回复gctrl

正常回复

注册进程

gctrl定期广播查询

dcrd查看本地进程状态

是否有进程异常崩溃?

回复结点正常

回复结点异常

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

自动化检查点框架

自动重启gctrl

dcrd

MPI进程

dcrd

MPI进程

dcrd

MPI进程

dcrd

MPI进程

PPS FS(HDFS)

重启的进程将继续运行在原结点上

选用后备结点替代故障结点

重启的进程将迁移到替代结点上

当可用计算核数不足时,将无法自动重启

终止本地进程 (dcrd)

注销应用 (gctrl)

后备结点替换故障结点

设置重启参数

执行重启

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

自动化检查点框架

检查点系统自身的容错 初始部署:结点列表文件 运行时故障

gctrl/dcrd异常崩溃 watchdog监视运行,日志文件保存运行信息 重启进程,读取日志文件

dcrd结点故障 gctrl定期广播,故障结点被标记为坏结点 修复后,启动 dcrd通知 gctrl

gctrl结点故障 人工选择可用结点,重启 gctrl

故障时应用处于运行中 检查点时:检查点失败,应用异常退出

gctrl触发自动重启 非检查点时:不影响应用运行

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

检查点数据存储管理

采用写时复制 (COW) ,非阻塞式检查点 检查点数据保存与应用的继续执行在时间上重叠

应用定义需要做检查点的数据 减少检查点存储空间需求和 IO阻塞

采用高效快速的压缩算法 (snappy) 降低 IO带宽对检查点性能的影响

自动垃圾回收,只保存最新的检查点数据使用 HDFS 作为保存检查点数据的文件系统

分布式存储 N模冗余

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

检查点数据存储管理

检查点整体流程

检查点开始

调用 fork()父进程返回继续执行计算子进程保存检查点数据

压缩检查点数据(snappy)

保存压缩后的数据

0号MPI进程保存本次检查点信息

(版本信息、总MPI进程数、第 n次检查点等 )

子进程退出

检查点结束

检查点垃圾回收

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

用户编程接口

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)

注销应用

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

已完成的测试结果

模拟网络环境下(一个结点上运行多个 dcrd ),完成对上千结点规模的应用检查点扩展性测试

完成存储管理的功能测试 检查点数据的在线压缩存储与读取 垃圾数据的自动回收 重启时,检查点数据的自动迁移

完成自动化检查点框架功能性测试 软件故障以及结点故障识别 故障时自动重启应用 检查点系统自身的容错性

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

部分测试结果

msFEM( 有限元分析 ) 5 结点、 32 进程数据规模

(粒子数) 检查点方式 检查点 时间间隔 应用运行时间 性能影响

( % )1,000,000 无检查点 1h55m51s

1,000,000 DCR3(HDFS) 200s 1h59m33s 3.20 %

1,000,000 DCR3(本地存储 )

200s 1h55m34s -0.23 %

2,000,000 无检查点 3h39m5s

2,000,000 DCR3(HDFS) 400s 3h43m8s 1.84 %

2,000,000 DCR3(本地存储 )

400s 3h40m22s 0.58 %

3,000,000 无检查点 5h35m13s

3,000,000 DCR3(HDFS) 600s 5h36m10s 1.26 %

3,000,000 DCR3(本地存储 )

600s 5h31m42s -0.07 %HDFS保存检查点数据时将占用一部分 CPU资源,影响应用的执行

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

部分测试结果

msFEM( 有限元分析 ) 5 结点、 32 进程

数据规模( 粒子数 )

BLCR DCR3 数据量减少百分比

1,000,000 16,096 MB 2,720 MB 83.1 %

2,000,000 27,525 MB 5,580 MB 79.7 %

3,000,000 39,321 MB 8,288 MB 78.9 %

DCR3系统能有效的降低存储空间需求、 IO带宽需求

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

提纲

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

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

下一步工作计划

更大规模系统下可扩展性测试完善测试数据撰写学位论文

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

提纲

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

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

课程完成情况

总学分 34.5 ,学位课 19 学分部分课程

英语 A 排队论 高性能计算机系统 编译程序高级教程 主流操作系统技术与实践 分布式操作系统 并行处理 高性能并行计算

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

谢谢!