KR102545228B1 - 컴퓨팅 시스템 및 그것을 포함하는 데이터 처리 시스템 - Google Patents

컴퓨팅 시스템 및 그것을 포함하는 데이터 처리 시스템 Download PDF

Info

Publication number
KR102545228B1
KR102545228B1 KR1020180044780A KR20180044780A KR102545228B1 KR 102545228 B1 KR102545228 B1 KR 102545228B1 KR 1020180044780 A KR1020180044780 A KR 1020180044780A KR 20180044780 A KR20180044780 A KR 20180044780A KR 102545228 B1 KR102545228 B1 KR 102545228B1
Authority
KR
South Korea
Prior art keywords
node
memory
processing
nodes
pulled
Prior art date
Application number
KR1020180044780A
Other languages
English (en)
Other versions
KR20190121457A (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 KR1020180044780A priority Critical patent/KR102545228B1/ko
Priority to US16/210,362 priority patent/US11093295B2/en
Priority to TW107143868A priority patent/TWI811269B/zh
Priority to CN201811549504.3A priority patent/CN110389828B/zh
Priority to CN202310402724.8A priority patent/CN116560833A/zh
Priority to JP2019076878A priority patent/JP7398876B2/ja
Publication of KR20190121457A publication Critical patent/KR20190121457A/ko
Priority to US17/398,237 priority patent/US11768710B2/en
Priority to US17/398,160 priority patent/US11829802B2/en
Application granted granted Critical
Publication of KR102545228B1 publication Critical patent/KR102545228B1/ko

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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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/10Address translation
    • G06F12/1072Decentralised address translation, e.g. in distributed shared memory systems
    • 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
    • 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/5011Allocation 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/5016Allocation 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
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/154Networked environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/50Control mechanisms for virtual memory, cache or TLB
    • G06F2212/502Control mechanisms for virtual memory, cache or TLB using adaptive policy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

데이터 처리 시스템은 하나 이상의 풀드 메모리 노드들; 하나 이상의 처리 노드들; 상기 풀드 메모리 노드들 및 상기 처리 노드들에 각각 연결된 스위치 노드; 및 상기 스위치 노드를 통해 상기 처리 노드들 및 상기 풀드 메모리 노드들과 통신가능하고, 상기 처리 노드들 중 제1 처리 노드에게 태스크 처리를 위임하기 위해서 상기 풀드 메모리 노드들 중 제1 풀드 메모리 노드의 메모리 어드레스 범위를 상기 제1 처리 노드에게 할당하고, 상기 메모리 어드레스 범위를 상기 스위치 노드로 전송하도록 구성된 마스터 노드를 포함하되, 상기 스위치 노드는, 상기 메모리 어드레스 범위에 근거하여, 상기 제1 처리 노드가 상기 태스크 처리를 위해 전송한 제1 메모리 액세스 요청을 상기 제1 풀드 메모리 노드에 대해 처리한다.

Description

컴퓨팅 시스템 및 그것을 포함하는 데이터 처리 시스템{COMPUTING SYSTEM AND DATA PROCESSING SYSTEM INCLUDING THE SAME}
본 발명은 데이터 처리 시스템에 관한 것으로, 더욱 상세하게는 풀드(Pooled) 메모리를 포함하는 데이터 처리 시스템에 관한 것이다.
4차 산업 혁명에 접어들면서 데이터 양은 기하 급수적으로 증가하고 있다. 이러한 흐름에 따라 데이터를 처리할 수 있는 다양한 종류의 서비스들이 도입되고 있고, 머신 러닝과 같은 빅 데이터 기반의 애플리케이션들이 끊임없이 개발되고 있다.
이러한 추세에 따라, 막대한 데이터를 저장하고 처리할 수 있는 데이터 처리 시스템, 예를 들어, 데이터 센터의 중요성은 시간이 지날수록 증대되는 실정이다. 특히, 데이터 처리 시스템의 처리 성능, 즉, 외부로부터 요청된 태스크를 처리하여 결과 데이터를 제공하는 속도를 향상시키기 위해서 데이터 처리 시스템의 다양한 구조들이 제안되고 있다.
본 발명의 실시 예는 처리 노드에 태스크 처리를 위임하면서 풀드 메모리를 할당하여, 태스크를 효율적으로 처리하는 데이터 처리 시스템을 제공하는 데 있다.
본 발명의 실시 예에 따른 데이터 처리 시스템은 하나 이상의 풀드 메모리 노드들; 하나 이상의 처리 노드들; 상기 풀드 메모리 노드들 및 상기 처리 노드들에 각각 연결된 스위치 노드; 및 상기 스위치 노드를 통해 상기 처리 노드들 및 상기 풀드 메모리 노드들과 통신가능하고, 상기 처리 노드들 중 제1 처리 노드에게 태스크 처리를 위임하기 위해서 상기 풀드 메모리 노드들 중 제1 풀드 메모리 노드의 메모리 어드레스 범위를 상기 제1 처리 노드에게 할당하고, 상기 메모리 어드레스 범위를 상기 스위치 노드로 전송하도록 구성된 마스터 노드를 포함하되, 상기 스위치 노드는, 상기 메모리 어드레스 범위에 근거하여, 상기 제1 처리 노드가 상기 태스크 처리를 위해 전송한 제1 메모리 액세스 요청을 상기 제1 풀드 메모리 노드에 대해 처리할 수 있다.
본 발명의 실시 예에 따른 데이터 처리 시스템은 하나 이상의 처리 노드들; 상기 처리 노드들에 각각 연결되고 풀드 메모리를 포함하는 스위치 노드; 및 상기 스위치 노드를 통해 상기 처리 노드들과 통신가능하고, 상기 처리 노드들 중 제1 처리 노드에게 태스크 처리를 위임하기 위해서 상기 풀드 메모리의 메모리 어드레스 범위를 상기 제1 처리 노드에게 할당하고, 상기 메모리 어드레스 범위를 상기 스위치 노드로 전송하도록 구성된 마스터 노드를 포함하되, 상기 스위치 노드는, 상기 메모리 어드레스 범위에 근거하여, 상기 제1 처리 노드가 상기 태스크 처리를 위해 전송한 메모리 액세스 요청을 상기 풀드 메모리에 대해 처리할 수 있다.
본 발명의 실시 예에 따른 데이터 처리 시스템은 하나 이상의 풀드 메모리 노드들; 각 풀드 메모리 노드에 각각 연결된 하나 이상의 처리 노드들; 상기 풀드 메모리 노드들 및 상기 처리 노드들에 각각 연결된 스위치 노드; 및 상기 스위치 노드를 통해 상기 처리 노드들 및 상기 풀드 메모리 노드들과 통신가능하고, 상기 처리 노드들 중 제1 처리 노드에게 태스크 처리를 위임하기 위해서 상기 풀드 메모리 노드들 중 제1 풀드 메모리 노드의 메모리 어드레스 범위를 상기 제1 처리 노드에게 할당하고, 상기 메모리 어드레스 범위를 상기 스위치 노드를 통해 상기 제1 풀드 메모리 노드로 전송하도록 구성된 마스터 노드를 포함하되, 상기 제1 풀드 메모리 노드는 상기 메모리 어드레스 범위에 근거하여, 상기 제1 처리 노드가 상기 태스크 처리를 위해 전송한 메모리 액세스 요청을 처리할 수 있다.
본 발명의 실시 예에 따른 컴퓨팅 시스템은 하나 이상의 풀드 메모리 노드들; 각 풀드 메모리 노드에 각각 연결된 하나 이상의 처리 노드들; 및 상기 풀드 메모리 노드들 및 상기 처리 노드들을 외부의 마스터 노드와 각각 연결하는 스위치 노드를 포함하되, 상기 처리 노드들 중 제1 처리 노드는, 상기 스위치 노드를 통해 상기 마스터 노드로부터 태스크 정보를 수신함으로써 태스크 처리를 위임받고, 상기 풀드 메모리 노드들 중 제1 풀드 메모리 노드는, 상기 스위치 노드를 통해 상기 마스터 노드로부터 메모리 어드레스 범위를 수신하고, 상기 메모리 어드레스 범위에 근거하여 제1 처리 노드가 상기 태스크 처리를 위해 전송한 메모리 액세스 요청을 처리할 수 있다.
본 발명의 실시 예에 따른 데이터 처리 시스템은 하나 이상의 풀드 메모리 노드들; 각 풀드 메모리 노드에 각각 연결된 하나 이상의 처리 노드들; 상기 처리 노드들에 각각 연결된 스위치 노드; 및 상기 스위치 노드를 통해 상기 처리 노드들과 통신가능하고, 상기 처리 노드들 중 제1 처리 노드가 태스크 처리를 위한 메모리 용량을 상기 풀드 메모리 노드들로부터 직접 할당받도록 제어함으로써 상기 제1 처리 노드에게 상기 태스크 처리를 위임하도록 구성된 마스터 노드를 포함할 수 있다.
본 발명의 실시 예에 따른 데이터 처리 시스템은 하나 이상의 풀드 메모리 노드들; 각 풀드 메모리 노드에 각각 연결된 하나 이상의 처리 노드들; 상기 처리 노드들에 각각 연결된 스위치 노드; 및 상기 스위치 노드를 통해 상기 처리 노드들과 통신가능하고, 상기 처리 노드들 중 제1 처리 노드에게 태스크 처리를 위임하도록 구성된 마스터 노드를 포함하되, 상기 풀드 메모리 노드들 중 제1 풀드 메모리 노드는, 상기 제1 처리 노드의 메모리 할당 요청에 응답하여 메모리 어드레스 범위를 상기 제1 처리 노드에게 할당하고, 상기 메모리 어드레스 범위에 근거하여, 상기 제1 처리 노드가 상기 태스크 처리를 위해 전송한 메모리 액세스 요청을 처리할 수 있다.
본 발명의 실시 예에 따른 컴퓨팅 시스템은 하나 이상의 풀드 메모리 노드들; 각 풀드 메모리 노드에 각각 연결된 하나 이상의 처리 노드들; 및 상기 처리 노드들을 외부의 마스터 노드와 각각 연결하는 스위치 노드를 포함하되, 상기 처리 노드들 중 제1 처리 노드는, 상기 스위치 노드를 통한 상기 마스터 노드의 제어에 따라 태스크 처리를 위임받고, 상기 풀드 메모리 노드들 중 제1 풀드 메모리 노드는, 상기 제1 처리 노드의 메모리 할당 요청에 응답하여 메모리 어드레스 범위를 상기 제1 처리 노드에게 할당하고, 상기 메모리 어드레스 범위에 근거하여, 상기 제1 처리 노드가 상기 태스크 처리를 위해 전송한 메모리 액세스 요청을 처리할 수 있다.
본 발명의 실시 예에 따른 데이터 처리 시스템은 처리 노드에 태스크 처리를 위임하면서 풀드 메모리를 할당하여, 태스크를 효율적으로 처리할 수 있다.
도1은 본 발명의 실시 예에 따른 데이터 처리 시스템을 예시적으로 도시하는 블록도,
도2는 본 발명의 실시 예에 따른 데이터 처리 시스템을 예시적으로 도시하는 블록도,
도3a 및 도3b는 본 발명의 실시 예에 따른 도2의 데이터 처리 시스템의 동작 방법을 도시하는 도면들,
도4는 본 발명의 실시 예에 따른 데이터 처리 시스템을 예시적으로 도시하는 블록도,
도5는 본 발명의 실시 예에 따른 데이터 처리 시스템을 예시적으로 도시하는 블록도,
도6a 및 도6b는 본 발명의 실시 예에 따른 도2의 데이터 처리 시스템의 동작 방법을 도시하는 도면들,
도7은 본 발명의 실시 예에 따른 데이터 처리 시스템을 예시적으로 도시하는 블록도,
도8a 및 도8b는 본 발명의 실시 예에 따른 도2의 데이터 처리 시스템의 동작 방법을 도시하는 도면들,
도9는 본 발명의 실시 예에 따른 도7의 데이터 처리 시스템(40)의 동작 방법을 도시하는 도면이다.
본 발명의 이점 및 특징, 그리고 그것을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 통해 설명될 것이다. 그러나 본 발명은 여기에서 설명되는 실시 예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 본 실시 예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.
도면들에 있어서, 본 발명의 실시 예들은 도시된 특정 형태로 제한되는 것이 아니며 명확성을 기하기 위하여 과장된 것이다. 본 명세서에서 특정한 용어들이 사용되었으나. 이는 본 발명을 설명하기 위한 목적에서 사용된 것이며, 의미 한정이나 특허 청구 범위에 기재된 본 발명의 권리 범위를 제한하기 위하여 사용된 것은 아니다.
본 명세서에서 '및/또는'이란 표현은 전후에 나열된 구성요소들 중 적어도 하나를 포함하는 의미로 사용된다. 또한, '연결되는/결합되는'이란 표현은 다른 구성 요소와 직접적으로 연결되거나 다른 구성 요소를 통해서 간접적으로 연결되는 것을 포함하는 의미로 사용된다. 본 명세서에서 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 또한, 명세서에서 사용되는 '포함한다' 또는 '포함하는'으로 언급된 구성 요소, 단계, 동작 및 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및 소자의 존재 또는 추가를 의미한다.
이하, 도면들을 참조하여 본 발명의 실시 예에 대해 상세히 설명하기로 한다.
도1은 본 발명의 실시 예에 따른 데이터 처리 시스템(100)을 예시적으로 도시하는 블록도이다.
도1을 참조하면, 데이터 처리 시스템(100)은 데이터를 처리할 수 있는 전자 시스템으로서, 데이터 센터, 인터넷 데이터 센터, 퍼스널 컴퓨터, 랩탑 컴퓨터, 스마트폰, 태블릿 컴퓨터, 디지털 카메라, 게임 콘솔, 네비게이션, 가상현실 장치 및 웨어러블 장치 등을 포함할 수 있다.
데이터 처리 시스템(100)은 마스터 노드(MASTER), 상위 스위치 노드들(USW), 및 서브 시스템들(SUBSYS)을 포함할 수 있다.
마스터 노드(MASTER)는 상위 스위치 노드들(USW)을 통해 서브 시스템들(SUBSYS)과 연결될 수 있다.
상위 스위치 노드들(USW)은 복수의 레이어 구조, 예를 들어, 2단계의 레이어 구조로 연결될 수 있다. 한편, 2단계의 레이어 구조는 예시일 뿐이고, 3단계 이상의 레이어 구조도 가능할 것이다. 제1 레이어(LAYER1)의 상위 스위치 노드(USW)는 마스터 노드(MASTER)와 제2 레이어(LAYER2)의 상위 스위치 노드들(USW)을 연결할 수 있다. 제2 레이어(LAYER2)의 상위 스위치 노드들(USW) 각각은 복수의 서브 시스템들(SUBSYS) 중 대응하는 서브 시스템들과 연결될 수 있다.
마스터 노드(MASTER)는 서브 시스템들(SUBSYS)을 제어할 수 있다. 마스터 노드(MASTER)는 서브 시스템들(SUBSYS)에 포함된 리소스들(RSS)을 관리하고 제어할 수 있다. 마스터 노드(MASTER)는 서브 시스템들(SUBSYS)의 리소스들(RSS)의 현황을 모두 파악할 수 있다. 따라서, 마스터 노드(MASTER)는 풀드 메모리 노드(PDM)의 부분 메모리 영역을 처리 노드들(PU)에게 할당함으로써, 처리 노드에게 태스크 처리를 위임할 수 있다.
실시 예에 따라, 마스터 노드(MASTER)는 적어도 하나의 서브 시스템(SUBSYS)에서 선택된 적어도 하나의 처리 노드(PU)에게 태스크 처리를 위임할 수 있다. 마스터 노드(MASTER)는 발생된 하나의 태스크를 분할하여 복수의 처리 노드들(PU)에게 각각 태스크 처리를 위임할 수 있다.
실시 예에 따라, 리소스들(RSS)의 연결 구조에 따라, 풀드 메모리 노드(PDM)의 부분 메모리 영역을 마스터 노드(MASTER)가 할당하지 않고, 처리 노드들(PU)이 직접 풀드 메모리 노드들(PDM)에게 요청하여 할당받을 수 있다. 마스터 노드(MASTER)는 처리 노드들(PU)이 풀드 메모리 노드들(PDM)의 부분 메모리 영역의 할당에 성공하는지 여부에 따라 해당 처리 노드에게 태스크 처리를 위임할 수 있다.
제1 레이어(LAYER1) 및 제2 레이어(LAYER2)의 상위 스위치 노드들(USW) 각각은 마스터 노드(MASTER)로부터 전송된 신호에서 주소를 확인하고, 주소에 대응하는 서브 시스템(SUBSYS)으로 해당 신호를 전송할 수 있다.
서브 시스템들(SUBSYS) 각각은 스위치 노드(SW), 하나 이상의 처리 노드들(PU) 및 하나 이상의 풀드 메모리 노드들(PDM)을 포함할 수 있다. 서브 시스템들(SUBSYS) 각각은 컴퓨팅 시스템일 수 있다.
스위치 노드(SW)는 마스터 노드(MASTER)와 서브 시스템의 다른 리소드들, 즉, 처리 노드들(PU) 및 풀드 메모리 노드들(PDM) 사이에서 정보 전달 동작 및 액세스 컨트롤 동작을 수행할 수 있다. 실시 예에 따라, 스위치 노드(SW)는 데이터 처리 시스템(100)의 연결 구조에 따라 일부 기능이 제한될 수 있다. 구체적으로, 스위치 노드(SW)는 풀드 메모리 노드들(PDM)과는 연결되지 않음으로써 일부 기능이 제한될 수 있다.
처리 노드들(PU) 각각은 마스터 노드(MASTER)로부터 태스크 처리를 위임받고, 태스크를 처리할 수 있다. 처리 노드들(PU) 각각은 풀드 메모리 노드들(PDM)의 부분 메모리 영역을 할당받고, 부분 메모리 영역을 사용하여 태스크를 처리할 수 있다. 부분 메모리 영역의 할당은, 마스터 노드(MASTER)에 의해 수행되거나 태스크 처리를 위임받은 처리 노드에 의해 수행될 수 있다.
처리 노드들(PU)은 중앙 처리 장치, 그래픽 처리 장치, 마이크로 프로세서, 애플리케이션 프로세서, 가속 처리 장치(Accelerated Processing Unit) 또는 운영 체제 등을 포함할 수 있다.
풀드 메모리 노드들(PDM)은 일종의 공유 메모리로서 태스크 처리 중인 처리 노드들(PU)에 의해 사용될 수 있다. 즉, 풀드 메모리 노드들(PDM)은 어느 하나의 처리 노드에 의해서만 전속되거나 독점되지 않는다. 실시 예에 따라 어떤 서브 시스템에 포함된 풀드 메모리 노드들(PDM)은 다른 서브 시스템의 처리 노드에 의해서도 사용될 수 있다.
풀드 메모리 노드들(PDM)은 PCMCIA(Personal Computer Memory Card International Association) 카드, CF(Compact Flash) 카드, 스마트 미디어 카드, 메모리 스틱, 다양한 멀티 미디어 카드(MMC, eMMC, RS-MMC, MMC-micro), SD(Secure Digital) 카드(SD, Mini-SD, Micro-SD), UFS(Universal Flash Storage) 또는 SSD(Solid State Drive) 등의 메모리 시스템을 포함할 수 있다.
실시 예에 따라 풀드 메모리 노드들(PDM)은 낸드 플래시(NAND Flash) 또는 노어 플래시(NOR Flash)와 같은 플래시 메모리 장치, FeRAM(Ferroelectrics Random Access Memory), PCRAM(Phase-Change Random Access Memory), MRAM(Magnetic Random Access Memory) 또는 ReRAM(Resistive Random Access Memory) 등의 비휘발성 메모리 장치를 포함할 수 있다.
실시 예에 따라 풀드 메모리 노드들(PDM)은 DRAM(Dynamic Random Access Memory) 또는 SRAM(Static Random Access Memory) 등의 휘발성 메모리 장치를 포함할 수 있다.
실시 예에 따라, 서브 시스템들(SUBSYS)은 대용량 스토리지를 더 포함할 수 있다.
실시 예에 따라, 서브 시스템들(SUBSYS) 각각은 서버 랙에 대응할 수 있다. 그리고, 리소스들(RSS)은 서버 랙의 선반들에 각각 설치되는 서버들일 수 있다.
실시 예에 따라, 데이터 처리 시스템(100)의 노드들은, 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구성될 수 있다.
이하에서, 본 발명의 실시 예에 따른 데이터 처리 시스템(100)의 다양한 구조 및 동작 방법이 상세하게 설명될 것이다.
도2는 본 발명의 실시 예에 따른 데이터 처리 시스템(10)을 예시적으로 도시하는 블록도이다.
도2를 참조하면, 데이터 처리 시스템(10)은 마스터 노드(MASTER1)와 서브 시스템(SUBSYS1)을 포함할 수 있다.
마스터 노드(MASTER1)는 서브 시스템(SUBSYS1)과 연결될 수 있다. 미도시되었지만, 데이터 처리 시스템(10)은 마스터 노드(MASTER1)와 스위치 노드(SWITCH1) 사이에 하나 이상의 상위 스위치 노드들을 더 포함할 수 있다. 스위치 노드(SWITCH1)가 마스터 노드(MASTER1)로부터 전송받는 정보들은 미도시된 상위 스위치 노드들을 통해 전송된 것일 수 있다. 또한, 미도시되었지만, 데이터 처리 시스템(10)은 복수의 서브 시스템(SUBSYS1)들을 더 포함할 수 있을 것이다. 또한, 미도시되었지만 서브 시스템(SUBSYS1)은 복수의 풀드 메모리 노드들을 더 포함할 수 있을 것이다. 이러한 생략은 이하의 모든 실시 예들에 대해서 동일하다.
서브 시스템(SUBSYS1)은 스위치 노드(SWITCH1), 하나 이상의 처리 노드들(PU1), 및 풀드 메모리 노드(PDM1)를 포함할 수 있다.
스위치 노드(SWITCH1)는 마스터 노드(MASTER1)와 연결될 수 있다. 스위치 노드(SWITCH1)는 마스터 노드(MASTER1)와 하나 이상의 상위 스위치 노드들을 통해 연결될 수도 있다. 또한, 스위치 노드(SWITCH1)는 처리 노드들(PU1)과 풀드 메모리 노드(PDM1)에 각각 연결될 수 있다.
처리 노드들(PU1)은 스위치 노드(SWITCH1)를 통해서 풀드 메모리 노드(PDM1)와 연결될 수 있다.
마스터 노드(MASTER1)는 태스크 발생시, 처리 노드들(PU1)과 풀드 메모리 노드(PDM1)에 대해 태스크 위임 동작을 수행할 수 있다. 구체적으로, 마스터 노드(MASTER1)는 처리 노드들(PU1) 중 어느 하나, 예를 들어, 처리 노드(11)에게 태스크 처리를 위임할 것으로 결정할 수 있다. 그리고 마스터 노드(MASTER1)는 풀드 메모리 노드(PDM1)에서 처리 노드(11)에게 할당할 메모리 어드레스 범위를 결정할 수 있다. 즉, 마스터 노드(MASTER1)는 풀드 메모리 노드(PDM1)의 전체 메모리 영역에서 처리 노드(11)에게 할당할 부분 메모리 영역을 결정할 수 있다. 마스터 노드(MASTER1)는 모든 리소스들의 현황을 관리하기 때문에, 태스크 처리를 위임할 처리 노드(11)와 처리 노드(11)에게 할당할 메모리 어드레스 범위를 결정할 수 있다.
마스터 노드(MASTER1)는 스위치 노드(SWITCH1)로 처리 노드(11)와 풀드 메모리 노드(PDM1)에 대한 할당 정보를 전송할 수 있다. 할당 정보는, 처리 노드(11)의 식별 정보와 풀드 메모리 노드(PDM1)에서 처리 노드(11)에게 할당된 부분 메모리 영역의 메모리 어드레스 범위를 포함할 수 있다.
마스터 노드(MASTER1)는 태스크 처리를 위임할 처리 노드(11)로 태스크 정보를 전송할 수 있다. 태스크 정보는 풀드 메모리 노드(PDM1)에서 처리 노드(11)에게 할당된 메모리 어드레스 범위에 대응하는 메모리 용량을 포함할 수 있다. 즉, 태스크 정보는 풀드 메모리 노드(PDM1)의 전체 메모리 영역 처리 노드(11)에게 할당된 부분 메모리 영역의 메모리 용량을 포함할 수 있다. 또한, 태스크 정보는 처리 노드(11)에게 위임된 태스크 내용을 포함할 수 있다. 한편, 마스터 노드(MASTER1)가 처리 노드(11)로 태스크 정보를 전송하는 것은 후술될 바와 같이 스위치 노드(SWITCH1)의 정보 전달 동작에 의해 처리될 수 있다.
한편, 태스크 정보는 풀드 메모리 노드(PDM1)에서 처리 노드(11)에게 할당된 메모리 어드레스 범위는 포함하지 않을 수 있다. 즉, 마스터 노드(MASTER1)는 풀드 메모리 노드(PDM1)의 메모리 어드레스 범위 대신 메모리 어드레스 범위에 대응하는 메모리 용량을 처리 노드(11)에게 알려줌으로써, 처리 노드(11)가 후술될 바와 같이, 메모리 용량에 따른 가상 어드레스 범위를 사용하도록 할 수 있다.
스위치 노드(SWITCH1)는 마스터 노드(MASTER1)와 처리 노드들(PU1) 및 풀드 메모리 노드(PDM1) 사이에서 정보 전달 동작을 수행할 수 있다. 구체적으로, 마스터 노드(MASTER1)가 처리 노드(11)로 태스크 정보를 전송할 때, 스위치 노드(SWITCH1)는 정보 전달 동작을 통해 마스터 노드(MASTER1)로부터 전송된 태스크 정보를 처리 노드(11)로 전송할 수 있다.
또한, 스위치 노드(SWITCH1)는, 처리 노드(11)가 태스크 처리 동작을 수행할 때, 처리 노드(11)로부터 전송된 제1 메모리 액세스 요청을 처리할 수 있다.
구체적으로, 스위치 노드(SWITCH1)는 처리 노드(11)가 태스크 처리 동작을 수행할 때, 처리 노드(11)로부터 전송된 제1 메모리 액세스 요청에 응답하여 처리 노드(11)에 대한 할당 정보를 확인할 수 있다. 스위치 노드(SWITCH1)는 할당 정보에서 처리 노드(11)의 식별 정보를 확인하고, 제1 메모리 액세스 요청에 포함된 처리 노드(11)의 식별 정보와 비교할 수 있다.
또한, 스위치 노드(SWITCH1)는 할당 정보에서 처리 노드(11)에게 할당된 풀드 메모리 노드(PDM1)의 메모리 어드레스 범위를 확인할 수 있다. 스위치 노드(SWITCH1)는 제1 메모리 액세스 요청에 포함된 가상 어드레스를 할당 정보의 메모리 어드레스 범위에 포함된 메모리 어드레스로 변환할 수 있다. 스위치 노드(SWITCH1)는 가상 어드레스와 메모리 어드레스 사이의 맵핑 정보를 관리할 수 있다. 그리고, 스위치 노드(SWITCH1)는 변환된 메모리 어드레스에 대한 제2 메모리 액세스 요청을 풀드 메모리 노드(PDM1)로 전송할 수 있다.
처리 노드(11)는 태스크 처리 동작을 수행함으로써 마스터 노드(MASTER1)로부터 위임받은 태스크를 처리할 수 있다. 처리 노드(11)는 태스크 처리 동작을 수행하기 위해 마스터 노드(MASTER1)로부터 전송된 태스크 정보를 확인할 수 있다. 처리 노드(11)는 태스크 정보를 확인하여 소정의 가상 어드레스 범위를 사용할 것으로 결정할 수 있다. 가상 어드레스 범위는 태스크 정보에 포함된 할당된 메모리 용량에 대응할 수 있다.
처리 노드(11)는 스위치 노드(SWITCH1)로 제1 메모리 액세스 요청을 전송할 수 있다. 제1 메모리 액세스 요청은 가상 어드레스를 포함할 수 있다. 가상 어드레스는 처리 노드(11)가 태스크 처리에 사용할 것으로 결정한 가상 어드레스 범위에 포함될 수 있다. 가상 어드레스는 스위치 노드(SWITCH1)에 의해 풀드 메모리 노드(PDM1)의 메모리 어드레스로 변환될 것이다.
풀드 메모리 노드(PDM1)는 스위치 노드(SWITCH1)로부터 제2 메모리 액세스 요청을 수신하고, 제2 메모리 액세스 요청에 포함된 메모리 어드레스에 대해 메모리 액세스 동작을 수행할 수 있다.
도3a 및 도3b는 본 발명의 실시 예에 따른 도2의 데이터 처리 시스템(10)의 동작 방법을 도시하는 도면들이다. 도3a에서 마스터 노드(MASTER1)는 태스크 위임 동작을 수행하고, 도3b에서 처리 노드(11)는 태스크 처리 동작을 수행할 수 있다.
도3a를 참조하면, 단계(S11)에서, 마스터 노드(MASTER1)는 처리 노드(11)에게 태스크 처리를 위임할 것으로 결정할 수 있다. 그리고 마스터 노드(MASTER1)는 풀드 메모리 노드(PDM1)에서 처리 노드(11)에게 할당할 메모리 어드레스 범위를 결정할 수 있다. 즉, 마스터 노드(MASTER1)는 풀드 메모리 노드(PDM1)의 전체 메모리 영역(MR)에서 처리 노드(11)에게 할당할 부분 메모리 영역(PMR)을 결정할 수 있다.
단계(S12)에서, 마스터 노드(MASTER1)는 스위치 노드(SWITCH1)로 처리 노드(11)와 풀드 메모리 노드(PDM1)에 대한 할당 정보(ASS1)를 전송할 수 있다. 할당 정보(ASS1)는, 처리 노드(11)의 식별 정보와 부분 메모리 영역(PMR)의 메모리 어드레스 범위를 포함할 수 있다. 스위치 노드(SWITCH1)는 내부 메모리에 할당 정보(ASS1)를 저장할 수 있다.
단계(S13)에서, 마스터 노드(MASTER1)는 처리 노드(11)로 태스크 정보(T1)를 전송할 수 있다. 태스크 정보(T1)는 처리 노드(11)에게 할당된 부분 메모리 영역(PMR)의 메모리 용량 및 처리 노드(11)에게 위임된 태스크 내용을 포함할 수 있다. 처리 노드(11)는 내부 메모리에 태스크 정보(T1)를 저장할 수 있다. 한편, 스위치 노드(SWITCH1)는 정보 전달 동작을 통해 마스터 노드(MASTER1)로부터 전송된 태스크 정보(T1)를 처리 노드(11)로 전송할 수 있다.
한편, 단계(S12)가 수행된 뒤 단계(S13)가 수행되거나, 그 역일 수 있다.
도3b를 참조하면, 단계(S14)에서, 처리 노드(11)는 태스크 처리 동작을 수행하기 위해 태스크 정보(T1)를 확인할 수 있다. 처리 노드(11)는 태스크 정보(T1)를 확인하여 소정의 가상 어드레스 범위를 사용할 것으로 결정할 수 있다. 가상 어드레스 범위는 태스크 정보(T1)에 포함된 부분 메모리 영역(PMR)의 메모리 용량에 대응할 수 있다.
단계(S15)에서, 처리 노드(11)는 스위치 노드(SWITCH1)로 제1 메모리 액세스 요청을 전송할 수 있다. 제1 메모리 액세스 요청은 가상 어드레스(VA1)를 포함할 수 있다. 가상 어드레스(VA1)는 태스크 처리에 사용할 것으로 결정한 가상 어드레스 범위에 포함될 수 있다.
단계(S16)에서, 스위치 노드(SWITCH1)는 처리 노드(11)로부터 전송된 제1 메모리 액세스 요청에 응답하여 처리 노드(11)에 대한 할당 정보(ASS1)를 확인할 수 있다. 스위치 노드(SWITCH1)는 할당 정보(ASS1)에서 처리 노드(11)의 식별 정보를 확인하고, 제1 메모리 액세스 요청에 포함된 처리 노드(11)의 식별 정보와 비교할 수 있다. 또한, 스위치 노드(SWITCH1)는 할당 정보(ASS1)에서 처리 노드(11)에게 할당된 부분 메모리 영역(PMR)의 메모리 어드레스 범위를 확인할 수 있다.
단계(S17)에서, 스위치 노드(SWITCH1)는 제1 메모리 액세스 요청에 포함된 가상 어드레스(VA1)를 할당 정보(ASS1)의 메모리 어드레스 범위에 포함된 메모리 어드레스(MA1)로 변환하면서, 가상 어드레스(VA1)와 메모리 어드레스(MA1) 사이의 맵핑 정보를 관리할 수 있다. 스위치 노드(SWITCH1)는 가상 어드레스(VA1)와 메모리 어드레스(MA1)를 맵핑한 것을 맵핑 정보(MAP1)로서 기억할 수 있다.
단계(S18)에서, 스위치 노드(SWITCH1)는 메모리 어드레스(MA1)에 대한 제2 메모리 액세스 요청을 풀드 메모리 노드(PDM1)로 전송할 수 있다.
단계(S19)에서, 풀드 메모리 노드(PDM1)는 스위치 노드(SWITCH1)로부터 전송된 제2 메모리 액세스 요청을 수신하고, 부분 메모리 영역(PMR)의 메모리 어드레스(MA1)에 대해 메모리 액세스 동작을 수행할 수 있다.
정리하면, 본 발명의 실시 예에 따른 도2의 데이터 처리 시스템(10)은 마스터 노드(MASTER1)가 처리 노드(11) 및 풀드 메모리 노드(PDM1)를 포함하는 모든 자원들을 관리하므로 태스크 처리에 자원들을 효율적으로 할당할 수 있다.
또한, 풀드 메모리 노드(PDM1)는 처리 노드들(PU1)과 독립적으로 스위치 노드(SWITCH1)에 연결되므로, 서브 시스템(SUBSYS1)은 복수개의 풀드 메모리 노드들을 포함하도록 용이하게 확장될 수 있다. 즉, 도2의 서브 시스템(SUBSYS1)은 하나의 풀드 메모리 노드(PDM1)가 스위치 노드(SWITCH1)에 연결되지만, 본 발명의 실시 예에 따라 둘 이상의 풀드 메모리 노드들이 처리 노드들(PU1)에 독립적으로 스위치 노드(SWITCH1)에 각각 연결될 수 있다. 그러한 경우 태스크 위임 동작 및 태스크 처리 동작의 수행 방법은 상술한 동작과 실질적으로 유사할 수 있다.
한편, 스위치 노드(SWITCH1)가 복수의 풀드 메모리 노드들에 각각 연결될 때, 마스터 노드(MASTER1)는 풀드 메모리 노드들 중 어떤 풀드 메모리 노드를 처리 노드(11)에게 할당할 것인지를 결정할 것이다. 따라서, 마스터 노드(MASTER1)로부터 스위치 노드(SWITCH1)로 전송되는 할당 정보(ASS1)는 복수의 풀드 메모리 노드들 중 처리 노드(11)에게 할당된 풀드 메모리 노드에 대한 정보를 포함할 수 있다. 스위치 노드(SWITCH1)는 할당 정보(ASS1)에 근거하여 복수의 풀드 메모리 노드들 중 메모리 액세스 요청을 전송할 풀드 메모리 노드를 선택할 수 있다.
도4는 본 발명의 실시 예에 따른 데이터 처리 시스템(20)을 예시적으로 도시하는 블록도이다.
도4를 참조하면, 데이터 처리 시스템(20)은 마스터 노드(MASTER2)와 서브 시스템(SUBSYS2)을 포함할 수 있다. 마스터 노드(MASTER2)는 서브 시스템(SUBSYS2)과 연결될 수 있다. 서브 시스템(SUBSYS2)은 스위치 노드(SWITCH2) 및 복수의 처리 노드들(PU2)을 포함할 수 있다. 도2의 실시 예에서 풀드 메모리 노드(PDM1)가 스위치 노드(SWITCH1)와 물리적으로 독립된 구조인 것과 달리, 도4의 실시 예에서 스위치 노드(SWITCH2)는 도2의 풀드 메모리 노드(PDM1)의 역할을 하는 풀드 메모리(PDM2)를 포함할 수 있다.
스위치 노드(SWITCH2)가 풀드 메모리를 포함할 경우에도, 마스터 노드(MASTER2)는 태스크 위임 동작을 도2의 마스터 노드(MASTER1)가 수행하는 바와 동일하게 수행할 수 있다.
구체적으로, 마스터 노드(MASTER2)는 처리 노드(21)에게 태스크 처리를 위임하기 위해서 풀드 메모리(PDM2)의 메모리 어드레스 범위를 처리 노드(21)에게 할당하고, 메모리 어드레스 범위 및 처리 노드(21)의 식별 정보를 포함하는 할당 정보를 스위치 노드(SWITCH2)로 전송할 수 있다. 그리고, 마스터 노드(MASTER2)는 메모리 어드레스 범위에 대응하는 메모리 용량을 포함하는 태스크 정보를 스위치 노드(SWITCH2)를 통해 처리 노드(21)로 전송할 수 있다.
처리 노드들(PU2)은 태스크 처리 동작을 도2의 처리 노드(11)가 수행하는 바와 동일하게 수행할 수 있다.
구체적으로, 태스크 처리를 위임받은 처리 노드(21)는 태스크 정보에 포함된 메모리 용량에 근거하여 가상 어드레스 범위를 결정하고, 가상 어드레스 범위에 포함되는 가상 어드레스에 대해 메모리 액세스 요청을 스위치 노드(SWITCH2)로 전송할 수 있다.
스위치 노드(SWITCH2)는 도2의 스위치 노드(SWITCH1)와 유사하게 동작할 수 있다. 구체적으로, 스위치 노드(SWITCH2)는 마스터 노드(MASTER2)로부터 전송된 식별 정보와 처리 노드(21)로부터 수신한 메모리 액세스 요청에 포함된 식별 정보를 비교함으로써 메모리 액세스 요청을 처리할 수 있다. 또한, 스위치 노드(SWITCH2)는 메모리 액세스 요청에 포함된 가상 어드레스를 마스터 노드(MASTER2)로부터 전송된 메모리 어드레스 범위의 메모리 어드레스로 변경할 수 있다. 스위치 노드(SWITCH2)는 가상 어드레스와 메모리 어드레스 사이의 맵핑 정보를 관리할 수 있다.
한편, 스위치 노드(SWITCH2)가 메모리 액세스 요청을 처리함에 있어서, 도2의 데이터 처리 시스템(10)과 비교하여 레이턴시가 감소할 수 있다.
구체적으로, 도2의 스위치 노드(SWITCH1)가 풀드 메모리 노드(PDM1)와 물리적으로 구분되고 케이블을 통해 연결될 때, 스위치 노드(SWITCH1)는 풀드 메모리 노드(PDM1)로 메모리 액세스 요청을 패킷타이징함으로써 전송할 수 있다. 그러나, 도4의 스위치 노드(SWITCH2)는 메모리 액세스 요청을 풀드 메모리(PDM2)의 메모리 인터페이스, 예를 들어, DIMM(Dual In-Iine Memory Module) 인터페이스를 통해 처리하여 풀드 메모리(PDM2)가 메모리 액세스 동작을 수행하도록 제어할 수 있다. 이와 같이 스위치 노드(SWITCH2)가 메모리 인터페이스를 통해 내부의 풀드 메모리(PDM2)를 제어할 때, 도2의 스위치 노드(SWITCH1)처럼 패킷타이징이 필요치 않으므로, 패킷타이징에 따른 레이턴시가 제거될 수 있다.
이외에, 도4의 데이터 처리 시스템(20)의 구성 및 동작 방법은 도2의 데이터 처리 시스템(10)의 구성 및 동작 방법과 유사하므로 상세한 설명은 생략될 것이다.
도5는 본 발명의 실시 예에 따른 데이터 처리 시스템(30)을 예시적으로 도시하는 블록도이다.
도5를 참조하면, 데이터 처리 시스템(30)은 마스터 노드(MASTER3)와 서브 시스템(SUBSYS3)을 포함할 수 있다.
마스터 노드(MASTER3)는 서브 시스템(SUBSYS3)과 연결될 수 있다.
서브 시스템(SUBSYS3)은 스위치 노드(SWITCH3), 하나 이상의 처리 노드들(PU3), 및 풀드 메모리 노드(PDM3)를 포함할 수 있다.
스위치 노드(SWITCH3)는 마스터 노드(MASTER3)와 연결될 수 있다. 스위치 노드(SWITCH3)는 마스터 노드(MASTER3)와 하나 이상의 상위 스위치 노드들을 통해 연결될 수도 있다. 또한, 스위치 노드(SWITCH3)는 처리 노드들(PU3)과 풀드 메모리 노드(PDM3)에 각각 연결될 수 있다.
처리 노드들(PU3)은 풀드 메모리 노드(PDM3)와 직접적으로 연결될 수 있다.
마스터 노드(MASTER3)는 태스크 발생시, 처리 노드들(PU3)과 풀드 메모리 노드(PDM3)에 대해 태스크 위임 동작을 수행할 수 있다. 구체적으로, 마스터 노드(MASTER3)는 처리 노드들(PU3) 중 어느 하나, 예를 들어, 처리 노드(31)에게 태스크 처리를 위임할 것으로 결정할 수 있다. 그리고 마스터 노드(MASTER3)는 풀드 메모리 노드(PDM3)에서 처리 노드(31)에게 할당할 메모리 어드레스 범위를 결정할 수 있다. 즉, 마스터 노드(MASTER3)는 풀드 메모리 노드(PDM3)의 메모리 영역에서 처리 노드(31)에게 할당할 부분 메모리 영역을 결정할 수 있다. 마스터 노드(MASTER3)는 모든 리소스들의 현황을 관리하기 때문에, 태스크 처리를 위임할 처리 노드(31)와 처리 노드(31)에게 할당할 메모리 어드레스 범위를 결정할 수 있다.
마스터 노드(MASTER3)는 풀드 메모리 노드(PDM3)로 처리 노드(31)와 풀드 메모리 노드(PDM3)에 대한 할당 정보를 전송할 수 있다. 할당 정보는, 처리 노드(31)의 식별 정보와 풀드 메모리 노드(PDM3)에서 처리 노드(31)에게 할당된 부분 메모리 영역의 메모리 어드레스 범위를 포함할 수 있다. 마스터 노드(MASTER3)가 풀드 메모리 노드(PDM3)로 할당 정보를 전송하는 것은 스위치 노드(SWITCH3)의 정보 전달 동작에 의해 처리될 수 있다.
즉, 마스터 노드(MASTER3)는 도1의 마스터 노드(MASTER1)가 스위치 노드(SWITCH1)로 할당 정보를 전송했던 바와 달리, 풀드 메모리 노드(PDM3)로 할당 정보를 전송할 수 있다. 이는 후술될 바와 같이, 처리 노드들(PU3)이 직접적으로 연결된 풀드 메모리 노드(PDM3)로 메모리 액세스 요청을 바로 전송하기 때문이다. 풀드 메모리 노드(PDM3)는 마스터 노드(MASTER3)로부터 전송된 할당 정보에 근거하여 처리 노드들(PU3)로부터 직접적으로 수신한 메모리 액세스 요청을 처리할 수 있다.
마스터 노드(MASTER3)는 태스크 처리를 위임할 처리 노드(31)로 태스크 정보를 전송할 수 있다. 태스크 정보는 풀드 메모리 노드(PDM3)에서 처리 노드(31)에게 할당된 부분 메모리 영역의 메모리 용량 및 처리 노드(31)에게 위임된 태스크 내용을 포함할 수 있다. 마스터 노드(MASTER3)가 처리 노드(31)로 태스크 정보를 전송하는 것은 스위치 노드(SWITCH3)의 정보 전달 동작에 의해 처리될 수 있다.
스위치 노드(SWITCH3)는 마스터 노드(MASTER3)와 처리 노드들(PU3) 및 풀드 메모리 노드(PDM3) 사이에서 정보 전달 동작을 수행할 수 있다. 구체적으로, 마스터 노드(MASTER3)가 풀드 메모리 노드(PDM3)로 할당 정보를 전송할 때, 스위치 노드(SWITCH3)는 정보 전달 동작을 통해 마스터 노드(MASTER3)로부터 전송된 할당 정보를 풀드 메모리 노드(PDM3)로 전송할 수 있다. 또한, 마스터 노드(MASTER3)가 처리 노드(31)로 태스크 정보를 전송할 때, 스위치 노드(SWITCH3)는 정보 전달 동작을 통해 마스터 노드(MASTER3)로부터 전송된 태스크 정보를 처리 노드(31)로 전송할 수 있다.
처리 노드(31)는 태스크 처리 동작을 수행함으로써 마스터 노드(MASTER3)로부터 위임받은 태스크를 처리할 수 있다. 처리 노드(31)는 태스크 처리 동작을 수행하기 위해 마스터 노드(MASTER3)로부터 전송된 태스크 정보를 확인할 수 있다. 처리 노드(31)는 태스크 정보를 확인하여 소정의 가상 어드레스 범위를 사용할 것으로 결정할 수 있다. 가상 어드레스 범위는 태스크 정보에 포함된 할당된 메모리 용량에 대응할 수 있다.
처리 노드(31)는 풀드 메모리 노드(PDM3)로 메모리 액세스 요청을 전송할 수 있다. 메모리 액세스 요청은 가상 어드레스를 포함할 수 있다. 가상 어드레스는 처리 노드(31)가 태스크 처리에 사용할 것으로 결정한 가상 어드레스 범위에 포함될 수 있다.
풀드 메모리 노드(PDM3)는 처리 노드(31)로부터 전송된 메모리 액세스 요청에 응답하여, 처리 노드(31)에 대한 할당 정보를 확인할 수 있다. 풀드 메모리 노드(PDM3)는 할당 정보에서 처리 노드(31)의 식별 정보를 확인하고, 메모리 액세스 요청에 포함된 처리 노드(31)의 식별 정보와 비교할 수 있다.
또한, 풀드 메모리 노드(PDM3)는 할당 정보에서 처리 노드(31)에게 할당된 풀드 메모리 노드(PDM3)의 메모리 어드레스 범위를 확인할 수 있다. 풀드 메모리 노드(PDM3)는 메모리 액세스 요청에 포함된 가상 어드레스를 할당 정보의 메모리 어드레스 범위에 포함된 메모리 어드레스로 변환할 수 있다. 풀드 메모리 노드(PDM3)는 가상 어드레스와 메모리 어드레스 사이의 맵핑 정보를 관리할 수 있다.
풀드 메모리 노드(PDM3)는 메모리 어드레스에 대해 메모리 액세스 동작을 수행할 수 있다. 즉, 풀드 메모리 노드(PDM3)는 처리 노드들(PU3)과 직접적으로 연결되므로, 처리 노드들(PU3)로부터 메모리 액세스 요청을 직접적으로 수신하여 메모리 액세스 허용 여부를 스스로 판단할 수 있다.
실시 예에 따라 서브 시스템(SUBSYS3)은 복수의 풀드 메모리 노드들을 포함할 수 있다. 각 풀드 메모리 노드는 스위치 노드(SWITCH3)에 연결되고 처리 노드들(PU3)에 각각 연결될 수 있다. 즉, 처리 노드들(PU3) 각각은 복수의 풀드 메모리 노드들에 직접 연결될 수 있다. 이러한 경우, 마스터 노드(MASTER3)는 풀드 메모리 노드들 중 어떤 풀드 메모리 노드를 처리 노드(31)에게 할당할 것인지를 결정할 것이다. 따라서, 마스터 노드(MASTER3)로부터 처리 노드(31)로 전송되는 태스크 정보(T3)는 복수의 풀드 메모리 노드들 중 처리 노드(31)에게 할당된 풀드 메모리 노드에 대한 정보를 포함할 수 있다. 즉, 할당된 풀드 메모리 노드에 대한 정보가 도2의 데이터 처리 시스템(10)에서 스위치 노드(SWITCH1)로 전송되는 것과 달리, 도5의 데이터 처리 시스템(30)에서는 처리 노드(31)로 전송될 수 있다. 이것은, 도5의 데이터 처리 시스템(30)의 처리 노드(31)는 스위치 노드(SWITCH3)를 통하지 않고 풀드 메모리 노드들로 직접 메모리 액세스 요청을 전송할 수 있기 때문이다. 즉, 처리 노드(31)는 태스크 정보(T3)에 근거하여 복수의 풀드 메모리 노드들 중 메모리 액세스 요청을 전송할 풀드 메모리 노드를 선택할 수 있다.
도6a 및 도6b는 본 발명의 실시 예에 따른 도5의 데이터 처리 시스템(30)의 동작 방법을 도시하는 도면들이다. 도6a에서 마스터 노드(MASTER3)는 태스크 위임 동작을 수행하고, 도6b에서 처리 노드(31)는 태스크 처리 동작을 수행할 수 있다.
도6a를 참조하면, 단계(S31)에서, 마스터 노드(MASTER3)는 처리 노드(31)에게 태스크 처리를 위임할 것으로 결정할 수 있다. 그리고 마스터 노드(MASTER3)는 풀드 메모리 노드(PDM3)에서 처리 노드(31)에게 할당할 메모리 어드레스 범위를 결정할 수 있다. 즉, 마스터 노드(MASTER3)는 풀드 메모리 노드(PDM3)의 전체 메모리 영역(MR)에서 처리 노드(31)에게 할당할 부분 메모리 영역(PMR)을 결정할 수 있다.
단계(S32)에서, 마스터 노드(MASTER3)는 풀드 메모리 노드(PDM3)로 처리 노드(31)와 풀드 메모리 노드(PDM3)에 대한 할당 정보(ASS3)를 전송할 수 있다. 할당 정보(ASS3)는, 처리 노드(31)의 식별 정보와 부분 메모리 영역(PMR)의 메모리 어드레스 범위를 포함할 수 있다. 풀드 메모리 노드(PDM3)는 내부 메모리에 할당 정보(ASS3)를 저장할 수 있다. 한편, 스위치 노드(SWITCH3)는 정보 전달 동작을 통해 마스터 노드(MASTER3)로부터 전송된 할당 정보(ASS3)를 풀드 메모리 노드(PDM3)로 전송할 수 있다.
단계(S33)에서, 마스터 노드(MASTER3)는 처리 노드(31)로 태스크 정보(T3)를 전송할 수 있다. 태스크 정보(T3)는 처리 노드(31)에게 할당된 부분 메모리 영역(PMR)의 메모리 용량 및 처리 노드(31)에게 위임된 태스크 내용을 포함할 수 있다. 처리 노드(31)는 내부 메모리에 태스크 정보(T3)를 저장할 수 있다. 한편, 스위치 노드(SWITCH3)는 정보 전달 동작을 통해 마스터 노드(MASTER3)로부터 전송된 태스크 정보(T3)를 처리 노드(31)로 전송할 수 있다.
한편, 단계(S32)가 수행된 뒤 단계(S33)가 수행되거나, 그 역일 수 있다.
도6b를 참조하면, 단계(S34)에서, 처리 노드(31)는 태스크 처리 동작을 수행하기 위해 태스크 정보(T3)를 확인할 수 있다. 처리 노드(31)는 태스크 정보(T3)를 확인하여 소정의 가상 어드레스 범위를 사용할 것으로 결정할 수 있다. 가상 어드레스 범위는 태스크 정보(T3)에 포함된 부분 메모리 영역(PMR)의 메모리 용량에 대응할 수 있다.
단계(S35)에서, 처리 노드(31)는 풀드 메모리 노드(PDM3)로 메모리 액세스 요청을 전송할 수 있다. 메모리 액세스 요청은 가상 어드레스(VA3)를 포함할 수 있다. 가상 어드레스(VA3)는 태스크 처리에 사용할 것으로 결정한 가상 어드레스 범위에 포함될 수 있다.
단계(S36)에서, 풀드 메모리 노드(PDM3)는 처리 노드(31)로부터 전송된 메모리 액세스 요청에 응답하여 처리 노드(31)에 대한 할당 정보(ASS3)를 확인할 수 있다. 풀드 메모리 노드(PDM3)는 할당 정보(ASS3)에서 처리 노드(31)의 식별 정보를 확인하고, 메모리 액세스 요청에 포함된 처리 노드(31)의 식별 정보와 비교할 수 있다. 또한, 풀드 메모리 노드(PDM3)는 할당 정보(ASS3)에서 처리 노드(31)에게 할당된 부분 메모리 영역(PMR)의 메모리 어드레스 범위를 확인할 수 있다.
단계(S37)에서, 풀드 메모리 노드(PDM3)는 메모리 액세스 요청에 포함된 가상 어드레스(VA3)를 할당 정보(ASS3)의 메모리 어드레스 범위에 포함된 메모리 어드레스(MA3)로 변환하면서, 가상 어드레스(VA3)와 메모리 어드레스(MA3) 사이의 맵핑 정보를 관리할 수 있다. 풀드 메모리 노드(PDM3)는 가상 어드레스(VA3)와 메모리 어드레스(MA3)를 맵핑한 것을 맵핑 정보(MAP3)로서 기억할 수 있다.
단계(S38)에서, 풀드 메모리 노드(PDM3)는 부분 메모리 영역(PMR)의 메모리 어드레스(MA3)에 대해 메모리 액세스 동작을 수행할 수 있다.
정리하면, 본 발명의 실시 예에 따른 도5의 데이터 처리 시스템(30)은 마스터 노드(MASTER3)가 처리 노드(31) 및 풀드 메모리 노드(PDM3)를 포함하는 모든 자원들을 관리하므로 태스크 처리에 자원들을 효율적으로 할당할 수 있다.
또한, 풀드 메모리 노드(PDM3)는 처리 노드들(PU3)에 직접적으로 연결되므로, 스위치 서버를 통하지 않고 처리 노드들로부터 바로 메모리 액세스 요청을 전송받을 수 있다. 따라서, 병목 현상이 억제되고, 태스크 처리가 보다 신속하게 수행될 수 있다.
도7은 본 발명의 실시 예에 따른 데이터 처리 시스템(40)을 예시적으로 도시하는 블록도이다.
도7을 참조하면, 데이터 처리 시스템(40)은 마스터 노드(MASTER4)와 서브 시스템(SUBSYS4)을 포함할 수 있다.
마스터 노드(MASTER4)는 서브 시스템(SUBSYS4)과 연결될 수 있다.
서브 시스템(SUBSYS4)은 스위치 노드(SWITCH4), 하나 이상의 처리 노드들(PU4), 및 풀드 메모리 노드(PDM4)를 포함할 수 있다.
스위치 노드(SWITCH4)는 마스터 노드(MASTER4)와 연결될 수 있다. 스위치 노드(SWITCH4)는 마스터 노드(MASTER4)와 하나 이상의 상위 스위치 노드들을 통해 연결될 수도 있다. 또한, 스위치 노드(SWITCH4)는 처리 노드들(PU4)에 각각 연결될 수 있다.
처리 노드들(PU4)은 풀드 메모리 노드(PDM4)와 직접적으로 연결될 수 있다.
풀드 메모리 노드(PDM4)는 처리 노드들(PU4)과 직접적으로 각각 연결될 수 있다. 풀드 메모리 노드(PDM4)는 도5의 풀드 메모리 노드(PDM3)가 스위치 노드(SWITCH3)와 연결된 것과 달리, 스위치 노드(SWITCH4)와 연결되지 않을 수 있다.
마스터 노드(MASTER4)는 태스크 발생시, 처리 노드들(PU4)에 대해 태스크 위임 동작을 수행할 수 있다. 구체적으로, 마스터 노드(MASTER4)는 처리 노드들(PU4) 중 어느 하나, 예를 들어, 처리 노드(41)에게 태스크 처리를 위임할 것으로 결정할 수 있다. 마스터 노드(MASTER4)는 처리 노드(41)로 메모리 확인 요청을 전송할 수 있다. 메모리 확인 요청은 처리 노드(41)가 태스크 처리를 위해 할당받아야 할 메모리 용량에 대한 정보를 포함할 수 있다.
마스터 노드(MASTER4)는 메모리 확인 요청에 대해 처리 노드(41)로부터 할당 결과를 수신할 수 있다. 할당 결과는 풀드 메모리 노드(PDM4)에 대해 할당이 성공했는지 또는 실패했는지 여부를 포함할 수 있다. 마스터 노드(MASTER4)는 처리 노드(41)로부터 할당 성공의 할당 결과를 수신하면, 처리 노드(41)로 태스크 정보를 전송할 수 있다. 태스크 정보는 처리 노드(41)에게 위임된 태스크 내용을 포함할 수 있다.
그러나, 마스터 노드(MASTER4)는 처리 노드(41)로부터 할당 실패의 할당 결과를 수신하면, 다른 서브 시스템(미도시됨)의 처리 노드에게 태스크 처리를 위임하기 위해 해당 처리 노드로 메모리 확인 요청을 전송할 수 있다.
즉, 마스터 노드(MASTER4)는 도2, 도4, 도5의 마스터 노드들(10, 20, 30)과 같이 풀드 메모리 노드(PDM4)와 스위치 노드(SWITCH4)를 통해 연결되지 않으므로, 풀드 메모리 노드(PDM4)의 현황을 알지 못할 수 있다. 따라서, 마스터 노드(MASTER4)는 처리 노드(41)에게 풀드 메모리 노드(PDM4)의 메모리 어드레스 범위를 직접 할당하지 않을 수 있다.
스위치 노드(SWITCH4)는 마스터 노드(MASTER4)와 처리 노드들(PU4) 사이에서 정보 전달 동작을 수행할 수 있다. 구체적으로, 마스터 노드(MASTER4)가 처리 노드(41)로 메모리 확인 요청 또는 태스크 정보를 전송할 때, 스위치 노드(SWITCH4)는 정보 전달 동작을 통해 마스터 노드(MASTER4)로부터 전송된 메모리 확인 요청 또는 태스크 정보를 처리 노드(41)로 전송할 수 있다. 처리 노드(41)가 마스터 노드(MASTER4)로 할당 결과를 전송할 때, 스위치 노드(SWITCH4)는 정보 전달 동작을 통해 처리 노드(41)로부터 전송된 할당 결과를 마스터 노드(MASTER4)로 전송할 수 있다.
처리 노드(41)는 마스터 노드(MASTER4)로부터 전송된 메모리 확인 요청에 응답하여 풀드 메모리 노드(PDM4)로 할당 요청을 전송할 수 있다. 할당 요청은 처리 노드(41)가 할당받아야 할 메모리 용량에 대한 정보를 포함할 수 있다. 처리 노드(41)는 풀드 메모리 노드로(PDM4)부터 전송된 할당 성공/실패의 응답에 응답하여, 마스터 노드(MASTER4)로 할당이 성공/실패했음을 알리는 할당 결과를 전송할 수 있다.
그리고, 처리 노드(41)는 태스크 처리 동작을 수행함으로써 마스터 노드(MASTER4)로부터 위임받은 태스크를 처리할 수 있다. 처리 노드(41)는 태스크 처리 동작을 수행하기 위해 마스터 노드(MASTER4)로부터 전송된 태스크 정보를 확인할 수 있다. 태스크 정보는 처리 노드(41)에게 위임된 태스크 내용을 포함할 수 있다. 처리 노드(41)는 풀드 메모리 노드(PDM4)로부터 할당받은 메모리 용량을 태스크 정보로서 함께 관리할 수 있다.
처리 노드(41)는 소정의 가상 어드레스 범위를 사용할 것으로 결정할 수 있다. 가상 어드레스 범위는 처리 노드(41)에게 할당된 메모리 용량에 대응할 수 있다.
처리 노드(41)는 풀드 메모리 노드(PDM4)로 메모리 액세스 요청을 전송할 수 있다. 메모리 액세스 요청은 가상 어드레스를 포함할 수 있다. 가상 어드레스는 처리 노드(41)가 태스크 처리에 사용할 것으로 결정한 가상 어드레스 범위에 포함될 수 있다.
풀드 메모리 노드(PDM4)는 처리 노드(41)로부터 전송된 할당 요청에 응답하여 메모리 영역 중 부분 메모리 영역을 처리 노드(41)에게 할당하고 할당 정보를 생성할 수 있다. 할당 정보는 처리 노드(41)의 식별 정보와 부분 메모리 영역의 메모리 어드레스 범위를 포함할 수 있다. 풀드 메모리 노드(PDM4)는 처리 노드(41)로 할당 성공의 응답을 전송할 수 있다.
한편, 풀드 메모리 노드(PDM4)는 처리 노드(41)로부터 할당 요청을 수신했을 때, 처리 노드에게 할당가능한 메모리 영역이 존재하지 않을 경우, 처리 노드(41)로 할당 실패의 응답을 전송할 수 있다.
풀드 메모리 노드(PDM4)는 처리 노드(41)로부터 전송된 메모리 액세스 요청에 응답하여, 처리 노드(41)에 대한 할당 정보를 확인할 수 있다. 풀드 메모리 노드(PDM4)는 할당 정보에서 처리 노드(41)의 식별 정보를 확인하고, 메모리 액세스 요청에 포함된 처리 노드(41)의 식별 정보와 비교할 수 있다.
또한, 풀드 메모리 노드(PDM4)는 할당 정보에서 처리 노드(41)에게 할당된 풀드 메모리 노드(PDM4)의 메모리 어드레스 범위를 확인할 수 있다. 풀드 메모리 노드(PDM4)는 메모리 액세스 요청에 포함된 가상 어드레스를 할당 정보의 메모리 어드레스 범위에 포함된 메모리 어드레스로 변환할 수 있다. 풀드 메모리 노드(PDM4)는 가상 어드레스와 메모리 어드레스 사이의 맵핑 정보를 관리할 수 있다.
풀드 메모리 노드(PDM4)는 메모리 어드레스에 대해 메모리 액세스 동작을 수행할 수 있다. 즉, 풀드 메모리 노드(PDM4)는 처리 노드들(PU4)과 직접적으로 연결되므로, 처리 노드들(PU4)로부터 메모리 액세스 요청을 직접적으로 수신하여 메모리 액세스 허용 여부를 스스로 판단할 수 있다.
실시 예에 따라 서브 시스템(SUBSYS4)은 복수의 풀드 메모리 노드들을 포함할 수 있다. 각 풀드 메모리 노드는 처리 노드들(PU4)에 각각 연결될 수 있다. 즉, 처리 노드들(PU4) 각각은 복수의 풀드 메모리 노드들에 직접 연결될 수 있다. 각 풀드 메모리 노드는 스위치 노드(SWITCH4)와는 직접적으로 연결되지 않을 수 있다.
도8a 및 도8b는 본 발명의 실시 예에 따른 도7의 데이터 처리 시스템(40)의 동작 방법을 도시하는 도면들이다. 도8a에서 마스터 노드(MASTER4)는 태스크 위임 동작을 수행하고, 도8b에서 처리 노드(41)는 태스크 처리 동작을 수행할 수 있다.
도8a를 참조하면, 단계(S41)에서, 마스터 노드(MASTER4)는 처리 노드(41)로 메모리 확인 요청을 전송할 수 있다. 메모리 확인 요청은 처리 노드(41)가 할당받아야 할 메모리 용량에 대한 정보를 포함할 수 있다. 한편, 스위치 노드(SWITCH4)는 정보 전달 동작을 통해 마스터 노드(MASTER4)로부터 전송된 메모리 확인 요청을 처리 노드(41)로 전송할 수 있다.
단계(S42)에서, 처리 노드(41)는 마스터 노드(MASTER4)로부터 전송된 메모리 확인 요청에 응답하여 풀드 메모리 노드(PDM4)로 할당 요청을 전송할 수 있다. 할당 요청은 처리 노드(41)가 할당받아야 할 메모리 용량에 대한 정보를 포함할 수 있다.
단계(S43)에서, 풀드 메모리 노드(PDM4)는 처리 노드(41)로부터 전송된 할당 요청에 응답하여 전체 메모리 영역(MR) 중 부분 메모리 영역(PMR)을 처리 노드(41)에게 할당하고 할당 정보(ASS4)를 생성할 수 있다. 할당 정보(ASS4)는 처리 노드(41)의 식별 정보와 부분 메모리 영역(PMR)의 메모리 어드레스 범위를 포함할 수 있다. 풀드 메모리 노드(PDM4)는 내부 메모리에 할당 정보(ASS4)를 저장할 수 있다.
단계(S44)에서, 풀드 메모리 노드(PDM4)는 처리 노드(41)로 할당 성공의 응답을 전송할 수 있다.
단계(S45)에서, 처리 노드(41)는 풀드 메모리 노드로(PDM4)부터 전송된 할당 성공의 응답에 응답하여, 마스터 노드(MASTER4)로 할당이 성공했음을 보고하는 할당 결과를 전송할 수 있다. 한편, 스위치 노드(SWITCH4)는 정보 전달 동작을 통해 처리 노드(41)로부터 전송된 할당 결과를 마스터 노드(MASTER4)로 전송할 수 있다.
단계(S46)에서, 마스터 노드(MASTER4)는 처리 노드(41)로부터 전송된 할당 결과에 응답하여 처리 노드(41)로 태스크 정보(T4)를 전송할 수 있다. 태스크 정보(T4)는 처리 노드(41)에게 위임된 태스크 내용을 포함할 수 있다. 처리 노드(41)는 풀드 메모리 노드(PDM4)로부터 할당받은 메모리 용량을 태스크 정보(T4)로서 함께 관리할 수 있다. 처리 노드(41)는 내부 메모리에 태스크 정보(T4)를 저장할 수 있다. 한편, 스위치 노드(SWITCH4)는 정보 전달 동작을 통해 마스터 노드(MASTER4)로부터 전송된 태스크 정보(T4)를 처리 노드(41)로 전송할 수 있다.
도8b를 참조하면, 단계(S47)에서, 처리 노드(41)는 태스크 처리 동작을 수행하기 위해 태스크 정보(T4)를 확인할 수 있다. 처리 노드(41)는 태스크 정보(T4)를 확인하여 소정의 가상 어드레스 범위를 사용할 것으로 결정할 수 있다. 가상 어드레스 범위는 태스크 정보(T4)에 포함된 부분 메모리 영역(PMR)의 메모리 용량에 대응할 수 있다.
단계(S48)에서, 처리 노드(41)는 풀드 메모리 노드(PDM4)로 메모리 액세스 요청을 전송할 수 있다. 메모리 액세스 요청은 가상 어드레스(VA4)를 포함할 수 있다. 가상 어드레스(VA4)는 태스크 처리에 사용할 것으로 결정한 가상 어드레스 범위에 포함될 수 있다.
단계(S49)에서, 풀드 메모리 노드(PDM4)는 처리 노드(41)로부터 전송된 메모리 액세스 요청에 응답하여 처리 노드(41)에 대한 할당 정보(ASS4)를 확인할 수 있다. 풀드 메모리 노드(PDM4)는 할당 정보(ASS4)에서 처리 노드(41)의 식별 정보를 확인하고, 메모리 액세스 요청에 포함된 처리 노드(41)의 식별 정보와 비교할 수 있다. 또한, 풀드 메모리 노드(PDM4)는 할당 정보(ASS4)에서 처리 노드(41)에게 할당된 부분 메모리 영역(PMR)의 메모리 어드레스 범위를 확인할 수 있다.
단계(S50)에서, 풀드 메모리 노드(PDM4)는 메모리 액세스 요청에 포함된 가상 어드레스(VA4)를 할당 정보(ASS4)의 메모리 어드레스 범위에 포함된 메모리 어드레스(MA4)로 변환하면서, 가상 어드레스(VA4)와 메모리 어드레스(MA4) 사이의 맵핑 정보를 관리할 수 있다. 풀드 메모리 노드(PDM4)는 가상 어드레스(VA4)와 메모리 어드레스(MA4)를 맵핑한 것을 맵핑 정보(MAP4)로서 기억할 수 있다.
단계(S51)에서, 풀드 메모리 노드(PDM4)는 부분 메모리 영역(PMR)의 메모리 어드레스(MA4)에 대해 메모리 액세스 동작을 수행할 수 있다.
도9는 본 발명의 실시 예에 따른 도7의 데이터 처리 시스템(40)의 동작 방법을 도시하는 도면이다. 데이터 처리 시스템(40)은 도7의 서브 시스템(SUBSYS4)과 동일하게 구성되고 동작하는 서브 시스템들(SUBSYS41, SUBSYS42)을 포함할 수 있다. 도9는 서브 시스템(SUBSYS41)에서 풀드 메모리 노드의 할당이 실패하였을 때, 마스터 노드(MASTER4)가 다른 서브 시스템(SUBSYS42)에서 태스크 위임 동작을 동일하게 반복하는 동작 방법을 도시한다.
구체적으로 도9를 참조하면, 단계(S61)에서, 마스터 노드(MASTER4)는 처리 노드(41)로 메모리 확인 요청을 전송할 수 있다. 메모리 확인 요청은 처리 노드(41)가 할당받아야 할 메모리 용량에 대한 정보를 포함할 수 있다. 한편, 스위치 노드(SWITCH4)는 정보 전달 동작을 통해 마스터 노드(MASTER4)로부터 전송된 메모리 확인 요청을 처리 노드(41)로 전송할 수 있다.
단계(S62)에서, 처리 노드(41)는 마스터 노드(MASTER4)로부터 전송된 메모리 확인 요청에 응답하여 풀드 메모리 노드(PDM4)로 할당 요청을 전송할 수 있다. 할당 요청은 처리 노드(41)가 할당받아야 할 메모리 용량에 대한 정보를 포함할 수 있다.
단계(S63)에서, 풀드 메모리 노드(PDM4)는 처리 노드(41)로부터 전송된 할당 요청에 응답하여, 전체 메모리 영역(MR)에서 할당가능한 부분이 없을 때, 처리 노드(41)에게 할당 실패의 응답을 전송할 수 있다.
단계(S64)에서, 처리 노드(41)는 풀드 메모리 노드로(PDM4)부터 전송된 할당 실패의 응답에 응답하여, 마스터 노드(MASTER4)로 할당이 실패했음을 알리는 할당 결과를 전송할 수 있다. 한편, 스위치 노드(SWITCH4)는 정보 전달 동작을 통해 처리 노드(41)로부터 전송된 할당 결과를 마스터 노드(MASTER4)로 전송할 수 있다.
단계(S65)에서, 마스터 노드(MASTER4)는 처리 노드(41)로부터 전송된 할당 실패의 할당 결과를 수신하고, 다른 서브 시스템(SUBSYS42)의 처리 노드(미도시됨)로 메모리 확인 요청을 전송할 수 있다. 서브 시스템(SUBSYS42)은 마스터 노드(MASTER4)로부터 전송된 메모리 확인 요청에 응답하여 도8a 또는 도9에서 서브 시스템(SUBSYS41)이 동작한 바와 유사하게 동작할 수 있다.
실시 예에 따라, 서브 시스템(SUBSYS41)이 풀드 메모리 노드(PDM4) 이외에 다른 풀드 메모리 노드를 더 포함하고, 각 풀드 메모리 노드가 처리 노드들(PU4)에 각각 연결될 수 있다. 이러한 경우, 처리 노드(41)는 마스터 노드(MASTER4)로부터 메모리 확인 요청을 전송받았을 때, 풀드 메모리 노드(PDM4)에 대해 할당이 실패하면 다른 풀드 메모리 노드로 할당 요청을 전송할 수 있다. 처리 노드(41)는 모든 풀드 메모리 노드에 대해 할당이 실패하면 마스터 노드(MASTER4)로 할당이 실패했음을 보고하는 할당 결과를 전송할 수 있다.
본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 데이터 처리 시스템
MASTER: 마스터 노드
USW: 상위 스위치 노드
LAYER1, LAYER2: 제1 레이어, 제2 레이어
SUBSYS: 서브 시스템
RSS: 리소스
SW: 스위치 노드
PU: 처리 노드
PDM: 풀드 메모리 노드

Claims (44)

  1. 제1 풀드 메모리 노드를 포함하는 하나 이상의 풀드 메모리 노드들;
    제1 처리 노드를 포함하는 하나 이상의 처리 노드들;
    상기 풀드 메모리 노드들 및 상기 처리 노드들에 각각 연결된 스위치 노드; 및
    상기 제1 풀드 메모리 노드의 메모리 어드레스 범위를 상기 제1 처리 노드에 할당하고, 상기 스위치 노드를 통해 태스크 정보를 상기 제1 처리 노드로 전송하고, 상기 메모리 어드레스 범위를 상기 스위치 노드로 전송하도록 구성된 마스터 노드를 포함하되,
    상기 스위치 노드는, 상기 메모리 어드레스 범위에 근거하여, 상기 제1 처리 노드가 상기 태스크 정보에 근거하여 전송한 제1 메모리 액세스 요청을 상기 제1 풀드 메모리 노드에 대해 처리하고,
    상기 제1 처리 노드는, 상기 태스크 정보에 근거하여 가상 어드레스 범위를 결정하고, 상기 가상 어드레스 범위에 포함되는 가상 어드레스에 대해 상기 제1 메모리 액세스 요청을 상기 스위치 노드로 전송하는 데이터 처리 시스템.
  2. ◈청구항 2은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    상기 마스터 노드는, 상기 스위치 노드로 제1 처리 노드의 식별 정보를 더 전송하고,
    상기 스위치 노드는, 상기 식별 정보와 상기 제1 메모리 액세스 요청에 포함된 식별 정보를 비교함으로써 상기 제1 메모리 액세스 요청을 처리하는 데이터 처리 시스템.
  3. ◈청구항 3은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    상기 마스터 노드는, 상기 태스크 정보를 상기 스위치 노드를 통해 상기 제1 처리 노드로 전송함으로써 태스크 처리를 위임하는 데이터 처리 시스템.
  4. ◈청구항 4은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    상기 태스크 정보는, 상기 메모리 어드레스 범위에 대응하는 메모리 용량을 포함하고,
    상기 제1 처리 노드는, 상기 메모리 용량에 근거하여 상기 가상 어드레스 범위를 결정하는 데이터 처리 시스템.
  5. ◈청구항 5은(는) 설정등록료 납부시 포기되었습니다.◈
    제1항에 있어서,
    상기 스위치 노드는, 상기 제1 메모리 액세스 요청에 응답하여, 상기 가상 어드레스를 상기 메모리 어드레스 범위에 포함되는 메모리 어드레스로 변경하고 상기 메모리 어드레스에 대한 제2 메모리 액세스 요청을 상기 제1 풀드 메모리 노드로 전송하고,
    상기 제1 풀드 메모리 노드는, 상기 제2 메모리 액세스 요청에 응답하여 상기 메모리 어드레스에 대해 메모리 액세스 동작을 수행하는 데이터 처리 시스템.
  6. ◈청구항 6은(는) 설정등록료 납부시 포기되었습니다.◈
    제5항에 있어서,
    상기 스위치 노드는, 상기 가상 어드레스와 상기 메모리 어드레스 사이의 맵핑 정보를 관리하는 데이터 처리 시스템.
  7. 하나 이상의 처리 노드들;
    상기 처리 노드들에 각각 연결되고 풀드 메모리를 포함하는 스위치 노드; 및
    상기 스위치 노드를 통해 태스크 정보를 상기 처리 노드들 중 제1 처리 노드로 전송하고, 상기 풀드 메모리의 메모리 어드레스 범위를 상기 스위치 노드로 전송하도록 구성된 마스터 노드를 포함하되,
    상기 스위치 노드는, 상기 메모리 어드레스 범위에 근거하여, 상기 제1 처리 노드가 전송한 메모리 액세스 요청을 상기 풀드 메모리에 대해 처리하는 데이터 처리 시스템.
  8. ◈청구항 8은(는) 설정등록료 납부시 포기되었습니다.◈
    제7항에 있어서,
    상기 마스터 노드는, 상기 스위치 노드로 제1 처리 노드의 식별 정보를 더 전송하고,
    상기 스위치 노드는, 상기 식별 정보와 상기 메모리 액세스 요청에 포함된 식별 정보를 비교함으로써 상기 메모리 액세스 요청을 처리하는 데이터 처리 시스템.
  9. ◈청구항 9은(는) 설정등록료 납부시 포기되었습니다.◈
    제7항에 있어서,
    상기 마스터 노드는, 태스크 정보를 상기 스위치 노드를 통해 상기 제1 처리 노드로 전송함으로써 태스크 처리를 위임하고,
    상기 제1 처리 노드는, 상기 태스크 정보에 근거하여 가상 어드레스 범위를 결정하고, 상기 가상 어드레스 범위에 포함되는 가상 어드레스에 대해 상기 메모리 액세스 요청을 상기 스위치 노드로 전송하는 데이터 처리 시스템.
  10. ◈청구항 10은(는) 설정등록료 납부시 포기되었습니다.◈
    제9항에 있어서,
    상기 태스크 정보는, 상기 메모리 어드레스 범위에 대응하는 메모리 용량을 포함하고,
    상기 제1 처리 노드는, 상기 메모리 용량에 근거하여 상기 가상 어드레스 범위를 결정하는 데이터 처리 시스템.
  11. ◈청구항 11은(는) 설정등록료 납부시 포기되었습니다.◈
    제9항에 있어서,
    상기 스위치 노드는, 상기 메모리 액세스 요청에 응답하여, 상기 가상 어드레스를 상기 메모리 어드레스 범위에 포함되는 메모리 어드레스로 변경하고 상기 풀드 메모리가 상기 메모리 어드레스에 대해 메모리 액세스 동작을 수행하도록 제어하는 데이터 처리 시스템.
  12. ◈청구항 12은(는) 설정등록료 납부시 포기되었습니다.◈
    제11항에 있어서,
    상기 스위치 노드는, 상기 가상 어드레스와 상기 메모리 어드레스 사이의 맵핑 정보를 관리하는 데이터 처리 시스템.
  13. 하나 이상의 풀드 메모리 노드들;
    각 풀드 메모리 노드에 각각 연결된 하나 이상의 처리 노드들;
    상기 풀드 메모리 노드들 및 상기 처리 노드들에 각각 연결된 스위치 노드; 및
    상기 스위치 노드를 통해 상기 처리 노드들 및 상기 풀드 메모리 노드들과 통신가능하고, 상기 처리 노드들 중 제1 처리 노드에게 상기 풀드 메모리 노드들 중 제1 풀드 메모리 노드의 메모리 어드레스 범위를 할당하고, 상기 메모리 어드레스 범위를 상기 스위치 노드를 통해 상기 제1 풀드 메모리 노드로 전송하도록 구성된 마스터 노드를 포함하되,
    상기 제1 풀드 메모리 노드는 상기 메모리 어드레스 범위에 근거하여, 상기 제1 처리 노드가 전송한 메모리 액세스 요청을 처리하는 데이터 처리 시스템.
  14. ◈청구항 14은(는) 설정등록료 납부시 포기되었습니다.◈
    제13항에 있어서,
    상기 마스터 노드는, 상기 제1 풀드 메모리 노드로 제1 처리 노드의 식별 정보를 더 전송하고,
    상기 제1 풀드 메모리 노드는, 상기 식별 정보와 상기 메모리 액세스 요청에 포함된 식별 정보를 비교함으로써 상기 메모리 액세스 요청을 처리하는 데이터 처리 시스템.
  15. ◈청구항 15은(는) 설정등록료 납부시 포기되었습니다.◈
    제13항에 있어서,
    상기 마스터 노드는, 태스크 정보를 상기 스위치 노드를 통해 상기 제1 처리 노드로 전송함으로써 태스크 처리를 위임하고,
    상기 제1 처리 노드는, 상기 태스크 정보에 근거하여 가상 어드레스 범위를 결정하고, 상기 가상 어드레스 범위에 포함되는 가상 어드레스에 대해 상기 메모리 액세스 요청을 상기 제1 풀드 메모리 노드로 전송하는 데이터 처리 시스템.
  16. ◈청구항 16은(는) 설정등록료 납부시 포기되었습니다.◈
    제15항에 있어서,
    상기 태스크 정보는, 상기 메모리 어드레스 범위에 대응하는 메모리 용량을 포함하고,
    상기 제1 처리 노드는, 상기 메모리 용량에 근거하여 상기 가상 어드레스 범위를 결정하는 데이터 처리 시스템.
  17. ◈청구항 17은(는) 설정등록료 납부시 포기되었습니다.◈
    제15항에 있어서,
    상기 제1 풀드 메모리 노드는, 상기 가상 어드레스를 상기 메모리 어드레스 범위에 포함되는 메모리 어드레스로 변경하고, 상기 메모리 어드레스에 대해 메모리 액세스 동작을 수행하는 데이터 처리 시스템.
  18. ◈청구항 18은(는) 설정등록료 납부시 포기되었습니다.◈
    제17항에 있어서,
    상기 제1 풀드 메모리 노드는, 상기 가상 어드레스와 상기 메모리 어드레스 사이의 맵핑 정보를 관리하는 데이터 처리 시스템.
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 하나 이상의 풀드 메모리 노드들;
    각 풀드 메모리 노드에 각각 연결된 하나 이상의 처리 노드들;
    상기 처리 노드들에 각각 연결된 스위치 노드; 및
    상기 스위치 노드를 통해 상기 처리 노드들과 통신가능하고, 상기 처리 노드들 중 제1 처리 노드가 태스크 처리를 위한 메모리 용량을 상기 풀드 메모리 노드들로부터 직접 할당받도록 제어함으로써 상기 제1 처리 노드에게 상기 태스크 처리를 위임하도록 구성된 마스터 노드를 포함하는 데이터 처리 시스템.
  26. ◈청구항 26은(는) 설정등록료 납부시 포기되었습니다.◈
    제25항에 있어서,
    상기 제1 처리 노드는, 상기 마스터 노드의 제어에 따라 상기 풀드 메모리 노드들 중 제1 풀드 메모리 노드로 상기 메모리 용량에 대한 메모리 할당 요청을 직접 전송하고 상기 제1 풀드 메모리 노드로부터 전송된 할당 성공의 응답에 따라 상기 마스터 노드로 할당 결과를 전송함으로써, 상기 태스크 처리를 위임받는 데이터 처리 시스템.
  27. ◈청구항 27은(는) 설정등록료 납부시 포기되었습니다.◈
    제26항에 있어서,
    상기 제1 처리 노드는, 상기 메모리 용량에 근거하여 가상 어드레스 범위를 결정하고, 상기 태스크 처리를 위해서 상기 가상 어드레스 범위에 포함되는 가상 어드레스에 대한 메모리 액세스 요청을 상기 제1 풀드 메모리 노드로 전송하는 데이터 처리 시스템.
  28. ◈청구항 28은(는) 설정등록료 납부시 포기되었습니다.◈
    제26항에 있어서,
    상기 제1 풀드 메모리 노드는, 상기 메모리 할당 요청에 응답하여 상기 메모리 용량에 대응하는 메모리 어드레스 범위를 상기 제1 처리 노드에게 할당하는 데이터 처리 시스템.
  29. ◈청구항 29은(는) 설정등록료 납부시 포기되었습니다.◈
    제28항에 있어서,
    상기 제1 풀드 메모리 노드는, 상기 메모리 어드레스 범위에 근거하여, 상기 제1 처리 노드가 상기 태스크 처리를 위해 전송한 메모리 액세스 요청을 처리하는 데이터 처리 시스템.
  30. ◈청구항 30은(는) 설정등록료 납부시 포기되었습니다.◈
    제29항에 있어서,
    상기 제1 풀드 메모리 노드는, 상기 메모리 액세스 요청에 포함된 가상 어드레스를 상기 메모리 어드레스 범위에 포함되는 메모리 어드레스로 변경하고, 상기 메모리 어드레스에 대해 메모리 액세스 동작을 수행하는 데이터 처리 시스템.
  31. ◈청구항 31은(는) 설정등록료 납부시 포기되었습니다.◈
    제30항에 있어서,
    상기 제1 풀드 메모리 노드는, 상기 가상 어드레스와 상기 메모리 어드레스 사이의 맵핑 정보를 관리하는 데이터 처리 시스템.
  32. ◈청구항 32은(는) 설정등록료 납부시 포기되었습니다.◈
    제25항에 있어서,
    제2 풀드 메모리 노드들;
    각 제2 풀드 메모리 노드에 각각 연결된 하나 이상의 제2 처리 노드들;
    상기 제2 처리 노드들에 각각 연결된 제2 스위치 노드를 더 포함하되,
    상기 마스터 노드는, 상기 제1 처리 노드가 상기 풀드 메모리 노드들로부터 상기 메모리 용량을 할당받지 못한 때, 상기 제2 스위치 노드를 통해 상기 제2 처리 노드들 중 선택된 처리 노드를 제어함으로써 상기 선택된 처리 노드에게 상기 태스크 처리를 위임하는 데이터 처리 시스템.
  33. 하나 이상의 풀드 메모리 노드들;
    각 풀드 메모리 노드에 각각 연결된 하나 이상의 처리 노드들; 및
    상기 풀드 메모리 노드들 및 상기 처리 노드들을 외부의 마스터 노드와 각각 연결하는 스위치 노드를 포함하되,
    상기 처리 노드들 중 제1 처리 노드는, 상기 스위치 노드를 통해 상기 마스터 노드로부터 태스크 정보를 수신하고 상기 태스크 정보에 근거하여 메모리 액세스 요청을 생성하고,
    상기 풀드 메모리 노드들 중 제1 풀드 메모리 노드는, 상기 스위치 노드를 통해 상기 마스터 노드로부터 메모리 어드레스 범위를 수신하고, 상기 메모리 어드레스 범위에 근거하여 상기 제1 처리 노드로부터 수신한 상기 메모리 액세스 요청을 처리하는 컴퓨팅 시스템.
  34. 하나 이상의 풀드 메모리 노드들;
    각 풀드 메모리 노드에 각각 연결된 하나 이상의 처리 노드들;
    상기 처리 노드들에 각각 연결된 스위치 노드; 및
    상기 스위치 노드를 통해 상기 처리 노드들과 통신가능하고, 상기 처리 노드들 중 제1 처리 노드에게 태스크 처리를 위임하도록 구성된 마스터 노드를 포함하되,
    상기 풀드 메모리 노드들 중 제1 풀드 메모리 노드는, 상기 제1 처리 노드의 메모리 할당 요청에 응답하여 메모리 어드레스 범위를 상기 제1 처리 노드에게 할당하고, 상기 메모리 어드레스 범위에 근거하여, 상기 제1 처리 노드가 상기 태스크 처리를 위해 전송한 메모리 액세스 요청을 처리하는 데이터 처리 시스템.
  35. 하나 이상의 풀드 메모리 노드들;
    각 풀드 메모리 노드에 각각 연결된 하나 이상의 처리 노드들; 및
    상기 처리 노드들을 외부의 마스터 노드와 각각 연결하는 스위치 노드를 포함하되,
    상기 처리 노드들 중 제1 처리 노드는, 상기 스위치 노드를 통해 상기 마스터 노드로부터 태스크 처리를 위임받고,
    상기 풀드 메모리 노드들 중 제1 풀드 메모리 노드는, 상기 제1 처리 노드의 메모리 할당 요청에 응답하여 메모리 어드레스 범위를 상기 제1 처리 노드에게 할당하고, 상기 메모리 어드레스 범위에 근거하여, 상기 제1 처리 노드가 상기 태스크 처리를 위해 전송한 메모리 액세스 요청을 처리하는 컴퓨팅 시스템.
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
KR1020180044780A 2018-04-18 2018-04-18 컴퓨팅 시스템 및 그것을 포함하는 데이터 처리 시스템 KR102545228B1 (ko)

Priority Applications (8)

Application Number Priority Date Filing Date Title
KR1020180044780A KR102545228B1 (ko) 2018-04-18 2018-04-18 컴퓨팅 시스템 및 그것을 포함하는 데이터 처리 시스템
US16/210,362 US11093295B2 (en) 2018-04-18 2018-12-05 Computing system and data processing system including a computing system
TW107143868A TWI811269B (zh) 2018-04-18 2018-12-06 計算系統和包括計算系統的資料處理系統
CN201811549504.3A CN110389828B (zh) 2018-04-18 2018-12-18 计算系统和包括计算系统的数据处理系统
CN202310402724.8A CN116560833A (zh) 2018-04-18 2018-12-18 计算系统和包括计算系统的数据处理系统
JP2019076878A JP7398876B2 (ja) 2018-04-18 2019-04-15 コンピューティングシステム及びこれを備えるデータ処理システム
US17/398,237 US11768710B2 (en) 2018-04-18 2021-08-10 Computing system and data processing system including a computing system
US17/398,160 US11829802B2 (en) 2018-04-18 2021-08-10 Computing system and data processing system including a computing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180044780A KR102545228B1 (ko) 2018-04-18 2018-04-18 컴퓨팅 시스템 및 그것을 포함하는 데이터 처리 시스템

Publications (2)

Publication Number Publication Date
KR20190121457A KR20190121457A (ko) 2019-10-28
KR102545228B1 true KR102545228B1 (ko) 2023-06-20

Family

ID=68235966

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180044780A KR102545228B1 (ko) 2018-04-18 2018-04-18 컴퓨팅 시스템 및 그것을 포함하는 데이터 처리 시스템

Country Status (5)

Country Link
US (3) US11093295B2 (ko)
JP (1) JP7398876B2 (ko)
KR (1) KR102545228B1 (ko)
CN (2) CN116560833A (ko)
TW (1) TWI811269B (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040230762A1 (en) * 2003-05-15 2004-11-18 International Business Machines Corporation Methods, systems, and media for managing dynamic storage
US20160034191A1 (en) 2014-08-01 2016-02-04 Kabushiki Kaisha Toshiba Grid oriented distributed parallel computing platform
US20180077235A1 (en) * 2016-09-12 2018-03-15 Murugasamy K. Nachimuthu Mechanism for disaggregated storage class memory over fabric

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6754782B2 (en) 2001-06-21 2004-06-22 International Business Machines Corporation Decentralized global coherency management in a multi-node computer system
JP2006244416A (ja) * 2005-03-07 2006-09-14 Fujitsu Ltd マスターノード及びスレーブノードを有する電子装置システム
EP1867161A4 (en) * 2005-03-17 2011-08-24 Videocells Ltd METHOD FOR A CIRCULATED CENTRALIZED STREAMING SYSTEM
CN102546782B (zh) * 2011-12-28 2015-04-29 北京奇虎科技有限公司 一种分布式系统及其数据操作方法
US9529532B2 (en) * 2014-03-07 2016-12-27 Cavium, Inc. Method and apparatus for memory allocation in a multi-node system
US9166897B1 (en) 2014-09-24 2015-10-20 Oracle International Corporation System and method for supporting dynamic offloading of video processing for user account management in a computing environment
US9535606B2 (en) 2014-12-22 2017-01-03 Intel Corporation Virtual serial presence detect for pooled memory
US9940287B2 (en) * 2015-03-27 2018-04-10 Intel Corporation Pooled memory address translation
US10079916B2 (en) * 2015-08-13 2018-09-18 Advanced Micro Devices, Inc. Register files for I/O packet compression
CN107305506A (zh) * 2016-04-20 2017-10-31 阿里巴巴集团控股有限公司 动态分配内存的方法、装置及系统
US10776308B2 (en) * 2017-06-30 2020-09-15 Intel Corporation Smart memory data store or load method and apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040230762A1 (en) * 2003-05-15 2004-11-18 International Business Machines Corporation Methods, systems, and media for managing dynamic storage
US20160034191A1 (en) 2014-08-01 2016-02-04 Kabushiki Kaisha Toshiba Grid oriented distributed parallel computing platform
US20180077235A1 (en) * 2016-09-12 2018-03-15 Murugasamy K. Nachimuthu Mechanism for disaggregated storage class memory over fabric

Also Published As

Publication number Publication date
US20210365299A1 (en) 2021-11-25
JP2019192232A (ja) 2019-10-31
US20210373964A1 (en) 2021-12-02
US11829802B2 (en) 2023-11-28
JP7398876B2 (ja) 2023-12-15
KR20190121457A (ko) 2019-10-28
CN110389828B (zh) 2023-08-01
TW201944245A (zh) 2019-11-16
US20190324818A1 (en) 2019-10-24
CN110389828A (zh) 2019-10-29
TWI811269B (zh) 2023-08-11
US11768710B2 (en) 2023-09-26
US11093295B2 (en) 2021-08-17
CN116560833A (zh) 2023-08-08

Similar Documents

Publication Publication Date Title
US10484015B2 (en) Data storage system with enforced fencing
US20200117399A1 (en) Data storage system with multi-tier control plane
US20180183868A1 (en) Data storage system with redundant internal networks
EP3688596B1 (en) Computer program product, system, and method to manage access to storage resources from multiple applications
KR102655094B1 (ko) 메모리를 공유하는 이종의 프로세서들을 포함하는 스토리지 장치 및 그것의 동작 방법
CN111343262B (zh) 分布式集群登录方法、装置、设备和存储介质
US11461024B2 (en) Computing system and operating method thereof
CN101216781B (zh) 一种多处理器系统、装置及方法
US20200348871A1 (en) Memory system, operating method thereof and computing system for classifying data according to read and write counts and storing the classified data in a plurality of types of memory devices
JP6961045B2 (ja) システム及びその制御方法並びにプログラム
KR102545228B1 (ko) 컴퓨팅 시스템 및 그것을 포함하는 데이터 처리 시스템
US20230139729A1 (en) Method and apparatus to dynamically share non-volatile cache in tiered storage
US11860783B2 (en) Direct swap caching with noisy neighbor mitigation and dynamic address range assignment
CN110447019B (zh) 存储器分配管理器及由其执行的用于管理存储器分配的方法
US9715460B1 (en) Enabling a first virtual storage director running in a container maintained by a hypervisor to achieve direct memory access to memory of a second virtual storage director running in a different container
US10496305B2 (en) Transfer of a unique name to a tape drive
WO2023172319A1 (en) Direct swap caching with noisy neighbor mitigation and dynamic address range assignment
CN118862123A (zh) 一种共享内存区域的访问方法及计算设备
CN113918092A (zh) 一种分配存储空间的方法及系统
KR20190110306A (ko) 메모리 시스템 및 그것을 포함하는 데이터 처리 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant