KR100300899B1 - 병렬데이터처리시스템및그제어방법 - Google Patents

병렬데이터처리시스템및그제어방법 Download PDF

Info

Publication number
KR100300899B1
KR100300899B1 KR1019980003047A KR19980003047A KR100300899B1 KR 100300899 B1 KR100300899 B1 KR 100300899B1 KR 1019980003047 A KR1019980003047 A KR 1019980003047A KR 19980003047 A KR19980003047 A KR 19980003047A KR 100300899 B1 KR100300899 B1 KR 100300899B1
Authority
KR
South Korea
Prior art keywords
message
node
procedure
message handling
register
Prior art date
Application number
KR1019980003047A
Other languages
English (en)
Other versions
KR19980079668A (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 포만 제프리 엘
Publication of KR19980079668A publication Critical patent/KR19980079668A/ko
Application granted granted Critical
Publication of KR100300899B1 publication Critical patent/KR100300899B1/ko

Links

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/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
    • 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/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

본 발명은 메시지 핸들링 커널(message handling kernel, 13...n3) 및 연관 프로시져 레지스터(procedure register, 14...n4)가 각각 장착된 복수 개의 처리 노드(S1...Sn)를 갖는 병렬 처리 시스템에 관한 것으로서, 상기 프로시져 레지스터는 로딩 수단(4)에 의해 응용 프로그램(3)의 제어 하에 로드되고, 상기 노드는 메시지 인터페이스(2)를 거쳐 메시지를 교환할 수 있으며 메시지를 처리하여 연관된 프로시져 레지스터의 내용에 따라 연관 노드에 의해 호출될 메시지 핸들링 프로시져를 결정하도록 되어 있다.

Description

병렬 데이터 처리 시스템 및 그 제어 방법{PARALLEL DATA PROCESSING SYSTEM AND METHOD OF CONTROLLING SUCH A SYSTEM}
본 발명은 전반적으로 데이터 처리 시스템에 관한 것으로 특히, 다수의 처리 유닛이 동시에 데이터를 처리하도록 조직된 시스템에 관한 것이다. 이와 같은 시스템은 병렬 처리 시스템이라 불리며, 보다 많은 양의 데이터를 한 개의 시스템을 사용했을 때보다 더 신속하게 처리하는데 사용되고, 일반적으로 신뢰도도 더 향상되는 추가적인 이점이 있다.
처리 유닛 혹은 노드에 의해 처리될 데이터 세트가 서로 독립적일 경우에는 위와 같은 이점을 쉽게 얻을 수 있지만, 하나 이상의 노드의 처리 결과가 또 다른 노드 혹은 노드들에서 수행되는 처리 동작에 영향을 미칠 경우에는 문제가 생긴다.
예를 들어, 이제까지 본질적으로 직렬 동작이었던 것을 병렬적으로 수행하도록 코드를 짠다면 각종 병렬 동작 간의 의존성(dependencies)이 매우 복잡해져서 잠재적 모순을 풀 수 없는 시점까지 가게 된다. 이와 같은 코드는 동기의(synchronous) 메시지를 처리하기 위해서 많은 테스트와 수정 절차를 거쳐야만 하는데, 상기 동기의 메시지는 응용 프로그램의 병렬적인 요소 간에 교환될 필요가 있다.
위와 같은 상황은 보험업이나 소매업에서처럼 수백만 개의 레코드와 같이 많은 양의 데이터를 분석할 때 일어날 수 있다. 판매 전략이 소비자 욕구와 선호도를 효율적으로, 그리고 융통성있게 충족시키기 위해서는 신속한 분석이 필수적이고, 그에 효율적으로 대응하기 위한 마케팅 경향을 인식하기 위해 여러 가지 프로세스가 개발되었다.
데이터 마이닝(data mining)은 위의 프로세스 중 하나로서, 이 프로세스에서는 경향을 예측하는 데 사용될 수 있는 모델을 개발하기 위해 레코드가 직렬로 분석된다. 이 모델은 분석이 진행되는 것과 동시에 동적으로 갱신되고, 현재의 모델에 맞추어 각각의 처리 단계가 진행되어야만 한다. 따라서 데이터 마이닝은 전통적으로 직렬적인 단일 프로세서 동작으로서 수행되어 왔다. 이것은 필수적으로 집중적인 계산을 요하는 처리로서, 데이터 마이닝과 같은 프로세스에 병렬 처리 기법을 적용함으로써 상당한 이득을 얻을 수 있다.
본 발명에 따르면, 응용 프로그램의 제어 하에 데이터를 각각 처리할 수 있는 다수의 처리 노드를 갖는 병렬 처리 시스템 - 상기 각각의 노드는 자신과 연관된 메시지 핸들링 커널 기능부 및 프로시져 레지스터를 가짐 - 이 제공되며, 상기 시스템은 상기 노드와 연관된 메시지 핸들링 커널을 상호 연결하는 메시지 인터페이스와, 각종 노드의 프로시져 레지스터 상에 메시지 핸들링 프로시져를 선택적으로 로드하는 로딩 수단을 포함하되, 각 메시지 핸들링 커널은 연관된 프로시져 레지스터로부터 선택된 메시지 핸들링 프로시져에 따라 그 연관 노드를 제어하도록 상기 응용 프로그램이 수행되는 동안 상기 메시지 인터페이스에 주어지는 메시지에 응답하도록 되어 있다.
또한 각 노드에 메시지 핸들링 커널과 프로시져 레지스터를 제공하는 단계와, 각 노드의 프로시져 레지스터에 해당 노드와 연관된 메시지 핸들링 커널에 의해 호출될 메시지 핸들링 프로시져를 선택적으로 로드하는 단계와, 또 다른 노드 혹은 노드로부터 수신된 메시지의 제어 하에 연관된 프로시져 레지스터에서 선택된 메시지 핸들링 프로시져에 따라 노드를 제어하는 단계를 포함하는, 다수의 처리 노드를 갖는 병렬 처리 시스템을 제어하는 방법이 제공된다.
도 1은 본 발명을 구현하는 병렬처리 시스템을 나타내는 도면.
도 2는 도 1의 시스템을 사용하여 처리 가능한 일련의 레코드를 단순화된 형태로 도시하는 표.
도 3은 메시지 핸들링 커널에 의해 수행되는 단계를 도시하는 흐름도.
도 4는 전형적인 메시지 구조와 그것이 처리 노드에서 해석되는 방식을 도시하는 도면.
도면의 주요 부분에 대한 부호의 설명
Sn : 처리 노드 11 ..n1 : 연관 프로세서
12 ..n2 : 저장 유닛 13 ..n3 : 메시지 핸들링 커널
14 ..n4 : 프로시져 레지스터 2 : 양방향 메시지 인터페이스
3 : 응용 프로그램 제어기 4 : 인터페이스
본 발명의 바람직한 실시예에 따르면, 본 시스템은 매스터-슬레이브 관계를 이루도록 구성되어 있어서 노드 중 하나가 매스터 노드로 지정되어 그 내부에 응용 프로그램과 그에 대한 제어권이 상주하고 있는 반면, 나머지 노드는 매스터 노드로부터 발신되는 메시지에 응답하는 슬레이브 노드로 동작한다. 각종 노드에 연결된 프로시져 레지스터는 매스터 노드의 제어 하에 처음으로 로드되고, 응용 프로그램이 진행됨에 따라 수시로 갱신될 수 있다.
본 발명의 또 다른 측면에 따르면, 다수의 처리 노드를 갖는 병렬 처리 시스템 상에서 응용 프로그램의 수행을 제어하는데 사용될, 기록 매체에 기록된 컴퓨터 프로그램을 포함하는 컴퓨터 프로그램 제품이 제공되며, 상기 컴퓨터 프로그램은,
상기 각 노드에 대해 메시지 핸들링 커널 및 프로시져 레지스터를 제공하는 수단과,
각 노드의 프로시져 레지스터에 해당 노드에 제공된 메시지 핸들링 커널에 의해 호출될 메시지 핸들링 프로시져를 선택적으로 로드하는 수단을 포함하는데,
각 메시지 핸들링 커널은 연관된 프로시져 레지스터로부터 선택된 메시지 핸들링 프로시져에 따라 연관 노드를 제어할 수 있도록 되어 있다.
메시지 핸들링 커널의 중요한 이점은 응용 프로그램 자체를 불필요하게 복잡하게 만들지 않고도 메시지가 도착하면 어떤 유형의 메시지라도 올바르게 처리한다는 점이다. 본 발명에 따른 메시지 핸들링 대책이 사용되면 병렬 처리 시스템에서 사용되는 응용 프로그램의 구조가 상당히 단순화될 수 있기 때문에 본 발명에서 사용되도록 개발된 병렬 시스템을 위한 응용 프로그램은 이전의 것과 비교하여 특성상 더 신뢰도가 높고 보다 관리가 쉬울 것이다.
먼저 도 1을 참조하면, 본 발명을 구현하는 병렬 처리 시스템이 다수의 처리 노드 S1, S2, ... Sn을 포함하고 있으며, 각각의 처리 노드는 저장 유닛(12, 22, ...n2)에 저장된 레코드 상에서 동작하기 위한 연관 프로세서(11, 21, ... n1)를 갖는다. 각각의 처리 노드 내에는 소프트웨어로 구현된 메시지 핸들링 커널 기능부(13, 23, ...n3)가 정의되어 있고, 프로시져 레지스터(14, 24, ... n4)가 그것에 연결되어 있다. 양방향 메시지 인터페이스(2)가 모든 노드 내의 메시지 핸들링 커널을 상호연결하고, 응용 프로그램 제어기(3)가 인터페이스(4) 상으로 여러 프로시져 레지스터(14, ...n4)를 초기화하기 위한 프로시져를 제공하고 응용 프로그램의 진행에 따라 필요할 경우 이들 레지스터를 갱신하도록 구성되어 있다. 본 발명의 바람직한 실시예에서는 다양한 노드 내의 프로시져 레지스터에 특정 응용 프로그램에 적절한 메시지 핸들링 프로시져가 선택적으로 로드된다.
바람직한 실시예에서, 노드(1)가 매스터 노드로 지정되고 기타 노드는 슬레이브 노드로 지정된다. 따라서 응용 프로그램과 그에 대한 제어권은 매스터 노드(1) 내에 상주하고, 슬레이브는 매스터 노드로부터의 메시지에 응답한다. 이 시스템은 여러 가지 컴퓨터 플랫폼을 이용하여 구현될 수 있지만, 본 실시예에서는 IBM RISC System/6000 프로세서로 이루어진 병렬 어레이를 채용하고 있다. (RISC System/6000은 IBM사의 상표이다.)
도 2에는 본 시스템을 적용할 수 있는 유형의 단순화된 레코드 그룹이 도시되어 있는데, 이는 한 보험 회사가 개발한 고객 데이터의 레코드로 이루어진 방대한 데이터베이스를 나타낸다. 이러한 데이터를 사용하여 데이터 마이닝 작업을 하는 경우의 목적은, 예컨대 공통적인 항목 및 조건을 갖는 보험을 권할 범주를 개발하기 위해 정해진 범위의 유사성 내에서 특정한 특성을 보이는 레코드를 가진 사람의 집단을 가려내는 것을 들 수 있다. 이런 처리는 분류(segmentation)라고 불린다.
동작 시에, 다양한 노드 사이에 대개 균일한 분포의 레코드를 갖도록 시스템에 레코드가 로드된다. 이것은 도 1의 저장 유닛(12, ...n2)과 연관된 문자에 의해 도시되는 바와 같이, 레코드를 일렬로 또는 부분집합을 짜서 할당함으로써, 혹은 응용 프로그램이 요구하는 바에 따라 다른 방법을 사용함으로써 가능하다. 이제 응용 프로그램의 수행은 모든 노드에 대한 통계와 이에 따른 매스터 노드의 통합, 다음에는 상기 통계를 사용하여 레코드의 샘플로부터 초기 모델을 구성해 내는 것을 포함한다.
매스터 노드는 트리거 메시지(trigger message)를 송출함으로써 초기 모델개발을 시작하고, 이에 따라 모든 노드가 자신의 연관된 저장 유닛으로부터 자신이 기부할 레코드를 전송한다. 초기 모델 개발이 완성되면 매스터 노드는 이를 슬레이브 노드에게 분배한다.
그 다음에는 모든 노드를 사용하는 일련의 패스(pass)가 뒤따른다. 각 패스는 데이터를 완전히 스캔하고, 하나의 패스에는 여러 개의 단계(phase)가 있다. 한 단계 동안, 개별적인 노드 상의 모델이 발산하는 것이 허용된 경우에는 이와 같이 하여, 그 변화가 축적되고 매스터 노드가 각 단계의 마지막에 그것을 통합하여 모든 슬레이브 노드에 최신 모델 상태를 분배한다. 패스와 단계의 개시는 매스터 노드가 전송한 트리거 메시지에 의해 제어된다. 소정의 한 패스의 마지막에는, 예컨대 응용 프로그램의 요구를 충족시킬 만큼 모델이 충분히 안정적일 경우 매스터 노드가 응용 프로그램의 종결을 결정할 수도 있으며, 이 때에는 종결 메시지를 송출한다.
응용 프로그램이 진행됨에 따라, 트리거 메시지는 노드를 재동기화(re-synchronse)하는 데 사용된다. 이와 관련하여, 전형적인 병렬 시스템은 복수 개의 응용 프로그램을 실행 중일 수도 있고, 한 시점에 한 노드가 다른 구역 내의 기타 과제를 수행할 수 있고 따라서 어떤 요구를 바로 처리할 수 없을 수도 있음을 인지하여야 한다. 한 노드의 상태 및 가용성을 반영하는 정보는 메시지 인터페이스(2)를 통해 매스터에 의해 결정될 수 있다. 또 다른 실시예에서는, 노드의 상태와 가용성을 나타내는 메시지가 메시지 인터페이스를 통해 매스터로 회신된다.
슬레이브 노드가 이용가능하다는 메시지를 수신할 때 매스터 노드는 후속 처리를 요구하는 메시지를 전송한다. 요구되는 처리의 유형은 문제의 노드와 연관된 프로시져 레지스터에 로드된 메시지 핸들링 프로시져에 의해 정의되고, 메시지는 메시지 핸들링 커널이 적당한 프로시져를 선택하게끔 하는 식별 ID를 포함한다.
필요한 정도의 안정성을 달성하기 위해서는 전형적으로 두 개 혹은 세 개의 패스가 필요하다. 그런 다음 매스터 노드는 종결 메시지를 내보낸다. 이와 같은 종결 메시지를 인식한 슬레이브 노드는 데이터 처리 중 어떤 시점에 있든 간에 적절한 종결 프로시져를 수행함으로써 응답해야만 한다.
메시지 핸들링 커널의 중요한 이점은 응용 프로그램 자체가 불필요하게 복잡하게 되지 않고도 메시지가 도착하면 어떤 메시지 유형이라도 정확하게 처리하는 것임을 인식하여야 한다.
도 1의 시스템은,
1. 병렬 처리 응용 프로그램과 독립적인 메시지 핸들링 커널과,
2. 응용 프로그램이 필요로 하는 메시지 유형의 리스트를, 각 유형의 내용을 인지하지 않고 커널에 제공하는 방법과,
3. 메시지 핸들링 커널이 어떤 메시지 핸들링 프로시져를 호출할 지를, 내용을 알지 않고도 결정하게 하는 메시지 구조와,
4. 응용 프로그램이 커널에 요구한 메시지 유형에 따른 메시지 핸들링 프로시져를 제공하기 위한 등록 메커니즘(프로시져 레지스터)을
제공한다.
이는 도 3에 도시되어 있는데, 도 3은 메시지를 처리하기 위한 일련의사건(event)을 보여주고, 도 4는 전형적인 메시지 구조를 도시한다. 메시지가 전송되기 전에, 응용 프로그램 제어기는 연관 노드로 하여금 처리하게 할 메시지 종류 각각에 따른 메시지 핸들링 프로시져를 여러 프로시져 레지스터에 제공한다.
데이터를 요구할 때 매스터 노드로부터 각종 노드에 전송되는 메시지와 같이, 하나의 메시지는 특정한 동작(action)을 트리거하게 되어 있다. 도 4를 참조하면, 메시지 구조는 표시부(41)와 본체부(42)를 포함한다. 표시부는 본체부에 포함된 정보의 길이에 해당하는 값을 포함하고, 메시지 길이가 0일 때는 메시지가 본체부가 없는 트리거임을 나타낸다. 메시지는 커널에 의해 검사되어 메시지 내의 ID에 적절한 메시지 핸들링 프로시져를 선택하게끔 된다.
또 다른 전형적인 메시지는 이러한 트리거에 대한 슬레이브의 응답으로, 데이터를 요구하는 것이다. 응답을 위한 데이터를 모은 다음, 슬레이브는 매스터에 본체부를 포함하는 메시지를 보낸다. 매스터와 연관된 커널은 이 응답을 수신할 시에 본체부를 판독하고, 이를 표시부에 포함된 메시지 ID를 다루도록 등록된 메시지 핸들링 프로시져에 전달한다.
각종 메시지 핸들링 커널과 이들에 연관된 프로시져 레지스터에 의해 수행되는 기능은 인터페이스(2) 상의 모든 메시지가 통과하는 깔때기에 비유될 수 있다. 이는 도 3에 흐름도의 형태로 도시되어 있다.
도 3을 참조하면, 메시지 인터페이스(2) 상의 인입 메시지(incoming message)가 단계(31)에서 수신되고, 단계(32)에서 메시지 종류가 현재 응용 프로그램이 요구하는 유형인지 판정하기 위해 테스트가 이루어진다. 현재 응용 프로그램이 요구하는 유형이 아니면, 단계(33)에서 경고가 송출되고, 단계(34)에서 메시지가 제거(purge)된다. 단계(35)에서는, 수신된 특정 메시지를 위한 메시지 핸들링 프로시져가 연관된 프로시져 레지스터(14, 24, ...n4)에 등록되어 있는지 판정하기 위해 추가 테스트를 행한다. 만약 등록된 메시지 핸들링 프로시져가 없으면, 단계(36)에서 플래그를 상승시켜 메시지가 처리될 수 없음을 나타내고, 역시 단계(34)에서 메시지가 제거된다. 적절한 메시지 핸들링 프로시져가 발견될 경우, 이 메시지가 앞에서 기술한 메시지 길이가 0인 트리거 메시지인지 아니면 메시지가 데이터를 지니고 있는지를 판정하기 위해 테스트를 행한다. 후자의 경우, 단계(38)에서 메시지 본체가 수신되어 노드에서 추가로 처리된다. 만약 메시지가 트리거 메시지이면, 이 단계는 그냥 지나가며, 두 경우 모두 메시지 핸들링 프로시져가 단계(39)에서 실행된 후 메시지가 다시 단계(34)에서 제거되며 메시지 핸들링 커널은 추가 메시지 수신을 위한 대기 모드로 돌아간다.
본 실시예의 시스템에서는 메시지 핸들링 프로시져가 노드에서 생성된 메시지 객체에 의해 전송된 트리거 및 데이터 메시지에 응답하는 사용자 객체로 구현되었다.
본 실시예에서는, 각 메시지 유형별로 하나의 메시지 핸들링 프로시져가 프로시져 레지스터에 등록되어 있어서 응용 프로그램 로직 시퀀스(logic sequence)가 메시지 핸들링 프로시져 내에서 완벽하게 나열되도록 된다. 이로써 로직이 한 장소에만 있게 됨으로써 관리가 용이해진다. 그러나 각 메시지 유형에 대해 해당 메시지 유형에 대응하여 수행되어야 할 응용 프로그램의 단계를 나타내는 일련의 메시지 핸들링 프로시져가 등록될 수 있다. 이렇게 하면 시퀀싱의 복잡성이 메시지 핸들링 커널에 통합되므로 응용 프로그램 코드를 보다 간결하게 하여, 재사용 가능한 포괄적인 메시지 핸들링 프로세스가 제공된다.
이상에서 매스터-슬레이브 관계로 조직되고 응용 프로그램 및 응용 프로그램 제어기가 매스터 노드에 상주하는 병렬 처리 시스템이 기술되었지만, 이상 개시된 기술은 제어하는 노드가 정해져 있지 않은 구조에도 동등하게 적용 가능하다. 이러한 구조는 피어 투 피어(peer-to-peer) 조직이라 불리며, 모든 노드가 서로 통신하고, 각 노드는 자신의 현재 상태에 따른 메시지와 상이한 프로시져 레지스터에 등록된 메시지 핸들링 프로시져에 응답한다. 마찬가지로 상기 기술은 노드 중 하나만이 응용 프로그램의 제어와 수행에 주력하는 구조의 경우에도 적용 가능하다.
덧붙여서, 도 1의 실시예는 데이터 마이닝과 분류 과정 측면에서만 기술되었지만 당업자는 상기 기술한 기법이 병렬 데이터 처리 분야에 일반적으로 적용가능함을 주목해야 할 것이다.
상기한 바와 같은 본 발명에 따르면, 메시지 핸들링 커널의 중요한 이점은 응용 프로그램 자체를 불필요하게 복잡하게 만들지 않고도 메시지가 도착하면 어떤 유형의 메시지라도 올바르게 처리한다. 본 발명에 따른 메시지 핸들링 대책이 사용되면 병렬 처리 시스템에서 사용되는 응용 프로그램의 구조가 상당히 단순화될 수 있기 때문에 본 발명에서 사용되도록 개발된 병렬 시스템을 위한 응용 프로그램은 이전의 것과 비교하여 특성상 더 신뢰도가 높고 보다 관리가 쉬워지게 된다.

Claims (9)

  1. 응용 프로그램의 제어 하에 데이터를 각각 처리할 수 있는 다수의 처리 노드를 갖는 병렬 데이터 처리 시스템 - 상기 각각의 노드는 자신과 연관된 메시지 핸들링 커널(13,..n3) 및 프로시져 레지스터(14,..n4)를 가짐 - 에 있어서,
    상기 노드와 연관된 메시지 핸들링 커널을 상호 연결하는 메시지 인터페이스(2)와
    각종 노드의 프로시져 레지스터로 메시지 핸들링 프로시져(message handling procedures)를 선택적으로 로딩하는 로딩 수단(4)
    을 포함하되,
    각 메시지 핸들링 커널은 상기 응용 프로그램이 수행되는 동안 상기 메시지 인터페이스에 인가되는 동기화 메시지(synchronization messages)에 응답하여 연관된 프로시져 레지스터로부터 메시지 핸들링 프로시져를 선택하고, 상기 선택된 메시지 핸들링 프로시져에 따라 그 연관 노드를 제어하는
    병렬 데이터 처리 시스템.
  2. 제 1 항에 있어서,
    각각의 메시지 핸들링 커널은 추가적으로 상기 연관된 프로시져 레지스터에서 선택된 메시지 핸들링 프로시져의 진행을 보고하는 메시지를 상기 메시지 인터페이스에 전달하는 병렬 데이터 처리 시스템.
  3. 제 1 항에 있어서,
    각각의 메시지는 유형 식별자(a type identifier)를 포함하고, 메시지의 유형에 따라서 하나 이상의 연관된 메시지 핸들링 프로시져를 갖는 병렬 데이터 처리 시스템.
  4. 제 1 항에 있어서,
    한 노드는 응용 프로그램 및 그 제어권이 상주하는 매스터 노드로서 지정되고, 나머지 노드는 매스터 노드로부터 발신되는 메시지에 응답하는 슬레이브 노드로 기능하는 매스터-슬레이브 관계로 구성되는 병렬 데이터 처리 시스템.
  5. 제 4 항에 있어서,
    각 슬레이브 노드와 연관된 프로시져 레지스터는 매스터 노드에 상주하는 응용 프로그램에 의해 최초로 로딩되고 응용 프로그램이 진행됨에 따라 갱신되는 병렬 데이터 처리 시스템.
  6. 다수의 처리 노드를 갖는 병렬 처리 시스템을 제어하는 방법에 있어서,
    ① 각 노드에 메시지 핸들링 커널과 프로시져 레지스터를 제공하는 단계와,
    ② 각 노드의 프로시져 레지스터로 해당 노드와 연관된 메시지 핸들링 커널에 의해 호출될 메시지 핸들링 프로시져를 선택적으로 로딩하는 단계와,
    ③ 시스템 내의 또 다른 노드 혹은 노드들로부터 수신된 동기화 메시지에 응답하여 연관된 프로시져 레지스터에서 선택된 메시지 핸들링 프로시져에 따라 노드를 제어하는 단계
    를 포함하는 병렬 처리 시스템 제어 방법.
  7. 제 6 항에 있어서,
    유형 식별자에 의해 각 메시지를 식별하는 단계와,
    이렇게 식별된 각 메시지에 대해서 각 프로시져 레지스터에 하나 이상의 메시지 핸들링 프로시져를 제공하는 단계
    를 더 포함하는 병렬 처리 시스템 제어 방법.
  8. 제 6 항에 있어서,
    상기 처리 노드 중 하나를 매스터 노드로, 나머지 노드를 슬레이브 노드로지정하는 단계를 더 포함하는 병렬 처리 시스템 제어 방법.
  9. 제 8 항에 있어서,
    매스터 노드 내에 상주하는 응용 프로그램으로부터 각 슬레이브 노드와 연관된 프로시져 레지스터를 처음 로딩하는 단계와,
    이후에 응용 프로그램이 진행됨에 따라 슬레이브 노드와 연관된 프로시져 레지스터를 갱신하는 단계
    를 더 포함하는 병렬 처리 시스템 제어 방법.
KR1019980003047A 1997-04-01 1998-02-04 병렬데이터처리시스템및그제어방법 KR100300899B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9706549.4 1997-04-01
GB9706549A GB2323944A (en) 1997-04-01 1997-04-01 Parallel data processing system

Publications (2)

Publication Number Publication Date
KR19980079668A KR19980079668A (ko) 1998-11-25
KR100300899B1 true KR100300899B1 (ko) 2001-09-06

Family

ID=10810076

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980003047A KR100300899B1 (ko) 1997-04-01 1998-02-04 병렬데이터처리시스템및그제어방법

Country Status (8)

Country Link
US (1) US5905904A (ko)
EP (1) EP0871118B1 (ko)
JP (1) JP3090641B2 (ko)
KR (1) KR100300899B1 (ko)
DE (1) DE69840286D1 (ko)
GB (1) GB2323944A (ko)
SG (1) SG83676A1 (ko)
TW (1) TW491979B (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6409567B1 (en) 1997-12-15 2002-06-25 E.I. Du Pont De Nemours And Company Past-deposited carbon electron emitters
US6968335B2 (en) * 2002-11-14 2005-11-22 Sesint, Inc. Method and system for parallel processing of database queries
US7240059B2 (en) * 2002-11-14 2007-07-03 Seisint, Inc. System and method for configuring a parallel-processing database system
US7657540B1 (en) 2003-02-04 2010-02-02 Seisint, Inc. Method and system for linking and delinking data records
US20090187928A1 (en) * 2007-10-22 2009-07-23 Rextide Inc. Primary Application Advertising Layer
US8266168B2 (en) * 2008-04-24 2012-09-11 Lexisnexis Risk & Information Analytics Group Inc. Database systems and methods for linking records and entity representations with sufficiently high confidence
US8190616B2 (en) 2008-07-02 2012-05-29 Lexisnexis Risk & Information Analytics Group Inc. Statistical measure and calibration of reflexive, symmetric and transitive fuzzy search criteria where one or both of the search criteria and database is incomplete
US9411859B2 (en) 2009-12-14 2016-08-09 Lexisnexis Risk Solutions Fl Inc External linking based on hierarchical level weightings
US9189505B2 (en) 2010-08-09 2015-11-17 Lexisnexis Risk Data Management, Inc. System of and method for entity representation splitting without the need for human interaction
JP5949506B2 (ja) * 2012-11-30 2016-07-06 富士通株式会社 分散処理方法、情報処理装置、及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3909800A (en) * 1973-12-18 1975-09-30 Honeywell Inf Systems Improved microprogrammed peripheral processing system
US4654654A (en) * 1983-02-07 1987-03-31 At&T Bell Laboratories Data network acknowledgement arrangement
US4882674A (en) * 1985-03-05 1989-11-21 Wang Laboratories, Inc. Apparatus and method for control of one computer system by another computer system
US4970658A (en) * 1989-02-16 1990-11-13 Tesseract Corporation Knowledge engineering tool
US5339430A (en) * 1992-07-01 1994-08-16 Telefonaktiebolaget L M Ericsson System for dynamic run-time binding of software modules in a computer system

Also Published As

Publication number Publication date
JPH10334066A (ja) 1998-12-18
SG83676A1 (en) 2001-10-16
KR19980079668A (ko) 1998-11-25
GB2323944A (en) 1998-10-07
TW491979B (en) 2002-06-21
GB9706549D0 (en) 1997-05-21
EP0871118B1 (en) 2008-12-03
DE69840286D1 (de) 2009-01-15
EP0871118A1 (en) 1998-10-14
US5905904A (en) 1999-05-18
JP3090641B2 (ja) 2000-09-25

Similar Documents

Publication Publication Date Title
US5410696A (en) Method of processing a program by parallel processing, and a processing unit thereof
EP0883057B1 (en) Method and apparatus for software component analysis
US20110016452A1 (en) Method and system for identifying regression test cases for a software
US7475073B2 (en) Technique for improving staff queries in a workflow management system
US6263488B1 (en) System and method for enabling software monitoring in a computer system
JPH07114468A (ja) コンピュータシステム
KR100300899B1 (ko) 병렬데이터처리시스템및그제어방법
CN101290594A (zh) 从虚拟踪迹创建物理踪迹的方法和***
CN109144619A (zh) 图标字体信息处理方法、装置及***
US5369732A (en) Method and apparatus for goal processing memory management
US20070143335A1 (en) Partition-based undo of partitioned object graph
Petriu et al. Analysing software requirements specifications for performance
Paternò et al. Developing task models from informal scenarios
US5699522A (en) Data processing system with fast message processing for upgraded input/output stations
Benoit et al. Scheduling skeleton-based grid applications using PEPA and NWS
CN101520861A (zh) 数据事件发送方法和装置以及事件处理***
CN112132530B (zh) 可视化动态流程编排方法及***
CN114612193A (zh) 商品信息推送方法、中间服务平台、设备及存储介质
CN114756362A (zh) 资源配额管理方法及***、智能终端、存储介质
CN113867709A (zh) 区块链智能合约读写集构建方法及装置
CN110046192B (zh) 请求信息的序号生成***和方法
Lee et al. Path-based integration testing of a software product line
CN118331892A (zh) 一种流水线式的软件测试方法及装置
KR20010053766A (ko) 지능망 서비스 가입자 데이타 변경이력 관리의 자동화장치 및 방법
CN117331624A (zh) 一种微服务动态热加载引擎装置、加载方法及存储介质

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: 20090601

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee