CN118035965B - 多用户协同使用图形处理器算力的方法及装置 - Google Patents

多用户协同使用图形处理器算力的方法及装置 Download PDF

Info

Publication number
CN118035965B
CN118035965B CN202410438442.8A CN202410438442A CN118035965B CN 118035965 B CN118035965 B CN 118035965B CN 202410438442 A CN202410438442 A CN 202410438442A CN 118035965 B CN118035965 B CN 118035965B
Authority
CN
China
Prior art keywords
user
computing instance
gpu
target computing
graphics processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202410438442.8A
Other languages
English (en)
Other versions
CN118035965A (zh
Inventor
汪玉
毛秋力
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN202410438442.8A priority Critical patent/CN118035965B/zh
Publication of CN118035965A publication Critical patent/CN118035965A/zh
Application granted granted Critical
Publication of CN118035965B publication Critical patent/CN118035965B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Power Sources (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及电数字数据处理技术领域,具体涉及一种多用户协同使用图形处理器算力的方法及装置,其中,方法包括:接收用户访问多个图形处理器GPU服务器中的第一GPU服务器上预先构建的目标计算实例的请求,其中请求包括用户的登录信息和目标计算实例的信息;通过用户认证服务系统验证用户的登录信息,其中用户认证服务系统是多个GPU服务器共用的;响应于验证通过,通过目标计算实例存储的权限信息,确定用户是否具有访问目标计算实例的权限;响应于确定用户具有访问目标计算实例的权限,允许用户访问目标计算实例。由此,解决了相关技术中,多用户协同使用GPU算力时,难以保证用户环境统一、用户认证及鉴权统一以及无法真正隔离用户间环境等技术问题。

Description

多用户协同使用图形处理器算力的方法及装置
技术领域
本发明涉及电数字数据处理技术领域,特别涉及一种多用户协同使用图形处理器算力的方法及装置。
背景技术
在AGI(Artificial General Intelligence,人工通用智能)的时代,GPU(Graphics Processing Unit,图形处理器)的计算能力成为了一个至关重要的资源。随着AGI系统的复杂度和需求日益增长,各大应用方对多用户协同使用GPU计算的需求也随之增加。例如,大模型,尤其是在自然语言处理和计算机视觉等领域的模型,通常具有大量的参数和复杂的网络结构。这些模型需要大量的计算资源来进行训练,而GPU因其并行处理能力强大,成为执行这类计算任务的理想选择。GPU算力是大模型训练的基石,并直接影响模型训练的效率、性能和成本。
相关技术中,可以利用如商汤大装置(基于k8s等)、并行云计算(基于slurm、HPC等)、AutoDL(基于docker等)等技术,为用户提供GPU算力平台服务。目前现有的多用户协同使用GPU计算方法主要如下:
第一种:直接登录Linux主机,利用Linux主机的多用户机制,共享使用GPU。
第二种:在Linux主机上启动若干docker容器,利用如nvidia-container-runtime等方法,将GPU映射进入docker容器,每个用户在分别的docker容器里使用GPU。
第三种:通过slurm、HPC(High-performance computing,高性能计算)等调度程序调度GPU。用户登录调度节点,并发出运行指令,调度节点控制计算节点的GPU进行计算。
第四种:通过k8s等容器管理程序开启若干带GPU的pod。为用户在节点上开启支持GPU的pod,用户在pod上使用GPU。
第五种:通过kvm等虚拟机手段,每个用户使用不同的虚拟机。
然而,相关技术中,部署docker、slurm或k8s等需要大量的维护成本,并有一些尚未解决的缺点,如用户环境不统一、用户认证及鉴权不统一、用户间环境无法做到真正隔离等。在企业、研究机构等算力使用方的私有机房,一般用户难以部署一套GPU算力平台,通常的解决方案仅仅是使用Linux的多用户机制,但Linux的多用户机制中,也存在上述问题,难以解决,有待改进。
发明内容
本发明提供一种多用户协同使用图形处理器算力的方法及装置,以解决相关技术中,多用户协同使用GPU算力时,难以保证用户环境统一、用户认证及鉴权统一以及无法真正隔离用户间环境等技术问题。
本发明第一方面实施例提供一种多用户协同使用图形处理器算力的方法,包括以下步骤:接收用户访问多个图形处理器(GPU)服务器中的第一GPU服务器上的目标计算实例的请求,其中所述请求包括用户的登录信息和目标计算实例的信息,并且所述目标计算实例是所述第一GPU服务器上的第一计算实例管理系统已经创建好的;通过用户认证服务系统基于所述用户的登录信息对所述用户进行身份认证,其中所述用户认证服务系统是所述多个GPU服务器共用的;响应于确定所述用户的身份认证通过,通过所述目标计算实例基于存储的权限信息,确定用户是否具有访问所述目标计算实例的权限;响应于确定所述用户具有访问所述目标计算实例的权限,允许所述用户访问所述目标计算实例。
可选地,在本发明的一个实施例中,所述目标计算实例为第一计算实例,所述方法还包括:接收第二用户的新增请求,所述新增请求用于请求增加所述第二用户对所述多个GPU服务器中的第二GPU服务器上的第二目标计算实例的访问权限;响应于确定所述第二GPU服务器包括第二目标计算实例,其中第二目标计算实例是由第二GPU服务器上的第二计算实例管理系统已经创建好的,更新所述第二目标计算实例存储的权限信息以允许所述第二用户访问第二目标计算实例。
可选地,在本发明的一个实施例中,所述多用户协同使用图形处理器算力的方法还包括:响应于确定所述第二GPU服务器不包括第二目标计算实例,利用所述第二计算实例管理系统在第二GPU服务器上生成所述第二目标计算实例,并初始化所述第二目标计算实例存储的权限信息以允许第二用户访问第二目标计算实例。
可选地,在本发明的一个实施例中,所述多用户协同使用图形处理器算力的方法还包括:响应于确定所述用户的身份认证不通过,返回登录失败信息。
可选地,在本发明的一个实施例中,所述多个GPU服务器中的同一GPU服务器上的不同计算实例共享该GPU服务器的操作系统内核,并且所述不同计算实例之间呈隔离关系。
可选地,在本发明的一个实施例中,所述多用户协同使用图形处理器算力的方法还包括:将所述第一GPU服务器作为网关,为所述目标计算实例分配相应网段的地址,以使得用户利用所述第一GPU服务器的端口访问所述目标计算实例的端口;或者,将所述第一GPU服务器作为网桥,为所述目标计算实例分配与所述第一GPU服务器相同网段的地址。
可选地,在本发明的一个实施例中,所述目标计算实例的根分区使用预设稀疏文件系统。
可选地,在本发明的一个实施例中,所述多用户协同使用图形处理器算力的方法还包括:在所述第一GPU服务器上搭载网络文件共享服务,以统一用户环境。
可选地,在本发明的一个实施例中,所述多用户协同使用图形处理器算力的方法还包括:在所述第一GPU服务器上设置监控程序,以收集资源占用数据。
本发明第二方面实施例提供一种多用户协同使用图形处理器算力的装置,包括:第一接收模块,用于接收用户访问多个图形处理器(GPU)服务器中的第一GPU服务器上的目标计算实例的请求,其中所述请求包括用户的登录信息和目标计算实例的信息,并且所述目标计算实例是所述第一GPU服务器上的第一计算实例管理系统已经创建好的;认证模块,用于通过用户认证服务系统基于所述用户的登录信息对所述用户进行身份认证,其中所述用户认证服务系统是所述多个GPU服务器共用的;确权模块,用于响应于确定所述用户的身份认证通过,通过所述目标计算实例基于存储的权限信息,确定用户是否具有访问所述目标计算实例的权限;第一许可模块,用于响应于确定所述用户具有访问所述目标计算实例的权限,允许所述用户访问所述目标计算实例。
可选地,在本发明的一个实施例中,所述目标计算实例为第一计算实例,所述装置还包括:第二接收模块,用于接收第二用户的新增请求,所述新增请求用于请求增加所述第二用户对所述多个GPU服务器中的第二GPU服务器上的第二目标计算实例的访问权限;更新模块,用于响应于确定所述第二GPU服务器包括第二目标计算实例,其中第二目标计算实例是由第二GPU服务器上的第二计算实例管理系统已经创建好的,更新所述第二目标计算实例存储的权限信息以允许所述第二用户访问第二目标计算实例。
可选地,在本发明的一个实施例中,所述多用户协同使用图形处理器算力的装置还包括:第二许可模块,用于响应于确定所述第二GPU服务器不包括第二目标计算实例,利用所述第二计算实例管理系统在第二GPU服务器上生成所述第二目标计算实例,并初始化所述第二目标计算实例存储的权限信息以允许第二用户访问第二目标计算实例。
可选地,在本发明的一个实施例中,所述多用户协同使用图形处理器算力的装置还包括:返回模块,用于响应于确定所述用户的身份认证不通过,返回登录失败信息。
可选地,在本发明的一个实施例中,所述多个GPU服务器中的同一GPU服务器上的不同计算实例共享该GPU服务器的操作系统内核,并且所述不同计算实例之间呈隔离关系。
可选地,在本发明的一个实施例中,所述多用户协同使用图形处理器算力的装置还包括:第一分配模块,用于将所述第一GPU服务器作为网关,为所述目标计算实例分配相应网段的地址,以使得用户利用所述第一GPU服务器的端口访问所述目标计算实例的端口;或者,第二分配模块,用于将所述第一GPU服务器作为网桥,为所述目标计算实例分配与所述第一GPU服务器相同网段的地址。
可选地,在本发明的一个实施例中,所述目标计算实例的根分区使用预设稀疏文件系统。
可选地,在本发明的一个实施例中,所述多用户协同使用图形处理器算力的装置还包括:搭载模块,用于在所述第一GPU服务器上搭载网络文件共享服务,以统一用户环境。
可选地,在本发明的一个实施例中,所述多用户协同使用图形处理器算力的装置还包括:设置模块,用于在所述第一GPU服务器上设置监控程序,以收集资源占用数据。
本发明第三方面实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的多用户协同使用图形处理器算力的方法。
本发明第四方面实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上述实施例所述的多用户协同使用图形处理器算力的方法。
本发明第五方面实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被执行时,用于实现如上的多用户协同使用图形处理器算力的方法。
本发明实施例可以在接收到用户访问目标计算实例的请求后,通过多个GPU服务器共用的用户认证服务系统对用户的身份进行认证,并在认证成功后,通过目标计算实例本身判断该用户是否具有目标计算实例的访问权限,从而在用户具有访问权限时,允许用户访问目标计算实例,从而实现多用户协同使用图形处理器算力,部署简单,可以快速启动停止,节约硬件资源,且每个计算实例都运行在独立的环境中,可以实现用户间的环境隔离并提高了安全性,且在保护私密性的同时,仅需进行一次身份验证,用户即可在权限信息许可的情况下使用不同的计算实例,资源开销小,从而提高整体效率,资源占用少且易于管理和维护。由此,解决了相关技术中,多用户协同使用GPU算力时,难以保证用户环境统一、用户认证及鉴权统一以及无法真正隔离用户间环境等技术问题。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明实施例提供的一种多用户协同使用图形处理器算力的方法的流程图;
图2为根据本发明实施例提供的一种多用户协同使用图形处理器算力的装置的结构示意图;
图3为根据本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的多用户协同使用图形处理器算力的方法。针对上述背景技术中提到的相关技术中,多用户协同使用GPU算力时,难以保证用户环境统一、用户认证及鉴权统一以及无法真正隔离用户间环境等技术问题,本发明提供了一种多用户协同使用图形处理器算力的方法,在该方法中,可以在接收到用户访问目标计算实例的请求后,通过多个GPU服务器共用的用户认证服务系统对用户的身份进行认证,并在认证成功后,通过目标计算实例本身判断该用户是否具有目标计算实例的访问权限,从而在用户具有访问权限时,允许用户访问目标计算实例,从而实现多用户协同使用图形处理器算力,部署简单,可以快速启动停止,节约硬件资源,且每个计算实例都运行在独立的环境中,可以实现用户间的环境隔离并提高了安全性,且在保护私密性的同时,仅需进行一次身份验证,用户即可在权限信息许可的情况下使用不同的计算实例,资源开销小,从而提高整体效率,资源占用少且易于管理和维护。由此,解决了相关技术中,多用户协同使用GPU算力时,难以保证用户环境统一、用户认证及鉴权统一以及无法真正隔离用户间环境等技术问题。
在相关技术中,多用户协同使用GPU算力方法主要有以下五种:
第一种:直接登录Linux主机。该方案缺点如下:
1.每台机器上的用户认证及鉴权不统一。每台机器利用Linux的多用户机制存储用户名、密码、权限等,不同机器间的用户身份、用户id、用户认证、用户权限均不统一,人工手动统一需要较大维护成本。
2.每台机器上的用户环境不统一。调度GPU算力的程序往往需要依赖系统库(如gcc、opencv-python等)和python库(如pytorch、cudatoolkit),不同机器间的用户环境需要手动统一。
3.用户间的环境无法做到真正隔离。不同用户对底层系统库的需求可能不同,而在一台机器上,满足了一个用户的底层系统库不一定能满足另一个用户的底层系统库要求,一旦对底层系统库进行了版本更改,会影响所有用户。
4.无法控制用户调度CPU(Central Processing Unit,中央处理器)、GPU、MEM(Memory,存储器)的权限及配额。每个用户直接在Linux主机上操作,可以接触到所有的CPU、GPU和MEM资源,无法对每个用户的权限进行限制,也无法控制每个用户能接触到的资源配额。在没有适当管理和调度机制的情况下,某些用户可能占用过多资源,而其他用户则得不到足够的计算能力。
5.隐私和数据泄露风险:如果不适当管理(例如将自己的家目录权限设置为**4),环境中可能存在数据泄露的风险(其他用户可以直接读取该用户的数据、代码等)。
第二种:利用docker等。该方案缺点如下:
1.每台机器上的用户认证及鉴权不统一。
2.每台机器上的用户环境不统一。
3.不支持docker inside docker(docker内docker)。许多时候用户需要在docker使用GPU进行计算,而由于用户现在已经在一个docker容器,无法支持docker insidedocker,不能在docker容器里开启一个docker容器,无法使用TensorRT-LLM等以docker形式发布的应用。
4.安全问题:虽然docker容器可以提供隔离,但不当的配置或漏洞可能导致安全风险。
5.环境差异:有时候容器内的环境与生产环境之间仍然存在差异,这可能导致“在我机器上能运行”的问题。
6.网络复杂性:在 Docker 容器中管理网络设置比在传统环境中更为复杂,尤其是涉及到容器之间的网络通信时。
7.存储挑战:容器通常用于无状态应用,对于需要持久存储的应用,容器化可能带来额外的挑战和复杂性。
8.维护不便,例如日志和监控:容器化可能需要不同的日志和监控方法,以适应动态和分布式的环境。
第三种:利用slurm等。该方案缺点如下:
1.用户间环境无法做到真正隔离,在调度节点上,用户仍然使用了相同的系统底层库。
2.配置和维护复杂:Slurm 需要仔细配置才能有效地管理资源。对于管理员来说,设置和维护一个高效的 Slurm 环境可能相当复杂,特别是在需要支持多种不同类型的作业和资源的情况下。对于小型实验室或组织,Slurm 提供的功能可能过于复杂,而且配置和维护可能不值得投入的时间和资源。Slurm 需要针对特定的硬件和网络配置进行优化。这可能需要专业的知识和经验。
3.不支持docker等。用户只能在调度节点上直接执行slurm调度GPU,但如果在主机上开启docker容器,则容器内无法调度GPU。
4.每次运行程序,需要将环境、数据等从调度节点传输至计算节点,消耗网络传输资源,程序启动慢。
5.不支持GPU共享,当1块GPU已经处于运算状态时,其他用户无法调度该GPU。
6.不支持CPU、MEM等资源共享,当CPU和MEM等资源已经被分配给某一计算任务后,其他计算任务无法使用该部分CPU和MEM等资源。
7.不支持对GPU进行性能分析(profile),如ncu等。
第四种:利用k8s等,该方案缺点如下:
1.每台机器上的用户认证及鉴权不统一。
2.每台机器上的用户环境不统一。
3.不支持docker等。目前在k8s的pod内开启docker,无法将GPU映射到docker容器内,因此用户在pod内的docker容器内无法使用GPU进行计算。无法使用TensorRT-LLM等以docker形式发布的应用。
4.不支持GPU共享。
5.不支持CPU、MEM等资源共享。
6.复杂的设置和配置:Kubernetes 的设置和配置相对复杂,特别是在涉及到高级功能时。这可能需要深入的技术知识和经验。
7.资源利用率可能不理想:虽然 Kubernetes 能够高效地管理资源,但在某些情况下,它可能无法最优化地利用 GPU。例如,小型或短暂的任务可能无法充分利用 GPU 资源。
8.维护和管理开销:维护一个稳定和高效的 Kubernetes 环境需要持续的监控、更新和调整。这可能需要专业的团队来管理。
9.网络复杂性:在Kubernetes 环境中管理网络特别是跨节点的网络通信可能是复杂的。这对于需要高网络性能的 GPU 密集型任务来说尤其重要。
第五种:利用kvm等虚拟机。该方案缺点如下:
1.每台机器上的用户认证及鉴权不统一。
2.每台机器上的用户环境不统一。
3.不支持GPU共享。
4.不支持CPU、MEM等资源共享。
5.复杂的配置和管理:设置和维护 GPU 虚拟化环境可能相对复杂。它需要管理员具备虚拟化和 GPU 硬件的专业知识。
6.资源隔离的限制:虽然虚拟化提供了一定程度的资源隔离,但在高度共享的环境中,一个虚拟机的过度资源占用可能影响到其他虚拟机的性能。
7.资源分配限制:虚拟机技术可能限制了对GPU资源的直接和完全控制。这可能导致GPU功能的部分限制,例如,不支持某些特定的硬件加速功能。
8.成本和资源需求:相较于容器化技术,虚拟机通常需要更多的系统资源(如内存和存储),这可能导致更高的硬件成本。
基于上述缺点,本发明实施例提供一种多用户协同使用图形处理器算力的方法:
部署简单,无需复杂部署步骤,仅需简单的在主机上部署系统级容器或虚拟机管理程序,用户可根据自己需要,无需掌握额外知识,即可个性化定制相关功能,例如容器的网络设置、容器的GPU是共享还是独享等。
可以快速启动停止:容器可以在几秒钟内启动和停止,这为快速部署和弹性伸缩提供了便利。
可随时个性化定制,灵活的资源分配。用户还可以根据需要,随时修改容器的相关属性,例如容器的CPU、GPU、MEM配额,或对容器进行扩容等操作。
易于管理和维护,容器可以轻松地通过各种工具进行管理,包括创建、复制、快照和迁移等操作,这使得系统管理更加简便。
资源隔离且安全性高,每个容器都运行在独立的环境中,从而提高了安全性。
节约硬件资源,无需其他基础设施建设。本发明也无需采购额外硬件(如slurm和k8s都需要额外的调度节点),直接在每个主机上部署相关容器即可使用。
轻量级,相比传统虚拟机,资源开销小(因为容器共享同一个操作系统内核,不需要为每个容器运行完整的操作系统)。这减少了资源开销,提高了系统的整体效率。
资源占用少,例如容器的镜像文件是稀疏性质,存储多少占用多少空间,而不是以镜像磁盘上限为实际占用空间大小。
支持docker在容器内的使用方式,用户可以在容器内自由使用docker调度GPU算力,且本发明支持docker的overlay2,可以降低容器存储开销。
支持在容器内调度GPU进行性能分析操作,用户可以在容器内使用ncu等工具。
兼容性好,作为Linux的一部分,例如lxc/lxd等容器具有很好的兼容性,可以在多种Linux发行版上运行。
具体而言,图1为本发明实施例所提供的一种多用户协同使用图形处理器算力的方法的流程示意图。
如图1所示,该多用户协同使用图形处理器算力的方法包括以下步骤:
在步骤S101中,接收用户访问多个图形处理器(GPU)服务器中的第一GPU服务器上的目标计算实例的请求,其中请求包括用户的登录信息和目标计算实例的信息,并且目标计算实例是第一GPU服务器上的第一计算实例管理系统已经创建好的。
在接收用户的请求之前,本发明实施例可以在所有多个GPU服务器上部署LXC或LXD等系统级的容器或虚拟机管理系统,其中,计算实例可以包括容器和/或虚拟机,每个计算实例可以存储对应的权限信息,例如允许访问的用户白名单,使得本发明实施例可以利用权限信息,在用户发出访问申请后在用户白名单中查找是否存在该用户的访问权限。应理解,权限信息还可以为任何其他合适的格式,例如,用户权限表等,本发明对此不做限制。
在实际执行过程中,本发明实施例可以接收用户访问目标计算实例的请求,其中,目标计算实例为已在多个图形处理器(GPU)服务器中的第一GPU服务器上预先构建的计算实例;访问请求中可以包括用户的登录信息,如身份标识等,还可以包括目标计算实例的信息,如目标计算实例所在的图形处理器(GPU)服务器等。
可选地,在本发明的一个实施例中,多个GPU服务器中的同一GPU服务器上的不同计算实例共享该GPU服务器的操作系统内核,并且不同计算实例之间呈隔离关系。
以LXD为例,本发明实施例的计算实例可以共享系统内核,但每个计算实例之间相互隔离,从而为每个用户提供相隔离的环境,保证数据安全。
可选地,在本发明的一个实施例中,多用户协同使用图形处理器算力的方法还包括:将第一GPU服务器作为网关,为目标计算实例分配相应网段的地址,以使得用户利用第一GPU服务器的端口访问目标计算实例的端口;或者,将第一GPU服务器作为网桥,为目标计算实例分配与第一GPU服务器相同网段的地址。
在一些实施例中,以LXD为例,对目标计算实例网络的选择可以如下所示:
一些情况下,可以以第一GPU服务器作为网关,建立网桥(lxdbr0),GPU服务器作为该网桥的网关,目标计算实例拿该网段的IP。将第一GPU服务器的A端口映射到目标计算实例的B端口,用户可以通过访问第一GPU服务器IP的A端口实现访问容器的B端口。
另一些情况下,可以以第一GPU服务器作为网桥,目标计算实例拿和第一GPU服务器相同网段的IP。此时,第一GPU服务器和目标计算实例无法直接通信(网桥的父网卡C和目标计算实例的子网卡D间无法通信)。本发明实施例可以通过macvlan等方式在主机创建一块使用父网卡C作为网桥的第一GPU服务器的子网卡E,目标计算实例的子网卡D可以访问第一GPU服务器的子网卡E,从而可以实现目标计算实例与第一GPU服务器的网络互通。用户可以通过访问目标计算实例IP直接访问容器,无需第一GPU服务器进行端口映射。
可选地,在一些实施例中,可以不使用支持稀疏存储的文件系统,但所有目标计算实例的镜像文件会是配额上限。
可选地,在本发明的一个实施例中,目标计算实例的根分区使用预设稀疏文件系统。
例如,根目录可以使用ZFS等稀疏文件系统,即目标计算实例的文件系统的镜像大小为实际已使用的存储大小,而非目标计算实例文件系统的配额上限。
对目标计算实例docker容器目录的选择可以如下所示:
在一些实施例中,docker容器目录可以使用BRTFS等文件系统。该文件系统需支持docker的overlay2,以便降低docker容器占用的文件系统空间。
在一些实施例中,可以不使用支持overlay2的文件系统,但docker会退回到不支持overlay2的模式(如VFS),增加了docker容器在文件系统中的存储占用。
可选地,在本发明的一个实施例中,还包括:基于目标计算实例的类型进行相应的权限配置,并在目标计算实例中设置相应的运行环境,以支持图形处理器的运行。
进一步地,本发明实施例还可以进行个性化定制,以进行灵活的资源分配。用户可以根据需要,随时修改目标计算实例的相关属性,例如目标计算实例的CPU、GPU、MEM配额,或对目标计算实例进行扩容等操作。
举例而言,如需支持docker inside LXD等,本发明实施例可以对权限做配置,以LXD为例,需开启security.nesting、security.syscalls.intercept.mknod、security.syscalls.intercept.setxattr中的全部或部分权限。同时,在目标计算实例内还需要安装nvidia-docker-runtime等docker内对GPU支持的环境。
如需支持Nsight Compute等profile(性能分析)权限、TensorRT-LLM等,本发明实施例可以进行相应设置,例如开放GPU profile权限(options nvidia NVreg_RestrictProfilingToAdminUsers=0)或设置limits.kernel.memlock为unlimited(无限制)。
如需对用户的CPU、GPU、MEM等权限、配额进行控制,本发明实施例可以通过容器/虚拟机管理系统实现,以LXD为例,CPU限制为lxc config set container limits.cpu,MEM限制为lxc config set container limits.memory,可以通过添加某块GPU控制容器可以接触到的GPU,如添加总线编号为0000:3d:00.0的GPUlxc config device add containergpu1 gpu pci=0000:3d:00.0。
在步骤S102中,通过用户认证服务系统基于所述用户的登录信息对用户进行身份认证,其中用户认证服务系统是多个GPU服务器共用的。
作为一种可能实现的方式,本发明实施例可以利用用户认证服务系统实现用户身份认证,其中,用户认证服务系统可以由一个或多个节点组成。当用户认证服务系统由多个节点组成时,它可以包括用户认证服务主节点和从节点,用户认证服务(如LDAP(轻量目录访问协议)等)主节点可以部署在主节点或某台GPU服务器上,从而实现对用户的身份认证。
其中,主节点可以部署在GPU服务器、容器或虚拟机中。
进一步地,本发明实施例在进行用户认证服务主节点部署时,还可以在多主同步或主从同步之中进行选择。
举例而言,本发明实施例在任一GPU服务器上部署用户认证服务主节点后,可以在其他GPU服务器上部署LDAP等用户认证服务的主节点,实现多主同步和备份功能;
还可以在其他GPU服务器上部署LDAP等用户认证服务的从节点,实现主从同步和备份功能。
本发明实施例还可以不部署从节点,通过主节点进行用户认证服务。
此外,基于用户需求,本发明实施例还可以部署用户自助修改密码系统,使用户可以在LDAP等用户认证服务认证后,修改个人密码。
本发明实施例还可以部署用户自助上传公钥系统,使用户可以在LDAP等用户认证服务认证后,上传个人公钥。
本发明实施例还可以通过nslcd(local LDAP name service daemon,本地LDAP名称服务守护进程)、nscd(Name Service Caching Daemon,名称服务高速缓存守护进程)等用户认证服务进行认证,在ssh或其他方式登录认证时,使用ldap等用户认证服务验证密码。
本发明实施例还可以通过自行撰写脚本或使用其他工具,在ssh(安全外壳,secure shell)或其他方式登录时,使用ldap等用户认证服务验证私钥与公钥是否匹配。
在步骤S103中,响应于确定所述用户的身份认证通过,通过所述目标计算实例基于存储的权限信息,确定用户是否具有访问所述目标计算实例的权限。
在实际执行过程中,本发明实施例可以根据身份认证的结果,为通过身份认证的用户进行权限确认,即获取目标计算实例的权限信息,从而判断用户是否在目标计算实例允许访问的名单中。例如,对于计算实例为容器的情况,容器可以维护并存储一个白名单,白名单中包括允许访问该容器的用户信息。容器还可以存储其他权限信息,例如,容器可以维护并存储一个管理员名单,管理员名单中包括允许管理该容器的用户信息。
在步骤S104中,响应于确定用户具有访问目标计算实例的权限,允许用户访问目标计算实例。
当用户在目标计算实例允许访问的名单中的情况下,允许用户访问目标计算实例,否则,禁止用户访问目标计算实例,从而实现多用户的图像处理器算力协同使用。
可选地,在本发明的一个实施例中,多用户协同使用图形处理器算力的方法还包括:响应于确定用户的身份认证不通过,返回登录失败信息。
在一些实施例中,如果身份认证的结果为不通过,则表示用户不被允许使用GPU服务器,此时无需进行后续的权限认证,本发明实施例可以禁止用户的访问请求,并返回登录失败信息,以便用户进行身份认证更新或者更换登录信息。
可选地,在本发明的一个实施例中,多用户协同使用图形处理器算力的方法还包括:在第一GPU服务器上搭载网络文件共享服务,以统一用户环境。
在一些实施例中,本发明实施例还可以通过NFS(Network File System,网络文件系统)、GPFS(General Parallel File System,通用并行文件系统)等网络文件共享服务,统一用户环境,搭建共享盘。
举例而言,本发明实施例可以在主节点或某台GPU服务器上,部署NFS、GPFS等网络文件共享服务,用户的环境、代码、数据集等文件可以安装至网络共享服务中,用户的每个计算实例使用网络共享服务的环境和代码等,确保环境统一。即,网络文件共享服务的服务器可以部署在GPU服务器之一上,或者部署在除了这些GPU服务器之外的其他服务器上。
本发明实施例还可以在GPU服务器主机上挂载NFS、GPFS等网络共享文件夹,通过LXC、LXD等容器/虚拟机管理系统将GPU服务器的该文件夹映射进入计算实例中。
在另一些实施例中,本发明实施例还可以部署GPU服务器的GPU程序监控服务,使用户可以了解GPU占用情况。
举例而言,本发明实施例可以在主机部署node_exporter服务,将主机的CPU、MEM、网络、磁盘使用情况汇总。
本发明实施例可以在主机部署dcgm_exporter服务,将主机的GPU使用情况汇总。
本发明实施例可以在主机部署其他相关服务,汇总主机GPU正在运行的进程,以及进程对应用户等信息。
本发明实施例可以在主节点或某台服务器部署grafana等仪表盘,收集各主机的exporter(导出器)数据,以便用户内部协调。
可选地,在本发明的一个实施例中,多用户协同使用图形处理器算力的方法还包括:接收第二用户的新增请求,新增请求用于请求增加第二用户对多个GPU服务器中的第二GPU服务器上的第二目标计算实例的访问权限;响应于确定第二GPU服务器包括第二目标计算实例,其中第二目标计算实例是由第二GPU服务器上的第二计算实例管理系统已经创建好的,更新第二目标计算实例存储的权限信息以允许第二用户访问第二目标计算实例。
本发明实施例在上述部署结构的基础上,还可以进行用户新增,基于第二用户的新增请求,确定实际的新增意图,当实际的新增意图为在已创建的目标计算实例,即第二目标计算实例中增加第二用户权限时,本发明实施例可以在第二GPU服务器上的第二目标计算实例的权限信息中,更新第二用户信息,使得可以在第二用户下次发送针对第二目标计算实例的访问请求时,允许第二用户的访问。
可选地,在本发明的一个实施例中,多用户协同使用图形处理器算力的方法还包括:响应于确定第二GPU服务器不包括第二目标计算实例,利用第二计算实例管理系统在第二GPU服务器上生成第二目标计算实例,并初始化第二目标计算实例存储的权限信息以允许第二用户访问第二目标计算实例。
当实际的新增意图为创建新的目标计算实例给新用户使用时,即在第二GPU服务器中不存在第二目标计算实例的情况下,本发明实施例可以利用管理系统在第二GPU服务器中生成第二目标计算实例,并在新生成的第二目标计算实例中生成相应的权限信息,使得第二用户具有第二目标计算实例的使用权限。
以一个实施例对本发明实施例的多用户协同使用图形处理器算力的方法的工作原理进行详细阐述。
本发明实施例可以在多个GPU服务器(简称为服务器)中部署用户认证系统和容器或虚拟机管理系统。
以10台服务器和10位用户为例,将服务器分别编号为A-J,将用户分别编号为1-10。
步骤S1:在新增用户1时,本发明实施例可以在用户认证系统中存储用户1的密码、公钥等用户信息,以便后续用户1在使用时,可以通过密码、公钥等进行身份验证。
步骤S2:确定用户1权限。本发明实施例可以根据实际情况或者使用需求,确定用户1的目标计算实例使用权限,如当使用需求为用户1有权限使用服务器A的算力时,本发明实施例可以在服务器A创建一个容器A1,A1创建的时候可以形成权限信息,如用户1是管理员,用户1可以登录。
在实际执行过程中,当用户1登录时,由于用户1在容器A1的权限信息(例如,白名单)中,因此用户1可以使用容器A1。
同理,当使用需求为用户1可以使用服务器B时,本发明实施例可以再在服务器B创建容器B1,将用户1加入容器B1的权限信息中,此时用户1拥有使用服务器A和服务器B的权限,但无法使用服务器C-J。
也就是说,当用户1在登录时选择的目标计算实例为服务器C-J中的目标计算实例时,用户1虽然认证成功,但是不具备相应服务器中的目标计算实例的使用权限,因此禁止用户1使用目标计算实例。
基于上述认证方式,本发明实施例可以通过统一的用户信息进行多个服务器的使用,无需设置多个密码或者公钥。
根据本发明实施例提出的多用户协同使用图形处理器算力的方法,可以在接收到用户访问目标计算实例的请求后,通过多个GPU服务器共用的用户认证服务系统对用户的身份进行认证,并在认证成功后,通过目标计算实例本身判断该用户是否具有目标计算实例的访问权限,从而在用户具有访问权限时,允许用户访问目标计算实例,从而实现多用户协同使用图形处理器算力,部署简单,可以快速启动停止,节约硬件资源,且每个计算实例都运行在独立的环境中,可以实现用户间的环境隔离并提高了安全性,且在保护私密性的同时,仅需进行一次身份验证,用户即可在权限信息许可的情况下使用不同的计算实例,资源开销小,从而提高整体效率,资源占用少且易于管理和维护。由此,解决了相关技术中,多用户协同使用GPU算力时,难以保证用户环境统一、用户认证及鉴权统一以及无法真正隔离用户间环境等技术问题。
其次参照附图描述根据本发明实施例提出的多用户协同使用图形处理器算力的装置。
图3是本发明实施例的多用户协同使用图形处理器算力的装置的方框示意图。
如图3所示,该多用户协同使用图形处理器算力的装置10包括:第一接收模块101、认证模块102、确权模块103和第一许可模块104。
具体地,第一接收模块101,用于接收用户访问多个图形处理器GPU服务器中的第一GPU服务器上的目标计算实例的请求,其中请求包括用户的登录信息和目标计算实例的信息,并且目标计算实例是第一GPU服务器上的第一计算实例管理系统已经创建好的。
认证模块102,用于通过用户认证服务系统基于用户的登录信息对用户进行身份认证,其中用户认证服务系统是多个GPU服务器共用的。
确权模块103,用于响应于确定用户的身份认证通过,通过目标计算实例基于存储的权限信息,确定用户是否具有访问目标计算实例的权限。
第一许可模块104,用于响应于确定用户具有访问目标计算实例的权限,允许用户访问目标计算实例。
可选地,在本发明的一个实施例中,目标计算实例为第一计算实例,多用户协同使用图形处理器算力的装置10还包括:第二接收模块和更新模块。
其中,第二接收模块,用于接收第二用户的新增请求,新增请求用于请求增加第二用户对多个GPU服务器中的第二GPU服务器上的第二目标计算实例的访问权限。
更新模块,用于响应于确定第二GPU服务器包括第二目标计算实例,其中第二目标计算实例是由第二GPU服务器上的第二计算实例管理系统已经创建好的,更新第二目标计算实例存储的权限信息以允许第二用户访问第二目标计算实例。
可选地,在本发明的一个实施例中,多用户协同使用图形处理器算力的装置10还包括:第二许可模块。
其中,第二许可模块,用于响应于确定第二GPU服务器不包括第二目标计算实例,利用第二计算实例管理系统在第二GPU服务器上生成第二目标计算实例,并初始化第二目标计算实例存储的权限信息以允许第二用户访问第二目标计算实例。
可选地,在本发明的一个实施例中,多用户协同使用图形处理器算力的装置10还包括:返回模块。
其中,返回模块,用于响应于确定用户的身份认证不通过,返回登录失败信息。
可选地,在本发明的一个实施例中,多个GPU服务器中的同一GPU服务器上的不同计算实例共享该GPU服务器的操作系统内核,并且不同计算实例之间呈隔离关系。
可选地,在本发明的一个实施例中,多用户协同使用图形处理器算力的装置10还包括:第一分配模块或者第二分配模块。
其中,第一分配模块,用于将第一GPU服务器作为网关,为目标计算实例分配相应网段的地址,以使得用户利用第一GPU服务器的端口访问目标计算实例的端口。
第二分配模块,用于将第一GPU服务器作为网桥,为目标计算实例分配与第一GPU服务器相同网段的地址。
可选地,在本发明的一个实施例中,目标计算实例的根分区使用预设稀疏文件系统。
可选地,在本发明的一个实施例中,多用户协同使用图形处理器算力的装置10还包括:搭载模块。
其中,搭载模块,用于在第一GPU服务器上搭载网络文件共享服务,以统一用户环境。
可选地,在本发明的一个实施例中,多用户协同使用图形处理器算力的装置10还包括:设置模块。
其中,设置模块,用于在第一GPU服务器上设置监控程序,以收集资源占用数据。
需要说明的是,前述对多用户协同使用图形处理器算力的方法实施例的解释说明也适用于该实施例的多用户协同使用图形处理器算力的装置,此处不再赘述。
根据本发明实施例提出的多用户协同使用图形处理器算力的装置,可以在接收到用户访问目标计算实例的请求后,通过多个GPU服务器共用的用户认证服务系统对用户的身份进行认证,并在认证成功后,通过目标计算实例本身判断该用户是否具有目标计算实例的访问权限,从而在用户具有访问权限时,允许用户访问目标计算实例,从而实现多用户协同使用图形处理器算力,部署简单,可以快速启动停止,节约硬件资源,且每个计算实例都运行在独立的环境中,可以实现用户间的环境隔离并提高了安全性,且在保护私密性的同时,仅需进行一次身份验证,用户即可在权限信息许可的情况下使用不同的计算实例,资源开销小,从而提高整体效率,资源占用少且易于管理和维护。由此,解决了相关技术中,多用户协同使用GPU算力时,难以保证用户环境统一、用户认证及鉴权统一以及无法真正隔离用户间环境等技术问题。
图3为本发明实施例提供的电子设备的结构示意图。该电子设备可以包括:
存储器301、处理器302及存储在存储器301上并可在处理器302上运行的计算机程序。
处理器302执行程序时实现上述实施例中提供的多用户协同使用图形处理器算力的方法。
进一步地,电子设备还包括:
通信接口303,用于存储器301和处理器302之间的通信。
存储器301,用于存放可在处理器302上运行的计算机程序。
存储器301可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储器301、处理器302和通信接口303独立实现,则通信接口303、存储器301和处理器302可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选地,在具体实现上,如果存储器301、处理器302及通信接口303,集成在一块芯片上实现,则存储器301、处理器302及通信接口303可以通过内部接口完成相互间的通信。
处理器302可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上的多用户协同使用图形处理器算力的方法。
本发明实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本发明实施例提供的多用户协同使用图形处理器算力的方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或N个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,N个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (9)

1.一种多用户协同使用图形处理器算力的方法,其特征在于,包括以下步骤:
接收用户访问多个图形处理器GPU服务器中的第一图形处理器GPU服务器上的目标计算实例的请求,其中所述请求包括用户的登录信息和目标计算实例的信息,并且所述目标计算实例是所述第一图形处理器GPU服务器上的第一计算实例管理系统已经创建好的,其中,所述目标计算实例为第一计算实例,所述多个图形处理器GPU服务器中的同一图形处理器GPU服务器上的不同计算实例共享该图形处理器GPU服务器的操作系统内核,并且所述不同计算实例之间呈隔离关系;
通过用户认证服务系统基于所述用户的登录信息对所述用户进行身份认证,其中所述用户认证服务系统是所述多个图形处理器GPU服务器共用的;
响应于确定所述用户的身份认证通过,通过所述目标计算实例基于存储的权限信息,确定用户是否具有访问所述目标计算实例的权限;
响应于确定所述用户具有访问所述目标计算实例的权限,允许所述用户访问所述目标计算实例;
接收第二用户的新增请求,所述新增请求用于请求增加所述第二用户对所述多个图形处理器GPU服务器中的第二图形处理器GPU服务器上的第二目标计算实例的访问权限;响应于确定所述第二图形处理器GPU服务器包括第二目标计算实例,其中第二目标计算实例是由第二图形处理器GPU服务器上的第二计算实例管理系统已经创建好的,更新所述第二目标计算实例存储的权限信息以允许所述第二用户访问第二目标计算实例;
在所述第一图形处理器GPU服务器上搭载网络文件共享服务,以统一用户环境。
2.根据权利要求1所述的多用户协同使用图形处理器算力的方法,其特征在于,所述方法还包括:
响应于确定所述第二图形处理器GPU服务器不包括第二目标计算实例,利用所述第二计算实例管理系统在第二图形处理器GPU服务器上生成所述第二目标计算实例,并初始化所述第二目标计算实例存储的权限信息以允许第二用户访问第二目标计算实例。
3.根据权利要求1所述的多用户协同使用图形处理器算力的方法,其特征在于,所述方法还包括:
响应于确定所述用户的身份认证不通过,返回登录失败信息。
4.根据权利要求1-3任一所述的多用户协同使用图形处理器算力的方法,其特征在于,所述方法还包括:
将所述第一图形处理器GPU服务器作为网关,为所述目标计算实例分配相应网段的地址,以使得用户利用所述第一图形处理器GPU服务器的端口访问所述目标计算实例的端口;
或者,将所述第一图形处理器GPU服务器作为网桥,为所述目标计算实例分配与所述第一图形处理器GPU服务器相同网段的地址。
5.根据权利要求1-3任一所述的多用户协同使用图形处理器算力的方法,其特征在于,
所述目标计算实例的根分区使用预设稀疏文件系统。
6.根据权利要求1-3任一所述的多用户协同使用图形处理器算力的方法,其特征在于,所述方法还包括:
在所述第一图形处理器GPU服务器上设置监控程序,以收集资源占用数据。
7.一种多用户协同使用图形处理器算力的装置,其特征在于,包括:
接收模块,用于接收用户访问多个图形处理器GPU服务器中的第一图形处理器GPU服务器上的目标计算实例的请求,其中所述请求包括用户的登录信息和目标计算实例的信息,并且所述目标计算实例是所述第一图形处理器GPU服务器上的第一计算实例管理系统已经创建好的,其中,所述目标计算实例为第一计算实例,所述多个图形处理器GPU服务器中的同一图形处理器GPU服务器上的不同计算实例共享该图形处理器GPU服务器的操作系统内核,并且所述不同计算实例之间呈隔离关系;
认证模块,用于通过用户认证服务系统基于所述用户的登录信息对所述用户进行身份认证,其中所述用户认证服务系统是所述多个图形处理器GPU服务器共用的;
确权模块,用于响应于确定所述用户的身份认证通过,通过所述目标计算实例基于存储的权限信息,确定用户是否具有访问所述目标计算实例的权限;
许可模块,用于响应于确定所述用户具有访问所述目标计算实例的权限,允许所述用户访问所述目标计算实例;
第二接收模块,用于接收第二用户的新增请求,所述新增请求用于请求增加所述第二用户对所述多个GPU服务器中的第二GPU服务器上的第二目标计算实例的访问权限;更新模块,用于响应于确定所述第二GPU服务器包括第二目标计算实例,其中第二目标计算实例是由第二GPU服务器上的第二计算实例管理系统已经创建好的,更新所述第二目标计算实例存储的权限信息以允许所述第二用户访问第二目标计算实例;
搭载模块,用于在所述第一GPU服务器上搭载网络文件共享服务,以统一用户环境。
8.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求1-6任一项所述的多用户协同使用图形处理器算力的方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以用于实现如权利要求1-6任一项所述的多用户协同使用图形处理器算力的方法。
CN202410438442.8A 2024-04-12 2024-04-12 多用户协同使用图形处理器算力的方法及装置 Active CN118035965B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410438442.8A CN118035965B (zh) 2024-04-12 2024-04-12 多用户协同使用图形处理器算力的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410438442.8A CN118035965B (zh) 2024-04-12 2024-04-12 多用户协同使用图形处理器算力的方法及装置

Publications (2)

Publication Number Publication Date
CN118035965A CN118035965A (zh) 2024-05-14
CN118035965B true CN118035965B (zh) 2024-06-11

Family

ID=90991777

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410438442.8A Active CN118035965B (zh) 2024-04-12 2024-04-12 多用户协同使用图形处理器算力的方法及装置

Country Status (1)

Country Link
CN (1) CN118035965B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1937499A (zh) * 2006-10-13 2007-03-28 清华大学 基于域名的统一身份标识和认证方法
CN108369537A (zh) * 2015-12-31 2018-08-03 亚马逊科技公司 启用fpga的计算实例
CN114365087A (zh) * 2019-09-24 2022-04-15 亚马逊科技公司 用于在客户端选择的服务器上配置计算实例的外围设备
CN114666333A (zh) * 2022-04-02 2022-06-24 国网江苏省电力有限公司信息通信分公司 一种基于多租户理论面向云计算资源调度问题的控制方法
CN115904617A (zh) * 2022-11-14 2023-04-04 武汉凌久微电子有限公司 一种基于sr-iov技术的gpu虚拟化实现方法
CN116192481A (zh) * 2023-02-08 2023-05-30 晋永源科技(深圳)有限公司 云计算服务器模型间安全通信机制分析方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9721117B2 (en) * 2014-09-19 2017-08-01 Oracle International Corporation Shared identity management (IDM) integration in a multi-tenant computing environment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1937499A (zh) * 2006-10-13 2007-03-28 清华大学 基于域名的统一身份标识和认证方法
CN108369537A (zh) * 2015-12-31 2018-08-03 亚马逊科技公司 启用fpga的计算实例
CN114365087A (zh) * 2019-09-24 2022-04-15 亚马逊科技公司 用于在客户端选择的服务器上配置计算实例的外围设备
CN114666333A (zh) * 2022-04-02 2022-06-24 国网江苏省电力有限公司信息通信分公司 一种基于多租户理论面向云计算资源调度问题的控制方法
CN115904617A (zh) * 2022-11-14 2023-04-04 武汉凌久微电子有限公司 一种基于sr-iov技术的gpu虚拟化实现方法
CN116192481A (zh) * 2023-02-08 2023-05-30 晋永源科技(深圳)有限公司 云计算服务器模型间安全通信机制分析方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GraphH: A Processing-in-Memory Architecture for Large-Scale Graph Processing;Guohao Dai 等;IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS;20191231;全文 *
统一身份认证下单点登录系统与数字化校园平台的无缝连接;王小娟;黄协;张成;;中国教育信息化;20170405(第07期);全文 *

Also Published As

Publication number Publication date
CN118035965A (zh) 2024-05-14

Similar Documents

Publication Publication Date Title
US11469964B2 (en) Extension resource groups of provider network services
CN109478149B (zh) 混合云计算系统中的访问服务
EP3488584B1 (en) Usage tracking in hybrid cloud computing systems
CN108108223B (zh) 基于Kubernetes的容器管理平台
CN104144073B (zh) 主从装置环境的部署方法与主从装置环境的部署系统
US12106132B2 (en) Provider network service extensions
CN108628658A (zh) 一种容器的许可证管理方法及装置
CN106411857A (zh) 一种基于虚拟隔离机制的私有云gis服务访问控制方法
WO2020046630A1 (en) Directory access sharing across web services accounts
US11057358B2 (en) Concealment of customer sensitive data in virtual computing arrangements
CN108400898A (zh) 云数据管理平台中资源的管理方法和装置
CN115604120B (zh) 一种多云集群资源共享方法、装置、设备及存储介质
CN114579250B (zh) 一种构建虚拟集群的方法、装置及存储介质
CN118035965B (zh) 多用户协同使用图形处理器算力的方法及装置
JP7581390B2 (ja) プロバイダネットワークサービス拡張
US11062049B2 (en) Concealment of customer sensitive data in virtual computing arrangements
CN115766618A (zh) 一种多服务器的资源配置系统
US11385946B2 (en) Real-time file system event mapping to cloud events
CN115774661A (zh) 具有用户数据隔离的多用户调试
US12132735B1 (en) Specification language for generating graph reachability-based analyses for cloud-based system resources
Krylosova Implementing container-based virtualization in a hybrid cloud
US20240414130A1 (en) Cross-regional infrastructure configurations for disaster recovery
CN116795463A (zh) 一种云桌面管理系统及部署方法、存储介质
CN120066680A (zh) 面向硬件安全扩展的可信裸金属服务器资源分区方法和系统
CN119271346A (zh) 一种Kerberos应用部署方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant