KR20150089747A - 원격 직접 메모리 접근 지원 네트워크를 통한 고속 접근 보장 방법 - Google Patents

원격 직접 메모리 접근 지원 네트워크를 통한 고속 접근 보장 방법 Download PDF

Info

Publication number
KR20150089747A
KR20150089747A KR1020140010732A KR20140010732A KR20150089747A KR 20150089747 A KR20150089747 A KR 20150089747A KR 1020140010732 A KR1020140010732 A KR 1020140010732A KR 20140010732 A KR20140010732 A KR 20140010732A KR 20150089747 A KR20150089747 A KR 20150089747A
Authority
KR
South Korea
Prior art keywords
memory
remote
remote memory
information
donor
Prior art date
Application number
KR1020140010732A
Other languages
English (en)
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 KR1020140010732A priority Critical patent/KR20150089747A/ko
Publication of KR20150089747A publication Critical patent/KR20150089747A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0835Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means for main memory peripheral accesses (e.g. I/O or DMA)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time

Abstract

원격 메모리 사용자가 요구하는 크기의 원격 메모리를 빠르게 할당하고 원격 메모리 제공 시스템에서 원격 메모리 사용자가 유효하게 할당받은 메모리만을 고속으로 접근하도록 보장하는 원격 직접 메모리 접근 지원 네트워크를 통한 고속 접근 보장 방법을 제시한다. 제시된 방법은 원격 메모리 사용지원부가, 자신의 로컬 메모리 버퍼를 원격 직접 메모리 접근(RDMA)이 가능하도록 등록하고 로컬 메모리 버퍼에 대한 정보 및 자신이 할당받은 원격 메모리에 대한 할당 식별자 정보를 포함하는 정보를 공여 메모리 에이전트부에게로 제공하면서 원격 메모리의 읽기/쓰기를 요청하는 단계, 공여 메모리 에이전트부가, 원격 메모리 읽기/쓰기 요청을 받음에 따라 수신한 로컬 메모리 버퍼에 대한 정보 및 자신이 할당받은 원격 메모리에 대한 할당 식별자 정보를 포함하는 정보가 자신이 제공하는 공여 메모리를 할당받은 유효한 사용자 정보인지 판단하는 단계, 및 공여 메모리 에이전트부가, 판단하는 단계에서 유효한 사용자로 판단함에 따라 RDMA 쓰기/읽기를 통해 원격 메모리 사용지원부가 요청한 동작을 수행하는 단계;를 포함한다.

Description

원격 직접 메모리 접근 지원 네트워크를 통한 고속 접근 보장 방법{Method for guaranteeing high speed access through remote direct memory access enabled network}
본 발명은 원격 직접 메모리 접근 지원 네트워크를 통한 고속 접근 보장 방법에 관한 것으로, 보다 상세하게는 원격 직접 메모리 접근(RDMA)을 지원하는 네트워크를 통해 연결되는 고성능컴퓨팅시스템에서 응용들이 원격 노드의 메모리를 효과적으로 이용할 수 있도록 지원하는 방법에 관한 것이다.
기존 고성능컴퓨팅 시스템에서는 로컬 메모리 접근 속도와 하드 디스크 접근 속도의 격차가 매우 크기 때문에 원격 메모리를 네트워크 블록 장치, 스왑 장치 등으로 사용하여 시스템 성능을 개선하려는 노력을 해왔다.
원격 메모리를 이용하기 위해서는 짧은 접근속도(latency)와 넓은 대역폭(bandwidth)을 제공하는 고속의 네트워크가 요구된다. 특히, 시스템 커널의 네트워크 스택을 우회하여 네트워크 인터페이스 장치(NIC)가 응용의 메모리를 직접 접근하여 통신을 수행하는 원격 직접 메모리 접근(RDMA) 지원 네트워크가 많이 사용되고 있다.
RDMA 지원 네트워크로는 인피니밴드(Infiniband)와 RoCE(RDMA over Converged Ethernet) 등이 있다.
일반적인 RDMA 통신 모델은 통신을 수행하는 쌍방간에 자신의 로컬 메모리 버퍼를 RDMA 지원 네트워크 인터페이스 장치(RNIC)에 등록하고, 등록된 메모리 영역에 대한 접근키를 상대방에 제공하여, 상대방이 자신의 메모리 버퍼를 원격 직접 메모리 접근(RDMA) 방식으로 접근할 수 있도록 하는 통신 모델이다.
로컬 메모리 영역을 RNIC에 등록하는 것은 응용이 사용하는 가상주소와 RNIC 장치가 접근 가능한 물리주소간의 맵핑 정보를 장치가 알도록 해주고 드라이버 또는 장치로부터 등록된 메모리 영역에 대한 접근키를 얻어오는 것으로, 등록 비용(시간 및 사용 자원)이 적지 않은 작업이다. 특히, 통신을 위해 버퍼로 사용하는 작은 크기의 메모리가 아니라 시스템의 대부분의 메모리(OS 등이 사용하는 메모리 제외)를 타 사용자 노드에 제공하는 시스템에서는 메모리 등록 비용이 매우 크게 증가한다.
원격 메모리 사용자가 일정 크기의 메모리를 요구하는 시점에 메모리를 신규로 등록하고 제공하는 경우의 응답시간은 실제 원격 메모리에 RDMA 읽기/쓰기를 하는 동작시간 대비 매우 크며, 이는 효과적인 메모리 할당이 아니다.
메모리 등록시간을 줄이기 위해, 기존의 방법들에서는 사전에 일정 크기의 메모리 영역을 등록해 두고 그 영역을 배타적으로 사용하도록 해주거나, 기존 원격 사용자에 의해 사용된 등록 메모리 영역을 해제하지 않고 임시 캐시에 두었다가 다른 사용자 요청시에 재할당하는 방식 등을 활용해 왔다.
그러나, 기존 방식의 경우 원격 메모리 사용자가 요청하는 메모리를 정확하게 할당할 수 없기 때문에 실제로 요청한 메모리 크기보다 더 많은 크기를 허가해주어야 하므로 제공되는 원격 메모리의 낭비를 초래할 수 있다.
또한, 원격 메모리 사용자가 접근키를 소유하고 원격 메모리에 접근하는 방식은 원격 메모리를 제공하는 제공자가 원격 메모리 사용자의 실제 메모리 사용 여부를 판단할 수 없게 한다. 또한, 원격 메모리 사용자의 비정상 종료시에 할당된 메모리를 회수하는 시간을 지연시키는 원인이 된다.
관련 선행기술로는, RDMA 기반 네트워크를 통해 노드의 메모리간 직접 전송을 위해서 메모리 영역을 등록할 때 조정 태크(Stags, Steering Tags)를 이용하여 지연을 감소시킴으로써 소비자(consumer)가 송수신 명령을 제기하는데 더 적은 시간을 소비하는 동작을 수행할 수 있게 하는 내용이, 미국등록특허 제7617376호에 개시되었다.
다른 관련 선행기술로는, RDMA 트랜잭션 파이프라인과 RDMA 관리/제어 파이프라인을 분리하여 RDMA연산을 수행할 때 제어 동작을 숨김으로써 일반 RDMA 연산에서 지연을 최소화하는 내용이, 미국등록특허 제8078743호에 개시되었다.
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로, 원격 메모리 사용자가 요구하는 크기의 원격 메모리를 빠르게 할당하고 원격 메모리 제공 시스템에서 원격 메모리 사용자가 유효하게 할당받은 메모리만을 고속으로 접근하도록 보장하는 원격 직접 메모리 접근 지원 네트워크를 통한 고속 접근 보장 방법을 제공함에 그 목적이 있다.
상기와 같은 목적을 달성하기 위하여 본 발명의 바람직한 실시양태에 따른 원격 직접 메모리 접근 지원 네트워크를 통한 고속 접근 보장 방법은, 원격 메모리 사용지원부가, 자신의 로컬 메모리 버퍼를 원격 직접 메모리 접근(RDMA)이 가능하도록 등록하고 상기 로컬 메모리 버퍼에 대한 정보 및 자신이 할당받은 원격 메모리에 대한 할당 식별자 정보를 포함하는 정보를 공여 메모리 에이전트부에게로 제공하면서 상기 원격 메모리의 읽기/쓰기를 요청하는 단계; 상기 공여 메모리 에이전트부가, 상기 원격 메모리 읽기/쓰기 요청을 받음에 따라 수신한 상기 로컬 메모리 버퍼에 대한 정보 및 자신이 할당받은 원격 메모리에 대한 할당 식별자 정보를 포함하는 정보가 자신이 제공하는 공여 메모리를 할당받은 유효한 사용자 정보인지 판단하는 단계; 및 상기 공여 메모리 에이전트부가, 상기 판단하는 단계에서 유효한 사용자로 판단함에 따라 RDMA 쓰기/읽기를 통해 상기 원격 메모리 사용지원부가 요청한 동작을 수행하는 단계;를 포함한다.
바람직하게, 상기 로컬 메모리 버퍼에 대한 정보 및 자신이 할당받은 원격 메모리에 대한 할당 식별자 정보를 포함하는 정보는 상기 로컬 메모리 버퍼의 시작 주소, 크기, 접근키와 원격/공여 메모리 할당 식별자, 자신이 할당받은 원격 메모리의 시작 주소 및 크기를 포함할 수 있다.
바람직하게, 상기 판단하는 단계는 상기 수신한 원격/공여 메모리 할당 식별자, 상기 원격 메모리의 시작 주소 및 크기가 자신이 제공하는 공여 메모리를 할당받은 유효한 사용자 정보이면 유효한 사용자인 것으로 판단할 수 있다.
바람직하게, 상기 수행하는 단계는 상기 원격 메모리 사용지원부가 원격 메모리 읽기를 요청한 경우에는 공여 메모리 에이전트부가 상기 원격 메모리 사용지원부에서 제공한 버퍼에 RDMA쓰기를 수행할 수 있다.
바람직하게, 상기 수행하는 단계는 상기 원격 메모리 사용지원부가 원격 메모리 쓰기를 요청한 경우에는 공여 메모리 에이전트부가 상기 원격 메모리 사용지원부에서 제공한 버퍼에 RDMA읽기를 수행할 수 있다.
바람직하게, 상기 수행하는 단계 이후에, 상기 RDMA 쓰기/읽기가 끝남에 따라 상기 공여 메모리 에이전트부가 상기 원격 메모리 읽기/쓰기 성공을 상기 원격 메모리 사용지원부에게 통보하는 단계를 추가로 포함할 수 있다.
바람직하게, 상기 판단하는 단계에 의해 유효한 사용자가 아닌 것으로 판단됨에 따라 상기 RDMA 읽기/쓰기를 차단하는 단계를 추가로 포함할 수 있다.
바람직하게, 상기 RDMA 읽기/쓰기를 차단함에 따라 상기 원격 메모리 읽기/쓰기 실패를 상기 원격 메모리 사용지원부에게 통보하는 단계를 추가로 포함할 수 있다.
이러한 구성의 본 발명에 따르면, 원격 메모리 사용자에게 원격 메모리를 신속하게 할당하기 위하여 사전에 메모리 공여 노드에서 공여 메모리 등록을 수행한다.
그러나, 원격 메모리 사용자에게 원격 메모리의 접근키를 제공하는 방식으로 원격 메모리 접근 보호를 하는 것이 아니라, 본 발명은 원격 메모리 사용자로부터 원격/공여 메모리 할당 식별자와 원격 메모리 할당 정보(읽기/쓰기 시작주소/크기)를 받아서 원격 메모리를 관리하는 공여 메모리 노드의 공여 메모리 에이전트부가 접근 여부를 판단한다.
이렇게 함으로써 원격 메모리 사용자에게 빠른 할당을 제공하면서도 요구된 크기의 메모리만 사용자에 할당함으로써 메모리 낭비를 없애고, 유효한 원격 메모리 사용자에게만 메모리 접근을 허가하고, 유효하지 않는 원격 메모리 사용자로부터 메모리 접근을 보호할 수 있다.
도 1은 본 발명이 채용되는 원격 메모리 접근이 가능한 고성능 컴퓨팅 시스템의 구조를 나타낸 도면이다.
도 2는 본 발명이 채용되는 원격 메모리 제공 시스템의 구성도이다.
도 3은 원격/공여 메모리의 등록과 할당 절차를 나타낸 흐름도이다.
도 4는 본 발명의 실시예에 따라 원격 메모리의 읽기/쓰기 절차가 성공한 경우를 설명하기 위한 흐름도이다.
도 5는 본 발명의 실시예에 따라 원격 메모리의 읽기/쓰기 절차가 실패한 경우를 설명하기 위한 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 발명은 원격 메모리 사용자가 유효하게 할당받은 원격 메모리를 고속으로 접근하도록 보장하며, 유효하지 않은 접근을 차단하는 것을 기술적 특징으로 한다. 본 발명에서 제안하는 방법은 원격 메모리 사용자가 RDMA 동작을 수행하는 것이 아니라 원격 메모리를 제공하는 공여 메모리 제공자가 RDMA 읽기/쓰기 동작을 대신 수행하는 방식으로 동작한다.
본 발명의 명세서에서 원격 메모리와 공여 메모리는 모두 공여 노드의 메모리를 지칭한다. 다만, 메모리 사용자(예컨대, 원격 메모리 사용지원부) 입장에서는 원격 메모리와 공여 메모리가 원격 노드에 위치하기 때문에 원격 메모리라는 용어를 사용하고, 메모리 공여 노드에서 실행되는 에이전트(예컨대, 공여 메모리 에이전트부) 입장에서는 자신이 제공하는 메모리이므로 공여 메모리라는 용어를 사용한다.
도 1은 본 발명이 채용되는 원격 메모리 접근이 가능한 고성능 컴퓨팅 시스템의 구조를 나타낸 도면이다.
메모리 사용자 노드(1)에서는 원격 메모리를 사용하는 응용이 실행된다.
메모리 공여 노드(2)는 자신의 메모리를 메모리 사용자 응용에게 제공한다.
메모리 사용자 노드(1)와 메모리 공여 노드(2) 및 관리 노드(4)는 RDMA 지원 네트워크(3)로 연결된다.
도 2는 본 발명이 채용되는 원격 메모리 제공 시스템의 구성도이다.
원격 메모리 제공 시스템(20)은 원격 메모리 통합관리부(10), 공여 메모리 에이전트부(12), 및 원격 메모리 사용지원부(14)를 포함한다.
원격 메모리 통합관리부(10)는 도 1의 관리 노드(4)에서 실행되고, 공여 메모리 에이전트부(12)는 도 1의 메모리 공여 노드(2)에서 실행되고, 원격 메모리 사용지원부(14)는 도 1의 메모리 사용자 노드(1)에서 실행된다.
도 2에서, 원격 메모리 사용자(응용)(16)은 원격 메모리 사용지원부(14)의 도움을 받아 원격 메모리를 실제 사용하는 응용이다.
원격 메모리 통합관리부(10)는 공여 메모리 에이전트부(12)에서 등록하는 공여 메모리에 대한 풀(Pool)을 관리한다. 또한, 원격 메모리 통합관리부(10)는 원격 메모리 사용지원부(14)에서 원격 메모리 요청이 있을 경우 공여 메모리 풀에서 적당한 미할당 메모리 블록을 찾아 원격 메모리 사용지원부(14)에 할당해준다.
도 3은 원격/공여 메모리의 등록과 할당 절차를 나타낸 흐름도이다.
먼저, 공여 메모리 에이전트부(12)가 메모리 공여 노드(2)의 가용한 메모리를 공여 메모리 영역으로 모두 RDMA 지원 장치(도시 생략)에 등록한다(S10). 그리고, 공여 메모리 에이전트부(12)는 그 공여 메모리 영역 등록 정보(예컨대, 공여 노드 식별자, 공여 메모리 시작 주소 및 크기 등)를 원격 메모리 통합관리부(10)에게 제공한다(S12).
그에 따라, 원격 메모리 통합관리부(10)는 공여 메모리 에이전트부(12)로부터의 공여 메모리 영역 등록 정보를 근거로 공여 메모리 에이전트부(12)가 등록하는 메모리 영역을 풀(Pool)로 관리한다.
이후, 원격 메모리 사용지원부(14)는 원격 메모리 사용자(응용)(16)의 요청이 있을 때, 원격 메모리를 원격 메모리 통합관리부(10)에 요청한다(S14). 이때, 원격 메모리 사용지원부(14)는 원격 메모리 통합관리부(10)에게 메모리 사용자 노드 식별자, 메모리 사용자 응용 프로세스 식별자, 필요한 원격 메모리의 크기 등의 정보를 제공한다.
이어, 원격 메모리 통합관리부(10)는 자신이 관리하는 메모리 풀에서 원격 메모리 사용지원부(14)가 요청한 크기에 적합한 메모리 영역을 검색한다. 요청한 크기가 매우 커서 하나의 공여 메모리 영역으로 제공이 안 될 경우에는 다수의 공여 메모리 영역이 할당될 수 있다. 메모리 풀에서 적당한 공여 메모리 영역을 찾지 못하면 할당이 되지 않는다.
원격 메모리 통합관리부(10)는 공여 메모리 영역 할당이 완료됨에 따라 공여 메모리 에이전트부(12)에게 메모리 할당을 통보한다(S16). 이때, 원격 메모리 통합관리부(10)는 공여 메모리 에이전트부(12)에게 원격/공여 메모리 할당 식별자, 공여 메모리 시작 주소, 공여 메모리 크기정보 등을 전달한다.
그에 따라, 공여 메모리 에이전트부(12)는 공여 메모리에 할당 정보를 저장하고 할당 확인 메시지를 원격 메모리 통합관리부(10)에게로 보낸다(S18).
그리고, 원격 메모리 통합관리부(10)는 할당된 원격 메모리 영역 목록을 원격 메모리 사용지원부(14)에 전달한다(S20). 이때, 전달되는 정보는 공여 노드 식별자, 공여 메모리 시작 주소, 공여 메모리 크기 등이다. 상기 열거된 정보는 하나의 연속된 원격 메모리에 대해서 제공된다. 두 개 이상의 원격 메모리 영역이 할당된 경우 각 메모리 영역당 상기 정보를 전달할 수 있다.
도 4는 본 발명의 실시예에 따라 원격 메모리의 읽기/쓰기 절차가 성공한 경우를 설명하기 위한 흐름도이다.
원격 메모리 사용지원부(14)는 사용자 응용을 대신하여 원격 메모리로의 읽기/쓰기를 수행한다. 그러나, 원격 메모리 사용지원부(14)는 원격 메모리에 대한 접근키를 가지지 않기 때문에 직접 RDMA 읽기/쓰기를 수행하지 않고, 원격 직접 메모리 접근 지원 네트워크(3)를 통해 공여 메모리 에이전트부(12)에게 원격 메모리의 읽기/쓰기를 요청한다(S30). 이때, 원격 메모리 사용지원부(14)는 자신의 로컬 메모리 버퍼를 RDMA가 가능하도록 등록하고, 이 사용자 버퍼(즉, 등록한 로컬 메모리 버퍼)의 시작 주소, 크기, 접근키와 원격/공여 메모리 할당 식별자, 자신이 할당받은 원격 메모리에서 읽기/쓰기를 하려는 원격 메모리 시작 주소 및 크기를 공여 메모리 에이전트부(12)에 제공한다.
이어, 공여 메모리 에이전트부(12)는 원격 메모리 읽기/쓰기 요청을 받음에 따라, 수신한 원격/공여 메모리 할당 식별자, 원격 메모리의 읽기/쓰기 시작 주소 및 크기가 자신이 제공하는 공여 메모리를 할당받은 유효한 사용자 정보인지 판단한다(S32). 이 판단은 공여 메모리 에이전트부(12)가 저장하고 있는 할당 정보를 검색하여 원격 메모리 사용지원부(14)에서 수신한 원격/공여 메모리 할당 식별자로 접근 가능한 메모리 주소 범위인지를 비교하여 판단한다.
유효한 사용자이면, 공여 메모리 에이전트부(12)는 RDMA 쓰기/읽기를 통해 원격 메모리 사용지원부(14)가 요청한 동작을 수행한다. 즉, 원격 메모리 사용지원부(14)가 원격 메모리 읽기를 요청하였으면 공여 메모리 에이전트부(12)는 원격 메모리 사용지원부(14)가 제공한 버퍼에 RDMA쓰기를 수행하고, 반대로 원격 메모리 쓰기를 요청하였으면 RDMA 읽기를 수행한다(S34).
이와 같이, 공여 메모리 에이전트부(12)에서의 RDMA 쓰기/읽기가 끝나면 공여 메모리 에이전트부(12)는 원격 메모리 읽기/쓰기 성공을 원격 메모리 사용지원부(14)에게 통보한다(S36).
도 5는 본 발명의 실시예에 따라 원격 메모리의 읽기/쓰기 절차가 실패한 경우를 설명하기 위한 흐름도이다.
원격 메모리 사용지원부(14)는 사용자 응용을 대신하여 원격 메모리로의 읽기/쓰기를 수행하는데, 직접 RDMA 읽기/쓰기를 수행하지 않고, 원격 직접 메모리 접근 지원 네트워크(3)를 통해 공여 메모리 에이전트부(12)에게 원격 메모리의 읽기/쓰기를 요청한다(S40). 이때, 공여 메모리 에이전트부(12)에게로 제공되는 정보는 상술한 S30에서의 정보와 동일하다.
그에 따라, 공여 메모리 에이전트부(12)는 원격 메모리 읽기/쓰기 요청을 받음에 따라, 수신한 원격/공여 메모리 할당 식별자, 원격 메모리의 읽기/쓰기 시작 주소 및 크기가 자신이 제공하는 공여 메모리를 할당받은 유효한 사용자 정보인지 판단한다(S42).
판단 결과, 원격 메모리 사용지원부(14)의 원격 메모리 읽기/쓰기 요청에 대해 공여 메모리 에이전트부(12)가 유효한 사용자가 아니라고 판단하면 그 공여 메모리 에이전트부(12)는 RDMA 읽기/쓰기를 차단하고, 원격 메모리 읽기/쓰기 실패를 원격 메모리 사용지원부(14)에게 통보한다(S44).
이상에서와 같이 도면과 명세서에서 최적의 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로, 본 기술 분야의 통상의 지식을 가진자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
1 : 메모리 사용자 노드 2 : 메모리 공여 노드
3 : RDMA 지원 네트워크 4 : 관리 노드
10 : 원격 메모리 통합관리부 12 : 공여 메모리 에이전트부
14 : 원격 메모리 사용지원부 16 : 원격 메모리 사용자(응용)
20 : 원격 메모리 제공 시스템

Claims (1)

  1. 원격 메모리 사용지원부가, 자신의 로컬 메모리 버퍼를 원격 직접 메모리 접근(RDMA)이 가능하도록 등록하고 상기 로컬 메모리 버퍼에 대한 정보 및 자신이 할당받은 원격 메모리에 대한 할당 식별자 정보를 포함하는 정보를 원격 직접 메모리 접근 지원 네트워크를 통해 공여 메모리 에이전트부에게로 제공하면서 상기 원격 메모리의 읽기/쓰기를 요청하는 단계;
    상기 공여 메모리 에이전트부가, 상기 원격 메모리 읽기/쓰기 요청을 받음에 따라 수신한 상기 로컬 메모리 버퍼에 대한 정보 및 자신이 할당받은 원격 메모리에 대한 할당 식별자 정보를 포함하는 정보가 자신이 제공하는 공여 메모리를 할당받은 유효한 사용자 정보인지 판단하는 단계; 및
    상기 공여 메모리 에이전트부가, 상기 판단하는 단계에서 유효한 사용자로 판단함에 따라 RDMA 쓰기/읽기를 통해 상기 원격 메모리 사용지원부가 요청한 동작을 수행하는 단계;를 포함하는 것을 특징으로 하는 원격 직접 메모리 접근 지원 네트워크를 통한 고속 접근 보장 방법.

KR1020140010732A 2014-01-28 2014-01-28 원격 직접 메모리 접근 지원 네트워크를 통한 고속 접근 보장 방법 KR20150089747A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140010732A KR20150089747A (ko) 2014-01-28 2014-01-28 원격 직접 메모리 접근 지원 네트워크를 통한 고속 접근 보장 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140010732A KR20150089747A (ko) 2014-01-28 2014-01-28 원격 직접 메모리 접근 지원 네트워크를 통한 고속 접근 보장 방법

Publications (1)

Publication Number Publication Date
KR20150089747A true KR20150089747A (ko) 2015-08-05

Family

ID=53886123

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140010732A KR20150089747A (ko) 2014-01-28 2014-01-28 원격 직접 메모리 접근 지원 네트워크를 통한 고속 접근 보장 방법

Country Status (1)

Country Link
KR (1) KR20150089747A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200117405A (ko) * 2019-04-04 2020-10-14 한국전자통신연구원 분산 잠금 관리를 하는 분산 시스템 및 그것의 동작 방법
KR20210049184A (ko) * 2018-09-26 2021-05-04 마이크론 테크놀로지, 인크. 선택된 메모리 리소스 사이의 메모리 풀링
EP3857391A4 (en) * 2018-09-26 2022-06-22 Micron Technology, Inc. MEMORY POOLING BETWEEN SELECTED MEMORY RESOURCES VIA A BASE STATION
US11687359B2 (en) 2020-11-12 2023-06-27 Electronics And Telecommunications Research Institute Hybrid memory management apparatus and method for many-to-one virtualization environment

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210049184A (ko) * 2018-09-26 2021-05-04 마이크론 테크놀로지, 인크. 선택된 메모리 리소스 사이의 메모리 풀링
CN112771507A (zh) * 2018-09-26 2021-05-07 美光科技公司 选定存储器资源之间的存储器池化
EP3857391A4 (en) * 2018-09-26 2022-06-22 Micron Technology, Inc. MEMORY POOLING BETWEEN SELECTED MEMORY RESOURCES VIA A BASE STATION
EP3857393A4 (en) * 2018-09-26 2022-06-22 Micron Technology, Inc. MEMORY POOLING BETWEEN SELECTED MEMORY RESOURCES
US11442787B2 (en) 2018-09-26 2022-09-13 Micron Technology, Inc. Memory pooling between selected memory resources
US11650952B2 (en) 2018-09-26 2023-05-16 Micron Technology, Inc. Memory pooling between selected memory resources via a base station
US11709715B2 (en) 2018-09-26 2023-07-25 Micron Technology, Inc. Memory pooling between selected memory resources
KR20200117405A (ko) * 2019-04-04 2020-10-14 한국전자통신연구원 분산 잠금 관리를 하는 분산 시스템 및 그것의 동작 방법
US11500693B2 (en) 2019-04-04 2022-11-15 Electronics And Telecommunications Research Institute Distributed system for distributed lock management and method for operating the same
US11687359B2 (en) 2020-11-12 2023-06-27 Electronics And Telecommunications Research Institute Hybrid memory management apparatus and method for many-to-one virtualization environment

Similar Documents

Publication Publication Date Title
EP3252613B1 (en) Resource management for peripheral component interconnect-express domains
US9678918B2 (en) Data processing system and data processing method
EP3028162B1 (en) Direct access to persistent memory of shared storage
CN111221758B (zh) 处理远程直接内存访问请求的方法和计算机设备
US11221763B2 (en) Disk lock management method, apparatus, and system
JP5068108B2 (ja) メモリ・アドレスの変換およびピン止めのための方法およびシステム
WO2018035856A1 (zh) 实现硬件加速处理的方法、设备和系统
US8370447B2 (en) Providing a memory region or memory window access notification on a system area network
US9542214B2 (en) Operating system virtualization for host channel adapters
CN111585887B (zh) 基于多个网络的通信方法、装置、电子设备及存储介质
WO2022007470A1 (zh) 一种数据传输的方法、芯片和设备
KR20150089747A (ko) 원격 직접 메모리 접근 지원 네트워크를 통한 고속 접근 보장 방법
WO2014183417A1 (zh) 管理内存的方法、装置和系统
US20070220217A1 (en) Communication Between Virtual Machines
US20160085450A1 (en) System for providing remote memory and temporary page pool operating method for providing remote memory
US9910808B2 (en) Reflective memory bridge for external computing nodes
US9772776B2 (en) Per-memory group swap device
WO2016172862A1 (zh) 一种内存管理方法、设备和系统
WO2016119618A1 (zh) 一种远端内存分配方法、装置和系统
US20060153185A1 (en) Method and apparatus for dynamically changing ring size in network processing
US8719466B2 (en) Direct data transfer for device drivers
US10762011B2 (en) Reflective memory bridge for external computing nodes
JP2008097273A (ja) ネットワークインタフェース装置、ネットワークインタフェース制御方法、情報処理装置、データ転送方法
Reto et al. Technical Report Distributed Systems Lab

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination