KR100362607B1 - I/o 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 장치 및 그 제어방법 - Google Patents

I/o 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 장치 및 그 제어방법 Download PDF

Info

Publication number
KR100362607B1
KR100362607B1 KR1020000024975A KR20000024975A KR100362607B1 KR 100362607 B1 KR100362607 B1 KR 100362607B1 KR 1020000024975 A KR1020000024975 A KR 1020000024975A KR 20000024975 A KR20000024975 A KR 20000024975A KR 100362607 B1 KR100362607 B1 KR 100362607B1
Authority
KR
South Korea
Prior art keywords
memory
cache
information
data
node
Prior art date
Application number
KR1020000024975A
Other languages
English (en)
Other versions
KR20000049990A (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 KR1020000024975A priority Critical patent/KR100362607B1/ko
Publication of KR20000049990A publication Critical patent/KR20000049990A/ko
Application granted granted Critical
Publication of KR100362607B1 publication Critical patent/KR100362607B1/ko

Links

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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명은 멀티프로세서 시스템을 위한 I/O 버스상의 공유메모리 기반 CC-NUMA(Cache Coherent Non-Uniform Memory Access) 모듈 및 그 제어방법에 관한 것이다. 멀티프로세서 시스템의 각 노드들은 I/O 버스에 연결되는 CC-NUMA 모듈을 포함하며, 이들 모듈들은 SCI(Scalable Coherent Interface) 기반 네트워크로 연결되어 있다. CC-NUMA 모듈은 I/O 버스 인터페이스와 캐쉬 일관성 유지 모듈 및 네트워크 인터페이스와 공유 메모리 및 태그와, 네트워크 캐쉬 및 태그 그리고 SCI 디렉토리를 포함한다. 따라서 CC-NUMA 모듈은 노드들이 공유하는 공유 메모리와 다른 노드에 존재하는 공유 메모리를 캐쉬하기 위한 네트워크 캐쉬를 포함한다. 그러므로 I/O 버스 상에 공유 메모리, 네트워크 캐쉬 및 캐쉬 일관성 유지를 위한 CC-NUMA 모듈을 구비함으로서, 시스템 구현이 용이하고, 저렴한 비용으로 시스템 구현이 가능할 뿐만 아니라 외부 노드의 메모리 접근이 용이하다.

Description

I/O 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 장치 및 그 제어방법{COMPUTER HARDWARE AND ITS CONTROL MECHANISM FOR PROCESSING NODE IN MULTIPROCESSOR SYSTEMS INCLUDING A CC-NUMA MODULE ON I/O BUS}
본 발명은 멀티프로세서 시스템에 관한 것으로, 특히 멀티프로세서 시스템에서 I/O 버스 상의 공유 메모리를 위한 캐쉬 일관성 비단일 메모리 억세스 (CC-NUMA : Cache Coherent Non-Uniform Memory Access)를 수행할 수 있는 모듈 및 그 제어방법에 관한 것이다.
컴퓨터 시스템 기술은 매우 빠른 속도로 발전해 가고 있으며, 그 중에서도 가장 활발하게 연구가 진행되고 있는 분야는 병렬 처리 분야이다. 즉, 멀티프로세서 시스템은 대규모 계산이 수반되는 문제를 처리하기 위해 필요한 계산 능력을 효과적으로 제공하고 있으며, 이러한 추세는 계속될 전망이다.
일반적으로 단일 메모리 억세스 방식(UMA : Uniform Memory Access)의 버스에 의한 멀티프로세서 시스템은 공유 메모리 억세스를 위한 단일 어드레스 공간을 지원함에 따라 프로그래밍이 용이하지만, 프로세서 수를 증가시켜 시스템 성능을 향상시키는 경우(일반적으로 10 개 이상의 경우)에는 오히려 확장성에 제한을 받는다.
이러한 문제점을 해결하기 위하여 공유 메모리 시스템에 쉽게 적용될 수 있으며, 동시에 확장성이 뛰어난 새로운 방식 즉, CC-NUMA(Cache Coherent Non-Uniform Memory Access) 구조가 개발되었다.
CC-NUMA 구조의 멀티프로세서 시스템은 뛰어난 확장성과 프로그래밍 용이성으로, 최근들어 중대형 컴퓨터 시스템 시장에서 새롭게 부상하고 있는 멀티프로세서 시스템이다.
도 1은 종래의 일 실시예에 따른 데이터 제너럴(Data General) 사의 Aviion 모델 또는 IBM 사의 NUMA-Q 모델에 적용된 CC-NUMA 방식의 멀티프로세서 시스템을 나타낸 것이다.
도면을 참조하면, 상기 멀티프로세서 시스템은 예컨대, 인텔 사의 SHV(Standard High Volume) 보드(10)와 SCI(Scalable Coherent Interface : IEEE standard 1596-1992) 인터커넥트 어댑터(20)를 사용한 대표적인 CC-NUMA 시스템으로, 로컬 메모리(16)를 전체 시스템의 공유 메모리(share memory)로 사용한다.
따라서 공유 메모리에 대한 캐쉬 일관성(cache coherency)은 상기 SCI 인터커넥트 어댑터(20)에서 유지되며, 이는 상기 SHV 보드(10)의 시스템 버스에 연결된다. 그리고 외부 노드로/로부터의 데이터 및 트랜잭션 (transaction)의 상호 전송을 위한 네트워크 인터페이스(30)를 구비한다. 상기 네트워크 인터페이스(30)는 링크 컨트롤러(link chip)(32a, 32b)를 통하여 외부 노드와의 인터페이스를 위한 듀얼 SCI 링(dual SCI ring)(34a, 34b)을 구비한다.
상기 SHV 보드(10)는 복수 개의 프로세서들(12a ~ 12d)과 각각의 프로세서에 구비되는 2 차 캐쉬 메모리들(도면상에 도시하지 않음)과 메인 메모리로서의 로컬메모리(16) 및 메모리 입출력 컨트롤러(14)를 포함한다.
상기 SCI 인터커넥트 어댑터(20)는 외부 노드의 데이터를 캐싱하는 원거리 메모리 캐쉬(far memory cache)(21)와, 상기 로컬 메모리(16)와 원거리 메모리 캐쉬(21)의 캐쉬 라인에 대한 어드레스 태그 및 상태 정보를 저장하는 스누프 램(snoop RAM)(22) 및 모든 로컬 메모리 캐쉬 라인에 대한 헤드 포인터(head pointer)를 저장하고, 상기 원거리 메모리 캐쉬 라인에 대한 연결 리스트 정보(SCI linked list information)를 저장하는 SCI 디렉토리(28)를 포함한다. 또한 시스템 버스의 트랜잭션을 스누프하는 캐쉬 디렉토리 컨트롤러(CDC : Cache Directory Controller : 24)와, 로컬 메모리(16)와 원거리 메모리 캐쉬(21)에 있는 데이터의 일관성을 유지시키는 SCI 일관성 컨트롤러(26)를 포함한다.
그러나 상기 멀티프로세서 시스템은 고속의 시스템 버스에 SCI 인터커넥트 어댑터(20) 즉, 캐쉬 일관성 유지를 위한 모듈을 구비함으로서 구현이 복잡하고 비용이 많이 드는 단점이 있다.
도 2를 참조하면, 종래 기술의 다른 예로서의 멀티프로세서 시스템은 돌핀 사의 PCI-SCI 카드(50)를 사용하는 NUMA 시스템 구조를 갖는다.
상기 멀티프로세서 시스템은 복수 개의 노드(40)들을 포함하고, 이들 노드(40)들은 네트워크 카드(50)를 통하여 SCI 네트워크에 연결된다.
상기 노드(40)들은 각각 2차 캐쉬 메모리(44)를 갖는 프로세서(42)와 로컬 메모리(48) 및 호스트-PCI 브릿지 컨트롤러(46)를 포함한다. 그리고 PCI 버스에 네트워크 카드인 PCI-SCI 카드(50)가 연결된다.
상기 PCI-SCI 카드(50)는 PCI-SCI 브릿지 컨트롤러(52)와 네트워크 인터페이스(54)를 포함한다.
돌핀 사의 PCI-SCI 카드를 사용하는 NUMA 시스템은 다른 노드의 로컬 메모리를 자기 노드의 주소 공간으로 매핑함으로서 다른 노드의 메모리를 자기 노드의 메모리처럼 접근할 수 있으므로 프로그래밍이 쉽다. 이를 위해서 상기 PCI-SCI 카드(50)의 PCI-SCI 브릿지 컨트롤러(52)는 다른 노드의 로컬 메모리를 SCI와 가상 주소로의 매핑을 통하여 자기 노드의 주소 공간으로 매핑하는 역할을 한다. 그리고 상기 네트워크 인터페이스(54)는 다른 노드와의 데이터 및 트랜잭션 교환을 위해 사용된다.
그러나 상술한 PCI-SCI 카드는 네트워크 캐쉬가 없기 때문에 PCI 버스를 통한 CC-NUMA 구조의 시스템 구현이 불가능하고, 외부 노드에 있는 데이터 억세스 시, 외부 노드의 메모리에 직접 접근해서 데이터를 리드(Read)하기 때문에 억세스 시간이 많이 소요되는 문제점이 있었다.
이에 본 발명의 목적은 종래의 제반 문제점을 해결하기 위한 것으로, 멀티프로세서 시스템을 위한 I/O 버스 상에 공유 메모리 및 네트워크 캐쉬 일관성을 유지할 수 있는 CC-NUMA 모듈 및 그 제어방법을 제공하는 데 있다.
도 1은 종래 기술의 일 실시예에 따른 멀티프로세서 시스템의 구성을 나타내는 블록도;
도 2는 종래 기술의 다른 실시예에 따른 멀티프로세서 시스템의 구성을 나타내는 블록도;
도 3은 본 발명에 따른 I/O 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 장치의 구성을 도시한 블록도;
도 4는 본 발명의 실시예에 따른 CC-NUMA 모듈의 상세한 구성을 나타내는 블록도;
도 5는 본 발명에 따른 리드 트랜잭션 처리 수순을 도시한 흐름도; 그리고
도 6은 본 발명에 따른 라이트 트랜잭션 처리 수순을 도시한 흐름도이다.
* 도면의 주요 부분에 대한 부호 설명 *
100 : 멀티프로세싱 노드 102 : 프로세서
106 : 호스트-버스 브릿지 컨트롤러 108 : 로컬 메모리
110 : CC-NUMA 모듈 112 : PCI 버스 인터페이스
114 : SCI 디렉토리 120 : 캐쉬 일관성 유지 모듈
140 : 듀얼 포트 메모리 150 : 공유 메모리 및 태그
160 : 네트워크 캐쉬 및 태그 170 : 네트워크 인터페이스
상술한 목적을 달성하기 위한 본 발명의 I/O 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 장치의 일 특징에 의하면, 컴퓨터 네트워크에 연결되는 다수의 프로세싱 노드들을 포함하는 멀티프로세서 시스템에서, 상기 노드들은 캐쉬 메모리를 갖는 프로세서와 로컬 메인 메모리 및 I/O 버스를 구비하고, 상기 노드들 중에 자기 노드 또는 외부 노드들로부터 메모리를 억세스하기 위한 장치에 있어서, 상기 I/O 버스에 연결되어 상기 자기 노드로부터 데이터 리드/라이트(Read/Write)에 따른 정보를 상호 전송하는 제 1 인터페이스 수단과; 상기 자기 노드 또는 상기 외부 노드들로부터 리드, 라이트가 가능한 제 1 메모리 수단과; 상기 외부 노드들로부터 메모리 억세스한 정보를 저장하는 제 2 메모리 수단과; 상기 제 1 및 상기 제 2 메모리 수단을 리드, 라이트하도록 제어하는 메모리 억세스 제어 수단 및; 상기 컴퓨터 네트워크에 연결되어 상기 노드들 간의 데이터 전송을 수행하는 제 2 인터페이스 수단을 포함하여 I/O 버스에 연결된 상기 제1 메모리 수단을 억세스한다.
이 특징의 바람직한 실시예에 있어서, 상기 제 1 메모리 수단은, 상기 각 노드들 사이에서 공유되는 데이터를 저장하는 공유 메모리와, 상기 각 노드들의 공유 메모리를 캐쉬하는 네트워크 캐쉬 및 상기 공유 메모리와 상기 네트워크 캐쉬에 대한 태그 정보를 저장하는 제 3 메모리 수단을 더욱 포함한다.
이 특징의 바람직한 실시예에 있어서, 상기 제 2 메모리 수단은, 상기 제 3 메모리 수단의 정보를 저장한다.
이 특징의 바람직한 실시예에 있어서, 상기 메모리 억세스 제어 수단은, 상기 제 1 인터페이스 수단에 연결되어 상기 제 1 메모리 수단의 캐쉬 일관성을 유지하기 위한 제 1 컨트롤러와; 상기 제 1 컨트롤러로부터 제공되는 정보를 받아서 패킷 데이터로 변환하여 상기 제 2 인터페이스 수단으로 출력하고, 상기 외부 노드들로부터 제공되는 패킷 데이터를 받아서 필요한 정보를 추출하고, 상기 추출된 정보를 상기 제 1 컨트롤러로 출력하는 제 2 컨트롤러 및; 상기 제 1 및 상기 제 2 컨트롤러 상호 간에 전송되는 정보를 저장하고, 상기 제 1 컨트롤러의 제어에 따라 상기 제 2 컨트롤러로 저장된 정보를 출력하고, 상기 제 2 컨트롤러의 제어에 따라 상기 제 1 컨트롤러로 저장된 정보를 출력하는 제 4 메모리 수단을 포함한다.
또한, 본 발명의 I/O 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 장치의 또 다른 일 특징에 의하면, 컴퓨터 네트워크에 연결된 다수의 프로세싱 노드들을 구비하는 멀티프로세서 시스템의 상기 프로세싱 노드에 있어서, 프로세서와; 상기 프로세서에 연결된 로컬 메인 메모리와; 상기 프로세서와 연결되는 I/O 버스와; 상기 I/O 버스에 연결되어 상기 노드들로부터 데이터 억세스 가능한 메모리 장치를 구비하고, 상기 프로세서 또는 상기 노드들 중의 외부 노드 프로세서의 메모리 리드, 라이트 명령에 따라 메모리 억세스를 수행하고, 상기 메모리 억세스 결과에 따른 정보를 유지시키는 메모리 억세스 유닛 및; 상기 메모리 억세스 유닛의 억세스 정보가 상기 노드들 간에 상호 전송되도록 인터페이스하는 네트워크 유닛을 포함한다.
이 특징의 바람직한 실시예에 있어서, 상기 메모리 억세스 유닛은; 상기 I/O 버스에 연결되어 상기 프로세서로부터 상기 데이터 리드, 라이트 명령을 받거나 상기 프로세서로 해당 정보를 전달하는 I/O 버스 인터페이스와; SCI에 정의된 캐쉬 일관성 유지 알고리즘을 구비하고, 상기 알고리즘에 의해 상기 메모리 억세스 결과에 대한 정보를 유지하는 캐쉬 일관성 유지 모듈과; SCI에서 정의된 기준을 따라 상기 노드들 간에 공유되는 데이터와 이에 대한 태그 정보를 저장하는 공유 메모리 및 공유 메모리 태그와; SCI에서 정의된 기준을 따라 상기 외부 노드들의 공유 메모리를 캐쉬하며, 이에 대한 태그 정보를 저장하는 네트워크 캐쉬 및 네트워크 캐쉬 태그 및; 상기 공유 메모리 태그와 상기 네트워크 캐쉬 태그에 저장된 정보에 대응하여 상기 메모리 억세스 결과에 대한 정보를 저장하는 SCI 디렉토리를 포함한다.
이 특징의 바람직한 실시예에 있어서, 상기 캐쉬 일관성 유지 모듈은; 상기 I/O 버스 인터페이스에 연결되어 상기 공유 메모리 및 상기 네트워크 캐쉬의 캐쉬 일관성을 유지하기 위한 캐쉬 일관성 유지 모듈과; 상기 캐쉬 일관성 유지 모듈로부터 제공되는 정보를 받아서 패킷 데이터로 변환하여 상기 네트워크 유닛으로 출력하고, 상기 외부 노드들로부터 제공되는 패킷 데이터를 받아서 필요한 정보를 추출하고, 상기 추출된 정보를 상기 캐쉬 일관성 유지 모듈로 출력하는 SCI 컨트롤러 및; 상기 캐쉬 일관성 유지 모듈 및 상기 SCI 컨트롤러 상호 간에 전송되는 정보를 저장하고, 상기 캐쉬 일관성 유지 모듈 및 상기 SCI 컨트롤러의 제어를 받아서 상기 SCI 컨트롤러 및 상기 캐쉬 일관성 유지 모듈로 상기 정보를 출력하는 듀얼 포트 메모리를 포함한다.
더불어, 본 발명 I/O 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 제어방법의 일 특징에 의하면, 리드 트랜잭션이 발생하면, 캐쉬 일관성 유지 모듈에서 리드할 메모리 주소가 자기 노드의 공유 메모리 주소인지를 판별하는 단계와; 상기 리드할 메모리 주소가 자기 노드의 공유 메모리 주소이면, 공유 메모리로부터 데이터를 리드하고, 리드한 데이터를 프로세서로 전달하는 단계와; 상기 리드할 메모리 주소가 자기 노드의 공유 메모리 주소가 아니면, 네트워크 캐쉬 태그의 정보를 리드하여, 리드한 데이터가 이미 리드된 데이터인지를 판별하는 단계와; 상기 리드한 이미 리드된 데이터이면, 네트워크 캐쉬에서 데이터를 리드하여, 리드된 데이터를 프로세서로 제공하는 단계와; 상기 리드한 데이터가 처음 리드되는 데이터이면, SCI 네트워크를 통해 캐쉬 일관성 유지 모듈로 리드 트랜잭션을 전송하는 단계와; 상기 리드 트랜잭션을 전송받은 캐쉬 일관성 유지 모듈에서 공유 메모리 캐쉬 태그를 수정되도록 하고, SCI 디렉토리의 정보를 수정한 후 리드 트랜잭션을 요구한 노드로 리드된 데이터를 전송하여 네트워크 캐쉬 태그 정보를 변경하여 저장하고, 프로세서로 리드된 데이터를 전송하여 프로세서와 공유 메모리 사이의 리드 트랜잭션이 수행되도록 하는 단계를 수행한다.
또한, 본 발명 I/O 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 제어방법의 다른 일 특징에 의하면, 버스에 라이트 트랜잭션을 발생되면, 캐쉬 일관성 유지 모듈에서 현재 노드가 라이트할 메모리 주소에 대한 독점권을 가지고 있는지를 판별하는 단계와; 상기 현재 노드가 독점권을 가지고 있지 않으면, 독점권을 획득하도록 하고, 상기 현재 노드가 독점권을 가지고 있으면, 공유 메모리에 데이터를 라이트하여, 상기 라이트된 메모리 주소에 대한 정보를 다른 노드가 캐쉬하고 있는지를 판별하는 단계와; 상기 판별 결과 적어도 하나의 다른 외부 노드에서 라이트된 메모리 주소에 저장된 데이터에 대한 정보를 캐쉬하고 있으면, 연결 리스트에 이들 외부 노드들을 무효화시켜 프로세서와 공유 메모리 사이의 라이트 트랜잭션이 수행되도록 하는 단계를 수행한다.
(작용)
따라서 본 발명에 의하면, 멀티프로세서 시스템은 I/O 버스를 경유하여 데이터 리드/라이트 명령 및 트랜잭션을 전송하고, 자기 노드 또는 외부 노드의 CC-NUMA 모듈에 구비된 공유 메모리 및 네트워크 캐쉬를 이용하여 데이터를 리드/라이트한다.
(실시예)
이하 본 발명 I/O 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 장치 및 그 제어방법의 실시예를 첨부된 도면에 의거하여 상세히 설명한다.
먼저 본 발명에 대한 설명에서는 PCI 버스를 예로 들고 있지만, 다른 I/O 버스에도 적용될 수 있다.
도 3은 본 발명에 따른 I/O 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 장치의 구성을 도시한 블록도이다.
도면을 참조하면, 상기 멀티프로세서 시스템은 SCI 네트워크에 연결되는 복수개의 프로세싱 노드들(100)을 구비하고 있다. 그리고 각 노드들(100)은 CC-NUMA 모듈(110)을 구비한다. 상기 CC-NUMA 모듈(110)은 PCI 버스를 통하여 프로세서(102)에 연결된다. 또한 상기 노드들(100)은 2 차 캐쉬 메모리(104)를 갖는 프로세서(102)와 호스트-버스 브릿지 컨트롤러(106) 및 로컬 메모리(108)를 포함한다.
상기 CC-NUMA 모듈(110)은 PCI 버스 인터페이스(112)와 캐쉬 일관성 유지 모듈(120) 및 네트워크 인터페이스(170)를 포함한다. 그리고 공유 메모리 및 태그(150)와, 네트워크 캐쉬 및 태그(160) 그리고 SCI 디렉토리(114)를 포함한다.
상기 PCI 버스 인터페이스(112)는 상기 CC-NUMA 모듈(110)과 상기 호스트-버스 브릿지 컨트롤러(106) 간의 PCI 버스 규격에 적합한 어드레스, 데이터 및 제어 신호를 상호 전송한다.
상기 캐쉬 일관성 유지 모듈(120)은 SCI에 정의된 캐쉬 일관성 유지 알고리즘을 구비하며 예를 들어, 도 4에 도시된 분산 공유 메모리 컨트롤러(130)를 구비한다. 그리고 상기 네트워크 인터페이스(170)는 상기 노드들을 SCI 네트워크에 연결한다.
따라서 상기 노드들이 공유하는 공유 메모리는 로컬 메모리가 아닌 PCI 버스 상에 위치한다. 즉, 각 노드의 공유 메모리는 하나의 주소 공간으로 매핑되며, 이러한 매핑을 통하여 다른 노드의 공유 메모리가 각 노드의 PCI 버스 주소 공간에 매핑된다. 따라서 각 노드는 다른 노드의 공유 메모리를 자신의 메모리인 것처럼 사용할 수 있다.
또한 상기 CC-NUMA 모듈은 다른 노드에 존재하는 공유 메모리를 캐쉬하기 위하여 네트워크 캐쉬를 지원한다. 그리고 공유 메모리와 네트워크 캐쉬 사이의 캐쉬 일관성을 유지시키기 위해서 SCI에 정의된 캐쉬 일관성 알고리즘을 사용한다. 또한 다른 노드와의 데이터 및 트랜잭션 교환을 위한 네트워크 인터페이스로 IEEE 표준 SCI 기술을 사용한다.
도 4는 본 발명의 실시예에 따른 CC-NUMA 모듈의 상세한 구성을 나타내는 블록도이다.
도면을 참조하면, 상기 CC-NUMA 모듈(110)은 PCI 버스에 연결되며, 공유 메모리(154) 및 네트워크 캐쉬(164) 및 캐쉬 일관성 유지 모듈(130)을 구비한다.
구체적으로 상기 CC-NUMA 모듈(110)은 크게 분산 공유 메모리 (DSM : Distributed Shared Memory) 모듈과 인터커넥션 모듈 및 듀얼 포트 메모리(DPM : Dual Port Memory)를 포함한다.
상기 DSM 모듈은 PCI 버스 인터페이스(112)와 캐쉬 일관성 유지 모듈(130)과 공유 메모리(154)와 공유 메모리 태그(152)와 네트워크 캐쉬(164)와 네트워크 캐쉬 태그(162)를 포함한다. 그리고 상기 캐쉬 일관성 유지 모듈(130)은 캐쉬 일관성 유지 모듈 코어(132)와 메모리 컨트롤러(134) 및 제 1 DPM 컨트롤러(136)를 포함한다.
상기 PCI 버스 인터페이스(112)는 PCI 버스 규격에 따른 32 비트 어드레스 및 데이터(ADDR/DATA), 4 비트의 주소 관련 명령어 또는 데이터 관련 유효 바이트 신호선(C/BE), 그리고 제어 신호(CONTROL)들을 상기 호스트-버스 브릿지 컨트롤러(도 3의 106)와 상호 전송한다.
상기 캐쉬 일관성 유지 모듈(130)은 상기 PCI 버스 인터페이스(112)와 연결해서 32 비트 데이터를 상호 전송하며, 내부적으로도 즉, 상기 캐쉬 일관성 유지 모듈 코어(132)와 상기 메모리 컨트롤러(134) 및 상기 제 1 DPM 컨트롤러(136) 간의 데이터 처리도 32 비트로 처리한다.
상기 인터커넥션 모듈은 SCI 컨트롤러(172)와 SCI 디렉토리(114) 및 링크 컨트롤러(174)를 포함한다. 상기 SCI 컨트롤러(172)는 SCI 컨트롤러 코어(176)와 제 2 DPM 컨트롤러(178) 및 디렉토리 컨트롤러(180)를 포함한다. 그리고 상기 SCI 컨트롤러(172)와 상기 링크 컨트롤러(174)는 B 링크를 통하여 연결된다.
그리고 상기 듀얼 포트 메모리(140)는 32 비트 포트와 64 비트 포트를 구비하고, 이들 포트에 연결되는 두 개의 버퍼들(142, 144)을 포함한다. 그리고 상기 제 1 DPM 컨트롤러(136)의 제어를 받아서 상기 DSM 모듈과 32 비트 데이터를 처리하고, 상기 제 2 DPM 컨트롤러(178)의 제어를 받아서 상기 인터커넥션 모듈과 64 비트 데이터를 처리한다.
따라서 상기 PCI 버스 인터페이스(112)는 로컬 프로세서에서 발생시킨 공유 메모리 및 네트워크 캐쉬에 대한 트랜잭션을 받아서 상기 캐쉬 일관성 유지 모듈(130)로 전달한다. 상기 캐쉬 일관성 유지 모듈(130)은 전송된 트랜잭션에 응답해서 로컬 프로세서로 해당 정보를 전달한다.
그리고 상기 캐쉬 일관성 유지 모듈(130)은 로컬 프로세서 및 다른 노드에서 발생된 트랜잭션을 처리하며, 각 노드의 공유 메모리와 이를 캐쉬한 다른 노드의 네트워크 캐쉬들 간의 캐쉬 일관성을 유지시킨다. 다른 노드로 데이터 및 트랜잭션의 전송이 필요한 경우, 상기 듀얼 포트 메모리(140)를 통하여 상기 SCI 컨트롤러(172)로 전송한다. 그리고 상기 캐쉬 일관성 유지 모듈(130)은 캐쉬 일관성을 유지하기 위하여 SCI에서 정의하는 캐쉬 일관성 유지 알고리즘을 사용한다.
상기 공유 메모리(154) 및 상기 공유 메모리 태그(152)는 각 노드들 사이에 공유되는 데이터와 이에 해당되는 태그를 저장한다. 상기 네트워크 캐쉬(164) 및상기 네트워크 캐쉬 태그(162)는 다른 노드의 공유 메모리를 캐쉬하며, 이에 대한 태그 정보를 저장한다. 여기서 사용되는 태그 정보는 SCI에서 정의된 기준을 따른다.
상기 SCI 컨트롤러(172)는 상기 듀얼 포트 메모리(140)를 통하여 상기 캐쉬 일관성 유지 모듈(130)로부터 받은 정보를 SCI 패킷 형태로 변환한다. 이 패킷은 B 링크를 통하여 상기 링크 컨트롤러(174)로 전송되고, 상기 링크 컨트롤러(174)는 패킷을 인접 노드로 전송한다. 또한 상기 링크 컨트롤러(174)를 통하여 수신되는 패킷으로부터 필요한 정보를 추출하여 상기 듀얼 포트 메모리(140)를 통해 상기 캐쉬 일관성 유지 모듈(130)로 전송하며, 상기 SCI 컨트롤러(172)는 상기 SCI 디렉토리(114)를 관리한다.
상기 듀얼 포트 메모리(140)는 상기 캐쉬 일관성 유지 모듈(130)과 상기 SCI 컨트롤러(172) 사이에서 발생하는 트랜잭션에 대한 정보 전달을 위하여 큐잉 버퍼(queueing buffer) 역할을 한다.
상기 SCI 디렉토리(114)는 상기 공유메모리 태그(152) 및 상기 네트워크 캐쉬 태그(162)의 정보를 저장하고 있다. 따라서 다른 노드에서 전송된 트랜잭션이 데이터의 전송없이 태그 정보의 수정만을 요구할 때, 상기 캐쉬 일관성 유지 모듈(130)의 제어를 받지 않고 상기 SCI 디렉토리(114)를 바로 수정하고, 트랜잭션에 대한 응답을 한다. 이 후에 수정된 SCI 디렉토리 정보를 사용하여 상기 공유 메모리 태그(152) 및 상기 네트워크 캐쉬 태그(162)를 수정한다.
상기 링크 컨트롤러(174)는 네트워크 인터페이스로서 예를 들어, 돌핀 사의링크 컨트롤러로 구성할 수 있으며, 상기 SCI 컨트롤러(172)에서 발생한 명령을 다른 노드로 전송한다. 이어서 다른 노드에서 전송된 명령을 상기 SCI 컨트롤러(172)로 전송하는 역할을 한다.
계속해서 도 5 및 도 6을 참조하여 본 발명의 CC-NUMA 모듈을 통한 공유 메모리 및 네트워크 캐쉬의 억세스 방법을 설명한다.
도 5는 본 발명의 일 실시예에 따른 프로세서와 공유 메모리 사이의 리드 트랜잭션 수순을 도시하고 있으며, 도 6은 프로세서와 공유 메모리 사이의 라이트 트랜잭션 수순을 도시하고 있다. 이 수순은 트랜잭션에 따른 공유 메모리 리드, 라이트 억세스를 위한 프로그램으로, 프로세서의 명령을 받아서 CC-NUMA 모듈이 처리하는 것을 나타낸다.
도 5를 참조하면, 상기 프로세서는 단계 S200에서 PCI 버스에 리드 트랜잭션을 발생시킨다. 이에 응답해서 단계 S202에서 캐쉬 일관성 유지 모듈은 리드한 메모리 주소가 자기 노드의 공유 메모리 주소인지를 판별한다. 판별 결과 자기 노드의 공유 메모리 주소이면, 이 수순은 단계 S204로 진행하여 공유 메모리에서 데이터를 리드하고, 단계 S222에서 리드된 데이터를 프로세서로 전달한다.
그리고 판별 결과 자기 노드의 공유 메모리 주소가 아니면, 단계 S206으로 진행하여 네트워크 캐쉬 태그의 정보를 리드한다. 이어서 단계 S208에서 네트워크 캐쉬 태그의 정보로부터 리드한 데이터가 이미 리드된 데이터인지를 판별한다. 즉, 리드한 데이터가 이미 리드된 데이터이면, 이 수순은 단계 S210으로 진행하여 네트워크 캐쉬에서 데이터를 리드하고, 단계 S222에서 리드된 데이터를 프로세서로 제공한다.
만약, 리드한 데이터가 처음 리드되는 데이터이면 이는 외부 노드의 데이터이므로 이 수순은 단계 S212로 진행하여 SCI 컨트롤러를 거쳐 SCI 네트워크로 리드 트랜잭션을 전송한다.
이어서 단계 S214에서는 해당 노드로 들어온 리드 트랜잭션은 해당 노드의 캐쉬 일관성 유지 모듈로 전달되어 공유 메모리를 리드한다. 이 때, 해당 노드에서는 공유메모리 캐쉬 태그를 수정하고, SCI 컨트롤러로 리드된 데이터를 전달한다. 이어서 SCI 컨트롤러는 SCI 디렉토리의 정보를 변경하여 저장하고, 리드 트랜잭션을 요구한 노드로 리드된 데이터를 전송한다.
단계 S216에서 리드 트랜잭션을 요구한 노드로 입력된 데이터는 SCI 컨트롤러에서 SCI 디렉토리 정보를 변경 저장하고 캐쉬 일관성 유지 모듈로 데이터를 전달한다. 이어서 단계 S218에서 캐쉬 일관성 유지 모듈은 네트워크 캐쉬에 리드된 데이터를 라이트하고, 단계 S220에서 네트워크 캐쉬 태그 정보를 변경하여 저장한다. 단계 S222에서 프로세서로 리드된 데이터를 전송한다.
따라서 프로세서는 PCI 버스를 경유하여 발생된 리드 트랜잭션에 의해서 자기 노드 또는 외부 노드의 공유 메모리로부터 데이터를 리드하게 된다.
계속해서 도 6을 참조하면, 상기 프로세서는 단계 S230에서 프로세서가 PCI 버스에 라이트 트랜잭션을 발생시킨다. 캐쉬 일관성 유지 모듈은 단계 S232에서 라이트 트랜잭션에 응답해서 라이트할 주소에 대해서 독점권(exclusive ownership)을 가지고 있는 경우에만 라이트가 가능하므로, 현재 노드가 독점권을 가지고 있는지를 판별한다.
즉, 단계 S232에서 독점권을 가지고 있는지를 판별하여 독점권을 가지고 있지 않으면, 이 수순은 단계 S234로 진행하여 독점권을 획득한다. 예컨대, 상기 도 5에 도시된 리드 트랜잭션 수순에서 설명했던 유사한 과정들을 통하여 독점권을 획득한다.
그리고 상기 단계 S232에서 독점권을 가지고 있으면, 단계 S236으로 진행하여 공유 메모리에 데이터를 라이트한다. 이어서 단계 S238에서는 상기 단계 S236에서 라이트된 메모리 주소에 대한 정보를 다른 노드가 캐쉬하고 있는지를 판별한다. 판별 결과 적어도 하나의 다른 외부 노드에서 상기 단계 S236에서 라이트된 메모리 주소에 저장된 데이터에 대한 정보를 캐쉬하고 있으면, 단계 S240으로 진행하여 연결 리스트에 이들 외부 노드들을 무효화(invalidate)시킨다.
이상에서, 본 발명의 바람직한 실시예에 따른 I/O 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 장치 및 그 제어방법의 구성 및 동작을 상기한 설명 및 도면에 따라 도시하였지만, 이는 예를 들어 설명한 것에 불과하며 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 변화 및 변경이 가능하다.
상술한 바와 같이, 본 발명은 PCI 버스 상에 공유 메모리, 네트워크 캐쉬 및 캐쉬 일관성 유지를 위한 CC-NUMA 모듈을 구비함으로서, PCI 버스를 이용한 CC-NUMA 구조의 멀티프로세서 시스템을 제공한다. 이는 시스템 구현이 쉽고, 저렴한 비용으로 시스템 구현이 가능할 뿐만 아니라 외부 노드의 메모리 접근이 용이하다.
또한 CC-NUMA 모듈에 네트워크 캐쉬를 구비함으로서 메모리 접근 패턴에 따라 네트워크 캐쉬가 없는 메시지 패싱 시스템에 비해 좋은 성능을 나타낸다.

Claims (9)

  1. 컴퓨터 네트워크에 연결되는 다수의 프로세싱 노드들을 포함하는 멀티프로세서 시스템에서 노드로부터 메모리를 억세스하기 위한 프로세싱 노드 장치에 있어서,
    I/O 버스에 연결되어 상기 자기 노드로부터 데이터 리드/라이트에 따른 정보를 상호 전송하는 제 1 인터페이스 수단과;
    상기 각 노드들 사이에서 공유되는 데이터를 저장하는 공유메모리와, 상기 각 노드들의 공유메모리를 캐쉬하는 네트워크 캐쉬를 포함하여 구성되고, 상기 공유메모리와 상기 네트워크 캐쉬에 대한 태그 정보를 저장하며, 상기 자기 노드 또는 외부 노드들로부터 리드, 라이트가 가능한 제 1 메모리 수단과;
    상기 외부 노드들로부터 메모리 억세스한 정보를 저장하는 제 2 메모리 수단과;
    상기 제 1 및 상기 제 2 메모리 수단을 리드, 라이트하도록 제어하는 메모리 억세스 제어 수단 및;
    상기 컴퓨터 네트워크에 연결되어 상기 노드들 간의 데이터 전송을 수행하는 제 2 인터페이스 수단을 포함하여 I/O 버스에 연결된 상기 제 1 메모리 수단을 억세스하는 것을 특징으로 하는 I/O 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 장치.
  2. 제 1 항에 있어서, 상기 제 1 메모리 수단은,
    상기 공유 메모리와 상기 네트워크 캐쉬에 대한 태그 정보를 저장하는 제 3 메모리 수단을 더 포함하여 구성된 것을 특징으로 하는 I/O 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 장치.
  3. 제 1 항에 있어서, 상기 제 2 메모리 수단은,
    상기 제 3 메모리 수단의 정보를 저장하는 것을 특징으로 하는 I/O 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 장치.
  4. 제 1 항에 있어서, 상기 메모리 억세스 제어 수단은,
    상기 제 1 인터페이스 수단에 연결되어 상기 제 1 메모리 수단의 캐쉬 일관성을 유지하기 위한 제 1 컨트롤러와;
    상기 제 1 컨트롤러로부터 제공되는 정보를 받아서 패킷 데이터로 변환하여 상기 제 2 인터페이스 수단으로 출력하고, 상기 외부 노드들로부터 제공되는 패킷 데이터를 받아서 필요한 정보를 추출하고, 상기 추출된 정보를 상기 제 1 컨트롤러로 출력하는 제 2 컨트롤러 및;
    상기 제 1 및 상기 제 2 컨트롤러 상호 간에 전송되는 정보를 저장하고, 상기 제 1 컨트롤러의 제어에 따라 상기 제 2 컨트롤러로 저장된 정보를 출력하고, 상기 제 2 컨트롤러의 제어에 따라 상기 제 1 컨트롤러로 저장된 정보를 출력하는 제 4 메모리 수단을 포함하여 구성된 것을 특징으로 하는 I/O 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 장치.
  5. 컴퓨터 네트워크에 연결된 다수의 프로세싱 노드들을 구비하는 멀티프로세서 시스템에 있어서,
    프로세서와;
    상기 프로세서에 연결된 로컬 메인 메모리와;
    상기 프로세서와 연결되는 I/O 버스와;
    상기 I/O 버스에 연결되어 상기 노드들로부터 데이터 억세스 가능한 메모리 장치를 구비하고, 상기 프로세서 또는 상기 노드들 중의 외부 노드 프로세서의 메모리 리드, 라이트 명령에 따라 메모리 억세스를 수행하고, 상기 메모리 억세스 결과에 따른 정보를 유지시키는 메모리 억세스 유닛 및;
    상기 메모리 억세스 유닛의 억세스 정보가 상기 노드들 간에 상호 전송되도록 인터페이스하는 네트워크 유닛을 포함하여 구성된 것을 특징으로 하는 I/O 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 장치.
  6. 제 5 항에 있어서, 상기 메모리 억세스 유닛은,
    상기 I/O 버스에 연결되어 상기 프로세서로부터 상기 데이터 리드, 라이트 명령을 받거나 상기 프로세서로 해당 정보를 전달하는 I/O 버스 인터페이스와;
    SCI에 정의된 캐쉬 일관성 유지 알고리즘을 구비하고, 상기 알고리즘에 의해 상기 메모리 억세스 결과에 대한 정보를 유지하는 캐쉬 일관성 유지 모듈과;
    SCI에서 정의된 기준을 따라 상기 노드들 간에 공유되는 데이터와 이에 대한 태그 정보를 저장하는 공유 메모리 및 공유 메모리 태그와;
    SCI에서 정의된 기준을 따라 상기 외부 노드들의 공유 메모리를 캐쉬하며, 이에 대한 태그 정보를 저장하는 네트워크 캐쉬 및 네트워크 캐쉬 태그 및;
    상기 공유 메모리 태그와 상기 네트워크 캐쉬 태그에 저장된 정보에 대응하여 상기 메모리 억세스 결과에 대한 정보를 저장하는 SCI 디렉토리를 포함하여 구성된 것을 특징으로 하는 I/O 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 장치.
  7. 제 6 항에 있어서, 상기 캐쉬 일관성 유지 모듈은,
    상기 I/O 버스 인터페이스에 연결되어 상기 공유 메모리 및 상기 네트워크 캐쉬의 캐쉬 일관성을 유지하기 위한 캐쉬 일관성 유지 모듈과;
    상기 캐쉬 일관성 유지 모듈로부터 제공되는 정보를 받아서 패킷 데이터로 변환하여 상기 네트워크 유닛으로 출력하고, 상기 외부 노드들로부터 제공되는 패킷 데이터를 받아서 필요한 정보를 추출하고, 상기 추출된 정보를 상기 캐쉬 일관성 유지 모듈로 출력하는 SCI 컨트롤러 및;
    상기 캐쉬 일관성 유지 모듈 및 상기 SCI 컨트롤러 상호 간에 전송되는 정보를 저장하고, 상기 캐쉬 일관성 유지 모듈 및 상기 SCI 컨트롤러의 제어를 받아서 상기 SCI 컨트롤러 및 상기 캐쉬 일관성 유지 모듈로 상기 정보를 출력하는 듀얼 포트 메모리를 포함하여 구성된 것을 특징으로 하는 I/O 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 장치.
  8. 멀티프로세서 시스템의 프로세싱 노드에 있어서,
    리드 트랜잭션이 발생하면, 캐쉬 일관성 유지 모듈에서 리드할 메모리 주소가 자기 노드의 공유 메모리 주소인지를 판별하는 단계와;
    상기 리드할 메모리 주소가 자기 노드의 공유 메모리 주소이면, 공유 메모리로부터 데이터를 리드하고, 리드한 데이터를 프로세서로 전달하는 단계와;
    상기 리드할 메모리 주소가 자기 노드의 공유 메모리 주소가 아니면, 네트워크 캐쉬 태그의 정보를 리드하여, 리드한 데이터가 이미 리드된 데이터인지를 판별하는 단계와;
    상기 리드한 이미 리드된 데이터이면, 네트워크 캐쉬에서 데이터를 리드하여, 리드된 데이터를 프로세서로 제공하는 단계와;
    상기 리드한 데이터가 처음 리드되는 데이터이면, SCI 네트워크를 통해 캐쉬 일관성 유지 모듈로 리드 트랜잭션을 전송하는 단계와;
    상기 리드 트랜잭션을 전송받은 캐쉬 일관성 유지 모듈에서 공유 메모리 캐쉬 태그를 수정되도록 하고, SCI 디렉토리의 정보를 수정한 후 리드 트랜잭션을 요구한 노드로 리드된 데이터를 전송하여 네트워크 캐쉬 태그 정보를 변경하여 저장하고, 프로세서로 리드된 데이터를 전송하여 프로세서와 공유 메모리 사이의 리드 트랜잭션이 수행되도록 하는 단계로 이루어진 것을 특징으로 하는 I/O 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 제어방법.
  9. 멀티프로세서 시스템의 프로세싱 노드에 있어서,
    I/O 버스에 라이트 트랜잭션을 발생되면, 캐쉬 일관성 유지 모듈에서 현재 노드가 라이트할 메모리 주소에 대한 독점권을 가지고 있는지를 판별하는 단계와;
    상기 현재 노드가 독점권을 가지고 있지 않으면, 독점권을 획득하도록 하고, 상기 현재 노드가 독점권을 가지고 있으면, 공유 메모리에 데이터를 라이트하여, 상기 라이트된 메모리 주소에 대한 정보를 다른 노드가 캐쉬하고 있는지를 판별하는 단계와;
    상기 판별 결과 적어도 하나의 다른 외부 노드에서 라이트된 메모리 주소에 저장된 데이터에 대한 정보를 캐쉬하고 있으면, 연결 리스트에 이들 외부 노드들을 무효화시켜 프로세서와 공유 메모리 사이의 라이트 트랜잭션이 수행되도록 하는 단계로 이루어진 것을 특징으로 하는 I/O 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 제어방법.
KR1020000024975A 2000-05-10 2000-05-10 I/o 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 장치 및 그 제어방법 KR100362607B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000024975A KR100362607B1 (ko) 2000-05-10 2000-05-10 I/o 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 장치 및 그 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000024975A KR100362607B1 (ko) 2000-05-10 2000-05-10 I/o 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 장치 및 그 제어방법

Publications (2)

Publication Number Publication Date
KR20000049990A KR20000049990A (ko) 2000-08-05
KR100362607B1 true KR100362607B1 (ko) 2002-11-29

Family

ID=19668347

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000024975A KR100362607B1 (ko) 2000-05-10 2000-05-10 I/o 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 장치 및 그 제어방법

Country Status (1)

Country Link
KR (1) KR100362607B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9229751B2 (en) 2011-12-09 2016-01-05 Samsung Electronics Co., Ltd. Apparatus and method for managing virtual memory

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102571197B1 (ko) * 2022-12-07 2023-08-30 성균관대학교산학협력단 클러스터 파일시스템의 캐시 일관성 유지방법
CN116820787B (zh) * 2023-08-31 2023-12-15 湖北芯擎科技有限公司 负载均衡方法、装置、电子设备及计算机可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09185547A (ja) * 1995-12-28 1997-07-15 Toshiba Corp マルチプロセッサの制御方法及びその装置
US5893144A (en) * 1995-12-22 1999-04-06 Sun Microsystems, Inc. Hybrid NUMA COMA caching system and methods for selecting between the caching modes
JPH11102321A (ja) * 1997-09-26 1999-04-13 Nec Corp 分散共有メモリ型並列計算機のキャッシュコヒーレンシ制御方式
EP0908825A1 (en) * 1997-10-10 1999-04-14 BULL HN INFORMATION SYSTEMS ITALIA S.p.A. A data-processing system with cc-NUMA (cache coherent, non-uniform memory access) architecture and remote access cache incorporated in local memory
US5926829A (en) * 1995-12-22 1999-07-20 Sun Microsystems, Inc. Hybrid NUMA COMA caching system and methods for selecting between the caching modes
US6067611A (en) * 1998-06-30 2000-05-23 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that buffers potential third node transactions to decrease communication latency

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5893144A (en) * 1995-12-22 1999-04-06 Sun Microsystems, Inc. Hybrid NUMA COMA caching system and methods for selecting between the caching modes
US5926829A (en) * 1995-12-22 1999-07-20 Sun Microsystems, Inc. Hybrid NUMA COMA caching system and methods for selecting between the caching modes
JPH09185547A (ja) * 1995-12-28 1997-07-15 Toshiba Corp マルチプロセッサの制御方法及びその装置
JPH11102321A (ja) * 1997-09-26 1999-04-13 Nec Corp 分散共有メモリ型並列計算機のキャッシュコヒーレンシ制御方式
EP0908825A1 (en) * 1997-10-10 1999-04-14 BULL HN INFORMATION SYSTEMS ITALIA S.p.A. A data-processing system with cc-NUMA (cache coherent, non-uniform memory access) architecture and remote access cache incorporated in local memory
US6067611A (en) * 1998-06-30 2000-05-23 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that buffers potential third node transactions to decrease communication latency

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9229751B2 (en) 2011-12-09 2016-01-05 Samsung Electronics Co., Ltd. Apparatus and method for managing virtual memory

Also Published As

Publication number Publication date
KR20000049990A (ko) 2000-08-05

Similar Documents

Publication Publication Date Title
US7171521B2 (en) Coherent shared memory processing system
US6944719B2 (en) Scalable cache coherent distributed shared memory processing system
US6721848B2 (en) Method and mechanism to use a cache to translate from a virtual bus to a physical bus
US5623632A (en) System and method for improving multilevel cache performance in a multiprocessing system
KR100308323B1 (ko) 공유된 개입 지원을 가지는 비균등 메모리 액세스 데이터처리 시스템
US6308246B1 (en) Skewed finite hashing function
US9792210B2 (en) Region probe filter for distributed memory system
KR100548908B1 (ko) 중앙 집중형 스누프 필터링 방법 및 장치
US6021468A (en) Cache coherency protocol with efficient write-through aliasing
US6636906B1 (en) Apparatus and method for ensuring forward progress in coherent I/O systems
US6338119B1 (en) Method and apparatus with page buffer and I/O page kill definition for improved DMA and L1/L2 cache performance
EP0817073B1 (en) A multiprocessing system configured to perform efficient write operations
US6463510B1 (en) Apparatus for identifying memory requests originating on remote I/O devices as noncacheable
US20090006668A1 (en) Performing direct data transactions with a cache memory
JPH11272559A (ja) マルチレベル・メモリ・ハイアラ―キを含むデ―タ処理システムのためのキャッシュ・コヒ―レンシ・プロトコル
JP2000010860A (ja) キャッシュメモリ制御回路及びプロセッサ及びプロセッサシステム及び並列プロセッサシステム
US5713004A (en) Cache control for use in a multiprocessor to prevent data from ping-ponging between caches
US6857051B2 (en) Method and apparatus for maintaining cache coherence in a computer system
EP1611513B1 (en) Multi-node system in which global address generated by processing subsystem includes global to local translation information
US6629213B1 (en) Apparatus and method using sub-cacheline transactions to improve system performance
KR100362607B1 (ko) I/o 버스상의 캐쉬 일관성 비단일 메모리 엑세스 모듈을 포함하는 멀티프로세서 시스템의 프로세싱 노드 장치 및 그 제어방법
US6990516B2 (en) Distributed shared memory system and data-maintenance method of same
JPH11272558A (ja) Hr状態を含むキャッシュ・コヒ―レンシ・プロトコル
US6944721B2 (en) Asynchronous non-blocking snoop invalidation
US5452463A (en) Processor and cache controller interface lock jumper

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
FPAY Annual fee payment

Payment date: 20081114

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee