KR20060080666A - 다중 프로세서 시스템에서 부하를 분배하기 위한 장치 및방법 - Google Patents

다중 프로세서 시스템에서 부하를 분배하기 위한 장치 및방법 Download PDF

Info

Publication number
KR20060080666A
KR20060080666A KR1020050001055A KR20050001055A KR20060080666A KR 20060080666 A KR20060080666 A KR 20060080666A KR 1020050001055 A KR1020050001055 A KR 1020050001055A KR 20050001055 A KR20050001055 A KR 20050001055A KR 20060080666 A KR20060080666 A KR 20060080666A
Authority
KR
South Korea
Prior art keywords
load
data
processor
load prediction
subordinate
Prior art date
Application number
KR1020050001055A
Other languages
English (en)
Inventor
서정연
권영훈
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020050001055A priority Critical patent/KR20060080666A/ko
Publication of KR20060080666A publication Critical patent/KR20060080666A/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/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
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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

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

본 발명은 하나의 주 프로세서에 N개의 종속 프로세서가 포함되어있는 다중 프로세서 시스템에서 부하를 분배하기 위한 장치 및 방법에 관한 것으로서, 상기 주 프로세서에 포함되어 상기 다수의 종속 프로세서들의 부하상태 값을 저장하는 부하상태저장장치와, 처리할 데이터가 존재할 경우, 상기 부하상태 값 중 가장 작은 부하상태 값을 갖는 종속 프로세서를 선택하는 중앙 연산 장치와, 상기 선택된 종속 프로세서에 상기 처리할 데이터를 전송하는 선택기와, 상기 주 프로세서에 포함되어 상기 선택된 종속 프로세서로 전송한 데이터의 예상되는 부하예측 값을 얻는 부하예측장치를 포함하여, 주 프로세서의 부담을 줄여주고 전송 지연을 줄일 수 있는 이점이 있다.
주 프로세서, 종속 프로세서, 부하예측 값, 부하분배

Description

다중 프로세서 시스템에서 부하를 분배하기 위한 장치 및 방법{APPARATUS AND METHOD FOR LOAD SHARING IN MULTI PROCESSOR SYSTEMS}
도 1은 종래 기술에 따른 주 프로세서와 다수의 종속 프로세서를 포함하는 시스템의 블록 구성을 도시하는 도면,
도 2는 종래 기술에 따른 주 프로세서에서 종속 프로세서로 데이터를 전송하기 위한 절차를 도시하는 도면,
도 3은 본 발명의 실시 예에 따른 주 프로세서와 다수의 종속 프로세서를 포함하는 시스템의 블록 구성을 도시하는 도면,
도 4는 본 발명의 다른 실시 예에 따른 주 프로세서와 다수의 종속 프로세서를 포함하는 시스템의 블록 구성을 도시하는 도면,
도 5는 본 발명의 제 1실시 예에 따른 주 프로세서에서 종속프로세서로 데이터를 전송하기 위한 절차를 도시하는 도면,
도 6은 본 발명의 제 2실시 예에 따른 주 프로세서에서 종속프로세서로 데이터를 전송하기 위한 절차를 도시하는 도면,
도 7은 본 발명의 제 3실시 예에 따른 주 프로세서에서 종속프로세서로 데이터를 전송하기 위한 절차를 도시하는 도면, 및
도 8은 본 발명의 제 4실시 예에 따른 주 프로세서에서 종속프로세서로 데이터를 전송하기 위한 절차를 도시하는 도면.
본 발명은 다중 프로세서 시스템에서 부하를 분배하기 위한 장치 및 방법에 관한 것으로서, 특히 종속 프로세서의 부하상태 값을 측정하여 데이터를 분배하여 상기 시스템의 부하를 분배하기 위한 장치 및 방법에 관한 것이다.
최근 정보의 사용 양이 늘고, 상기 정보의 중요성이 커지면서 보다 빠르고 정확한 정보데이터를 전달하고 공유하기 위한 방법들이 연구 개발되고 있다.
상술한 바와 같이 정보의 사용 양이 늘면서 하나의 단위 프로세서로 상기 요구되는 정보의 양을 처리하지 못하는 경우가 발생하게 되었다. 이러한 문제점을 해결하기 위해서 다중 프로세서(Multi Processor)를 사용하여 늘어나는 정보의 양을 처리할 수 있도록 하였다.
도 1은 종래 기술에 따른 주 프로세서와 N개의 종속 프로세서를 포함하는 시스템의 블록 구성을 도시하고 있다.
상기 도 1을 참조하면, 먼저 주 프로세서(Master Processor)(100)는 데이터의 연산뿐만 아니라 데이터의 입·출력 등 시스템의 전반적인 부분을 제어하는 기능을 수행한다.
종속 프로세서(Slave Processor)(102)는 상기 주 프로세서(100)에 N개가 연결되어있으며, 상기 주 프로세서(100)로부터 제공되는 데이터의 처리와 미리 설정된 특정한 작업을 수행한다.
상술한 바와 같은 구성을 갖는 시스템에서 상기 주 프로세서(100)에서 상기 종속 프로세서(102)로 처리할 데이터를 전달하는 과정은 하기 도 2에 나타내고 있다.
도 2는 종래 기술에 따른 주 프로세서에서 종속 프로세서로 데이터를 전송하기 위한 절차를 도시하고 있다.
상기 도 2를 참조하면, 다중 프로세서 시스템에서 상기 주 프로세서(100)는 201단계에서 처리할 데이터를 상위에서 받거나 상기 주 프로세서(100) 스스로 생성한다.
이후, 상기 주 프로세서(100)는 203단계로 진행하여 대기중인 종속 프로세서(102)가 존재하는지 검사한다. 상기 대기중인 종속 프로세서(102)가 존재하면, 상기 주 프로세서(100)는 209단계로 진행한다.
만일, 상기 대기중인 종속 프로세서(102)가 존재하지 않으면, 상기 주 프로세서(100)는 205단계로 진행하여 상기 N개의 종속 프로세서(102)들 중 적어도 하나의 종속 프로세서(102)라도 처리가 끝날 때까지 데이터를 상기 주 프로세서(100)에 대기시킨다.
이후, 상기 주 프로세서(100)는 207단계로 진행하여 상기 N개의 종속 프로세서(102)들 중 적어도 하나의 종속 프로세서(102)라도 처리가 끝나는지 검사한다. 만일, 상기 적어도 하나의 종속 프로세서(102)의 처리가 끝나면, 상기 주 프로세서(100)는 상기 209단계로 진행하여 상기 처리가 끝난 종속 프로세서에 데이터를 전송한 후, 본 알고리즘을 종료한다.
상술한 바와 같이 종래 기술에 따르면, 상기 주 프로세서(100)에서 처리할 데이터를 상기 종속 프로세서(102)에 전송할 경우, 상기 N개의 종속 프로세서(102)들 모두가 다른 작업을 처리하고 있으면, 상기 주 프로세서(100)는 상기 전송할 데이터를 상기 주 프로세서(100)의 메모리에 임시 저장하여 대기하고 있다. 상기와 같은 경우, 주 프로세서(100)는 많은 메모리가 필요하다. 또한, 상기 종속 프로세서(102)의 처리가 끝난 후, 상기 주 프로세서(100)가 전송하여야 하므로 데이터를 전송하는데 걸리는 시간만큼의 전송 지연이 발생하는 문제점이 있다.
따라서, 본 발명의 목적은 다중 프로세서 시스템에서 부하를 분배하기 위한 장치 및 방법을 제시하고 있다.
본 발명의 다른 목적은 하나의 주 프로세서에 다수의 종속 프로세서를 포함하는 다중 프로세서 시스템에서 부하를 분배하기 위한 장치 및 방법을 제시하고 있다.
본 발명의 또 다른 목적은 하나의 주 프로세서에 다수의 종속 프로세서를 포함하는 다중 프로세서 시스템에서 종속 프로세서의 부하상태 값을 이용하여 부하를 분배하기 위한 장치 및 방법을 제시하고 있다.
상기 목적들을 달성하기 위한 본 발명의 제 1견지에 따르면, 하나의 주 프로세서와 다수의 종속 프로세서를 포함하는 다중 프로세서 시스템에서 부하를 분배하기 위한 장치는, 상기 주 프로세서에 포함되어 상기 다수의 종속 프로세서들의 부하상태 값을 저장하는 부하상태저장장치와, 처리할 데이터가 존재할 경우, 상기 부하상태 값 중 가장 작은 부하상태 값을 갖는 종속 프로세서를 선택하는 중앙 연산 장치와, 상기 선택된 종속 프로세서에 상기 처리할 데이터를 전송하는 선택기와, 상기 주 프로세서에 포함되어 상기 선택된 종속 프로세서로 전송한 데이터의 예상되는 부하예측 값을 얻는 부하예측장치를 포함하는 것을 특징으로 한다.
본 발명의 제 2견지에 따르면, 하나의 주 프로세서와 다수의 종속 프로세서를 포함하는 다중 프로세서 시스템에서 부하를 분배하기 위한 장치는, 상기 다수의 종속 프로세서 각각에 포함되어 상기 종속 프로세서의 부하상태 값을 저장하고 있는 부하상태저장장치와, 처리할 데이터가 존재할 경우, 상기 모든 종속 프로세서들의 부하상태 값을 확인하여 가장 작은 부하상태 값을 갖는 종속 프로세서를 선택하는 중앙 연산 장치와, 상기 선택된 종속 프로세서에 상기 처리할 데이터를 전송하는 선택기와, 상기 다수의 종속 프로세서에 각각 포함되어 전송 받은 데이터의 예상되는 부하예측 값을 얻는 부하예측장치를 포함하는 것을 특징으로 한다.
본 발명의 제 3견지에 따르면, 하나의 주 프로세서에 다수의 종속 프로세서가 포함되는 다중 프로세서 시스템에서 부하를 분배하기 위한 방법은, 상기 주 프로세서에서 처리할 데이터가 존재하는 상태에서, 상기 주 프로세서의 부하상태저장장치에 저장된 상기 다수의 종속 프로세서들의 부하상태 값을 확인하여 상기 부하 상태 값이 가장 작은 종속 프로세서를 선택하는 과정과, 상기 선택된 종속 프로세서에 상기 데이터를 전송한 후, 상기 전송한 데이터에 대한 부하예측 값을 획득하는 과정과, 상기 획득한 부하예측 값을 이용하여, 상기 데이터를 전송 받은 종속 프로세서의 부하상태 값을 갱신하는 과정을 포함하는 것을 특징으로 한다.
본 발명의 제 4견지에 따르면, 하나의 주 프로세서에 다수의 종속 프로세서가 포함되는 다중 프로세서 시스템에서 부하를 분배하기 위한 방법은, 상기 주 프로세서에서 처리할 데이터가 존재하는 상태에서, 상기 다수의 종속 프로세서들의 부하상태저장장치에 저장된 상기 종속 프로세서들의 각각의 부하상태 값을 확인하여 상기 부하상태 값이 가장 작은 종속 프로세서를 선택하는 과정과, 상기 선택된 종속 프로세서에 상기 데이터를 전송한 후, 상기 선택된 종속 프로세서에서 전송 받은 데이터에 대한 부하예측 값을 획득하는 과정과, 상기 획득한 부하예측 값을 이용하여, 상기 데이터를 전송 받은 종속 프로세서의 부하상태 값을 갱신하는 과정을 포함하는 것을 특징으로 한다.
이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단 된 경우 그 상세한 설명은 생략한다.
이하 본 발명은 하나의 주 프로세서에 N개의 종속 프로세서가 포함된 다중프 로세서 시스템에서 상기 종속 프로세서의 부하상태 값을 이용하여 상기 시스템의 부하를 분배하기 위한 기술에 대해 설명할 것이다.
도 3은 본 발명의 실시 예에 따른 주 프로세서와 N개의 종속 프로세서를 포함하는 시스템의 블록 구성을 도시하고 있다.
상기 도 3을 참조하면, 주 프로세서(300)는 중앙 연산 장치(301)와 부하상태 저장장치(303) 및 부하예측장치(305) 그리고 종속 프로세서 선택기(307)로 구성된다.
먼저, 상기 중앙 연산 장치(301)는 데이터의 연산뿐만 아니라 데이터의 입출력 등 시스템의 전반적인 부분을 제어하는 기능을 수행한다. 또한 본 발명에 따라 상기 종속 프로세서(309)들의 부하상태 값에 따라 데이터를 전송할 종속 프로세서를 결정하는 기능을 수행한다.
상기 부하상태 저장장치(303)는 N개의 종속 프로세서(309)들의 동작 완료 시점에 관한 정보를 저장하고 있고, 상기 부하예측장치(305)는 상기 중앙 연산 장치(301)에서 전송한 데이터에 대한 부하를 예측하여 해당 종속 프로세서의 부하상태 값을 갱신해주는 기능을 수행한다.
상기 종속 프로세서 선택기(307)는 상기 중앙 연산 장치(301)에서 선택한 상기 종속 프로세서(309)로 데이터를 전송하는 기능을 수행한다.
상기 종속 프로세서(309)는 상기 주 프로세서(300)에 N개가 포함되어 있으며, 상기 주 프로세서(300)로부터 제공되는 데이터의 처리와 미리 설정된 특정한 작업을 수행한다.
도 4는 본 발명의 다른 실시 예에 따른 주 프로세서와 다수의 종속 프로세서를 포함하는 시스템의 블록구성을 도시하고 있다.
상기 도 4를 참조하면, 도시된 바와 같이 크게 주 프로세서(400)와 다수의 종속프로세서(410)로 구성된다.
먼저 상기 주 프로세서(400)는 중앙 연산장치(401)와 종속 프로세서 선택기(403)로 구성된다. 상기 중앙 연산장치(401)는 데이터의 연산뿐만 아니라 데이터의 입출력 등 시스템의 전반적인 부분을 제어하는 기능을 수행한다. 또한 본 발명에 따라 상기 종속 프로세서(410)들의 부하상태 값에 따라 데이터를 전송할 종속 프로세서를 결정하는 기능을 수행한다. 상기 종속 프로세서 선택기(403)는 상기 중앙 연산장치(401)에서 선택한 상기 종속 프로세서(410)로 데이터를 전송하는 기능을 수행한다.
한편, 종속 프로세서(410)는 중앙 연산장치(411)와 부하상태 저장장치(413), 및 부하예측장치(415)로 구성된다.
먼저 상기 중앙 연산장치(411)는 상기 주 프로세서(400)에서 제공되는 데이터를 처리하는 기능뿐만 아니라 상기 중앙 연산장치(411)가 속해있는 종속 프로세서의 전반적인 부분을 제어하는 기능을 수행한다. 상기 부하상태 저장장치(413)는 각각의 종속 프로세서(410)에 포함되어 상기 포함된 종속프로세서(410)의 동작 완료 시점에 관한 정보를 저장하고 있고, 상기 부하예측장치(415)는 상기 중앙 연산 장치(411)에서 전송 받은 데이터에 대한 부하를 예측하여 해당 종속 프로세서의 부하상태 값을 갱신해주는 기능을 수행한다. 상술한 바와 같이 상기 종속프로세서 (410)들 각각에 상기 부하상태 저장장치(413)와 상기 부하예측장치(415)가 포함되어 부하예측동작을 상기 종속프로세서(410)들이 개별적으로 병렬 처리 및 저장할 수 있으므로 보다 신속하게 동작이 가능하다.
도 5는 본 발명의 제 1실시 예에 따른 주 프로세서에서 종속프로세서로 데이터를 전송하기 위한 절차를 도시하고 있다.
이하 설명은, 상기 부하상태 저장장치(303)가 상기 주 프로세서(300)내에 포함되고, 상기 부하예측장치(305)는 부하예측테이블을 사용하는 것을 예를 들어 설명한다.
상기 도 5를 참조하면, 먼저 중앙 연산장치(301)는 501단계에서 처리할 데이터를 상위에서 받거나 상기 중앙 연산장치(301) 스스로 생성한다.
이후, 상기 중앙 연산장치(301)는 503단계로 진행하여 상기 부하상태 저장장치(303)에 저장되어있는 상기 N개의 종속 프로세서(309)들의 부하상태 값을 확인한 후, 상기 중앙 연산장치(301)는 505단계로 진행하여 상기 종속 프로세서(309)들의 부하상태 값 중 가장 작은 부하상태 값을 갖는 종속 프로세서를 선택한다. 여기서 상기 가장 작은 부하상태 값이 동일한 경우, 즉 가장 작은 부하상태 값을 갖는 종속 프로세서가 두 개 이상인 경우, 상기 종속 프로세서의 번호에 따라 순차적으로 우선 순위를 갖는다.
상기 종속 프로세서를 선택하면, 상기 중앙 연산장치(301)는 507단계로 진행하여 상기 종속 프로세서 선택기(307)를 이용하여 상기 선택된 종속 프로세서로 상기 데이터를 전송한다.
이후, 상기 중앙 연산장치(301)는 509단계로 진행하여 상기 부하예측장치(305)를 엑세스(Access)하여 상기 전송한 데이터에 대한 부하를 예상되는 부하를 획득한다. 특히 상기 부하예측장치(305)는 본 실시 예에서, 상기 전송한 데이터에 대한 각종 파리미터( 예 : 데이터 길이, 변조순서(Modulation Order), 부호화 율(Coding Rate))에 대한 부하예측 값을 갖고 있는 부하예측테이블을 저장하기 때문에, 상기 중앙 연산장치(301)는 상기 부하예측테이블을 이용하여 상기 전송한 데이터의 부하예측 값을 획득한다. 상기 부하예측테이블은 상기 각종 파라미터들의 모든 값을 고려한 부하예측 값을 도시하고 있는 테이블이다. 이후 상기 중앙 연산장치(301)는 511단계로 진행하여 상기 부하상태 저장장치(303)에 저장되어 있는 상기 데이터를 수신한 종속 프로세서의 부하상태 값을 상기 부하예측 값으로 갱신한다. 이후, 상기 중앙 연산장치(301)는 본 알고리즘을 종료한다.
도 6은 본 발명의 제 2실시 예에 따른 주 프로세서에서 종속프로세서로 데이터를 전송하기 위한 절차를 도시하고 있다.
이하 설명은, 상기 부하상태 저장장치(413)가 N개의 종속 프로세서(410)에 각각 포함되고, 상기 부하예측장치(415)는 부하예측테이블을 사용하는 것을 예를 들어 설명한다.
상기 도 6을 참조하면, 먼저 주 프로세서의 중앙 연산장치(401)는 601단계에서 처리할 데이터를 상위에서 받거나 상기 주 프로세서의 중앙 연산장치(401) 스스로 생성한다.
이후, 상기 주 프로세서의 중앙 연산장치(401)는 603단계로 진행하여 상기 N 개의 종속 프로세서(410)내의 부하상태 저장장치(413)에 저장되어있는 상기 종속 프로세서(410) 각각의 부하상태 값을 확인한 후, 상기 주 프로세서의 중앙 연산장치(401)는 605단계로 진행하여 상기 종속 프로세서(410)들의 부하상태 값 중 가장 작은 부하상태 값을 갖는 종속 프로세서를 선택한다. 여기서 상기 가장 작은 부하상태 값이 동일한 경우, 즉 가장 작은 부하상태 값을 갖는 종속 프로세서가 두 개 이상인 경우, 상기 종속 프로세서의 번호에 따라 순차적으로 우선 순위를 갖는다.
상기 종속 프로세서를 선택하면, 상기 주 프로세서의 중앙 연산장치(401)는 607단계로 진행하여 상기 종속 프로세서 선택기(403)를 이용하여 상기 선택된 종속 프로세서로 상기 데이터를 전송한다.
이후, 상기 데이터를 전송 받은 종속프로세서의 중앙 연산장치(411)는 609단계로 진행하여 상기 부하예측장치(415)를 엑서스(Access)하여 상기 전송 받은 데이터에 대한 예상되는 부하를 획득한다. 특히 상기 부하예측장치(415)는 상기 전송한 데이터에 대한 각종 파리미터( 예 : 데이터 길이, 변조순서(Modulation Order), 부호화 율(Coding Rate))에 대한 부하예측 값을 갖고 있는 부하예측테이블을 저장하고 있기 때문에, 상기 종속프로세서의 중앙 연산장치(411)는 상기 부하예측테이블을 이용하여 상기 전송한 데이터의 부하예측 값을 획득한다. 상기 부하예측테이블은 상기 각종 파라미터들의 모든 값을 고려한 부하예측 값을 도시하고 있는 테이블이다. 이후, 상기 종속프로세서의 중앙 연산장치(411)는 611단계로 진행하여 상기 부하예측장치(415)에서 획득한 상기 부하예측 값을 이용하여 상기 부하상태 저장장치(413)에 저장되어 있는 부하상태 값을 갱신한다. 이후, 상기 주 프로세서의 중앙 연산장치(401) 및 상기 종속프로세서의 중앙 연산장치(411)는 본 알고리즘을 종료한다.
도 7은 본 발명의 제 3실시 예에 따른 주 프로세서에서 종속프로세서로 데이터를 전송하기 위한 절차를 도시하고 있다.
이하 설명은, 상기 부하상태 저장장치(303)가 상기 주 프로세서(300)에 포함되고, 상기 부하예측장치(305)는 직접 산술연산을 통해 부하예측 값을 산출하는 것을 예를 들어 설명한다.
상기 도 7을 참조하면, 먼저 중앙 연산장치(301)는 701단계에서 처리할 데이터를 상위에서 받거나 상기 중앙 연산장치(301) 스스로 생성한다.
이후, 상기 중앙 연산장치(301)는 703단계로 진행하여 상기 부하상태 저장장치(303)에 저장되어있는 상기 N개의 종속 프로세서(309)들의 부하상태 값을 확인한 후, 상기 중앙 연산장치(301)는 705단계로 진행하여 상기 종속프로세서(309)들의 부하상태 값 중 가장 작은 부하상태 값을 갖는 종속 프로세서를 선택한다. 여기서 상기 가장 작은 부하상태 값이 동일한 경우, 즉 가장 작은 부하상태 값을 갖는 종속 프로세서가 두 개 이상인 경우, 상기 종속 프로세서의 번호에 따라 순차적으로 우선 순위를 갖는다.
상기 종속 프로세서를 선택하면, 상기 중앙 연산장치(301)는 707단계로 진행하여 상기 종속 프로세서 선택기(307)를 이용하여 상기 선택된 종속 프로세서로 상기 데이터를 전송한다.
이후, 상기 중앙 연산장치(301)는 709단계로 진행하여 상기 부하예측장치 (305)를 엑서스(Access)하여 상기 전송한 데이터에 대한 예상되는 부하를 획득한다. 특히 상기 부하예측장치(305)는 상기 전송한 데이터의 각각의 파라미터( 예 : 데이터 길이, 변조순서(Modulation Order), 부호화 율(Coding Rate))에 대한 부하예측값을 가지고 있기 때문에, 상기 중앙 연산장치(301)는 상기 각 파라미터의 부하 예측 값을 이용하여 상기 데이터에 대한 부하예측 값을 실시간으로 산출한다. 이후, 상기 중앙 연산장치(301)는 711단계로 진행하여 상기 부하상태 저장장치(303)에 저장되어 있는 상기 데이터를 수신한 종속 프로세서의 부하상태 값을 상기 부하예측 값으로 갱신한다. 이후, 상기 중앙 연산장치(301)는 본 알고리즘을 종료한다.
도 8은 본 발명의 제 4실시 예에 따른 주 프로세서에서 종속프로세서로 데이터를 전송하기 위한 절차를 도시하고 있다.
이하 설명은, 상기 부하상태 저장장치(413)가 N개의 종속 프로세서(410)에 각각 포함되고, 상기 부하예측장치(415)는 산술 연산을 통해 부하예측 값을 산출하는 것을 예를 들어 설명한다.
상기 도 8을 참조하면, 먼저 주 프로세서의 중앙 연산장치(401)는 801단계에서 처리할 데이터를 상위에서 받거나 상기 주 프로세서의 중앙 연산장치(401) 스스로 생성한다.
이후, 상기 주 프로세서의 중앙 연산장치(401)는 803단계로 진행하여 상기 N개의 종속 프로세서(410)내의 부하상태 저장장치(413)에 저장되어있는 부하상태 값을 확인한 후, 상기 주 프로세서의 중앙 연산장치(401)는 805단계로 진행하여 상기 종속 프로세서(410)들의 부하상태 값 중 가장 작은 부하상태 값을 갖는 종속 프로세서를 선택한다. 여기서 상기 가장 작은 부하상태 값이 동일한 경우, 즉 가장 작은 부하상태 값을 갖는 종속 프로세서가 두 개 이상인 경우, 상기 종속 프로세서의 번호에 따라 순차적으로 우선 순위를 갖는다.
상기 종속 프로세서를 선택하면, 상기 주 프로세서의 중앙 연산장치(401)는 807단계로 진행하여 상기 종속 프로세서 선택기(403)를 이용하여 상기 선택된 종속 프로세서로 상기 데이터를 전송한다.
이후, 상기 데이터를 전송 받은 종속프로세서의 중앙 연산장치(411)는 809단계로 진행하여 상기 부하예측장치(415)를 엑서스(Access)하여 상기 전송받은 데이터에 대한 예상되는 부하를 획득한다. 특히 상기 부하예측장치(415)는 상기 전송한 데이터의 각각의 파라미터( 예 : 데이터 길이, 변조순서(Modulation Order), 부호화 율(Coding Rate))에 대한 부하예측값을 가지고 있기 때문에, 상기 종속프로세서의 중앙 연산장치(411)는 상기 가 파리미터의 부하예측값을 이용하여 상기 데이터에 대한 부하예측 값을 실시간으로 산출한다. 이후, 상기 종속프로세서의 중앙 연산장치(411)는 811단계로 진행하여 상기 부하예측장치(415)에서 획득한 상기 부하예측 값을 이용하여 상기 부하상태 저장장치(413)에 저장되어 있는 부하상태 값을 갱신한다. 이후, 상기 주 프로세서의 중앙 연산장치(401) 및 상기 종속프로세서의 중앙 연산장치(411)는 본 알고리즘을 종료한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이 다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이, 본 발명은 하나의 주 프로세서에 다수의 종속 프로세서가 포함되는 다중 시스템에서 상기 종속 프로세서의 부하상태 값을 이용하여 상기 시스템의 부하를 분배할 수 있는 이점이 있다. 즉, 상기 주 프로세서에서 처리할 데이터가 발생한 상태에서 모든 종속 프로세서가 다른 처리를 하고 있는 경우, 상기 종속 프로세서들의 부하상태 값을 측정하여 가장 작은 부하상태 값을 갖는 종속 프로세서에 상기 처리할 데이터를 전송하므로 상기 주 프로세서의 부담을 줄여주고 전송 지연을 줄일 수 있는 이점이 있다.

Claims (18)

  1. 하나의 주 프로세서와 다수의 종속 프로세서를 포함하는 다중 프로세서 시스템에서 부하를 분배하기 위한 장치에 있어서,
    상기 주 프로세서에 포함되어 상기 다수의 종속 프로세서들의 부하상태 값을 저장하는 부하상태저장장치와,
    처리할 데이터가 존재할 경우, 상기 부하상태 값 중 가장 작은 부하상태 값을 갖는 종속 프로세서를 선택하는 중앙 연산 장치와,
    상기 선택된 종속 프로세서에 상기 처리할 데이터를 전송하는 선택기와,
    상기 주 프로세서에 포함되어 상기 선택된 종속 프로세서로 전송한 데이터의 예상되는 부하예측 값을 얻는 부하예측장치를 포함하는 것을 특징으로 하는 장치.
  2. 제 1항에 있어서,
    상기 부하상태저장장치는,
    상기 부하예측장치에서 얻은 상기 전송한 데이터에 대한 부하예측 값을 이용하여 상기 데이터를 전송 받은 종속 프로세서의 부하상태 값을 갱신하는 것을 더 포함하는 것을 특징으로 하는 장치.
  3. 제 1항에 있어서,
    상기 부하예측장치는,
    상기 전송한 데이터의 모든 파리미터들을 고려한 부하예측 값을 갖는 부하예측테이블을 더 포함하며,
    상기 부하예측테이블을 이용하여 사익 부하예측값을 얻는 것을 특징으로 하는 장치.
  4. 제 1항에 있어서,
    상기 부하예측장치는,
    상기 전송한 데이터의 각각의 파라미터들의 부하예측값을 이용하여 실시간으로 산술하여 상기 전송한 데이터의 부하예측값을 얻는 것을 특징으로 하는 장치.
  5. 하나의 주 프로세서와 다수의 종속 프로세서를 포함하는 다중 프로세서 시스템에서 부하를 분배하기 위한 장치에 있어서,
    상기 다수의 종속 프로세서 각각에 포함되어 상기 종속 프로세서의 부하상태 값을 저장하고 있는 부하상태저장장치와,
    처리할 데이터가 존재할 경우, 상기 모든 종속 프로세서들의 부하상태 값을 확인하여 가장 작은 부하상태 값을 갖는 종속 프로세서를 선택하는 중앙 연산 장치 와,
    상기 선택된 종속 프로세서에 상기 처리할 데이터를 전송하는 선택기와,
    상기 다수의 종속 프로세서에 각각 포함되어 전송 받은 데이터의 예상되는 부하예측 값을 얻는 부하예측장치를 포함하는 것을 특징으로 하는 장치.
  6. 제 5항에 있어서,
    상기 부하상태저장장치는,
    상기 부하예측장치에서 얻은 상기 전송 받은 데이터에 대한 부하예측 값을 이용하여 상기 데이터를 전송 받은 종속 프로세서의 부하상태 값을 갱신하는 것을 더 포함하는 것을 특징으로 하는 장치.
  7. 제 5항에 있어서,
    상기 부하예측장치는,
    상기 전송 받은 데이터의 모든 파리미터들을 고려한 부하예측 값을 갖는 부하예측테이블을 더 포함하며,
    상기 부하예측테이블을 이용하여 사익 부하예측값을 얻는 것을 특징으로 하는 장치.
  8. 제 5항에 있어서,
    상기 부하예측장치는,
    상기 전송 받은 데이터의 각각의 파라미터들의 부하예측값을 이용하여 실시간으로 산술하여 상기 전송한 데이터의 부하예측값을 얻는 것을 특징으로 하는 장치.
  9. 하나의 주 프로세서에 다수의 종속 프로세서가 포함되는 다중 프로세서 시스템에서 부하를 분배하기 위한 방법에 있어서,
    상기 주 프로세서에서 처리할 데이터가 존재하는 상태에서, 상기 주 프로세서의 부하상태저장장치에 저장된 상기 다수의 종속 프로세서들의 부하상태 값을 확인하여 상기 부하상태 값이 가장 작은 종속 프로세서를 선택하는 과정과,
    상기 선택된 종속 프로세서에 상기 데이터를 전송한 후, 상기 전송한 데이터에 대한 부하예측 값을 획득하는 과정과,
    상기 획득한 부하예측 값을 이용하여, 상기 데이터를 전송받은 종속 프로세서의 부하상태 값을 갱신하는 과정을 포함하는 것을 특징으로 하는 방법.
  10. 제 9항에 있어서,
    상기 부하예측 값은,
    상기 전송된 데이터의 모든 파라미터들을 고려한 부하예측 값을 갖는 부하예측테이블을 이용하여 얻는 과정을 포함하는 것을 특징으로 하는 방법.
  11. 제 10항에 있어서,
    상기 데이터의 파라미터는,
    상기 전송된 데이터의 길이, 변조순서, 부호화율을 포함하는 것을 특징으로 하는 방법.
  12. 제 9항에 있어서,
    상기 부하예측 값은,
    상기 전송된 데이터의 파라미터들 각각의 부하예측 값을 이용하여 실시간으로 산술하여 상기 전송된 데이터의 부하 예측값을 얻는 과정을 포함하는 것을 특징으로 하는 방법.
  13. 제 12항에 있어서,
    상기 데이터의 파라미터는,
    상기 전송된 데이터의 길이, 변조순서, 부호화율을 포함하는 것을 특징으로 하는 방법.
  14. 하나의 주 프로세서에 다수의 종속 프로세서가 포함되는 다중 프로세서 시스템에서 부하를 분배하기 위한 방법에 있어서,
    상기 주 프로세서에서 처리할 데이터가 존재하는 상태에서, 상기 다수의 종속 프로세서들의 부하상태저장장치에 저장된 상기 종속 프로세서들의 각각의 부하상태 값을 확인하여 상기 부하상태 값이 가장 작은 종속 프로세서를 선택하는 과정과,
    상기 선택된 종속 프로세서에 상기 데이터를 전송한 후, 상기 선택된 종속 프로세서에서 전송 받은 데이터에 대한 부하예측 값을 획득하는 과정과,
    상기 획득한 부하예측 값을 이용하여, 상기 데이터를 전송 받은 종속 프로세서의 부하상태 값을 갱신하는 과정을 포함하는 것을 특징으로 하는 방법.
  15. 제 14항에 있어서,
    상기 부하예측 값은,
    상기 전송 받은 데이터의 모든 파라미터들을 고려한 부하예측 값을 갖는 부하예측테이블을 이용하여 얻는 과정을 포함하는 것을 특징으로 하는 방법.
  16. 제 15항에 있어서,
    상기 데이터의 파라미터는,
    상기 전송 받은 데이터의 길이, 변조순서, 부호화율을 포함하는 것을 특징으로 하는 방법.
  17. 제 14항에 있어서,
    상기 부하예측 값은,
    상기 전송 받은 데이터의 파라미터들 각각의 부하예측 값을 이용하여 실시간으로 산술하여 상기 전송된 데이터의 부하 예측값을 얻는 과정을 포함하는 것을 특징으로 하는 방법.
  18. 제 17항에 있어서,
    상기 데이터의 파라미터는,
    상기 전송 받은 데이터의 길이, 변조순서, 부호화율을 포함하는 것을 특징으로 하는 방법.
KR1020050001055A 2005-01-06 2005-01-06 다중 프로세서 시스템에서 부하를 분배하기 위한 장치 및방법 KR20060080666A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050001055A KR20060080666A (ko) 2005-01-06 2005-01-06 다중 프로세서 시스템에서 부하를 분배하기 위한 장치 및방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050001055A KR20060080666A (ko) 2005-01-06 2005-01-06 다중 프로세서 시스템에서 부하를 분배하기 위한 장치 및방법

Publications (1)

Publication Number Publication Date
KR20060080666A true KR20060080666A (ko) 2006-07-11

Family

ID=37171909

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050001055A KR20060080666A (ko) 2005-01-06 2005-01-06 다중 프로세서 시스템에서 부하를 분배하기 위한 장치 및방법

Country Status (1)

Country Link
KR (1) KR20060080666A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101065436B1 (ko) * 2010-12-07 2011-09-19 경상대학교산학협력단 불확실한 계산량을 가진 실시간 병렬 작업을 위한 멀티코어 프로세서의 확률적 스케줄링 방법
US9384057B2 (en) 2012-04-16 2016-07-05 International Business Machines Corporation Programmatic load-based management of processor population

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101065436B1 (ko) * 2010-12-07 2011-09-19 경상대학교산학협력단 불확실한 계산량을 가진 실시간 병렬 작업을 위한 멀티코어 프로세서의 확률적 스케줄링 방법
US9384057B2 (en) 2012-04-16 2016-07-05 International Business Machines Corporation Programmatic load-based management of processor population
US9384055B2 (en) 2012-04-16 2016-07-05 International Business Machines Corporation Programmatic load-based management of processor population

Similar Documents

Publication Publication Date Title
US7930339B2 (en) Task allocation method and task allocation apparatus
CN109447274B (zh) 用于执行机器学习的分布式系统及其方法
JP6699891B2 (ja) 電子装置、方法及び情報処理システム
US9218210B2 (en) Distributed processing system
EP3678030B1 (en) Distributed system for executing machine learning, and method therefor
US8214521B2 (en) Systems and methods for changing computational tasks on computation nodes to minimize processing time variation
CN103699443B (zh) 任务分发方法及扫描器
CN113037800B (zh) 作业调度方法以及作业调度装置
KR20140117905A (ko) 클라우드 서비스의 가상자원 할당을 위한 퍼지 로직 기반의 자원평가 장치 및 방법
KR20200084707A (ko) 태스크 분산 처리를 관리하는 마스터 장치, 태스크를 처리하는 태스크 처리 장치, 및 그 동작 방법
US10277667B2 (en) Method and apparatus for executing application based on open computing language
US11023825B2 (en) Platform as a service cloud server and machine learning data processing method thereof
CN110225082B (zh) 任务处理方法、装置、电子设备和计算机可读介质
US9983911B2 (en) Analysis controller, analysis control method and computer-readable medium
KR20060080666A (ko) 다중 프로세서 시스템에서 부하를 분배하기 위한 장치 및방법
GB2507816A (en) Calculating timeout for remote task execution from network delays and processing duration on local application/hardware replica
US9537740B2 (en) Monitoring device usage
US9998347B2 (en) Monitoring device usage
KR20170062235A (ko) 서비스 처리 시스템 및 방법
KR101421054B1 (ko) 버퍼를 이용한 연산 분산 방법 및 이를 이용한 연산 분산시스템
JP5045576B2 (ja) マルチプロセッサシステム及びプログラム実行方法
CN104731524B (zh) 设置缓存器容量的方法
WO2014016950A1 (ja) 並列計算機システムおよび並列計算機システムへの処理負荷配置方法
CN108520025B (zh) 一种服务节点确定方法、装置、设备及介质
US10169182B2 (en) Monitoring levels of utilization of device

Legal Events

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