当前位置: 首页 > 专利查询>上海大学专利>正文

FPGA虚拟化部署实现高速安全的服务器集群管理方法技术

技术编号:24089920 阅读:45 留言:0更新日期:2020-05-09 07:36
本发明专利技术公开了一种基于FPGA虚拟化部署实现高速安全的服务器集群管理方法,属于高性能数据处理领域,提升中小型企业服务器集群对外部署FPGA资源的访问、编程和计算等服务的速度、可靠性、安全性,其特征在于,采用Docker容器引擎和Kubernetes集群容器编排引擎管理系统构建FPGA虚拟化部署,通过微服务的方式自动为集群外的用户提供可用的虚拟化FPGA资源,然后在用户访问虚拟化FPGA容器时,用户可以获得对FPGA硬件所有资源的访问权限,即直接使用宿主机的操作系统内核,处理海量数据,用户在使用结束后,系统能够自动释放和回收资源,以供下次资源分配使用。

A high-speed and secure server cluster management method based on FPGA virtualization deployment

【技术实现步骤摘要】
FPGA虚拟化部署实现高速安全的服务器集群管理方法
本专利技术涉及高性能数据处理领域,特别是使用FPGA虚拟化部署和调度方法,运营实验室或中小型企业服务器集群管理服务。
技术介绍
现在互联网应用产生海量的数据,数据中心对计算的需求也在迅猛上涨。诸如深度学习在线预测、直播中的视频转码、图片压缩解压缩以及HTTPS加密等各类应用对计算的需求已远远超出了传统CPU处理器的能力所及。以往半导体技术的持续演进迅速,处理器性能每18个月就能翻倍,随着半导体技术逐渐逼近物理极限,摩尔定律几近失效,电路越来越复杂,每一个设计的开发成本高达数百万美元,数十亿美元才能形成新产品投产能力。一方面处理器性能再无法按照摩尔定律进行增长,另一方面数据增长对计算性能要求超过了按“摩尔定律”增长的速度。处理器本身无法满足高性能计算(HighPerformanceCompute,HPC)应用软件的性能需求,导致需求和性能之间出现了缺口。现在对于FPGA的研究应用仍然处于起步阶段,如何将已经存在的适用于传统CPU、GPU的应用移植到FPGA,并评估和优化其在FPGA上的表现还没有成熟的技术方案。现在应用的方式是用户直接在搭载FPGA的物理机上进行高性能计算,这产生一系列问题,用户可能因为技术经验不足而发生误操作从而直接导致物理机无法正常工作,甚至危害系统安全性;多个用户同时占用同一台物理机可能导致严重的资源竞争问题,影响效率;用户通过分配IP地址的方式登录FPGA服务器并进行操作,在物理机上留下操作痕迹,从而使得整个FPGA资源管理的生命周期(分配、回收和重复利用)变得极其低效。
技术实现思路
本专利技术提供一种基于FPGA虚拟化部署实现高速安全的服务器集群管理运营方法,采用Docker容器引擎以及Kubernetes集群容器编排引擎管理系统虚拟化部署FPGA,通过微服务的方式自动为集群外的用户提供可用的虚拟化FPGA资源,然后在用户访问虚拟化FPGA容器时,用户可以获得对FPGA硬件所有资源的访问权限,即直接使用宿主机的操作系统内核,处理海量数据,用户在使用结束后,系统能够自动释放和回收资源,以供下次资源分配使用。包括以下4个实施步骤:步骤1:在本地基于Docker容器技术封装FPGA;步骤2:在本地实现虚拟化FPGA容器的安全访问;步骤3:在集群上建立基于Kubernetes集群容器编排引擎的微服务,实现FPGA资源的统一调度和管理;步骤4:实现FPGA资源的对外安全访问。实现服务器集群的高性能计算主要有两种方法,由于CPU在设计时并不追求非常强的并行运算能力,一种方法是开发专用于HPC应用的CPU架构,通过大幅度提升处理器核心数从而提升CPU的并行度,技术核心是大幅度提高线程数,但效果并不明显。现在使用的另一种方法是通过硬件加速,采用专用并行计算加速协处理器的异构计算方式来提升处理性能。图形处理器(GraphicsProcessingUnit,GPU)就是最常用的并行计算加速器,它能够针对并行任务提供远超过CPU的计算能力,但是GPU的缺点就在于功耗非常高,过高的功耗给服务器集群的设计和维护带来了非常高的考验。本专利技术专利采用Docker容器引擎以及Kubernetes集群容器编排引擎实现了FPGA虚拟化部署,通过可重构架构的异构计算方法实现服务器集群的高速安全数据处理,FPGA计算部件替代GPU芯片作为高性能计算的加速器,将FPGA的优势(较高的性能、较大的灵活性、较低的功耗特性、天生的容错特性等)充分发挥出来。本专利技术专利采用的技术方案如设计流程示意图1所示,首先,在本地实现基于Docker容器引擎封装FPGA,设计出容器内封装FPGA资源的方法,在容器交互式环境下实现对FPGA的访问、编程和运行程序等操作;其次,基于SSH提出在本机上实现对FPGA容器的容器外安全访问方法;然后,根据生成的容器镜像,设计基于Kubernetes集群容器编排引擎的微服务,实现了FPGA资源的统一调度和管理;最后,提出了基于KubernetesServiceNodePort的FPGA资源对外安全访问方法。Docker开源容器引擎基于可移植的容器镜像可以实现应用的快速虚拟化部署,在本专利技术步骤1在本地基于Docker容器技术封装FPGA的工作,可分解为4个子步骤来实现,分别如下:子步骤11:在容器内安装支持FPGA的必要组件;子步骤12:在容器内挂载包括驱动程序、编译和开发环境在内的所有FPGA开发资源;子步骤13:在容器内挂载FPGA设备;子步骤14:制作容器镜像,在容器内访问FPGA。本专利技术步骤2在本地实现虚拟化FPGA容器的安全访问的工作,可分解为4个子步骤来实现,分别如下:子步骤21:在虚拟化FPGA容器内安装对外SSH访问服务openssh-server;子步骤22:设置访问用户权限;子步骤23:开放容器对外访问端口;子步骤24:制作容器镜像,在物理机上实现访问容器内部的FPGA。通过这些子步骤,可以在步骤2实现,在访问虚拟化FPGA容器时,用户可以获得对FPGA硬件所有资源的访问权限,且对容器的操作不会影响到本地服务器的操作系统。Kubernetes集群容器编排引擎是由Google开源的基于Docker容器引擎的集群容器编排引擎。可以实现应用在集群上的高效多实例部署,并通过内置的负载均衡策略实现对这些实例的管理、发现、访问。在本专利技术专利步骤3和步骤4中,还需要完成以下工作。本专利技术步骤3在集群上建立基于Kubernetes集群容器编排引擎的微服务,实现FPGA资源的统一调度和管理,可分解为3个子步骤来实现,分别如下:子步骤31:基于容器镜像在Kubernetes集群容器编排引擎上建立pod;子步骤32:基于pod在Kubernetes集群容器编排引擎上建立微服务(Service);子步骤33:在微服务中采用NodePort方式开放对外访问端口。本专利技术步骤4实现FPGA资源的对外安全访问,可分解为2个子步骤来实现,分别如下:子步骤41:在集群内部通过可变IP地址访问pod;子步骤42:在集群外通过固定端口访问微服务。通过这些子步骤,可以在步骤4实现用户在集群外通过的固定端口访问微服务时,系统能够自动为用户分配闲置FPGA资源,且用户结束操作后能够自动释放和回收资源。本专利技术提供了一种基于FPGA虚拟化部署实现高速安全的服务器集群管理运营方法,采用Docker容器引擎以及Kubernetes集群容器编排引擎管理系统虚拟化部署FPGA,通过微服务的方式自动为集群外的用户提供可用的虚拟化FPGA资源,然后在用户访问虚拟化FPGA容器时,用户可以获得对FPGA硬件所有资源的访问权限,即直接使用宿主机的操作系统内核,处理海量数据,因而相比传统的虚拟机技术启动更快、性能更强,同时也更轻量,用户在使用结束后,系统能够自动释放和回收资源,以供下次资本文档来自技高网
...

【技术保护点】
1.一种基于FPGA虚拟化部署实现高速安全的服务器集群管理方法,其特征在于,采用Docker容器引擎和Kubernetes集群容器编排引擎管理系统构建FPGA虚拟化部署,访问虚拟化FPGA容器时,可以获得对FPGA硬件所有资源的访问权限,直接使用宿主机的操作系统内核,使用结束后,系统能够自动释放和回收资源,以供下次资源分配使用。/n包括以下4个实施步骤:/n步骤1:在本地基于Docker容器技术封装FPGA;/n步骤2:在本地实现虚拟化FPGA容器的安全访问;/n步骤3:在集群上建立基于Kubernetes集群容器编排引擎的微服务,实现FPGA资源的统一调度和管理;/n步骤4:实现FPGA资源的对外安全访问。/n

【技术特征摘要】
1.一种基于FPGA虚拟化部署实现高速安全的服务器集群管理方法,其特征在于,采用Docker容器引擎和Kubernetes集群容器编排引擎管理系统构建FPGA虚拟化部署,访问虚拟化FPGA容器时,可以获得对FPGA硬件所有资源的访问权限,直接使用宿主机的操作系统内核,使用结束后,系统能够自动释放和回收资源,以供下次资源分配使用。
包括以下4个实施步骤:
步骤1:在本地基于Docker容器技术封装FPGA;
步骤2:在本地实现虚拟化FPGA容器的安全访问;
步骤3:在集群上建立基于Kubernetes集群容器编排引擎的微服务,实现FPGA资源的统一调度和管理;
步骤4:实现FPGA资源的对外安全访问。


2.如权利要求1所述的一种基于FPGA虚拟化部署实现高速安全的服务器集群管理方法,其特征在于,采用Docker容器引擎以及Kubernetes集群容器编排引擎实现FPGA虚拟化部署,通过可重构架构的异构计算方法实现服务器集群的高速安全数据处理,FPGA计算部件替代GPU芯片作为高性能计算的加速器。


3.如权利要求1和权利要求2所述的一种基于FPGA虚拟化部署实现高速安全的服务器集群管理方法,其特征在于,在步骤1在本地基于Docker容器技术封装FPGA的工作,可分解为4个子步骤来实现,分别如下:
子步骤11:在容器内安装支持FPGA的必要组件;
子步骤12:在容器内挂载包括驱动程序、编译和开发环境在内的所有FPGA开发资源;
子步骤13:在容器内挂载FPGA设备;
子步骤14:制作容器镜像,在容器内访问FPGA。


4.如权利要求1和权利要求2所述的一种基于FPGA虚拟化部署实现高速安全的服务器集群管理方法,其特征在于,步骤2在本地实现虚拟化FPGA容器的安全访问...

【专利技术属性】
技术研发人员:刘宝化江枫沈文枫支小莉丁雪海
申请(专利权)人:上海大学
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1