NUMA 구조 성능 개선 시스템, 컴퓨터 판독 가능한 기록매체, 컴퓨터 프로그램 및 방법
SYSTEM, COMPUTER-READABLE STORAGE MEDIUM, COMPUTER PROGRAM AND METHOD FOR IMPROVING PERFORMANCE OF NUMA STRUCTURE
특허 요약
본 발명은 NUMA 구조 성능 개선 시스템, 컴퓨터 판독 가능한 기록매체, 컴퓨터 프로그램 및 방법에 관한 것으로, 더욱 상세하게는 NUMA 아키텍처에서 공유 로그 및 플랫 컴바이닝 기법을 응용하여 다중 노드 PM 환경에서 동시 실행 성능을 개선할 수 있는 NUMA 구조 성능 개선 시스템, 컴퓨터 판독 가능한 기록매체, 컴퓨터 프로그램 및 방법에 관한 것이다.
청구항
번호청구항
5

스레드가 할당되는 복수의 노드;상기 복수의 노드 중 어느 하나의 노드에 구비되는 공유 메모리;상기 스레드 중 로컬 락을 획득한 스레드로서, 상기 공유 메모리에 기록된 오퍼레이션 히스토리를 기준으로 타 노드의 오퍼레이션을 복제하여 자신의 노드에 업데이트하는 컴바이너;상기 각 노드마다 구비되고, 상기 컴바이너에 의해 업데이트된 오퍼레이션을 저장하는 로컬 메모리; 및상기 로컬 메모리에 저장된 데이터를 기반으로 PM 자료구조를 통해 구축되는 데이터 풀;을 포함하는 것을 특징으로 하는 NUMA 구조 성능 개선 시스템.

1

스레드가 할당되는 복수의 노드를 구비하는 NUMA 구조 성능 개선 시스템에 있어서,상기 복수의 노드 중 어느 하나의 노드에 구비되는 제1 메모리;상기 각 노드마다 구비되고, 상기 제1 메모리에 기록된 오퍼레이션 히스토리를 기반으로 타 노드의 오퍼레이션이 복제되어 저장되는 제2 메모리; 및상기 각 노드에서 발생하는 오퍼레이션에 대한 히스토리를 상기 제1 메모리에 순차적으로 기록시키고, 상기 기록을 바탕으로 상기 각 노드의 최신 복제본을 관리하는 제어부;를 포함하되,상기 제어부는,상기 각 스레드가 플랫 컴바이닝 슬롯에 오퍼레이션을 기록하게 하고, 로컬 락 획득을 시도하게 하여, 상기 시도를 통해 컴바이너가 된 상기 스레드가 현 시점에 상기 플랫 컴바이닝 슬롯에 기록된 상기 오퍼레이션을 상기 제1 메모리에 기록하게 하는 것을 특징으로 하는 NUMA 구조 성능 개선 시스템.

2

삭제

3

제 1 항에 있어서,상기 제어부는,상기 컴바이너가 상기 제1 메모리에 먼저 기록된 오퍼레이션의 히스토리를 기준으로 타 노드에서 발생된 오퍼레이션을 복제하여 기록하게 하고, 상기 컴바이너가 상기 제1 메모리에 자신이 기록한 상기 오퍼레이션을 수행하게 하는 것을 특징으로 하는 NUMA 구조 성능 개선 시스템.

4

제 1 항에 있어서,상기 제1 메모리는 DRAM(Dynamic Random Access Memory)에 할당되고, 상기 제2 메모리는 PM(Persistent Memory)에 할당되는 것을 특징으로 하는 NUMA 구조 성능 개선 시스템.

6

제 5 항에 있어서,상기 컴바이너는,상기 로컬 락 획득을 시도할 때 플랫 컴바이닝 슬롯에 오퍼레이션을 기록하고, 로컬 락 획득을 시도한 시점에 상기 플랫 컴바이닝 슬롯에 기록된 상기 오퍼레이션을 상기 공유 메모리에 기록하며, 상기 공유 메모리에 먼저 기록된 오퍼레이션의 히스토리를 기준으로 타 노드에서 발생된 오퍼레이션을 복제하여 기록하고, 상기 공유 메모리에 자신이 기록한 상기 오퍼레이션을 수행하는 것을 특징으로 하는 NUMA 구조 성능 개선 시스템.

7

제 5 항에 있어서,상기 공유 메모리는 DRAM에 할당되고, 상기 로컬 메모리 및 상기 데이터풀은 PM에 할당되는 것을 특징으로 하는 NUMA 구조 성능 개선 시스템.

8

스레드가 할당되는 복수의 노드를 구비하는 NUMA 구조 성능 개선 시스템에 있어서,상기 복수의 노드 중 어느 하나의 노드에 구비되어, 각 노드의 순차적인 오퍼레이션을 히스토리로 저장하되 DRAM에 위치한 공유 로그로 구비되는 제1 DRAM 메모리; 및상기 스레드 중 로컬 락을 획득한 스레드로서, 상기 공유 로그에 기록된 오퍼레이션 히스토리를 기준으로 타 노드의 오퍼레이션을 복제하여 자신의 노드에 업데이트하는 컴바이너, 상기 각 노드마다 구비되고, 상기 컴바이너에 의해 업데이트된 오퍼레이션을 저장하는 로컬 메모리, 및 상기 로컬 메모리에 저장된 데이터를 기반으로 PM 자료구조를 통해 구축되는 데이터 풀;을 포함하되, PM에 구비되는 제2 PM 메모리를 포함하는 것을 특징으로 하는 NUMA 구조 성능 개선 시스템.

9

제 8 항에 있어서,상기 컴바이너는,상기 로컬 락 획득을 시도할 때 플랫 컴바이닝 슬롯에 오퍼레이션을 기록하고, 로컬 락 획득을 시도한 시점에 상기 플랫 컴바이닝 슬롯에 기록된 상기 오퍼레이션을 상기 공유 로그에 기록하며, 상기 공유 로그에 먼저 기록된 오퍼레이션의 히스토리를 기준으로 타 노드에서 발생된 오퍼레이션을 복제하여 기록하고, 상기 공유 로그에 자신이 기록한 상기 오퍼레이션을 수행하는 것을 특징으로 하는 NUMA 구조 성능 개선 시스템.

10

스레드가 할당되는 복수의 노드, 및 상기 복수의 노드에서 발생한 오퍼레이션을 순차적인 히스토리로 저장하되, 어느 하나의 노드에 구비되는 공유 로그를 포함하는 NUMA 구조 성능 개선 방법에 있어서,상기 각 스레드가 플랫 컴바이닝 슬롯에 오퍼레이션을 기록하고, 로컬 락 획득을 시도하는 단계;상기 시도를 통해 컴바이너가 된 상기 스레드가 현 시점에 상기 플랫 컴바이닝 슬롯에 기록된 상기 오퍼레이션을 상기 공유 로그에 기록하는 단계;상기 컴바이너가 상기 공유 로그에 먼저 기록된 오퍼레이션의 히스토리를 기준으로 타 노드에서 발생된 오퍼레이션을 복제하여 로컬 메모리에 저장하는 단계; 및상기 컴바이너가 상기 공유 로그에 자신이 기록한 상기 오퍼레이션을 수행하는 단계;를 포함하는 것을 특징으로 하는 NUMA 구조 성능 개선 방법.

11

제 10 항에 있어서,상기 로컬 메모리에 저장된 데이터를 기반으로 PM 자료구조를 통해 데이터 풀을 구축하는 단계를 더 포함하는 것을 특징으로 하는 NUMA 구조 성능 개선 방법.

12

컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서,상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,스레드가 할당되는 복수의 노드, 및 상기 복수의 노드에서 발생한 오퍼레이션을 순차적인 히스토리로 저장하되, 어느 하나의 노드에 구비되는 공유 로그를 포함하는 NUMA 구조 성능 개선 방법에 있어서,상기 각 스레드가 플랫 컴바이닝 슬롯에 오퍼레이션을 기록하고, 로컬 락 획득을 시도하는 단계;상기 시도를 통해 컴바이너가 된 상기 스레드가 현 시점에 상기 플랫 컴바이닝 슬롯에 기록된 상기 오퍼레이션을 상기 공유 로그에 기록하는 단계;상기 컴바이너가 상기 공유 로그에 먼저 기록된 오퍼레이션의 히스토리를 기준으로 타 노드에서 발생된 오퍼레이션을 복제하여 로컬 메모리에 저장하는 단계; 및상기 컴바이너가 상기 공유 로그에 자신이 기록한 상기 오퍼레이션을 수행하는 단계;를 포함하는 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는, 컴퓨터 판독 가능한 기록매체.

13

컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램으로서,상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,스레드가 할당되는 복수의 노드, 및 상기 복수의 노드에서 발생한 오퍼레이션을 순차적인 히스토리로 저장하되, 어느 하나의 노드에 구비되는 공유 로그를 포함하는 NUMA 구조 성능 개선 방법에 있어서,상기 각 스레드가 플랫 컴바이닝 슬롯에 오퍼레이션을 기록하고, 로컬 락 획득을 시도하는 단계;상기 시도를 통해 컴바이너가 된 상기 스레드가 현 시점에 상기 플랫 컴바이닝 슬롯에 기록된 상기 오퍼레이션을 상기 공유 로그에 기록하는 단계;상기 컴바이너가 상기 공유 로그에 먼저 기록된 오퍼레이션의 히스토리를 기준으로 타 노드에서 발생된 오퍼레이션을 복제하여 로컬 메모리에 저장하는 단계; 및상기 컴바이너가 상기 공유 로그에 자신이 기록한 상기 오퍼레이션을 수행하는 단계;를 포함하는 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는, 컴퓨터 프로그램.