基于内存的轻量级分布式计算引擎的设计与实现
摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
第一章 引言 | 第11-15页 |
1.1 研究背景 | 第11-12页 |
1.2 国内外研究现状 | 第12-13页 |
1.3 工作内容及特色 | 第13页 |
1.4 结构安排 | 第13-15页 |
第二章 理论基础与典型系统 | 第15-25页 |
2.1 传统计算模型方案 | 第15-18页 |
2.1.1 串行化计算 | 第15页 |
2.1.2 并发计算 | 第15-16页 |
2.1.3 并行计算 | 第16-18页 |
2.1.4 分布式计算 | 第18页 |
2.2 典型系统分析 | 第18-24页 |
2.2.1 MapReduce | 第19-20页 |
2.2.2 Spark | 第20-21页 |
2.2.3 Graphlab | 第21-23页 |
2.2.4Mesos | 第23-24页 |
2.3 本章小结 | 第24-25页 |
第三章 关键技术和设计要点 | 第25-35页 |
3.1 分布式内存数据集 | 第25-26页 |
3.2 执行计划 | 第26-33页 |
3.2.1 任务的延迟执行 | 第29-30页 |
3.2.2 并行执行 | 第30-31页 |
3.2.3 引用计数 | 第31页 |
3.2.4 数据本地性和Merge操作的优化 | 第31-33页 |
3.3 容错机制 | 第33-34页 |
3.4 本章小结 | 第34-35页 |
第四章 基于内存的轻量级分布式计算引擎的设计 | 第35-55页 |
4.1 应用场景和设计目标 | 第35-36页 |
4.2 系统架构设计 | 第36-39页 |
4.2.1 总控节点 | 第37-38页 |
4.2.2 执行单元 | 第38页 |
4.2.3 业务控制单元 | 第38-39页 |
4.2.4 业务执行模块 | 第39页 |
4.3 系统主要流程设计 | 第39-45页 |
4.3.1 安装业务系统时序 | 第39-40页 |
4.3.2 启动计算任务时序 | 第40-42页 |
4.3.3 计算任务执行时序 | 第42-43页 |
4.3.4 终止计算任务时序 | 第43-44页 |
4.3.5 EU出错处理时序 | 第44页 |
4.3.6 EU与Master维持心跳时序 | 第44-45页 |
4.4 分布式计算主要操作流程设计 | 第45-54页 |
4.4.1 InitialDataSet操作流程 | 第45-46页 |
4.4.2 Map操作流程 | 第46-48页 |
4.4.3 Shuffle操作流程 | 第48-50页 |
4.4.4 Merge操作流程 | 第50-52页 |
4.4.5 Reduce操作流程 | 第52-54页 |
4.5 本章小结 | 第54-55页 |
第五章 基于内存的轻量级分布式计算引擎的实现 | 第55-65页 |
5.1 基础I/O库 | 第55-58页 |
5.1.1 基础通信库 | 第55-57页 |
5.1.1.1 通信触发模型选型 | 第55-56页 |
5.1.1.2 网络通信协议 | 第56-57页 |
5.1.2 线程池模型 | 第57-58页 |
5.2 总控节点(Master)总体架构 | 第58-59页 |
5.3 执行单元(EU)总体架构 | 第59-60页 |
5.4 业务控制单元(BC)总体架构 | 第60-61页 |
5.5 实现类图 | 第61-64页 |
5.5.1 基础通信库的实现 | 第61-62页 |
5.5.2 线程池模型实现 | 第62页 |
5.5.3 线程同步的实现 | 第62-63页 |
5.5.4 定时器模块实现 | 第63-64页 |
5.5.5 Master与客户端的业务处理实现 | 第64页 |
5.6 本章小结 | 第64-65页 |
第六章 系统测试与结果分析 | 第65-74页 |
6.1 测试环境 | 第65页 |
6.2 系统功能测试 | 第65-69页 |
6.2.1 测试的业务系统介绍 | 第65-67页 |
6.2.2 安装业务系统 | 第67页 |
6.2.3 启动业务系统 | 第67-68页 |
6.2.4 容错恢复 | 第68-69页 |
6.3 性能测试 | 第69-73页 |
6.3.1 对比系统部署 | 第70页 |
6.3.2 计算性能对比 | 第70-72页 |
6.3.3 调度性能对比 | 第72-73页 |
6.4 本章小结 | 第73-74页 |
第七章 总结与展望 | 第74-75页 |
致谢 | 第75-76页 |
参考文献 | 第76-79页 |
硕士期间科研成果 | 第79-80页 |