KR20230108059A - Apparatus and method for distributed allocation of memory resources based on priority - Google Patents

Apparatus and method for distributed allocation of memory resources based on priority Download PDF

Info

Publication number
KR20230108059A
KR20230108059A KR1020220003391A KR20220003391A KR20230108059A KR 20230108059 A KR20230108059 A KR 20230108059A KR 1020220003391 A KR1020220003391 A KR 1020220003391A KR 20220003391 A KR20220003391 A KR 20220003391A KR 20230108059 A KR20230108059 A KR 20230108059A
Authority
KR
South Korea
Prior art keywords
resource allocation
service
resources
system resources
information
Prior art date
Application number
KR1020220003391A
Other languages
Korean (ko)
Inventor
한경은
윤지욱
이준기
Original Assignee
한국전자통신연구원
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 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020220003391A priority Critical patent/KR20230108059A/en
Publication of KR20230108059A publication Critical patent/KR20230108059A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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 the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

데이터 처리 서버를 위한 리소스 할당 방법 및 장치가 개시된다. 리소스 할당 방법은 클라이언트 장치로부터 서비스의 수행을 위한 리소스 할당 요청을 수신하는 단계, 리소스 할당 요청에 응답하여 서비스가 지연 민감(delay-sensitive) 서비스인지 여부를 판단하는 단계, 서비스가 지연 민감 서비스인 경우, 현재 블레이드 서버 내에 이용 가능한 시스템 리소스가 있는지 여부를 판단하는 단계, 현재 블레이드 서버 내에 이용 가능한 시스템 리소스가 있는 경우, 현재 블레이드 서버의 시스템 리소스를 클라이언트 장치에 할당하는 단계, 및 현재 블레이드 서버 내에 이용 가능한 시스템 리소스가 없는 경우, 랙(rack) 서버 내에 이용 가능한 시스템 리소스가 있는지 여부를 판단하는 단계, 및 랙 서버 내에 이용 가능한 시스템 리소스가 있는 경우, 우선 순위에 기초하여 클라이언트 장치에 랙 서버의 시스템 리소스를 할당하는 단계를 포함한다. A resource allocation method and apparatus for a data processing server are disclosed. The resource allocation method includes receiving a resource allocation request for service execution from a client device, determining whether the service is a delay-sensitive service in response to the resource allocation request, and determining whether the service is a delay-sensitive service. , determining whether there are system resources available in the current blade server, if there are system resources available in the current blade server, allocating system resources of the current blade server to the client device, and If there are no system resources, determining whether there are system resources available in the rack server; and if there are system resources available in the rack server, system resources of the rack server are assigned to client devices based on priority. It includes allocating

Figure P1020220003391
Figure P1020220003391

Description

우선 순위에 기반하여 메모리 리소스를 분산 할당하는 방법 및 장치{APPARATUS AND METHOD FOR DISTRIBUTED ALLOCATION OF MEMORY RESOURCES BASED ON PRIORITY}Method and apparatus for distributing and allocating memory resources based on priority

아래 개시는 우선 순위에 기반하여 메모리 리소스를 분산 할당하는 기술에 관한 것이다. The disclosure below relates to a technique for distributing and allocating memory resources based on priorities.

하나의 서버에 프로세서와 메모리 같은 리소스가 고정되어 있는 서버 중심(server-centric)의 데이터 센터와는 달리 각 컴퓨트(compute) 및 메모리 리소스를 하나의 풀(pool)로 구성하여 운용하는 리소스 중심(resource-centric)의 데이터 센터에 대한 기술이 발전하고 있다. 리소스 중심 데이터 센터의 운용 시 초 저지연(ultra-low latency), 초 고용량(ultra-high capacity)을 제공할 수 있는 광 전송 기술에 대한 연구 또한 활발히 진행되고 있는 실정이다. Unlike server-centric data centers where resources such as processors and memory are fixed in one server, resource-centric data centers organize and operate each compute and memory resource as a pool Resource-centric data centers are evolving. Research on an optical transmission technology capable of providing ultra-low latency and ultra-high capacity during the operation of a resource-oriented data center is also being actively conducted.

일 실시예에 따른 데이터 처리 서버를 위한 리소스(resource) 할당 방법은, 클라이언트 장치로부터 서비스의 수행을 위한 리소스 할당 요청을 수신하는 단계; 상기 리소스 할당 요청에 응답하여 상기 서비스가 지연 민감(delay-sensitive) 서비스인지 여부를 판단하는 단계; 상기 서비스가 상기 지연 민감 서비스인 경우, 현재 블레이드 서버 내에 이용 가능한 시스템 리소스가 있는지 여부를 판단하는 단계; 상기 현재 블레이드 서버 내에 상기 이용 가능한 시스템 리소스가 있는 경우, 상기 현재 블레이드 서버의 시스템 리소스를 상기 클라이언트 장치에 할당하는 단계; 및 상기 현재 블레이드 서버 내에 상기 이용 가능한 시스템 리소스가 없는 경우, 랙(rack) 서버 내에 이용 가능한 시스템 리소스가 있는지 여부를 판단하는 단계; 및 상기 랙 서버 내에 이용 가능한 시스템 리소스가 있는 경우, 우선 순위에 기초하여 상기 클라이언트 장치에 상기 랙 서버의 시스템 리소스를 할당하는 단계를 포함할 수 있다. A resource allocation method for a data processing server according to an embodiment includes receiving a resource allocation request for service execution from a client device; determining whether the service is a delay-sensitive service in response to the resource allocation request; determining whether system resources are currently available in the blade server if the service is the delay sensitive service; allocating system resources of the current blade server to the client device if there are system resources available in the current blade server; and determining whether there are available system resources in a rack server when there are no available system resources in the current blade server. and allocating system resources of the rack server to the client device based on priority, when there are system resources available in the rack server.

상기 리소스 할당 방법은 상기 서비스가 상기 지연 민감 서비스가 아닌 경우, 전체 랙 서버 내에서 이용 가능한 시스템 리소스가 있는지 여부를 판단하는 단계; 및 상기 전체 랙 서버 내에 이용 가능한 시스템 리소스가 있는 경우, 상기 클라이언트 장치에 상기 랙 서버의 시스템 리소스를 할당하는 단계를 더 포함할 수 있다. The resource allocation method may include determining whether there are system resources available in the entire rack server when the service is not the delay-sensitive service; and allocating system resources of the rack server to the client device when system resources are available in all rack servers.

상기 랙(rack) 서버 내에 이용 가능한 시스템 리소스가 있는지 여부를 판단하는 단계는, 상기 랙 서버 내에 이용 가능한 시스템 리소스가 없는 경우 리소스 할당 실패 알림을 상기 클라이언트 장치에 전송하는 단계를 더 포함할 수 있다. The step of determining whether there are system resources available in the rack server may further include transmitting a resource allocation failure notification to the client device when there are no system resources available in the rack server.

상기 클라이언트 장치에 상기 랙 서버의 시스템 리소스를 할당하는 단계는, 상기 시스템 리소스 할당이 완료되면, 상기 시스템 리소스 할당 정보를 업데이트하고, 상기 클라이언트 장치와 상기 랙 서버에 상기 시스템 리소스 할당 정보를 전송하는 단계를 더 포함할 수 있다. Allocating system resources of the rack server to the client device may include updating the system resource allocation information and transmitting the system resource allocation information to the client device and the rack server when the system resource allocation is completed. may further include.

상기 우선 순위는, 상기 리소스 할당 요청의 메모리 리소스 용량, 컴퓨팅 리소스 용량, 서비스 타입, 서비스 레벨 계약(service level agreement), 통신 서비스 품질(quality of service)를 포함하는 정보에 기초하여 결정될 수 있다. The priority may be determined based on information including memory resource capacity, computing resource capacity, service type, service level agreement, and quality of service of the resource allocation request.

상기 우선 순위는, 상기 리소스 할당 요청의 저장 장치 용량, 가속기(accelerator) 용량, 컴퓨팅 리소스의 개수의 정보를 더 포함하는 정보에 기초하여 결정될 수 있다. The priority may be determined based on information further including information on a storage device capacity, an accelerator capacity, and the number of computing resources of the resource allocation request.

상기 시스템 리소스는, 메모리 리소스 및 컴퓨팅 리소스를 포함할 수 있다. The system resources may include memory resources and computing resources.

상기 컴퓨팅 리소스를 위한 모듈은 메모리 액세스를 위한 프레임 데이터에 기초하여 상기 메모리 리소스 모듈에 대한 액세스를 수행하고 상기 프레임 데이터는 상기 서비스가 메모리 중점 서비스인지 컴퓨팅 중점 서비스인지를 구분하는 정보, 및 우선 순위 정보를 포함할 수 있다. The computing resource module performs access to the memory resource module based on frame data for memory access, and the frame data includes information for distinguishing whether the service is a memory-focused service or a computing-focused service, and priority information. can include

상기 프레임 데이터는, 서비스 레벨 계약 (service level agreement) 정보, 및 통신 서비스 품질 (quality of service) 정보를 더 포함할 수 있다. The frame data may further include service level agreement information and quality of service information.

일 실시예에 따른 데이터 처리 서버를 위한 리소스 할당 장치는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 인스트럭션을 실행시키기 위한 프로세서를 포함하고, 상기 인스트럭션이 실행될 때, 상기 프로세서는, 클라이언트 장치로부터 서비스의 수행을 위한 리소스 할당 요청을 수신하고, 상기 리소스 할당 요청에 응답하여 상기 서비스가 지연 민감(delay-sensitive) 서비스인지 여부를 판단하고, 상기 서비스가 상기 지연 민감 서비스인 경우, 현재 블레이드 서버 내에 이용 가능한 시스템 리소스가 있는지 여부를 판단하고, 상기 현재 블레이드 서버 내에 상기 이용 가능한 시스템 리소스가 있는 경우, 상기 현재 블레이드 서버의 시스템 리소스를 상기 클라이언트 장치에 할당하고, 및 상기 현재 블레이드 서버 내에 상기 이용 가능한 시스템 리소스가 없는 경우, 랙(rack) 서버 내에 이용 가능한 시스템 리소스가 있는지 여부를 판단하고, 및 상기 랙 서버 내에 이용 가능한 시스템 리소스가 있는 경우, 우선 순위에 기초하여 상기 클라이언트 장치에 상기 랙 서버의 시스템 리소스를 할당할 수 있다. An apparatus for allocating resources for a data processing server according to an embodiment includes a memory for storing one or more instructions; And a processor for executing the instruction, when the instruction is executed, the processor receives a resource allocation request for performing a service from a client device, and in response to the resource allocation request, the service is delay sensitive ( delay-sensitive service, and if the service is the delay-sensitive service, determining whether there are system resources available in the current blade server, and if there are system resources available in the current blade server, Allocating system resources of the current blade server to the client device, and determining whether there are available system resources in a rack server when there are no available system resources in the current blade server, and If there are system resources available in the server, system resources of the rack server may be allocated to the client devices based on priority.

도 1은 일 실시예에 따른 우선 순위에 기반하여 메모리 리소스를 분산 할당하는 데이터 센터의 구성을 나타낸 블록도이다.
도 2는 일 실시예에 따른 우선 순위에 기반하여 메모리 리소스를 분산 할당하는 데이터 센터의 랙 내 구성을 나타낸 블록도이다.
도 3은 일 실시예에 따른 우선 순위에 기반하여 메모리 리소스를 분산 할당하는 장치의 동작을 설명하기 위한 흐름도이다.
도 4는 일 실시예에 따른 지연 민감 서비스 여부에 기반하여 메모리 리소스를 분산 할당하는 장치의 동작을 설명하기 위한 흐름도이다.
도 5는 일 실시예에 따른 우선 순위에 기반하여 메모리 리소스를 분산 할당하는 장치의 메모리 액세스를 위한 프레임 포맷을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 메모리 리소스를 분산 할당하는 장치의 개략적인 구성을 나타낸 블록도이다.
1 is a block diagram illustrating a configuration of a data center that distributes and allocates memory resources based on priorities according to an exemplary embodiment.
2 is a block diagram illustrating a configuration within a rack of a data center that distributes and allocates memory resources based on priorities according to an exemplary embodiment.
3 is a flowchart illustrating an operation of an apparatus for distributing and allocating memory resources based on priorities according to an exemplary embodiment.
4 is a flowchart illustrating an operation of an apparatus for distributing and allocating memory resources based on delay-sensitive service availability according to an embodiment.
5 is a diagram for explaining a frame format for memory access of an apparatus for distributing and allocating memory resources based on priorities according to an exemplary embodiment.
6 is a block diagram showing a schematic configuration of an apparatus for distributing and allocating memory resources according to an exemplary embodiment.

실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다. Specific structural or functional descriptions of the embodiments are disclosed for illustrative purposes only, and may be changed and implemented in various forms. Therefore, the form actually implemented is not limited only to the specific embodiments disclosed, and the scope of the present specification includes changes, equivalents, or substitutes included in the technical idea described in the embodiments.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다. Although terms such as first or second may be used to describe various components, such terms should only be construed for the purpose of distinguishing one component from another. For example, a first element may be termed a second element, and similarly, a second element may be termed a first element.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. It should be understood that when an element is referred to as being “connected” to another element, it may be directly connected or connected to the other element, but other elements may exist in the middle.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, terms such as "comprise" or "have" are intended to designate that the described feature, number, step, operation, component, part, or combination thereof exists, but one or more other features or numbers, It should be understood that the presence or addition of steps, operations, components, parts, or combinations thereof is not precluded.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in this specification, it should not be interpreted in an ideal or excessively formal meaning. don't

이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다. Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. In the description with reference to the accompanying drawings, the same reference numerals are given to the same components regardless of reference numerals, and overlapping descriptions thereof will be omitted.

도 1은 일 실시예에 따른 우선 순위에 기반하여 메모리 리소스를 분산 할당하는 데이터 센터의 구성을 나타낸 블록도이다. 1 is a block diagram illustrating a configuration of a data center that distributes and allocates memory resources based on priorities according to an exemplary embodiment.

도 1을 참조하면, 데이터 센터(10)는 게이트웨이(110), 스파인 스위치(spine switch; 120), 복수의 랙(rack)들(130)을 포함할 수 있다. 데이터 센터(10)는 게이트웨이(110)를 통해 외부 네트워크와 상호 접속할 수 있고, 스파인 스위치(120)는 복수의 랙들(130)을 연결할 수 있다. Referring to FIG. 1 , a data center 10 may include a gateway 110 , a spine switch 120 , and a plurality of racks 130 . The data center 10 may interconnect with an external network through the gateway 110 , and the spine switch 120 may connect a plurality of racks 130 .

데이터 센터(10)는 분리된 데이터 센터일 수 있다. 데이터 센터(10)는 단일 보드에 컴퓨팅 리소스와 메모리 리소스가 로컬(local) 연결되었던 기존 서버 중심의 데이터 센터와 달리, 컴퓨팅 리소스와 메모리 리소스가 다른 보드로 구성되어 리모트(remote) 연결이 되는 구조를 갖을 수 있다. Data center 10 may be a separate data center. The data center 10 has a structure in which computing resources and memory resources are composed of different boards and connected remotely, unlike existing server-oriented data centers in which computing resources and memory resources are locally connected to a single board. can have

데이터 센터(10)의 내부 네트워크를 구성하는 랙들(130)은 광 회선 스위치(230), 복수의 dComp(disaggregated computing) 모듈들(220), 복수의 dMem(disaggregated memory) 모듈들(250)을 포함할 수 있다. 데이터 센터(10)의 각 랙들(130)에서는 분리된 컴퓨팅 및 메모리 리소스(예: dComp 모듈(220), dMem 모듈(240))을 광 회선 스위치(230)를 통하여 연결함으로써 리소스를 효율적으로 이용하기 위하여, 분리된 리소스 관리 및 네트워크 연결 제어 방법을 제공할 수 있다. 실시예들은 disaggregated 데이터 센터(10)에서 하나의 랙들(130)에서 거리상 떨어져 있는 컴퓨팅 풀(pool)과 메모리 풀의 특정 리소스 및 네트워크 리소스를 효율적으로 관리할 수 있다. The racks 130 constituting the internal network of the data center 10 include an optical line switch 230, a plurality of disaggregated computing (dComp) modules 220, and a plurality of disaggregated memory (dMem) modules 250. can do. In each rack 130 of the data center 10, separated computing and memory resources (eg, dComp module 220, dMem module 240) are connected through an optical circuit switch 230 to efficiently use resources. To this end, a separate resource management and network connection control method may be provided. Embodiments may efficiently manage specific resources and network resources of a computing pool and a memory pool separated by distance from one rack 130 in a disaggregated data center 10 .

도 2는 일 실시예에 따른 우선 순위에 기반하여 메모리 리소스를 분산 할당하는 데이터 센터의 랙 내 구성을 나타낸 블록도이다. 2 is a block diagram illustrating a configuration within a rack of a data center that distributes and allocates memory resources based on priorities according to an exemplary embodiment.

도 2를 참조하면, dComp 모듈(220)은 다양한 연산 동작(예: 연산 작업)을 수행하는 모듈로서, CPU(예: 멀티-코어 프로세서)(미도시) 및 광 트랜시버들(미도시)을 포함할 수 있다. dComp 모듈(220)은 연산 작업을 수행하기 위해 내부 메모리(local memory)를 이용할 수 있고, 필요할 경우 dMem 모듈(240)의 메모리를 이용할 수 있다. Referring to FIG. 2 , the dComp module 220 is a module that performs various computational operations (eg, computational tasks), and includes a CPU (eg, multi-core processor) (not shown) and optical transceivers (not shown). can do. The dComp module 220 may use local memory to perform calculation work, and may use the memory of the dMem module 240 if necessary.

dMem 모듈(240)은 복수의 메모리로 구성된 대용량 메모리 장치로서, dComp 모듈(220)의 요청에 따라 메모리 접속 기능(예: 읽기, 쓰기)를 제공할 수 있다. dMem 모듈(240)은 각 dComp 모듈(220)이 공유하여 이용하는 메모리 풀(pool)로서, 메모리 읽기/쓰기 제어 장치(예: 컨트롤러, 메모리 컨트롤러)(미도시), 이와 연결된 복수 개의 메모리들(미도시), 및 광 트랜시버들(미도시)을 포함할 수 있다.The dMem module 240 is a large-capacity memory device composed of a plurality of memories, and may provide memory access functions (eg, read and write) according to a request of the dComp module 220 . The dMem module 240 is a memory pool shared and used by each dComp module 220, a memory read/write control device (eg, controller, memory controller) (not shown), a plurality of memories (not shown) connected thereto time), and optical transceivers (not shown).

광 회선 스위치(230)는 dComp 모듈(220)을 하나 이상의 dMem 모듈(240)과 연결할 수 있다. 광 회선 스위치(230)는 입력되는 광 신호의 파장에 따라 각각 다른 출력 포트로 광 신호를 스위칭하여 출력할 수 있다. 광 회선 스위치(230)는 입력 포트에 따라 스위칭되는 파장이 순환되는 특징을 가지기 때문에, 동일한 파장들로 구성된 파장분할 다중화된 광신호들이 서로 다른 입력 포트에 입력되는 경우에도 동일한 파장 신호가 동일한 포트로 출력되는 것을 방지할 수 있어서 동일한 파장의 광 신호들간 간섭(또는 충돌)없이 스위칭할 수 있다. 광 회선 스위치(230)는 저지연(latency)을 제공하기 위하여 초고속 광 회선 스위치(optical circuit switch(OCS))로 구현될 수 있다. 또한, 광 회선 스위치(230)는 AWG(arrayed waveguide grating) 스위치로 구현될 수 있다.The optical line switch 230 may couple the dComp module 220 with one or more dMem modules 240 . The optical line switch 230 may switch and output optical signals to different output ports according to the wavelengths of input optical signals. Since the optical line switch 230 has a characteristic in which the wavelengths switched according to the input port are circulated, even when wavelength division multiplexed optical signals composed of the same wavelengths are input to different input ports, the same wavelength signals are sent to the same port. It is possible to prevent optical signals from being output, so that optical signals of the same wavelength can be switched without interference (or collision). The optical circuit switch 230 may be implemented as an ultra-high speed optical circuit switch (OCS) to provide low latency. In addition, the optical line switch 230 may be implemented as an arrayed waveguide grating (AWG) switch.

복수의 dComp 모듈(220)은 광 회선 스위치(230)를 통하여 K개의 dMem 모듈(240)과 연결될 수 있다. 도 2에서는 dComp 모듈(220)이 N(예: 1보다 큰 자연수)개이고, dMem 모듈(240)이 K(예: 1보다 큰 자연수)개인 것으로 도시하였지만, 이에 한정되는 것은 아니며, N과 K는 동일할 수도 상이할 수도 있다. 연결을 구성하는 dComp 모듈(220)과 dMem 모듈(240)의 개수는 같거나 다를 수 있다. A plurality of dComp modules 220 may be connected to K dMem modules 240 through an optical line switch 230 . In FIG. 2, it is shown that the number of dComp modules 220 is N (eg, a natural number greater than 1) and the number of dMem modules 240 is K (eg, a natural number greater than 1), but is not limited thereto, and N and K are They may be the same or different. The number of dComp modules 220 and dMem modules 240 constituting the connection may be the same or different.

하나의 dComp 모듈(220)은 각 dMem 모듈(240)과 별도의 고정된 포트로 연결될 수 있다. 예를 들어, 각 dComp 모듈(220)의 포트 수는 광 회선 스위치(230)에 연결된 dMem 모듈(240)의 개수와 같으며, 광 회선 스위치(230)는 (N*K) * (N*K) 스위치(예: N*K 입력 포트와 N*K 출력 포트의 스위치)가 이용될 수 있다. 이때, 하나의 dComp 모듈(220)은 메모리 리소스를 이용하기 위하여 하나 이상의 dMem 모듈(240)에게 액세스할 수 있다. 또한, 복수의 dComp 모듈(220)은 각각 할당된 메모리 범위(예: 할당 메모리 용량, 시작 주소, 및 끝 주소로 결정됨)에 따라 하나의 dMem 모듈(240)의 리소스(예: 메모리)에 액세스할 수 있다.One dComp module 220 may be connected to each dMem module 240 through a separate fixed port. For example, the number of ports of each dComp module 220 is equal to the number of dMem modules 240 connected to the optical line switch 230, and the optical line switch 230 is (N*K) * (N*K) ) switches (e.g. switches of N*K input ports and N*K output ports) may be used. At this time, one dComp module 220 may access one or more dMem modules 240 to use memory resources. In addition, the plurality of dComp modules 220 may access resources (eg, memory) of one dMem module 240 according to the allocated memory range (eg, determined by the allocated memory capacity, start address, and end address). can

리소스 관리부(210)는 dComp 모듈(220)에 대한 리소스 정보, dMem 모듈(240)에 대한 리소스 정보, 및 광 회선 스위치(230)에 대한 리소스 정보(예: 광 스위치 정보)를 수집할 수 있다. 리소스 관리부(210)는 수집된 리소스 정보를 이용하여 각 리소스(예: 컴퓨팅 리소스, 메모리 리소스) 간 네트워크 연결 및 공유 리소스를 관리 제어할 수 있다. The resource manager 210 may collect resource information about the dComp module 220 , resource information about the dMem module 240 , and resource information about the optical line switch 230 (eg, optical switch information). The resource management unit 210 may manage and control network connections and shared resources between resources (eg, computing resources and memory resources) using the collected resource information.

리소스 관리부(210)는 수집된 리소스 정보를 이용하여 리소스 관리 테이블을 관리할 수 있다. 리소스 관리 테이블은 자원 정보 수집 및 관리부, 자원 할당부, 송신부, 및 수신부를 포함할 수 있다. 자원 정보 수집 및 관리부 는dComp 모듈(220)에 대한 리소스 정보를 포함하고, 자원 할당부는 dMem 모듈(240)에 대한 리소스 정보를 포함할 수 있다. 자원 정보 수집 및 관리부는 dComp 모듈(220)과 dMem 모듈(240) 간의 광 경로 설정 정보를 포함할 수 있다. The resource management unit 210 may manage a resource management table using the collected resource information. The resource management table may include a resource information collection and management unit, a resource allocation unit, a transmission unit, and a reception unit. The resource information collection and management unit may include resource information for the dComp module 220, and the resource allocation unit may include resource information for the dMem module 240. The resource information collection and management unit may include optical path setting information between the dComp module 220 and the dMem module 240 .

리소스 관리부(210)는 클라이언트로부터 리소스 할당 요청(예: 컴퓨팅 리소스 및 메모리 리소스의 용량 포함)을 수신하고, 리소스 할당 요청에 따라 가상 서버를 구성할 하나 이상의 dComp 모듈(220)과 하나 이상의 dMem 모듈(240)에 대한 리소스 할당 정보를 결정할 수 있다. 리소스 관리부(210)는 가상 서버를 구성할 하나 이상의 dComp 모듈(220)과 하나 이상의 dMem 모듈(240)의 광 경로 연결을 위한 광 경로 설정 정보를 생성하고, 리소스 관리 테이블을 업데이트할 수 있다. The resource management unit 210 receives a resource allocation request (eg, including the capacity of computing resources and memory resources) from a client, and includes one or more dComp modules 220 and one or more dMem modules to configure a virtual server according to the resource allocation request. 240) may determine resource allocation information. The resource management unit 210 may generate optical path setting information for optical path connection between one or more dComp modules 220 and one or more dMem modules 240 to constitute a virtual server, and may update a resource management table.

리소스 관리부(210)는 광 경로 설정 정보 및 리소스 할당 정보를 가상 서버를 구성할 하나 이상의 dComp 모듈(220)과 하나 이상의 dMem 모듈(240)로 전송하고, 해당 dComp 모듈(220)과 dMem 모듈(240)의 광 경로를 제어하기 위해 제어 신호를 광 회선 스위치(230)로 전송할 수 있다. 제어 신호는 해당 dComp 모듈(220)과 dMem 모듈(240)의 광 경로에 대한 연결 정보를 포함할 수 있다. The resource management unit 210 transmits optical path setting information and resource allocation information to one or more dComp modules 220 and one or more dMem modules 240 constituting a virtual server, and the corresponding dComp modules 220 and dMem modules 240 In order to control the optical path of ), a control signal may be transmitted to the optical line switch 230. The control signal may include connection information about optical paths between the corresponding dComp module 220 and the dMem module 240 .

dComp 모듈(220)은 자신이 할당 받은 원격(remote) 메모리를 이용하기 위하여 할당된 dMem 모듈(240) 사이에 설정된 광 경로에 대응하는 해당 포트를 통하여 읽기/쓰기(R/W) 요청(예: 명령)을 전송할 수 있다. 이때, 쓰기의 경우, dComp 모듈(220)은 쓰기 요청과 함께 데이터를 전송할 수 있다. dMem 모듈(240)은 dComp 모듈(220)로부터 수신한 요청(예: 읽기/쓰기(R/W) 요청)을 처리하고, dComp 모듈(220)에 할당된 메모리에 읽기와 쓰기 명령을 수행할 수 있다. 이때, dMem 모듈(240)은 메모리 읽기/쓰기(R/W)를 수행하기 위하여 dMem 모듈(240)에 포함된 메모리 컨트롤러에게 명령 및 메모리 주소 정보(예: 메모리 시작 주소 및 메모리 끝 주소) 등을 전달할 수 있다. 읽기 명령의 경우, dMem 모듈(240)은 읽기 명령의 경우에 메모리에서 읽은 데이터를 해당 dComp 모듈(220)에게 전송하고, 쓰기 명령의 경우 수신한 데이터를 메모리 쓴 후, 해당 dComp 모듈(220)에게 ack를 전송할 수 있다. dComp 모듈(220)과 dMem 모듈(240)간 작업이 종료되면 리소스 관리부(210)는 해당 리소스들(예: dComp 모듈(220)의 컴퓨팅 리소스, dMem 모듈(240)의 메모리 리소스) 사이의 광 경로를 해지할 수 있다. 도 2에서는 각 랙들(130)을 동일한 종류의 모듈들이 동일한 연결 구조를 가지는 것으로 도시했지만, 각 랙들(130)마다 서로 다른 종류의 모듈들을 포함하고 각 모듈들이 서로 다른 연결 구조로 배치될 수도 있다. The dComp module 220 requests a read/write (R/W) request (e.g., command) can be sent. At this time, in the case of writing, the dComp module 220 may transmit data together with a write request. The dMem module 240 may process requests received from the dComp module 220 (eg, read/write (R/W) requests) and perform read and write commands on the memory allocated to the dComp module 220. there is. At this time, the dMem module 240 sends commands and memory address information (eg, memory start address and memory end address) to the memory controller included in the dMem module 240 in order to perform memory read/write (R/W). can be conveyed In the case of a read command, the dMem module 240 transmits the data read from the memory to the corresponding dComp module 220 in the case of a read command, and in the case of a write command, writes the received data to the memory and sends it to the corresponding dComp module 220. ack can be sent. When the operation between the dComp module 220 and the dMem module 240 is completed, the resource management unit 210 provides an optical path between corresponding resources (eg, computing resources of the dComp module 220 and memory resources of the dMem module 240). can cancel In FIG. 2 , each of the racks 130 is illustrated as having the same type of modules having the same connection structure, but each of the racks 130 may include different types of modules and each of the modules may be arranged with different connection structures.

도 3은 일 실시예에 따른 우선 순위에 기반하여 메모리 리소스를 분산 할당하는 장치의 동작을 설명하기 위한 흐름도이다. 3 is a flowchart illustrating an operation of an apparatus for distributing and allocating memory resources based on priorities according to an exemplary embodiment.

하나의 서버내에 프로세서와 메모리 같은 리소스가 고정된 기존의 서버 중심의 데이터 센터는 많은 어플리케이션들이 프로세서와 메모리 리소스만을 집중적으로 이용함에 따라 전체 리소스의 이용률이 매우 낮은 문제가 있었다. 최근 데이터 센터의 리소스를 효율적으로 이용하기 위해 리소스 중심 데이터 센터에 관한 연구가 진행되고 있다. 리소스 중심의 데이터 센서를 이용하면 클라이언트의 서비스에 대한 리소스 할당 요청을 기반으로 하나의 랙(rack)내에 분산된 컴퓨팅 리소스와 메모리 리소스를 할당하고, 이를 하나의 서버 단위로 관리하여 리소스를 효율적으로 관리할 수 있게 된다. 이하에서는 리소스 중심의 데이터 센터에서 분산되어 있는 컴퓨팅 및 메모리 리소스를 공유하고, 필요한 리소스를 우선 순위에 기반하여 분산 할당하기 위한 방법을 제공한다. 이를 통해 분산되어 있는 리소스를 트래픽 특성 및 우선 순위에 따라 할당하고, 우선 순위가 높은 리소스가 특정 메모리 리소스에 집중 할당되는 것을 방지하여 지연으로 인한 성능 저하를 최소화하고, 우선 순위에 따른 최소 지연을 보장할 수 있다. Existing server-centered data centers in which resources such as processors and memory are fixed in one server have a problem in that the utilization rate of entire resources is very low as many applications intensively use only processor and memory resources. Recently, research on a resource-oriented data center is being conducted in order to efficiently use data center resources. Using a resource-oriented data sensor allocates distributed computing and memory resources in one rack based on a client's request for resource allocation for services, and manages resources efficiently by managing them in a server unit. You can do it. Hereinafter, a method for sharing distributed computing and memory resources in a resource-oriented data center and distributing and allocating necessary resources based on priority is provided. This allocates distributed resources according to traffic characteristics and priorities, prevents high-priority resources from being intensively allocated to specific memory resources, minimizes performance degradation due to delay, and guarantees minimum delay according to priority. can do.

도 3을 참조하면, 단계(310)에서, 리소스 할당 장치는 리소스 정보를 수집하고 수집된 리소스 정보에 기초하여 리소스 관리 테이블을 생성할 수 있다. 리소스 할당 장치는 리소스 관리 테이블로 리소스(예: 컴퓨팅 및 메모리 리소스)의 용량, 리소스의 개수, 포트 및 파장 정보, 광 스위치 정보(예: 광 스위치의 입력/출력 포트의 수, 파장 정보), 컴퓨팅 리소스와 메모리 리소스의 네트워크 연결(예: 광 경로) 정보, 이용 가능한 리소스 유무 등의 정보를 관리할 수 있다. Referring to FIG. 3 , in step 310, the resource allocation device may collect resource information and create a resource management table based on the collected resource information. The resource allocation unit is a resource management table, which includes the capacity of resources (e.g., computing and memory resources), the number of resources, port and wavelength information, optical switch information (e.g., the number of input/output ports of the optical switch, wavelength information), Information such as network connection (eg, optical path) information of resources and memory resources, availability of available resources, and the like can be managed.

단계(320)에서, 리소스 할당 장치는 클라이언트로부터 리소스 할당/해지 요청을 수신할 수 있다. 리소스 할당 요청은 가상 서버를 구성할 컴퓨팅 리소스와 메모리 리소스의 할당 요청일 수 있다. 리소스 해지 요청은 이미 할당된 리소스를 해지하겠다는 클라이언트 장치로부터의 요청일 수 있다. In step 320, the resource allocation device may receive a resource allocation/cancellation request from the client. The resource allocation request may be a request for allocation of computing resources and memory resources constituting a virtual server. The resource release request may be a request from a client device to release an already allocated resource.

단계(325)에서, 리소스 할당 장치는 클라이언트 장치로부터 리소스 할당 요청 여부에 따라 리소스 할당 요청이 있는 경우 단계(330)에서 리소스를 할당할 수 있고, 리소스 할당 요청이 없는 경우 단계(340)에서 리소스 및 광 경로를 해지할 수 있다. 단계(325)에서 리소스 할당 요청이 있는 경우, 리소스 할당 장치는 가상 서버를 구성할 하나 이상의 dComp 모듈과 하나 이상의 dMem 모듈에 대한 리소스 할당 정보를 리소스 관리 테이블에 기초하여 결정하고, 리소스 관리 테이블(예: 컴퓨팅 리소스 관리 테이블, 메모리 리소스 관리 테이블, 컴퓨팅-메모리 상호연결 테이블)을 업데이트하고, dComp 모듈과 dMem 모듈 사이의 광 경로를 설정할 수 있다. In step 325, the resource allocation device may allocate resources in step 330 if there is a resource allocation request according to whether a resource allocation request is made from the client device, and if there is no resource allocation request in step 340, the resource and The optical path can be terminated. In step 325, if there is a resource allocation request, the resource allocation device determines resource allocation information for one or more dComp modules and one or more dMem modules constituting the virtual server based on the resource management table, and the resource management table (eg : compute resource management table, memory resource management table, compute-memory interconnection table), and set the optical path between the dComp module and the dMem module.

단계(340)에서, 리소스 할당 장치는 클라이언트 장치로부터 리소스 해지 요청을 수신할 수 있다. 리소스 해지 요청은 구성된 가상 서버의 작업이 모두 종료되어 가성 서브를 구성한 컴퓨팅 리소스와 메모리 리소스에 대한 해지 요청일 수 있다. In step 340, the resource allocation device may receive a resource release request from the client device. The resource cancellation request may be a cancellation request for a computing resource and a memory resource constituting a virtual server when all tasks of configured virtual servers are terminated.

단계(350)에서, 리소스 할당 장치는 리소스 관리 테이블을 업데이트할 수 있다. 리소스 할당 장치는 리소스 연결 해지 응답 메시지(dR_release_response)를 수신하면 dComp 모듈과 dMem 모듈 간에 연결된 광 경로를 해지하고 리소스 관리 테이블(예: 컴퓨팅 리소스 관리 테이블, 메모리 리소스 관리 테이블, 컴퓨팅-메모리 상호연결 테이블)을 업데이트할 수 있다. In step 350, the resource allocation device may update the resource management table. When the resource allocation device receives the resource connection release response message (dR_release_response), it releases the optical path connected between the dComp module and the dMem module, and the resource management table (eg, computing resource management table, memory resource management table, compute-memory interconnection table) can be updated.

리소스 할당 장치는 클라이언트의 요청에 따라 특정 dComp 모듈에게 할당된 메모리를 동적으로 추가 할당하거나 동적으로 메모리의 일부를 해지하는 동작을 수행할 수도 있다. 이때, 추가 할당되거나 해지되는 메모리 리소스는 특정 dComp 모듈과 이미 광 경로가 연결된 dMem 모듈의 메모리 리소스일 수 있다. The resource allocation device may perform an operation of dynamically additionally allocating memory allocated to a specific dComp module or dynamically releasing a part of memory according to a request of a client. In this case, the memory resource to be additionally allocated or released may be a memory resource of a dMem module to which an optical path is already connected to a specific dComp module.

도 4는 일 실시예에 따른 지연 민감 서비스 여부에 기반하여 메모리 리소스를 분산 할당하는 장치의 동작을 설명하기 위한 흐름도이다. 4 is a flowchart illustrating an operation of an apparatus for distributing and allocating memory resources based on delay-sensitive service availability according to an embodiment.

단계(410)에서 메모리 리소스를 분산 할당하는 장치는 클라이언트 장치로부터 리소스 할당 요청 정보를 수신할 수 있다. In step 410, the device for distributing and allocating memory resources may receive resource allocation request information from the client device.

단계(415)에서 메모리 리소스를 분산 할당하는 장치는 클라이언트 장치로부터의 리소스 할당 요청이 지연 민감(delay-sensitive) 서비스인지 여부를 판단할 수 있다. 이 때 서비스가 메모리 중심(memory-intensive) 서비스인 경우 지연 민감 서비스에 해당할 수 있고, 프로세서 중심(cpu-intensive) 서비스인 경우 지연 민감 서비스에 해당하지 않을 수 있다. In step 415, the device for distributing and allocating memory resources may determine whether the resource allocation request from the client device is a delay-sensitive service. In this case, if the service is memory-intensive, it may correspond to a delay-sensitive service, and if it is a processor-intensive service, it may not correspond to a delay-sensitive service.

단계(420)에서 메모리 리소스를 분산 할당하는 장치는 단계(410)에서 클라이언트 장치로부터의 리소스 할당 요청이 지연 민감 서비스인 경우, 같은 블레이드 서버 내 이용 가능한 프로세서 리소스와 메모리 리소스가 존재하는지 여부를 판단할 수 있다. In step 420, the device for distributing and allocating memory resources determines whether there are available processor resources and memory resources in the same blade server when the resource allocation request from the client device in step 410 is a delay-sensitive service. can

단계(435)에서 메모리 리소스를 분산 할당하는 장치는 단계(420)에서 같은 블레이드 서버 내 이용 가능한 프로세서 리소스와 메모리 리소스가 존재하지 않는 경우 랙 서버 내에 이용 가능한 프로세서 리소스가 존재하는지 여부를 판단할 수 있다. 랙 서버 내에 이용 가능한 프로세서 리소스가 존재하지 않는 경우, 장치는 단계(430)에서 리소스 할당 실패 알림을 전송할 수 있다. In step 435, the apparatus for distributing and allocating memory resources may determine whether processor resources available in the rack server exist when there are no available processor resources and memory resources in the same blade server in step 420. . If there is no processor resource available in the rack server, the device may send a resource allocation failure notification at step 430 .

단계(455)에서 메모리 리소스를 분산 할당하는 장치는 단계(435)에서 랙 서버 내에 이용 가능한 프로세서 리소스가 존재하는 경우 랙 서버 내에 이용 가능한 메모리 리소스가 존재하는지 여부를 판단할 수 있다. 랙 서버 내에 이용 가능한 메모리 리소스가 존재하지 않는 경우, 장치는 단계(430)에서 리소스 할당 실패 알림을 전송할 수 있다. In step 455, the apparatus for distributing and allocating memory resources may determine whether there are available memory resources in the rack server when there are processor resources available in the rack server in step 435. If there are no available memory resources in the rack server, the device may send a resource allocation failure notification at step 430 .

단계(440)에서 메모리 리소스를 분산 할당하는 장치는 단계(455)에서 랙 서버 내에 이용 가능한 메모리 리소스가 존재하는 경우 우선 순위를 고려하여 리소스를 할당할 수 있다. 단계(440)에서 메모리 리소스를 분산 할당하는 장치는 메모리의 우선 순위, 서비스 타입에 따른 사용 정보를 고려하여 프로세서 리소스와 우선 순위 K에 대하여 각 dMem 모듈 중 우선 순위가 K보다 높거나 K와 같은 서비스들의 사용 정보를 통하여 개수가 낮은 메모리를 우선적으로 선택하여 할당할 수 있다. 단계(440)에서 각기 다른 블레이드 서버 내에 있는 프로세서 리소스와 메모리 리소스를 할당하는 경우, 프로세서 리소스와 메모리 리소스 네트워크 경로에 대역(bandwidth)이 사용 가능한지 여부를 함께 고려하여 메모리 사용 가능 여부를 결정할 수 있다. 그리고 단계(450)에서 리소스 할당 정보를 업데이트하고 단계(460)에서 리소스 할당 정보 및 제어 정보를 리소스 관리부에 전송할 수 있다. In step 440, the apparatus for distributing and allocating memory resources may allocate resources in consideration of priority when available memory resources exist in the rack server in step 455. In step 440, the device for distributing and allocating memory resources considers the priority of the memory and the usage information according to the service type, and with respect to the processor resource and the priority K, the priority of each dMem module is higher than K or equal to K. It is possible to preferentially select and allocate a memory having a low number through the use information of . When allocating processor resources and memory resources in different blade servers in step 440, it is possible to determine whether memory is available by considering whether or not bandwidth is available for the processor resource and the memory resource network path. In step 450, resource allocation information is updated, and in step 460, resource allocation information and control information may be transmitted to a resource management unit.

단계(425)에서 메모리 리소스를 분산 할당하는 장치는 단계(415)에서의 클라이언트 장치로부터의 리소스 할당 요청이 지연 민감 서비스가 아닌 경우, 랙 서버 내에 이용 가능한 프로세서 리소스가 존재하는지 여부를 판단할 수 있다. 랙 서버 내에 이용 가능한 프로세서 리소스가 존재하지 않는 경우, 장치는 단계(430)에서 리소스 할당 실패 알림을 전송할 수 있다. In step 425, the device for distributing and allocating memory resources may determine whether there are processor resources available in the rack server when the resource allocation request from the client device in step 415 is not a delay-sensitive service. . If there is no processor resource available in the rack server, the device may send a resource allocation failure notification at step 430 .

단계(445)에서 메모리 리소스를 분산 할당하는 장치는 단계(425)에서 랙 서버 내에 이용 가능한 프로세서 리소스가 존재하는 경우, 랙 서버 내에 이용 가능한 메모리 리소스가 존재하는지 여부를 판단할 수 있다. 랙 서버 내에 이용 가능한 메모리 리소스가 존재하지 않는 경우, 장치는 단계(430)에서 리소스 할당 실패 알림을 전송할 수 있다. 랙 서버 내에 이용 가능한 메모리 리소스가 존재하는 경우, 장치는 단계(440)에서 리소스를 할당할 수 있다. In step 445, the apparatus for distributing and allocating memory resources may determine whether there are available memory resources in the rack server when there are processor resources available in the rack server in step 425. If there are no available memory resources in the rack server, the device may send a resource allocation failure notification at step 430 . If there are memory resources available within the rack server, the device may allocate the resources at step 440 .

도 5는 일 실시예에 따른 우선 순위에 기반하여 메모리 리소스를 분산 할당하는 장치의 메모리 액세스를 위한 프레임 포맷을 설명하기 위한 도면이다. 5 is a diagram for explaining a frame format for memory access of an apparatus for distributing and allocating memory resources based on priorities according to an exemplary embodiment.

도 5를 참조하면, 랙 서버 내에서 우선 순위에 기반하여 메모리 리소스를 액세스 하기 위해 dComp 와 dMem 모듈 사이에서 이용되는 메모리 액세스 프레임 포맷(500)을 알 수 있다. 메모리 액세스 프레임 포맷(500)은 크게 preamble(505)과 SFD(510), 메모리 액세스 프레임 헤더(515), 메모리 읽기/쓰기를 위한 페이로드(payload)(520)로 구성된다. preamble(505)은 메모리 액세스 프레임 포맷(500)에서 정보를 판독하기 위한 동기를 잡기위한 정보를 포함할 수 있다. SFD(510)는 메모리 액세스 프레임 포맷(500)의 보수 기능 드라이버 정보를 포함할 수 있다. 페이로드(520)는 메모리 액세스 프레임 포맷(500)의 이용에 있어서 전송되는 데이터 정보를 포함할 수 있다. Referring to FIG. 5 , a memory access frame format 500 used between dComp and dMem modules to access memory resources based on priority in a rack server can be known. The memory access frame format 500 is largely composed of a preamble 505, an SFD 510, a memory access frame header 515, and a payload 520 for memory read/write. The preamble 505 may include information for synchronization for reading information from the memory access frame format 500 . The SFD 510 may include maintenance function driver information of the memory access frame format 500 . The payload 520 may include data information transmitted in use of the memory access frame format 500 .

메모리 액세스 프레임 헤더(515)는 메모리 액세스를 위한 제어 정보를 전송하기 위한 필드로 BID(525), DCID(530), SCID(535), TAG(540), TYPE(545), R/W(550), M/C(555), PRI(560), S(565), E(570), ACK(575), REQ_SIZE(580), START_ADDR(585) 필드를 포함할 수 있다. BID(525), DCID(530), SCID(535)는 각각 블레이드 ID, 목적지 컴포넌트 ID, 소스 컴포넌트 ID를 나타내며, 컴포넌트는 dComp, dMem과 같은 시스템 리소스를 나타낸다. TAG(540) 필드는 각 연결에서 요청을 구분하기 위하여 이용될 수 있으며, TYPE(545) 필드는 요청과 응답을 구분하기 위한 것으로 요청이면 0, 응답인 경우 1값을 가질 수 있다. R/W(550), S(565), E(570), ACK(575) 필드는 각각 메모리 읽기/쓰기 명령어 구분, 시작 프레임, 마지막 프레임, 메모리 쓰기에 대한 알림을 위하여 이용될 수 있다. The memory access frame header 515 is a field for transmitting control information for memory access, and includes BID (525), DCID (530), SCID (535), TAG (540), TYPE (545), and R/W (550). ), M/C (555), PRI (560), S (565), E (570), ACK (575), REQ_SIZE (580), and START_ADDR (585) fields. BID 525, DCID 530, and SCID 535 represent blade IDs, destination component IDs, and source component IDs, respectively, and components represent system resources such as dComp and dMem. The TAG 540 field can be used to distinguish requests in each connection, and the TYPE 545 field can have a value of 0 for a request and 1 for a response to distinguish a request from a response. The R/W (550), S (565), E (570), and ACK (575) fields can be used to distinguish memory read/write commands, start frame, last frame, and notification of memory write, respectively.

dMem 모듈에서 서비스 타입 또는 우선 순위에 따른 리소스 할당을 지원하기 위하여, M/C(555) 필드와 PRI(560)필드가 이용될 수 있다. 여기서, M/C(555) 필드는 메모리 중점 서비스와 CPU 중점 서비스를 구분하기 위하여 이용될 수 있고, PRI(560)필드는 우선 순위 정보를 나타내기 위하여 이용될 수 있다. In order to support resource allocation according to service type or priority in the dMem module, the M/C (555) field and the PRI (560) field may be used. Here, the M/C (555) field can be used to distinguish a memory-focused service from a CPU-focused service, and the PRI (560) field can be used to indicate priority information.

또한 메모리 읽기 쓰기를 위한 데이터 크기와 메모리 시작 주소 정보를 위하여 REQ_SIZE(580) 필드와 START_ADDR(585) 필드를 이용할 수 있다. 일 실시 예에 따르면, 서비스 특성이나 QoS를 나타내기 위한 정보가 별도로 추가될 수 있으며, 각 필드 크기는 적용되는 규모나 구현 방식에 따라 변경될 수 있다. In addition, the REQ_SIZE (580) field and the START_ADDR (585) field can be used for data size for memory read/write and memory start address information. According to an embodiment, information for indicating service characteristics or QoS may be separately added, and the size of each field may be changed according to an applied scale or implementation method.

도 6은 일 실시예에 따른 메모리 리소스를 분산 할당하는 장치의 개략적인 구성을 나타낸 블록도이다. 6 is a block diagram showing a schematic configuration of an apparatus for distributing and allocating memory resources according to an exemplary embodiment.

리소스 할당 장치(600)는 통신 인터페이스(620), 메모리(630), 및 프로세서(640)를 포함할 수 있다. 리소스 할당 장치(600)의 각 구성(620~640)은 버스(610)를 통해 서로 통신할 수 있다. 통신 인터페이스(620)는 DMI(disaggregated management interface)일 수 있다.The resource allocation device 600 may include a communication interface 620, a memory 630, and a processor 640. Each component 620 to 640 of the resource allocation device 600 may communicate with each other through the bus 610 . The communication interface 620 may be a disaggregated management interface (DMI).

메모리(630)는 프로세서(640)에 의해 실행가능한 인스트럭션(instruction)들(예: 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 프로세서(640)의 동작 및/또는 프로세서(640)의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.The memory 630 may store instructions (eg, programs) executable by the processor 640 . For example, the instructions may include instructions for executing an operation of the processor 640 and/or an operation of each component of the processor 640 .

프로세서(640)는 메모리(630)에 저장된 데이터를 처리할 수 있다. 프로세서(640)는 메모리(630)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(640)에 의해 유발된 인스트럭션들을 실행할 수 있다.The processor 640 may process data stored in the memory 630 . Processor 640 may execute computer readable code (eg, software) stored in memory 630 and instructions invoked by processor 640 .

프로세서(640)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들을 포함할 수 있다.The processor 640 may be a hardware-implemented data processing device having a circuit having a physical structure for executing desired operations. For example, desired operations may include codes or instructions included in a program.

예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.For example, a data processing unit implemented in hardware includes a microprocessor, a central processing unit, a processor core, a multi-core processor, and a multiprocessor. , Application-Specific Integrated Circuit (ASIC), and Field Programmable Gate Array (FPGA).

프로세서(640)에 의해 수행되는 동작은 도 1 내지 도 5를 참조하여 설명한 메모리 리소스를 분산 할당하는 장치의 동작과 실질적으로 동일할 수 있다. 도 6에 도시된 리소스 할당 장치(600)의 각 구성(예: 통신 인터페이스(620), 메모리(630))은 프로세서(640)에 의해 실행될 수 있다. 이에, 상세한 설명은 생략하도록 한다.An operation performed by the processor 640 may be substantially the same as that of the apparatus for distributing and allocating memory resources described with reference to FIGS. 1 to 5 . Each component of the resource allocation device 600 shown in FIG. 6 (eg, the communication interface 620 and the memory 630) may be executed by the processor 640. Accordingly, detailed descriptions will be omitted.

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components. For example, the devices, methods and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate (FPGA). array), programmable logic units (PLUs), microprocessors, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of software. For convenience of understanding, there are cases in which one processing device is used, but those skilled in the art will understand that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include. For example, a processing device may include a plurality of processors or a processor and a controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다. Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. You can command the device. Software and/or data may be any tangible machine, component, physical device, virtual equipment, computer storage medium or device, intended to be interpreted by or provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave. Software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored on computer readable media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination, and the program instructions recorded on the medium may be specially designed and configured for the embodiment or may be known and usable to those skilled in the art of computer software. may be Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler.

위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. The hardware device described above may be configured to operate as one or a plurality of software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. As described above, although the embodiments have been described with limited drawings, those skilled in the art can apply various technical modifications and variations based on this. For example, the described techniques may be performed in an order different from the method described, and/or components of the described system, structure, device, circuit, etc. may be combined or combined in a different form than the method described, or other components may be used. Or even if it is replaced or substituted by equivalents, appropriate results can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다. Therefore, other implementations, other embodiments, and equivalents of the claims are within the scope of the following claims.

Claims (18)

데이터 처리 서버를 위한 리소스 할당 방법에 있어서,
클라이언트 장치로부터 서비스의 수행을 위한 리소스 할당 요청을 수신하는 단계;
상기 리소스 할당 요청에 응답하여 상기 서비스가 지연 민감(delay-sensitive) 서비스인지 여부를 판단하는 단계;
상기 서비스가 상기 지연 민감 서비스인 경우, 현재 블레이드 서버 내에 이용 가능한 시스템 리소스가 있는지 여부를 판단하는 단계;
상기 현재 블레이드 서버 내에 상기 이용 가능한 시스템 리소스가 있는 경우, 상기 현재 블레이드 서버의 시스템 리소스를 상기 클라이언트 장치에 할당하는 단계; 및
상기 현재 블레이드 서버 내에 상기 이용 가능한 시스템 리소스가 없는 경우, 랙(rack) 서버 내에 이용 가능한 시스템 리소스가 있는지 여부를 판단하는 단계; 및
상기 랙 서버 내에 이용 가능한 시스템 리소스가 있는 경우, 우선 순위에 기초하여 상기 클라이언트 장치에 상기 랙 서버의 시스템 리소스를 할당하는 단계
를 포함하는 리소스 할당 방법.
A resource allocation method for a data processing server,
Receiving a resource allocation request for service execution from a client device;
determining whether the service is a delay-sensitive service in response to the resource allocation request;
determining whether system resources are currently available in the blade server if the service is the delay sensitive service;
allocating system resources of the current blade server to the client device if there are system resources available in the current blade server; and
determining whether there are available system resources in a rack server when there are no available system resources in the current blade server; and
Allocating system resources of the rack server to the client device based on priority if there are system resources available in the rack server.
A resource allocation method that includes.
제1항에 있어서,
상기 서비스가 상기 지연 민감 서비스가 아닌 경우, 전체 랙 서버 내에서 이용 가능한 시스템 리소스가 있는지 여부를 판단하는 단계; 및
상기 전체 랙 서버 내에 이용 가능한 시스템 리소스가 있는 경우, 상기 클라이언트 장치에 상기 랙 서버의 시스템 리소스를 할당하는 단계
를 더 포함하는 리소스 할당 방법.
According to claim 1,
If the service is not the delay sensitive service, determining whether there are system resources available in the entire rack server; and
Allocating system resources of the rack server to the client device if there are system resources available in the entire rack server.
A resource allocation method further comprising a.
제1항에 있어서,
상기 랙(rack) 서버 내에 이용 가능한 시스템 리소스가 있는지 여부를 판단하는 단계는,
상기 랙 서버 내에 이용 가능한 시스템 리소스가 없는 경우 리소스 할당 실패 알림을 상기 클라이언트 장치에 전송하는 단계
를 더 포함하는 리소스 할당 방법.
According to claim 1,
The step of determining whether there are system resources available in the rack server,
Sending a resource allocation failure notification to the client device when there are no system resources available in the rack server.
A resource allocation method further comprising a.
제1항에 있어서,
상기 클라이언트 장치에 상기 랙 서버의 시스템 리소스를 할당하는 단계는,
상기 시스템 리소스 할당이 완료되면, 상기 시스템 리소스 할당 정보를 업데이트하고, 상기 클라이언트 장치와 상기 랙 서버에 상기 시스템 리소스 할당 정보를 전송하는 단계
를 더 포함하는 리소스 할당 방법.
According to claim 1,
The step of allocating system resources of the rack server to the client device,
When the system resource allocation is complete, updating the system resource allocation information and transmitting the system resource allocation information to the client device and the rack server.
A resource allocation method further comprising a.
제1항에 있어서,
상기 우선 순위는,
상기 리소스 할당 요청의 메모리 리소스 용량, 컴퓨팅 리소스 용량, 서비스 타입, 서비스 레벨 계약(service level agreement), 통신 서비스 품질(quality of service)를 포함하는 정보에 기초하여 결정되는 것인,
리소스 할당 방법.
According to claim 1,
The priority is,
Which is determined based on information including memory resource capacity, computing resource capacity, service type, service level agreement, and quality of service of the resource allocation request,
How resources are allocated.
제5항에 있어서,
상기 우선 순위는,
상기 리소스 할당 요청의 저장 장치 용량, 가속기(accelerator) 용량, 컴퓨팅 리소스의 개수의 정보를 더 포함하는 정보에 기초하여 결정되는 것인,
리소스 할당 방법.
According to claim 5,
The priority is,
Which is determined based on information further including information on the storage device capacity, accelerator capacity, and number of computing resources of the resource allocation request,
How resources are allocated.
제1항에 있어서,
상기 시스템 리소스는,
메모리 리소스 및 컴퓨팅 리소스를 포함하는,
리소스 할당 방법.
According to claim 1,
The system resource,
including memory resources and computing resources,
How resources are allocated.
제7항에 있어서,
상기 컴퓨팅 리소스를 위한 모듈은,
메모리 액세스를 위한 프레임 데이터에 기초하여 상기 메모리 리소스 모듈에 대한 액세스를 수행하고,
상기 프레임 데이터는,
상기 서비스가 메모리 중점 서비스인지 컴퓨팅 중점 서비스인지를 구분하는 정보, 및 우선 순위 정보를 포함하는,
리소스 할당 방법.
According to claim 7,
The module for the computing resource,
Accessing the memory resource module based on frame data for memory access;
The frame data,
Including information for distinguishing whether the service is a memory-oriented service or a computing-oriented service, and priority information,
How resources are allocated.
제8항에 있어서,
상기 프레임 데이터는,
서비스 레벨 계약 (service level agreement) 정보, 및 통신 서비스 품질 (quality of service) 정보를 더 포함하는,
리소스 할당 방법.
According to claim 8,
The frame data,
Further comprising service level agreement information, and quality of service information,
How resources are allocated.
데이터 처리 서버를 위한 리소스 할당 장치에 있어서,
하나 이상의 인스트럭션을 저장하는 메모리; 및
상기 인스트럭션을 실행시키기 위한 프로세서
를 포함하고,
상기 인스트럭션이 실행될 때, 상기 프로세서는,
클라이언트 장치로부터 서비스의 수행을 위한 리소스 할당 요청을 수신하고, 상기 리소스 할당 요청에 응답하여 상기 서비스가 지연 민감(delay-sensitive) 서비스인지 여부를 판단하고, 상기 서비스가 상기 지연 민감 서비스인 경우, 현재 블레이드 서버 내에 이용 가능한 시스템 리소스가 있는지 여부를 판단하고, 상기 현재 블레이드 서버 내에 상기 이용 가능한 시스템 리소스가 있는 경우, 상기 현재 블레이드 서버의 시스템 리소스를 상기 클라이언트 장치에 할당하고, 및 상기 현재 블레이드 서버 내에 상기 이용 가능한 시스템 리소스가 없는 경우, 랙(rack) 서버 내에 이용 가능한 시스템 리소스가 있는지 여부를 판단하고, 및 상기 랙 서버 내에 이용 가능한 시스템 리소스가 있는 경우, 우선 순위에 기초하여 상기 클라이언트 장치에 상기 랙 서버의 시스템 리소스를 할당하는,
리소스 할당 장치.
A resource allocation device for a data processing server,
a memory that stores one or more instructions; and
A processor to execute the instruction
including,
When the instruction is executed, the processor:
Receives a resource allocation request for service execution from a client device, determines whether the service is a delay-sensitive service in response to the resource allocation request, and if the service is the delay-sensitive service, currently Determine whether there are system resources available in the blade server, and if there are system resources available in the current blade server, allocate system resources of the current blade server to the client device, and allocate the system resources in the current blade server to the client device. If there are no available system resources, it is determined whether there are system resources available in the rack server, and if there are system resources available in the rack server, the client device is assigned to the rack server based on priority. of system resources,
resource allocation device.
제10항에 있어서,
상기 프로세서는,
상기 서비스가 상기 지연 민감 서비스가 아닌 경우, 전체 랙 서버 내에서 이용 가능한 시스템 리소스가 있는지 여부를 판단하고, 및 상기 전체 랙 서버 내에 이용 가능한 시스템 리소스가 있는 경우, 상기 클라이언트 장치에 상기 랙 서버의 시스템 리소스를 더 할당하는,
리소스 할당 장치.
According to claim 10,
the processor,
If the service is not the delay-sensitive service, it is determined whether there are system resources available in the entire rack server, and if there are system resources available in the entire rack server, the system of the rack server is assigned to the client device. allocating more resources
resource allocation device.
제10항에 있어서,
상기 프로세서는,
상기 랙 서버 내에 이용 가능한 시스템 리소스가 없는 경우 리소스 할당 실패 알림을 상기 클라이언트 장치에 더 전송하는,
리소스 할당 장치.
According to claim 10,
the processor,
Further sending a resource allocation failure notification to the client device when there are no available system resources in the rack server,
resource allocation device.
제10항에 있어서,
상기 프로세서는,
상기 시스템 리소스 할당이 완료되면, 상기 시스템 리소스 할당 정보를 업데이트하고, 상기 클라이언트 장치와 상기 랙 서버에 상기 시스템 리소스 할당 정보를 더 전송하는,
리소스 할당 장치.
According to claim 10,
the processor,
When the system resource allocation is complete, updating the system resource allocation information and further transmitting the system resource allocation information to the client device and the rack server.
resource allocation device.
제10항에 있어서,
상기 프로세서는,
상기 리소스 할당 요청의 메모리 리소스 용량, 컴퓨팅 리소스 용량, 서비스 타입, 서비스 레벨 계약(service level agreement), 통신 서비스 품질(quality of service)를 포함하는 정보에 기초하여 상기 우선 순위를 결정하는,
리소스 할당 장치.
According to claim 10,
the processor,
Determining the priority based on information including memory resource capacity, computing resource capacity, service type, service level agreement, and quality of service of the resource allocation request,
resource allocation device.
제14항에 있어서,
상기 프로세서는,
상기 리소스 할당 요청의 저장 장치 용량, 가속기(accelerator) 용량, 컴퓨팅 리소스의 개수의 정보를 더 포함하는 정보에 기초하여 상기 우선 순위를 결정하는,
리소스 할당 장치.
According to claim 14,
the processor,
Determining the priority based on information further including information on the number of storage device capacity, accelerator capacity, and computing resources of the resource allocation request,
resource allocation device.
제10항에 있어서,
상기 시스템 리소스는,
메모리 리소스 및 컴퓨팅 리소스를 포함하는,
리소스 할당 장치.
According to claim 10,
The system resource,
including memory resources and computing resources,
resource allocation device.
제16항에 있어서,
상기 컴퓨팅 리소스를 위한 모듈은,
메모리 액세스를 위한 프레임 데이터에 기초하여 상기 메모리 리소스 모듈에 대한 액세스를 수행하고,
상기 프레임 데이터는,
상기 서비스가 메모리 중점 서비스인지 컴퓨팅 중점 서비스인지를 구분하는 정보, 및 우선 순위 정보를 포함하는,
리소스 할당 장치.
According to claim 16,
The module for the computing resource,
Accessing the memory resource module based on frame data for memory access;
The frame data,
Including information for distinguishing whether the service is a memory-oriented service or a computing-oriented service, and priority information,
resource allocation device.
제17항에 있어서,
상기 프레임 데이터는,
서비스 레벨 계약 (service level agreement) 정보, 및 통신 서비스 품질 (quality of service) 정보를 더 포함하는 ,
리소스 할당 장치.
According to claim 17,
The frame data,
Further comprising service level agreement information and communication quality of service information,
resource allocation device.
KR1020220003391A 2022-01-10 2022-01-10 Apparatus and method for distributed allocation of memory resources based on priority KR20230108059A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220003391A KR20230108059A (en) 2022-01-10 2022-01-10 Apparatus and method for distributed allocation of memory resources based on priority

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220003391A KR20230108059A (en) 2022-01-10 2022-01-10 Apparatus and method for distributed allocation of memory resources based on priority

Publications (1)

Publication Number Publication Date
KR20230108059A true KR20230108059A (en) 2023-07-18

Family

ID=87423694

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220003391A KR20230108059A (en) 2022-01-10 2022-01-10 Apparatus and method for distributed allocation of memory resources based on priority

Country Status (1)

Country Link
KR (1) KR20230108059A (en)

Similar Documents

Publication Publication Date Title
US10838890B2 (en) Acceleration resource processing method and apparatus, and network functions virtualization system
US8276139B2 (en) Provisioning virtual machine placement
US9455926B2 (en) Queue credit management
US9686203B2 (en) Flow control credits for priority in lossless ethernet
US20160203024A1 (en) Apparatus and method for allocating resources of distributed data processing system in consideration of virtualization platform
WO2015087475A1 (en) Software-defined networking interface between multiple platform managers
US20170228337A1 (en) Network interface card configuration method and resource management center
US20110302287A1 (en) Quality of service control
US10067785B1 (en) Event driven virtual machine instance pool balancing
JP2009075718A (en) Method of managing virtual i/o path, information processing system, and program
US11005951B2 (en) Gateway device allowing multiple infrastructural services to access multiple IoT devices
US10331581B2 (en) Virtual channel and resource assignment
CN108028806A (en) The method and apparatus that virtual resource is distributed in network function virtualization NFV networks
US8346080B2 (en) Optical network system and memory access method
US10320654B2 (en) Method for remote node discovery and communication channel validation and connection
US20220272049A1 (en) Disaggregated data center resource management method and apparatus
KR20230108059A (en) Apparatus and method for distributed allocation of memory resources based on priority
CN115934624A (en) Method, apparatus and medium for multi-host remote direct memory access network management
US8346988B2 (en) Techniques for dynamically sharing a fabric to facilitate off-chip communication for multiple on-chip units
KR20130104958A (en) Apparatus and methods for executing multi-operating systems
US20120210018A1 (en) System And Method for Lock-Less Multi-Core IP Forwarding
US20230266988A1 (en) Management and utilization of network interface card resources for workload execution
CN116132352A (en) Data transmission method, device and computer system
KR20220013122A (en) Apparatus and method for controlling memory access in parallel processing system
CN116954822A (en) Container arranging system and use method thereof