CN116360973A - 数据处理系统及其操作方法 - Google Patents
数据处理系统及其操作方法 Download PDFInfo
- Publication number
- CN116360973A CN116360973A CN202211015751.1A CN202211015751A CN116360973A CN 116360973 A CN116360973 A CN 116360973A CN 202211015751 A CN202211015751 A CN 202211015751A CN 116360973 A CN116360973 A CN 116360973A
- Authority
- CN
- China
- Prior art keywords
- memory
- data processing
- devices
- host devices
- host
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 53
- 230000015654 memory Effects 0.000 claims abstract description 259
- 238000004364 calculation method Methods 0.000 claims abstract description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000013500 data storage Methods 0.000 description 8
- 238000013468 resource allocation Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 239000004744 fabric Substances 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 241000724291 Tobacco streak virus Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000012517 data analytics Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45545—Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种数据处理系统可以包括:多个数据处理装置,每个包括计算存储器并且执行从一个或多个主机装置下发的任务;一个或多个主机装置,连接到多个数据处理装置,并且每个主机装置基于元信息和各个数据处理装置的计算存储器的大小选择数据处理装置中的一个或多个并请求所选择的一个或多个数据处理装置执行第一任务,其中元信息包括待由所选择的一个或多个数据处理装置执行的第一任务所需的存储器的大小;网络交换机,将一个或多个主机装置连接到多个数据处理装置;以及网络管理器,被包括在网络交换机中,并且基于元信息和各个数据处理装置的计算存储器的大小收集各个数据处理装置的空闲存储器,并且控制一个或多个主机装置使用空闲存储器中的至少一些。
Description
相关申请的交叉引用
本申请要求于2021年12月28日提交的申请号为10-2021-0189522的韩国专利申请的优先权,该韩国专利申请的全部公开内容通过引用整体并入本文。
技术领域
本公开的多种实施例总体上涉及一种半导体集成设备,并且更具体地,涉及一种数据处理系统及其操作方法。
背景技术
人工智能(AI)应用、大数据分析和图形数据处理的重要性和需求的增长已经增加了对能够通过使用更多的计算资源、高带宽网络以及大容量和高性能存储器装置有效地处理大数据的计算系统的需求。
然而,在扩展处理器用于处理大数据的存储器容量方面存在限制。因此,最近开发了一种通过架构网络(fabric network)扩展存储器容量的协议。架构附接存储器(Fabric-Attached Memory,FAM)理论上在容量扩展方面不受限制,因此具有适用于处理大数据的结构。然而,随着主机装置访问FAM的次数增加,可能由数据迁移引起性能下降和功耗等各种问题。
从这个角度来看,当前的计算系统已经发展为能够高速并行处理大量数据的数据驱动型计算系统或存储器驱动型计算系统。在数据(存储器)驱动型计算系统中,用于执行计算的处理器可以被设置在存储器装置附近或设置在存储器装置内,并且处理由主机装置下发(offload)和请求的任务(操作处理或应用处理任务)。
将近数据处理(Near Data Processing,NDP)应用于能够提供大量存储器资源的FAM的数据处理系统需要一种有效地使用存储器资源的方法,其中NDP指示执行由主机装置下发的任务的过程。
发明内容
在本公开的实施例中,一种数据处理系统可以包括:多个数据处理装置,每个数据处理装置包括计算存储器并且被配置成执行从一个或多个主机装置下发的任务;一个或多个主机装置,连接到多个数据处理装置,并且每个主机装置被配置成基于元信息和各个数据处理装置的计算存储器的大小选择多个数据处理装置中的一个或多个并且请求所选择的一个或多个数据处理装置执行第一任务,其中元信息包括待由所选择的一个或多个数据处理装置执行的第一任务所需的存储器的大小;网络交换机,被配置成将一个或多个主机装置连接到多个数据处理装置;以及网络管理器,被包括在网络交换机中,并且被配置成基于元信息和各个数据处理装置的计算存储器的大小来收集各个数据处理装置的空闲存储器,并且控制一个或多个主机装置使用空闲存储器中的至少一些。
在本公开的实施例中,提供了一种数据处理系统的操作方法,在数据处理系统中,多个数据处理装置通过网络管理器连接到一个或多个主机装置,每个数据处理装置具有计算存储器,该操作方法包括:由一个或多个主机装置中的每一个基于元信息和各个数据处理装置的计算存储器的大小来选择多个数据处理装置中的一个或多个,元信息包括待由所选择的一个或多个数据处理装置执行的第一任务所需的存储器的大小;由一个或多个主机装置中的每一个请求所选择的一个或多个数据处理装置执行第一任务;由网络管理器基于元信息和各个数据处理装置的计算存储器的大小来收集各个数据处理装置的空闲存储器;并且由网络管理器控制一个或多个主机装置使用空闲存储器中的至少一些。
在本公开的实施例中,提供了一种网络装置的操作方法,该网络装置用于将一个或多个第一装置与一个或多个第二装置彼此互连,该操作方法包括:识别第一装置和第二装置中分别包括的存储器的可用容量;以及将控制信号和数据信号传送到第一装置和第二装置,以供第一装置中的一个或多个针对它们的操作来共享可用容量中的至少一部分。
附图说明
图1是示出根据本公开的实施例的数据处理系统的配置图。
图2是示出根据本公开的实施例的数据处理装置的配置图。
图3是示出根据本公开的实施例的网络管理器的配置图。
图4是用于描述根据本公开的实施例的数据处理系统的操作方法的流程图。
图5是用于描述根据本公开的实施例的存储器资源利用方法的概念图。
图6是示出根据本公开的实施例的数据处理系统的配置图。
图7是用于描述根据本公开的实施例的数据处理系统的操作方法的流程图。
图8是用于描述根据本公开的实施例的存储器资源利用方法的概念图。
具体实施方式
下文中,将参照附图更详细地描述本公开的实施例。
图1是示出根据本公开的实施例的数据处理系统的配置图。
根据实施例的数据处理系统10可以包括通过网络管理器100联接到主机装置200的多个数据处理装置300-1、300-2、300-3、……。
网络管理器100可以被包括在网络交换机中,网络交换机通过诸如以太网、光纤通道或无限带宽(InfiniBand)的架构网络将主机装置200联接到数据处理装置300-1、300-2、300-3、……。
网络管理器100可以基于主机装置200和数据处理装置300-1、300-2、300-3、……中包括的存储器的使用状态来分别控制这些存储器,使得这些存储器在数据处理系统10中被共享。
诸如大数据分析和机器学习的应用需要针对海量数据的计算。根据这种需求,主机装置200可以将主机装置200的任务(即,计算处理或应用处理)委托给诸如数据处理装置300-1、300-2、300-3、……的近数据处理(NDP)装置,使得由NDP装置处理该任务。
在下发任务之前,主机装置200可以检查元信息,元信息包括待下发的任务的类型、计算量以及执行任务所需的存储器的大小(占用空间(foot print))。
下发指示将待由特定装置执行的任务或计算委托给另一装置。在实施例中,主机装置200可以将待由主机装置200执行的任务或计算下发到数据处理装置300-1、300-2、300-3、……上。
网络管理器100可以将数据处理装置300-1、300-2、300-3、……拥有的计算资源的状态传输到主机装置200。数据处理装置300-1、300-2、300-3、……拥有的计算资源的状态可以根据网络管理器100的请求来收集,或者可以通过数据处理装置300-1、300-2、300-3、……向网络管理器100自发地报告计算资源的状态来收集。计算资源可以指示数据处理装置300-1、300-2、300-3、……的操作所需的硬件和软件资源,并且包括存储器资源的数量或大小。数据处理装置300-1、300-2、300-3、……中包括的存储器资源可以被称为计算存储器资源。
主机装置200可以基于数据处理装置300-1、300-2、300-3、……拥有的计算资源的状态和待下发的任务的元信息来选择合适的数据处理装置,并且通过网络管理器100下发任务(即,计算处理或应用处理)。
随着任务被下发,网络管理器100可以根据数据处理装置用于处理下发任务的计算资源和下发任务的占用空间来收集数据处理装置300-1、300-2、300-3、……中的每一个的存储器资源的使用状态,例如,空闲存储器资源的信息(例如,地址、容量等),并且将空闲存储器资源的至少一部分分配给主机装置200。
主机装置200可以包括系统存储器210。系统存储器210是存储对程序进行操作所需的自变量和进程状态(process state)以及在进程期间生成和更新的数据的工作存储器或主存储器。主机装置200可以检查系统存储器210的使用状态,例如,由进程中的任务占用的存储器大小和空闲存储器的大小,并且将检查结果自发通知给网络管理器100。在另一实施例中,网络管理器100可以从主机装置200请求和收集关于系统存储器210的使用状态的信息。
主机装置200可以根据系统存储器210的使用状态从网络管理器100请求存储器资源。基于数据处理装置300-1、300-2、300-3、……中包括的存储器资源的使用状态,网络管理器100可以将空闲存储器资源中的至少一些分配给主机装置200。
数据处理装置300-1、300-2、300-3、……的被附加地分配给主机装置200的空闲存储器资源可以用作主机装置200的外部系统存储器。
数据处理装置300-1、300-2、300-3、……可以响应于主机装置200的请求、地址和数据而各自执行与主机装置200的请求相对应的操作,并且将作为处理结果导出的数据传输到主机装置200。
图2是示出根据本公开的实施例的数据处理装置的配置图。
图2的数据处理装置300可以是图1所示的数据处理装置300-1、300-2、300-3、……中的一个。
参照图2,数据处理装置300可以包括网络接口310、处理器320和存储器装置330。
网络接口310可以提供通信通道,数据处理装置300可以通过该通信通道访问网络管理器100并与主机装置200通信。
处理器320可以包括多个内核。处理器320可以被配置为硬件装置和在硬件装置上运行的软件的组合,并且可以通过对从主机装置200传输到数据处理装置300的命令进行解码来处理数据。处理数据的操作可以包括:将从主机装置200传输的数据存储在存储器装置330中的操作,读取存储器装置330中存储的数据的操作,基于所读取的数据计算数据的操作,以及将计算出的数据提供给主机装置200或存储器装置330的操作。
存储器装置330可以包括存储器控制器331和存储器池333。
例如,存储器控制器331可以通过总线(未示出)联接到存储器池333,并且控制对存储器池333的数据输入/输出。
存储器池333可以包括一个或多个存储器模块。存储器池333可以被配置为多个存储器模块通过诸如TSV的总线进行堆叠的高带宽存储器(HBM)或混合存储器立方体(HMC)的形式,但可以不限于此。
在一个或多个主机装置200和一个或多个数据处理装置300通过网络管理器100连接的FAM环境中,主机装置200可以基于每个数据处理装置300的计算资源的状态和待下发的任务的元信息来请求网络管理器100下发任务。
网络管理器100可以根据主机装置200中包括的系统存储器210的使用状态和占用空间来收集各个数据处理装置300中包括的存储器池333的使用状态。此外,网络管理器100可以根据主机装置200的请求,分配数据处理装置300的空闲存储器资源中的至少一部分以作为主机装置200的外部系统存储器。
图3是示出根据本公开的实施例的网络管理器的配置图。
参照图3,网络管理器100可以包括主机管理电路110、存储器池管理电路120、任务分配电路130和存储器资源分配电路140。
主机管理电路110可以通过与主机装置200的通信来收集系统存储器210的使用状态。系统存储器210的使用状态可以根据网络管理器100的请求而从主机装置200提供,或者主机装置200可以自发地传输系统存储器210的使用状态。
当主机装置200请求网络管理器100下发任务时,存储器池管理电路120可以收集数据处理装置300中包括的存储器池333的使用状态以处理该任务。也就是说,存储器池管理电路120可以根据执行已经请求网络管理器100下发的任务所需的存储器的大小(占用空间)以及用于处理该任务的数据处理装置300中包括的存储器资源的大小来收集空闲存储器资源的信息(例如,地址、容量等)。
在主机装置200旨在选择特定的数据处理装置300并下发任务时,任务分配电路130可以向相应的数据处理装置300传输下发请求以及与该下发请求相关的地址、数据等。
当主机装置200请求存储器资源分配时,存储器资源分配电路140可以基于数据处理装置300的存储器池的使用状态,分配数据处理装置300中包括的空闲存储器的至少一部分以作为主机装置200的外部系统存储器。
图4是用于描述根据本公开的实施例的数据处理系统的操作方法的流程图。作为示例,图4从网络管理器100的角度描述了数据处理系统的操作方法。
主机装置200可以在下发任务之前检查元信息,元信息包括待下发的任务的类型、计算量以及执行该任务所需的存储器的大小(占用空间)。此外,主机装置200可以收集数据处理装置300拥有的计算资源的状态。
当在操作S101中,主机装置200基于数据处理装置300拥有的计算资源的状态和待下发的任务的元信息选择合适的数据处理装置300并且向网络管理器100传输下发请求时,在操作S103中,网络管理器100可以向相应的数据处理装置300传输下发请求以及与该下发请求相关的地址、数据等。
在操作S105中,任务被下发到的数据处理装置300的存储器资源使用状态可以基于下发任务的占用空间来改变,并且网络管理器100可以根据下发任务的占用空间和数据处理装置300拥有的存储器资源的大小来收集存储器池的使用状态,例如,空闲存储器资源的信息。
在操作S107中,当根据系统存储器210的使用状态需要附加的系统存储器时,主机装置200可以请求网络管理器100分配存储器资源。
在操作S109中,网络管理器100可以基于存储器池的使用状态来分配空闲存储器资源中的至少一部分以作为主机装置200的外部系统存储器。
当空闲存储器资源被分配作为外部系统存储器时,可以通过更新主机装置200和数据处理装置300的页面表来反映该分配。
图5是用于描述根据本公开的实施例的存储器资源利用方法的概念图。
为了允许在数据处理系统10-1内共享存储器资源,网络管理器100可以通过图4的操作S105来检查存储器池的使用状态。
存储器池的使用状态的检查结果可以显示第二数据存储装置300-2的整个存储器池333-2和第三数据存储装置300-3的部分存储器池333-4被用作执行由主机装置200下发的任务的计算存储器,并且第一数据存储装置300-1的整个存储器池333-1和第三数据存储装置300-3的部分存储器池333-3是空闲存储器。
通过图4的S109,网络管理器100可以分配第一数据处理装置300-1的整个存储器池333-1作为主机装置200的第一外部系统存储器,并且分配第三数据处理装置300-3的部分存储器池333-3作为主机装置200的第二外部系统存储器。
由于主机装置200的计算所需的工作存储器的容量增加,因此数据处理系统10的性能可以得到提高。
图6是示出根据本公开的实施例的数据处理系统20的配置图。
参照图6,数据处理系统20可以包括通过网络管理器100连接到多个主机装置201、202、203、……的多个数据处理装置300-1、300-2、300-3、……。
网络管理器100可以通过诸如以太网、光纤通道或无限带宽的架构网络将主机装置201、202、203、……连接到数据处理装置300-1、300-2、300-3、……。
网络管理器100可以基于主机装置201、202、203、……以及数据处理装置300-1、300-2、300-3、……中包括的存储器资源的使用状态,即,系统存储器211、212和213以及存储器池(图8的333-1、333-2和333-3)的使用状态,来控制待在数据处理系统20中共享的存储器资源。
当一个或多个数据处理装置300-1、300-2、300-3、……处理由主机装置201、202、203、……下发的任务时,网络管理器100可以收集数据处理装置300-1、300-2、300-3、……的存储器占用空间所反映到的存储器池的使用状态。
主机装置201、202、203、……可以分别包括系统存储器211、212、213、……。主机装置201、202、203、……可以检查系统存储器211、212、213、……的使用状态。主机装置201、202、203、……可以向网络管理器100自发地报告系统存储器212、212、213、……的使用状态,或者网络管理器100可以访问主机装置201、202、203、……,并收集系统存储器212、212、213、……的使用状态。
主机装置200-1、200-2、200-3、……可以根据系统存储器211、212、213、……的使用状态从网络管理器100请求存储器资源。网络管理器100可以基于数据处理装置300-1、300-2、300-3、……中包括的存储器资源的使用状态来收集空闲存储器资源的信息(地址、容量等),并且将空闲存储器资源中的至少一些分配给主机装置201、202、203、……。
数据处理装置300-1、300-2、300-3、……的被附加地分配给主机装置201、202、203、……的空闲存储器资源可以用作主机装置201、202、203、……的外部系统存储器。
当从数据存储装置300-1、300-2、300-3、……收集的存储器资源的大小,即空闲存储器资源的大小大于阈值时,网络管理器100可以将由数据存储装置300-1、300-2、300-3、……拥有的空闲存储器资源分配给主机装置201、202、203、……。
例如,网络管理器100可以检查由多个主机装置201、202、203、……请求分配的存储器资源的总和是否大于空闲存储器资源的总和。
当请求分配的存储器资源的总和大于空闲存储器资源的总和时,网络管理器100可以根据预设标准将空闲存储器资源分发和分配给多个主机装置201、202、203、……。
在实施例中,可以从诸如以下的各种标准之中选择用于分配空闲存储器资源的标准:根据由主机装置201、202、203、……分别请求分配的存储器资源的比率来分发空闲存储器资源的方法,以及与主机装置201、202、203、……处理服务所需的速度成比例地分发存储器资源的方法。也就是说,因为根据外部装置已请求主机装置201、202、203、……处理的服务的类型需要各种处理速度并且主机装置201、202、203、……以被设置为其目标速度的处理速度进行操作,所以可以提供外部系统存储器来实现目标速度。
当由多个主机装置201、202、203、……请求分配的存储器资源的总和小于一个数据处理装置中包括的空闲存储器资源的大小时,网络管理器100可以对该一个数据处理装置中包括的空闲存储器资源进行划分,并且将划分后的空闲存储器资源分配给多个主机装置201、202、203、……。
当主机装置201、202、203、……中的任意一个请求存储器资源时,网络管理器100可以从一个或多个数据处理装置300-1、300-2、300-3、……中选择空闲存储器资源,并且分配所选择的空闲存储器资源。
当从数据存储装置300-1、300-2、300-3、……收集的存储器资源的大小,即空闲存储器资源的大小,小于预设阈值时,网络管理器100可以检查系统存储器211、212、213、……中的一个或多个中是否存在空闲存储器资源,并且分配系统存储器211、212、213、……的空闲存储器资源,使得空闲存储器资源由主机装置201、202、203、……共享。
因此,可以从数据处理装置300-1、300-2、300-3、……的空闲存储器资源中或者从其它主机装置的空闲系统存储器中分配一个或多个主机装置201、202、203、……所需的外部系统存储器,这使得可以提高主机装置201、202、203、……的数据处理性能。
图7是用于描述根据本公开的实施例的数据处理系统的操作方法的流程图。
图7示出了当多个主机装置201、202、203、……请求存储器资源分配时数据处理系统20的操作方法。
当在操作S107(参见图4)中主机装置201、202、203、……请求网络管理器100分配存储器资源时,网络管理器100可以在操作S201中基于数据处理装置300-1、300-2、300-3、……中包括的存储器池的使用状态来检查空闲存储器资源的大小是否大于阈值。
当空闲存储器资源的大小大于阈值时(操作S201中的“是”),网络管理器100可以在操作S203中确定请求分配的存储器资源的总和是否大于多个数据处理装置300-1、300-2、300-3、……中包括的空闲存储器资源的总和。
当请求分配的存储器资源的总和大于空闲存储器资源的总和时(操作S203中的“是”),网络管理器100可以在操作S205中分发空闲存储器资源,并且在操作S207中将空闲存储器资源分配给多个主机装置201、202、203、……。
为了分发存储器资源,网络管理器100可以根据由各个主机装置201、202、203、……请求分配的存储器资源的比率来分发空闲存储器资源。在另一实施例中,网络管理器100可以基于各个主机装置201、202、203、……处理的服务的类型,与处理服务所需的速度成比例地决定分配的存储器资源的大小。
当请求分配的存储器资源的总和等于或小于空闲存储器资源的总和时(操作S203中的“否”),网络管理器100可以在操作S207中将空闲存储器资源分配给多个主机装置201、202、203、……。
当空闲存储器资源的大小等于或小于阈值时(操作S201中的“否”),网络管理器100可以在操作S209中检查系统存储器211、212、213、……的一个或多个中是否存在空闲系统存储器。
当存在空闲系统存储器(操作S209中的“是”)时,网络管理器100可以在操作S211中分配系统存储器211、212、213、……的空闲系统存储器资源。
当分配了外部系统存储器时,可以通过更新主机装置201、202、203、……和数据处理装置300-1、300-2、300-3、……的页面表来反映该分配。
当不存在空闲存储器资源(操作S209中为“否”)时,网络管理器100可以在操作S213中向已请求存储器资源分配的主机装置201、202、203、……发送消息,该消息指示无法进行存储器资源分配。
图8是用于描述根据本公开的实施例的存储器资源利用方法的概念图。
为了允许在数据处理系统20-1中共享存储器资源,网络管理器100可以收集系统存储器211、212、213、……的使用状态和数据处理装置300-1、300-2、300-3、……的存储器池的使用状态。
图8示出第一数据处理装置300-1的存储器池333-1的一部分被用作计算存储器,并且第一数据处理装置300-1的存储器池333-1的其他部分被分配作为第一主机装置201的外部系统存储器。
此外,图8示出第二数据处理装置300-2中包括的存储器池333-2的一部分被用作计算存储器,并且存储器池333-2的另一部分被分配作为第三主机装置203的外部系统存储器。
此外,图8示出第三数据处理装置300-3中包括的整个存储器池333-3被用作计算存储器。
此外,图8示出第二主机装置202中包括的系统存储器212的一部分被分配作为第一主机装置201的外部系统存储器。
在处理由主机装置201、202、203、……下发的计算的多个数据存储装置300-1、300-2、300-3、……中包括的存储器池之中,空闲存储器资源可以用作主机装置201、202、203、……的外部系统存储器,这使得数据处理系统10或20的处理速度可以得到提高。
此外,多个主机装置201、202、203、……可以共享系统存储器211、212、213、……的空闲存储器资源,这使得数据处理系统10或20的性能可以进一步得到提高。
尽管上面已经描述了多种实施例,但是本领域技术人员将理解的是,所描述的实施例仅是示例。因此,本文所描述的数据处理系统及其操作方法不应基于所描述的实施例和权利要求书来限制。此外,可以组合实施例以形成附加的实施例。
Claims (17)
1.一种数据处理系统,包括:
多个数据处理装置,每个数据处理装置包括计算存储器并且执行从一个或多个主机装置下发的任务;
所述一个或多个主机装置,连接到所述多个数据处理装置,并且每个主机装置:
基于元信息和各个数据处理装置的计算存储器的大小选择所述多个数据处理装置中的一个或多个数据处理装置,所述元信息包括待由所选择的一个或多个数据处理装置执行的第一任务所需的存储器的大小,并且
请求所述所选择的一个或多个数据处理装置执行所述第一任务,
网络交换机,将所述一个或多个主机装置连接到所述多个数据处理装置;以及
网络管理器,被包括在所述网络交换机中,并且:
基于所述元信息和所述各个数据处理装置的计算存储器的大小来收集所述各个数据处理装置的空闲存储器,并且
控制所述一个或多个主机装置使用所述空闲存储器中的至少一些。
2.根据权利要求1所述的数据处理系统,其中所述网络管理器进一步在所述一个或多个主机装置请求分配存储器时,向所述一个或多个主机装置提供所述空闲存储器中的至少一些作为所述一个或多个主机装置的系统存储器。
3.根据权利要求2所述的数据处理系统,其中当所述主机装置中的两个或更多个主机装置请求分配的存储器的总和大于所述空闲存储器的大小时,所述网络管理器进一步根据分别由所述两个或更多个主机装置请求分配的存储器的比率来将所述空闲存储器分配给所述两个或更多个主机装置。
4.根据权利要求2所述的数据处理系统,
其中所述主机装置中的两个或更多个主机装置中的每一个以待提供到外部装置的服务所需的目标速度进行操作,并且
其中当所述两个或更多个主机装置请求分配的存储器的总和大于所述空闲存储器的大小时,所述网络管理器在进一步与所述两个或更多个主机装置中的每一个的目标速度成比例地将所述空闲存储器分发给所述两个或更多个主机装置。
5.根据权利要求1所述的数据处理系统,其中所述网络管理器进一步:
当所述主机装置中的所选择的一个主机装置请求存储器分配时,从所述多个数据处理装置中的一个或多个数据处理装置中选择空闲存储器,
向所选择的主机装置提供所选择的空闲存储器。
6.根据权利要求1所述的数据处理系统,
其中所述一个或多个主机装置中的每一个包括系统存储器,并且
其中所述网络管理器进一步:
从所述一个或多个主机装置中的每一个收集空闲系统存储器,并且
允许所述空闲系统存储器中的至少一部分被所述一个或多个主机装置共享。
7.根据权利要求6所述的数据处理系统,其中当所述一个或多个主机装置请求存储器分配时,所述网络管理器进一步向所述一个或多个主机装置提供所述空闲存储器和所述空闲系统存储器中的至少一些。
8.一种数据处理系统的操作方法,在所述数据处理系统中,多个数据处理装置通过网络管理器连接到一个或多个主机装置,每个数据处理装置具有计算存储器,所述操作方法包括:
由所述一个或多个主机装置中的每一个基于元信息和各个数据处理装置的计算存储器的大小来选择所述多个数据处理装置中的一个或多个,所述元信息包括待由所选择的一个或多个数据处理装置执行的第一任务所需的存储器的大小;
由所述一个或多个主机装置中的每一个请求所述所选择的一个或多个数据处理装置执行所述第一任务;
由所述网络管理器基于所述元信息和所述各个数据处理装置的计算存储器的大小来收集所述各个数据处理装置的空闲存储器;以及
由所述网络管理器控制所述一个或多个主机装置使用所述空闲存储器中的至少一些。
9.根据权利要求8所述的操作方法,进一步包括:当所述一个或多个主机装置请求分配存储器时,由所述网络管理器向所述一个或多个主机装置提供所述空闲存储器中的至少一些作为所述一个或多个主机装置的系统存储器。
10.根据权利要求9所述的操作方法,进一步包括:当所述主机装置中的两个或更多个主机装置请求分配的存储器的总和大于所述空闲存储器的大小时,由所述网络管理器根据所述两个或更多个主机装置分别请求分配的存储器的比率来将所述空闲存储器分发给所述两个或更多个主机装置。
11.根据权利要求9所述的操作方法,
其中所述主机装置中的两个或更多个主机装置中的每一个以待提供到外部装置的服务所需的目标速度进行操作,
所述操作方法进一步包括:当所述两个或更多个主机装置请求分配的存储器的总和大于所述空闲存储器的大小时,由所述网络管理器与所述两个或更多个主机装置中的每一个的目标速度成比例地将所述空闲存储器分发给所述两个或多个主机装置。
12.根据权利要求8所述的操作方法,进一步包括:
当所述主机装置中的所选择的主机装置请求存储器分配时,由所述网络管理器从所述多个数据处理装置中的一个或多个选择空闲存储器;以及
向所选择的主机装置提供所选择的空闲存储器。
13.根据权利要求8所述的操作方法,
其中所述一个或多个主机装置中的每一个包括系统存储器,并且
所述操作方法进一步包括:
由所述网络管理器收集所述一个或多个主机装置中的每一个的空闲系统存储器;以及
允许所述空闲系统存储器中的至少一部分被所述一个或多个主机装置共享。
14.根据权利要求13所述的操作方法,进一步包括:当所述一个或多个主机装置请求存储器分配时,由所述网络管理器向所述一个或多个主机装置提供所述空闲存储器和所述空闲系统存储器中的至少一些。
15.一种网络装置的操作方法,所述网络装置用于将一个或多个第一装置与一个或多个第二装置彼此互连,所述操作方法包括:
识别所述第一装置和所述第二装置中分别包括的存储器的可用容量;以及
将控制信号和数据信号传送到所述第一装置和所述第二装置,以供所述第一装置中的一个或多个针对它们的操作共享所述可用容量中的至少一部分。
16.根据权利要求15所述的操作方法,进一步包括:基于待由所述第二装置之中的所选择的第二装置执行的任务所需的存储器的大小和各个第二装置的计算存储器的大小来确定所述第二装置中的每一个的存储器的可用容量。
17.根据权利要求16所述的操作方法,其中所述任务是从所述一个或多个第一装置下发的任务。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210189522A KR20230100010A (ko) | 2021-12-28 | 2021-12-28 | 데이터 처리 시스템 및 그 동작 방법 |
KR10-2021-0189522 | 2021-12-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116360973A true CN116360973A (zh) | 2023-06-30 |
Family
ID=86897695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211015751.1A Pending CN116360973A (zh) | 2021-12-28 | 2022-08-24 | 数据处理系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230205418A1 (zh) |
KR (1) | KR20230100010A (zh) |
CN (1) | CN116360973A (zh) |
-
2021
- 2021-12-28 KR KR1020210189522A patent/KR20230100010A/ko unknown
-
2022
- 2022-06-21 US US17/845,501 patent/US20230205418A1/en active Pending
- 2022-08-24 CN CN202211015751.1A patent/CN116360973A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230205418A1 (en) | 2023-06-29 |
KR20230100010A (ko) | 2023-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11934883B2 (en) | Computer cluster arrangement for processing a computation task and method for operation thereof | |
CN102473106B (zh) | 虚拟环境中的资源分配 | |
JP2001331333A (ja) | 計算機システム及び計算機システムの制御方法 | |
US20050102387A1 (en) | Systems and methods for dynamic management of workloads in clusters | |
WO2023020010A1 (zh) | 一种运行进程的方法及相关设备 | |
JPWO2005116832A1 (ja) | 分散処理環境におけるジョブの実行を制御するためのコンピュータシステム、方法及びプログラム | |
CN112134964A (zh) | 控制器分配方法、计算机设备、存储介质及网络业务系统 | |
JP2014186411A (ja) | 管理装置、情報処理システム、情報処理方法、及びプログラム | |
CN116382581A (zh) | 一种加速执行NVMe协议的方法、系统、设备和存储介质 | |
CN111352735A (zh) | 数据加速方法、装置、存储介质及设备 | |
US11093291B2 (en) | Resource assignment using CDA protocol in distributed processing environment based on task bid and resource cost | |
CN113497747B (zh) | 存储系统、其存储装置及其操作方法 | |
CN116075809A (zh) | 边缘区域中计算节点和基础设施节点之间的自动节点互换 | |
CN113204421A (zh) | 无服务器功能与存储池的同分布 | |
CN114546493A (zh) | 核共享方法及装置、处理核、电子设备、介质 | |
CN116360973A (zh) | 数据处理系统及其操作方法 | |
US11637791B2 (en) | Processing allocation in data center fleets | |
CN114924888A (zh) | 资源配置方法、数据处理方法、装置、设备和存储介质 | |
CN115202859A (zh) | 一种内存扩展方法以及相关设备 | |
CN114281516A (zh) | 一种基于numa属性的资源分配方法及装置 | |
CN115563050A (zh) | 众核计算芯片及数据访问方法 | |
CN116483536B (zh) | 数据调度方法、计算芯片及电子设备 | |
US20230089925A1 (en) | Assigning jobs to heterogeneous graphics processing units | |
CN111459649B (zh) | 管理计算资源的存储器的方法、设备和计算机可读介质 | |
CN116149798B (zh) | 云操作系统的虚拟机控制方法、装置以及存储介质 |
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 |