摘要近些年来随着科技的不断发展,越来越多的计算机系统开始采用各类型加速器,其中FPGA做为可编程的硬件加速器可以提供非常卓越的性能提升。而另一方面,高性能网络技术在各类型集群和云系统中开始采用。RDMA(Remote Direct Memory Access)作为一种高速网络,可以提供高带宽与低时延。本文在基于RDMA性能研究的基础上提出一种基于RDMA和FPGA的云系统原型,使得FPGA能够在云系统中通过RDMA网络得以高效地远程虚拟化,并按需提供给用户使用。系统的原型在基于OpenStack的云系统中初步实现,初步的实验和结果表明,利用RDMA实现FPGA的远程虚拟化不仅是可行的,并且能够提供潜在的高性能的用户服务。28081
关键词 RDMA;云系统;FPGA;加速器;虚拟化 毕业论文设计说明书外文摘要
Title A Cloud System Based on RDMA and FPGA
Abstract
In recent years, more and more computing systems are deploying some kind of accelerators. FPGA, as a programmable hardware accelerator, has significantly boosted the overall performance of the cloud system. At the meantime, RDMA (Remote Direct Memory Access),a high performance network, provide service to users with high throughput and low latency . Based on basic RDMA measurement study on multiple tenants, we describe a mechanism for virtualizing remote FPGA resources in the cloud using RDMA network, enabling the transfer of data between heterogeneous computing nodes in the cloud with high throughput and low latency. The prototype system has been implemented in IBM CRL OpenStack-based cloud system. Preliminary experimental results demonstrate not only the feasibility of deployment of FPGA and RDMA in the cloud system, but also the effectiveness and potential usefulness of the services to users.
Keywords: Remote Direct Memory Access (RDMA), Field Programmable Gate Arrays (FPGA), Cloud System, Accelerator and Virtualization.
目 次
1 引言 1
1.1 理论方案 2
1.2 技术挑战 2
1.3 论文组织 3
2 背景知识和核心技术 4
2.1 云计算和云系统 4
2.2 加速器 4
2.3 FPGA可编程逻辑门阵列 6
2.4 RDMA远程内存直接访问 6
3 应用FPGA的云系统 8
3.1 云系统中的FPGA 8
3.2 FPGA本地虚拟化 10
3.3 FPGA本地虚拟化的设计方案 10
3.4 方案实现 11
3.4.1 硬件层 11
3.4.2 管理程序层 12
3.4.3 库层 13
3.4.4 应用程序层 13
3.4.5 系统界面 14
4 使用RDMA的FPGA云系统 15
4.1 远程使用FPGA的现实意义 15
4.2 基于RDMA远程数据传输的FPGA云系统 15
4.3 FPGA资源调度 16
4.4 RPC通信 17
4.5 RDMA数据传输 19
4.6 使用FPGA加速器 24
5 性能评估与优化 26
5.1 性能评估 26
5.1.1 实验环境 26