KR102037002B1 - 분산 데이터 처리 시스템의 성능 측정 방법 및 이를 위한 분산 데이터처리 시스템의 노드 장치 - Google Patents

분산 데이터 처리 시스템의 성능 측정 방법 및 이를 위한 분산 데이터처리 시스템의 노드 장치 Download PDF

Info

Publication number
KR102037002B1
KR102037002B1 KR1020180075806A KR20180075806A KR102037002B1 KR 102037002 B1 KR102037002 B1 KR 102037002B1 KR 1020180075806 A KR1020180075806 A KR 1020180075806A KR 20180075806 A KR20180075806 A KR 20180075806A KR 102037002 B1 KR102037002 B1 KR 102037002B1
Authority
KR
South Korea
Prior art keywords
counter
node
counting number
time
test packet
Prior art date
Application number
KR1020180075806A
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 KR1020180075806A priority Critical patent/KR102037002B1/ko
Application granted granted Critical
Publication of KR102037002B1 publication Critical patent/KR102037002B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps

Abstract

분산 데이터 처리 시스템의 성능 측정 방법 및 이를 위한 분산 데이터처리 시스템의 노드 장치가 개시된다. 개시된 방법은, 상대 노드와의 통신을 통해 카운터간 관계 정보의 생성을 위한 기초 정보를 획득하는 단계(a); 상기 획득한 기초 정보를 이용하여 상대 노드와의 카운터간 관계 정보를 생성하는 단계(b); 이벤트 시작 시점의 카운터 카운팅 넘버를 검출하고 상대 노드에서의 이벤트 종료 시점의 카운터 카운팅 넘버를 수신 하는 단계(c); 및 상기 상대 노드의 이벤트 종료 시점의 카운터 카운팅 넘버를 상기 카운터간 관계 정보를 이용하여 대응되는 카운팅 넘버로 변환하고, 상기 변환된 상대 노드의 이벤트 종료 시점의 카운터 카운팅 넘버와 상기 이벤트 시작 시점의 카운터 카운팅 넘버의 차에 기초하여 총 처리 시간을 연산하는 단계(d)를 포함한다. 개시된 장치 및 방법에 의하면, 정밀한 해상도로 분산 데이터 처리 시스템의 성능을 측정할 수 있으며, 글로벌 타이머를 사용하지 않고 별도의 동기화를 요구하지 않는 장점이 있다.

Description

분산 데이터 처리 시스템의 성능 측정 방법 및 이를 위한 분산 데이터처리 시스템의 노드 장치{Method for Estimating Performance of Distributed Data Processing System and Node device for the Distributed Data Processing System}
본 발명은 분산 데이터 처리 시스템의 성능 측정 방법에 관한 것으로서, 더욱 상세하게는 보다 높은 정밀도로 분산 데이터 처리 시스템의 성능 측정이 가능한 방법 및 이를 위한 분산 데이터 처리 시스템의 노드 장치에 관한 것이다.
분산 데이터 처리 시스템은 다수의 노드가 주어진 이벤트에 대해 협력적으로 처리하는 시스템을 의미한다. 다른 용어로 분산 데이터 처리 시스템은 클라우드 컴퓨팅 시스템으로 불리기도 한다.
이러한 분산 데이터 처리 시스템은 단일 노드에서의 데이터 처리와는 달리 이벤트 처리를 시작하는 노드와 종료하는 노드가 상이하므로 기존의 단일 노드에서의 성능 측정 방식이 적용될 수 없다.
도 1은 종래의 분산 데이터 처리 시스템에서 성능을 측정하는 개념도를 도시한 도면이다.
도 1을 참조하면, 종래의 분산 데이터 처리 시스템에서의 성능 측정은 글로벌 타이머(100)를 이용하여 수행되었다.
분산 데이터 처리 시스템은 다수의 노드를 포함하며, 제1 노드에서 이벤트 처리가 시작되고 제2 노드에서 이벤트에 대한 처리가 종료될 수 있다. 제1 노드의 타이머 및 제2 노드의 타이머는 글로벌 타이머(100)에 동기화된다.
종래에는 제2 노드의 이벤트 종료 시점의 로컬 타이머 시간과 제1 노드 이벤트 시작 시점의 로컬 타이머 시간의 차를 이용하여 성능이 측정되었다.
그러나, 이와 같은 종래의 방식은 분산 데이터 처리 시스템을 구성하는 노드들의 로컬 타이머를 글로벌 타이머 시간의 근사치에 동기화되도록 지속적으로 보정하여야 하였으며, 이러한 보정 작업은 성능 측정의 정확도를 저해하는 주요한 요인으로 작용하였다.
또한, 분산 데이터 처리 시스템에서 이용되는 글로벌 타이머는 해상도가 낮은 문제가 있었다. 글로벌 타이머는 ms(millisecond) 단위로 동작하기 때문에 더 정밀한 해상도로는 성능 측정이 불가능하였다.
본 발명은 정밀한 해상도로 분산 데이터 처리 시스템의 성능을 측정할 수 있는 방법 및 장치를 제안한다.
또한, 본 발명은 글로벌 타이머를 사용하지 않고 별도의 동기화를 요구하지 않는 분산 데이터 처리 시스템의 성능 측정 방법 및 장치를 제안한다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따르면, 다수의 노드들을 포함하는 분산 데이터 처리 시스템의 노드에서 수행되는 성능 측정 방법으로서, 상대 노드와의 통신을 통해 카운터간 관계 정보의 생성을 위한 기초 정보를 획득하는 단계(a); 상기 획득한 기초 정보를 이용하여 상대 노드와의 카운터간 관계 정보를 생성하는 단계(b); 이벤트 시작 시점의 카운터 카운팅 넘버를 검출하고 상대 노드에서의 이벤트 종료 시점의 카운터 카운팅 넘버를 수신 하는 단계(c); 및 상기 상대 노드의 이벤트 종료 시점의 카운터 카운팅 넘버를 상기 카운터간 관계 정보를 이용하여 대응되는 카운팅 넘버로 변환하고, 상기 변환된 상대 노드의 이벤트 종료 시점의 카운터 카운팅 넘버와 상기 이벤트 시작 시점의 카운터 카운팅 넘버의 차에 기초하여 총 처리 시간을 연산하는 단계(d)를 포함하는 분산 데이터 처리 시스템의 성능 측정 방법이 제공된다.
상기 단계(a)는, 상기 상대 노드로 테스트 패킷을 송신하고 상기 테스트 패킷 송신 시점에서의 카운터 카운팅 넘버를 저장하는 단계; 상기 상대 노드로부터 테스트 패킷 수신 시점과 연관된 상대 노드 카운터 카운팅 넘버 및 상대 노드의 카운터 주기를 포함하는 응답 패킷을 수신하는 단계; 상기 응답 패킷을 수신하는 시점의 카운터 카운팅 넘버를 검출하는 단계; 및 상기 테스트 패킷 송신 시점의 카운터 카운팅 넘버 및 상기 응답 패킷 수신 시점의 카운터 카운팅 넘버의 중간값을 연산하는 단계를 포함한다.
상기 단계(b)는 상기 테스트 패킷 송신 시점의 카운팅 넘버, 상기 테스트 패킷 수신 시점의 카운팅 넘버, 상기 테스트 패킷 수신 시점과 연관된 상기 상대 노드 카운터의 카운팅 넘버, 상기 노드의 카운터 주기 및 상기 상대 노드의 카운터 주기를 이용하여 상기 카운터간 관계 정보를 생성한다.
상기 카운터간 관계 정보는 다음의 수학식과 같이 정의된다.
Figure 112018064319411-pat00001
위 수학식에서,
Figure 112018064319411-pat00002
은 제1 노드 카운터의 카운팅 넘버
Figure 112018064319411-pat00003
에 대응되는 제2 노드 카운터의 카운팅 넘버이고,
Figure 112018064319411-pat00004
는 테스트 패킷을 전송한 시점의 제2 노드 카운터의 카운팅 넘버이며,
Figure 112018064319411-pat00005
는 응답 패킷을 수신한 시점의 제1 노드 카운터의 카운팅 넘버이고,
Figure 112018064319411-pat00006
은 응답 패킷을 수신한 시기의 제2 노드 카운터의 카운팅 넘버이며,
Figure 112018064319411-pat00007
는 제1 노드 카운터의 카운터 주기이고,
Figure 112018064319411-pat00008
는 제2 노드 카운터의 카운터 주기임.
상기 테스트 패킷 수신 시점과 연관된 상기 상대 노드 카운터의 카운팅 넘버는 상기 테스트 패킷을 수신하는 시점에서의 상대 노드 카운터의 카운팅 넘버일 수 있다.
이와 달리, 상기 테스트 패킷 수신 시점과 연관된 상기 상대 노드의 카운팅 넘버는 상기 테스트 패킷을 수신하는 시점과 상기 응답 패킷을 송신하는 시점의 중간값에 상응하는 상기 상대 노드 카운터의 카운팅 넘버일 수도 있다.
상기 단계(d)는, 상기 변환된 상대 노드의 이벤트 종료 시점의 카운팅 넘버와 상기 이벤트 시작 시점의 카운팅 넘버의 차에 상기 노드의 카운터 주기를 곱하여 총 처리 시간을 연산한다.
본 발명의 다른 측면에 따르면, 분산 데이터 처리 시스템을 구성하는 노드 장치로서, 패어링된 상대 노드에 테스트 패킷을 송신하거나 상기 상대 노드로부터 테스트 패킷을 수신하는 테스트 패킷 송수신부-상기 테스트 패킷에는 이벤트 시작 시점의 카운터 카운팅 넘버가 포함됨-; 상기 상대 노드로부터 상기 테스트 패킷에 응답하는 응답 패킷을 수신하거나 상기 상대 노드에 응답 패킷을 송신하는 응답 패킷 송수신부-상기 응답 패킷에는 상기 테스트 패킷 수신 시점과 연관된 카운터 카운팅 넘버가 포함됨-; 상기 테스트 패킷을 송신하는 송신 노드로 동작할 때 활성화되며 상기 테스트 패킷 송신 시점의 카운터 카운팅 넘버, 상기 응답 패킷 수신 시점의 카운터 카운팅 넘버 및 상기 응답 패킷에 포함된 상기 상대 노드의 테스트 패킷 수신 시점과 연관된 카운터 카운팅 넘버를 이용하여 상기 상대 노드와의 카운터간 관계 정보를 생성하는 카운터간 관계 정보 생성부; 및 상기 테스트 패킷을 송신하는 송신 노드로 동작할 때 활성화되며 상기 상대 노드의 이벤트 종료 시점의 카운터 카운팅 넘버를 상기 카운터간 관계 정보를 이용하여 대응되는 카운팅 넘버로 변환하고, 상기 변환된 상대 노드의 이벤트 종료 시점의 카운터 카운팅 넘버와 이벤트 시작 시점의 카운터 카운팅 넘버의 차에 기초하여 총 처리 시간을 연산하는 성능 측정부를 포함하는 분산 데이터 처리 시스템의 노드 장치가 제공된다.
본 발명에 의하면, 정밀한 해상도로 분산 데이터 처리 시스템의 성능을 측정할 수 있으며, 글로벌 타이머를 사용하지 않고 별도의 동기화를 요구하지 않는 장점이 있다.
도 1은 종래의 분산 데이터 처리 시스템에서 성능을 측정하는 개념도를 도시한 도면.
도 2는 본 발명의 일 실시예에 따른 분산 데이터 처리 시스템에서의 성능 측정 방법의 개념적 구조를 나타낸 도면.
도 3은 본 발명의 일 실시예에 따라 카운터간 관계 정보를 이용하여 분산 데이터 처리 시스템에서 성능을 측정하는 개념도.
도 4는 본 발명의 성능 측정 방법의 개괄적인 절차를 나타낸 순서도.
도 5는 본 발명의 일 실시예에 따른 분산 데이터 처리 시스템에서 카운터간 관계 정보를 획득하기 위한 노드간 통신 방법을 나타낸 도면.
도 6은 본 발명의 일 실시예에 따른 분산 데이터 처리 시스템에서 카운터간 관계 정보를 획득하기 위한 노드간 통신 방법을 설명하기 위한 순서도.
도 7은 본 발명의 일 실시예에 따라 카운터간 관계 정보를 생성하는 개념적 구조를 나타낸 도면.
도 8은 본 발명의 일 실시예에 따라 최소 오차범위를 가지는 노드 패어를 선택하는 방법을 나타낸 도면.
도 9는 일 실시예에 따른 최소 오차범위를 가지는 노드 패어를 선택하여 성능을 측정하는 과정을 나타낸 순서도.
도 10은 본 발명의 일 실시예에 따른 분산 데이터 처리 시스템에 적용되는 노드 장치의 구조를 도시한 블록도.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 설명하는 실시예에 한정되는 것이 아니다. 그리고, 본 발명을 명확하게 설명하기 위하여 설명과 관계없는 부분은 생략되며, 도면의 동일한 참조부호는 동일한 부재임을 나타낸다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 “...부”, “...기”, “모듈”, “블록” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 2는 본 발명의 일 실시예에 따른 분산 데이터 처리 시스템에서의 성능 측정 방법의 개념적 구조를 나타낸 도면이다.
도 2를 참조하면, 분산 데이터 처리 시스템은 다수의 노드(200, 202, 204, 206)를 포함한다.
분산 데이터 처리 시스템에서는 복수의 노드가 협력하여 이벤트를 처리한다. 예를 들어, 요청된 이벤트는 제1 노드(200)에서 처음 처리가 시작되고, 제2 노드(202) 및 제3 노드(204)에서 후속 처리가 이루어진 후 제2 노드(202)에서 최종적으로 종료될 수 있다.
주어진 이벤트에 대해 어느 노드가 처리할 지에 대해서는 노드의 부하 및 용량에 따라 별도의 컨트롤 장치(미도시)에 의해 결정될 수 있다.
위의 예에서 이벤트의 총 처리 시간은 제1 노드(200)의 시작 시간과 제2 노드(202)의 종료 시간의 차가 된다. 앞서 설명한 바와 같이, 종래에는 글로벌 타이머를 이용하여 총 처리 시간을 측정함으로써 성능을 측정하였으나, 글로벌 타이머의 한계로 인해 ms 단위로만 성능 측정이 가능하였다.
본 발명은 이와 같은 종래의 문제점을 해결하기 위해 분산 데이터 처리 시스템의 각 노드가 구비한 카운터를 이용하여 분산 데이터 처리 시스템의 성능을 측정하는 방법을 제시한다.
도 2에 도시된 바와 같이, 각각의 노드는 카운터(210, 212, 214, 216)를 구비하며, 각 노드(200, 202, 204, 206)에 구비된 카운터(210, 212, 214, 216)는 독립적으로 동작한다. 각 노드의 카운터(210, 212, 214, 216)는 미리 설정된 시간 간격(카운터 주기)으로 카운팅 넘버가 증가하며, 소정의 카운팅 범위까지 도달하면 다시 리셋된다. 각 노드가 구비한 프로세서의 성능이 다르기 때문에 각 노드의 카운터 주기 역시 상이하다.
따라서, 서로 독립적으로 동작하는 카운터를 각각 구비한 두 개의 노드로부터 성능 측정이 직접적으로 이루어지기는 어렵다. 본 발명은 서로 독립적으로 동작하는 두 개의 노드의 카운터를 이용하여 성능을 측정하기 위해 카운터간 관계 정보를 생성한다. 카운터간 관계 정보는 제1 노드의 제1 카운터의 카운팅 넘버와 제2 노드의 제2 카운터의 카운팅 넘버간의 관계 정보를 의미하며, 구체적으로 제2 노드의 카운팅 넘버를 이에 대응되는 제1 노드의 카운팅 넘버로 변환하기 위한 정보이다.
두 개의 노드의 카운터간 관계 정보를 이용하여 제1 노드의 카운팅 넘버를 제2 노드의 카운팅 넘버로 변환하거나 제2 노드의 카운팅 넘버를 제1 노드의 카운팅 넘버로 변환하여 최종적인 성능 측정이 이루어진다.
도 3은 본 발명의 일 실시예에 따라 카운터간 관계 정보를 이용하여 분산 데이터 처리 시스템에서 성능을 측정하는 개념도이고, 도 4는 본 발명의 성능 측정 방법의 개괄적인 절차를 나타낸 순서도이다.
도 4를 참조하면, 제1 노드 및 제2 노드의 통신을 통해 카운터간 관계 정보를 획득하기 위한 정보를 교환한다(단계 400). 카운터간 관계 정보의 구체적인 실체 및 카운터간 관계 정보를 획득하는 구체적인 방법은 별도의 도면을 참조하여 설명한다.
제1 노드 및 제2 노드간 정보 교환이 이루어지면 교환된 정보를 이용하여 카운터간 관계 정보를 획득한다(단계 402).
카운터간 관계 정보가 획득된 상태에서, 이벤트가 시작되는 제1 노드는 이벤트 시작 시점의 카운팅 넘버를 검출한다(단계 404). 도 3을 참조하면, 일례로 이벤트 시작 시점(e1)의 카운팅 넘버가 00031인 경우가 도시되어 있다.
또한, 이벤트가 제2 노드에서 종료될 경우, 제2 노드는 이벤트 종료 시점(e2)의 카운팅 넘버를 검출하고 제1 노드에 이벤트 종료 시점의 카운팅 넘버를 전송한다(단계 406). 도 3을 참조하면, 제2 노드의 이벤트 종료 시점(e2)의 카운팅 넘버가 53313인 경우가 도시되어 있다.
제1 노드는 제2 노드로부터 제공되는 제2 노드의 종료 시점의 카운팅 넘버를 상기 획득한 카운터간 관계 정보를 이용하여 제2 노드의 카운팅 넘버를 제1 노드에서의 카운팅 넘버로 변환한 후 변환된 제2 노드의 카운팅 넘버를 이용하여 총 이벤트 처리 시간을 측정한다(단계 408).
도 5는 본 발명의 일 실시예에 따른 분산 데이터 처리 시스템에서 카운터간 관계 정보를 획득하기 위한 노드간 통신 방법을 나타낸 도면이고, 도 6은 본 발명의 일 실시예에 따른 분산 데이터 처리 시스템에서 카운터간 관계 정보를 획득하기 위한 노드간 통신 방법을 설명하기 위한 순서도이다.
도 5를 참조하면, 제1 노드 카운터(C1)과 제2 노드 카운터(C2)의 카운팅 간격은 서로 상이하며, 독립적으로 카운팅 넘버가 증가되는 것을 확인할 수 있다.
도 5 및 도 6을 참조하면, 제1 노드와 제2 노드간 네트워크 연결을 생성한 후, 제2 노드(송신 노드)에서 테스트 패킷을 생성하여 제1 노드(수신 노드)로 전송한다(단계 600). 제2 노드는 테스트 패킷 전송 시의 제2 노드 카운터의 카운팅 넘버를 검출하여 저장한다. 도 5에는 테스트 패킷을 전송하는 순간의 제2 노드 카운터의 카운팅 넘버가 C2,2인 경우가 도시되어 있다.
이때, 제2 노드에서 전송되는 테스트 패킷에는 테스트 패킷 전송 시의 제2 노드 카운팅 넘버가 포함될 수 있으나 필수적인 것은 아니다.
제1 노드는 제2 노드로부터 테스트 패킷을 수신하며, 테스트 패킷을 수신한 순간의 제1 노드 카운터의 카운팅 넘버를 검출한다(단계 602). 도 5를 참조하면, 테스트 패킷을 수신한 순간의 제1 노드 카운터의 카운팅 넘버가 C1,2인 경우가 도시되어 있다.
제1 노드는 패킷을 수신한 순간의 카운팅 넘버 및 제1 노드의 카운터 주기 정보를 포함하는 응답 패킷을 생성하여 제2 노드에 전송한다(단계 604).
제2 노드는 제1 노드에서 전송하는 응답 패킷을 수신하고, 응답 패킷을 수신한 순간의 제2 노드 카운터의 카운팅 넘버를 검출한다(단계 606). 도 5에는 응답 패킷을 수신한 순간의 제2 노드 카운터의 카운팅 넘버가 C2,4인 경우가 도시되어 있다.
제2 노드는 테스트 패킷을 전송한 순간의 제2 노드 카운터의 카운팅 넘버와 응답 패킷을 수신한 순간의 제2 노드 카운터의 카운팅 넘버 사이의 중간값을 연산한다(단계 608). 도 5에서, 테스트 패킷을 전송한 순간의 카운팅 넘버가 C2,2이고, 응답 패킷을 수신한 순간의 카운팅 넘버가 C2,4이므로 연산되는 중간값은 (C2,4 - C2,2)/2가 된다.
제2 노드는 테스트 패킷을 전송한 순간의 카운팅 넘버와 응답 패킷을 수신한 순간의 카운팅 넘버의 차이를 연산하고 이를 오차 범위로 지정한다(단계 610).
도 5 및 도 6에서는 제1 노드가 테스트 패킷을 수신한 순간의 제1 노드 카운팅 넘버를 응답 패킷에 포함시켜 전송하는 경우가 도시되어 있다. 그러나, 테스트 패킷을 수신한 시기와 이에 대한 응답 패킷을 제2 노드에 전송하는 시기는 다를 수 있다. 제1 노드는 테스트 패킷을 수신한 시기와 응답 패킷을 전송하는 시기의 중간값에 상응하는 카운터를 응답 패킷에 포함시켜 제2 노드에 전송할 수도 있을 것이다.
도 7은 본 발명의 일 실시예에 따라 카운터간 관계 정보를 생성하는 개념적 구조를 나타낸 도면이다.
본 발명의 바람직한 실시예에 따르면, 도 5 및 도 6에 도시된 노드간 통신을 통해 테스트 패킷을 송신한 시점의 제2 노드(송신 노드) 카운팅 넘버, 응답 패킷을 수신한 시점의 제2 노드(송신 노드) 카운팅 넘버, 테스트 패킷을 수신한 시점의 제1 노드(수신 노드) 카운팅 넘버, 제1 노드(수신 노드)의 카운터 주기 및 제2 노드(송신 노드)의 카운터 주기를 이용하여 카운터간 관계 정보를 생성한다.
앞서 설명한 바와 같이, 카운터간 관계 정보는 제1 노드(수신 노드) 카운터의 특정 카운팅 넘버를 제2 노드(송신 노드) 카운터의 카운팅 넘버로 변환하기 위한 정보이며, 수학식의 형태를 가진다.
제1 노드(수신 노드) 카운터의 카운팅 넘버
Figure 112018064319411-pat00009
를 제2 노드(송신 노드) 카운터로 변환하기 위한 카운터간 관계 정보는 다음의 수학식과 같이 정의될 수 있다.
Figure 112018064319411-pat00010
위 수학식에서,
Figure 112018064319411-pat00011
은 제1 노드 카운터의 카운팅 넘버
Figure 112018064319411-pat00012
에 대응되는 제2 노드 카운터의 카운팅 넘버이고,
Figure 112018064319411-pat00013
는 테스트 패킷을 전송한 시점의 제2 노드 카운터의 카운팅 넘버이며,
Figure 112018064319411-pat00014
는 테스트 패킷을 전송한 시기와 응답 패킷을 수신한 시점의 제2 노드 카운터의 카운팅 넘버 중간값이고,
Figure 112018064319411-pat00015
는 응답 패킷을 수신한 시점의 제1 노드 카운터의 카운팅 넘버이며,
Figure 112018064319411-pat00016
은 응답 패킷을 수신한 시기의 제2 노드 카운터의 카운팅 넘버이고,
Figure 112018064319411-pat00017
는 제1 노드 카운터의 카운터 주기며,
Figure 112018064319411-pat00018
는 제2 노드 카운터의 카운터 주기다.
수학식 1과 같은 카운터간 관계 정보를 이용하여 제1 노드의 카운팅 넘버는 이에 대응되는 제2 노드 카운팅 넘버로 변환될 수 있으며, 이를 이용하여 분산 데이터 처리 시스템에서의 성능 측정이 가능하다.
예를 들어, 제2 노드에서 이벤트가 시작되고 제1 노드에서 이벤트가 종료된 경우 제1 노드의 이벤트 종료 시의 카운팅 넘버를 제2 노드에 전송하며, 제2 노드는 제1 노드의 이벤트 종료 시의 카운팅 넘버를 이에 대응되는 제2 노드에서의 카운팅 넘버로 변환하여 성능 측정을 수행할 수 있을 것이다.
구체적으로, 변환된 이벤트 종료 시의 카운팅 넘버와 이벤트 시작 시의 카운팅 넘버의 차에 제2 노드 카운터의 카운터 주기를 곱한 값이 총 처리 시간이 된다.
이상에서 살펴본 바와 같이, 본 발명의 일 실시예에 따른 성능 측정 방법에 의할 경우 오차 범위는 테스트 패킷 송신 시점 및 응답 패킷 수신 시점의 차로 제한되며, 이러한 오차범위는 ns(nanosecond) 단위이고 카운터의 카운터 주기 역시 ns 이하이므로 종래의 글로벌 타이머를 이용하는 경우에 비해 보다 높은 해상도로 성능을 측정하는 것이 가능하다.
한편, 도 5내지 도 7에서는 제2 노드가 테스트 패킷을 전송하는 송신 노드이고 제1 노드가 테스트 패킷을 수신하는 수신 노드가 될 경우의 카운터간 관계 정보를 생성하는 경우에 대해 설명하였다. 그러나, 제1 노드가 송신 노드가 되고 제2 노드가 수신 노드가 될 수도 있으며, 이 경우에는 위에서 설명한 예와는 다른 카운터간 관계 정보가 생성될 수 있을 것이다. 요컨대, 본 발명의 카운터간 관계 정보는 방향성을 가지는 것이다. 제2 노드와 제1 노드가 존재할 때, 제2 노드가 송신 노드가 되는 경우에는 제1 노드 카운터의 카운팅 넘버를 제2 노드 카운터의 카운팅 넘버로 변환할 수 있는 카운터간 관계 정보가 생성되며, 제1 노드가 송신 노드가 되는 경우에는 제2 노드 카운터의 카운팅 넘버를 제1 노드 카운터의 카운팅 넘버로 변환할 수 있는 카운터간 관계 정보가 생성되는 것이다.
도 8은 본 발명의 일 실시예에 따라 최소 오차범위를 가지는 노드 패어를 선택하는 방법을 나타낸 도면이며, 도 9는 일 실시예에 따른 최소 오차범위를 가지는 노드 패어를 선택하여 성능을 측정하는 과정을 나타낸 순서도이다.
위에서 설명한 바와 같이, 오차 범위(Error Bound)는 송신 노드에서 테스트 패킷을 전송한 시기의 카운팅 넘버와 응답 패킷을 수신한 시기의 카운팅 넘버의 차에 상응하는 시간이다.
도 8 및 도 9를 참조하면, 다수의 노드(S1, S2, S3, S4)가 존재할 때 설정 가능한 노드 패어 및 방향별로 오차범위를 획득한다(단계 900). 노드 S1에서 노드 S2로 향하는 화살표는 노드 S1이 노드 S2로 테스트 패킷을 송신하는 송신 노드가 될 경우를 나타낸 것이며, 노드 S2에서 노드 S1으로 향하는 화살표는 노드 S2가 노드 S1으로 테스트 패킷을 전송하는 송신 노드가 될 경우를 나타낸 것이다. 즉, 본 발명에서는 노드 S1 및 노드 S2 패어에 대해 각 방향별로 오차 범위를 획득하는 것이다.
이때, 각 노드 패어 및 방향별 오차 범위는 다수에 걸쳐 획득될 수 있으며 다수의 걸쳐 획득된 오차 범위의 평균 또는 최소의 오차 범위가 해당 노드 패어 및 방향의 대표 오차 범위로 결정된다.
도 8에 도시된 바와 같이, 설정 가능한 각 노드 패어 및 방향별로 대표 오차 범위가 획득되면, 획득된 대표 오차 범위를 올림 차순으로 정렬한다(단계 902).
올림 차순 정렬 결과 최소의 대표 오차 범위를 가지는 노드 패어를 선택하고 선택된 노드 패어에 대해 성능을 측정한다(단계 904).
오차 범위가 작다는 것은 테스트 패킷 및 응답 패킷의 송수신에 짧은 시간이 소요된다는 것을 의미하며, 이는 성능 측정 시간의 오차 범위가 적다는 것을 의미하기에 정확한 성능 측정을 위해 가장 작은 대표 오차 범위를 가지는 노드 패어를 선택하여 성능을 측정하는 것이 바람직하다.
도 10은 본 발명의 일 실시예에 따른 분산 데이터 처리 시스템에 적용되는 노드 장치의 구조를 도시한 블록도이다.
도 10을 참조하면, 본 발명의 일 실시예에 따른 분산 데이터 처리 시스템에 적용되는 노드 장치는 테스트 패킷 송수신부(1000), 응답 패킷 송수신부(1010), 카운터간 관계 정보 생성부(1020) 및 성능 측정부(1030)를 포함한다.
테스트 패킷 송수신부(1000)는 테스트 패킷을 송신하거나 수신하는 기능을 한다. 노드가 송신 노드로 동작할 경우 테스트 패킷을 송신하고 송신 시점의 카운팅 넘버를 검출하여 저장하고, 수신 노드로 동작할 경우 테스트 패킷을 상대 노드로부터 수신하게 된다.
응답 패킷 송수신부(1010)는 테스트 패킷에 대응하는 응답 패킷을 송신하거나 수신하는 기능을 한다. 송신 노드로 동작할 경우 응답 패킷을 수신하여 상대 노드의 카운팅 넘버를 검출한다. 수신 노드로 동작할 경우 테스트 패킷을 수신한 순간의 카운팅 넘버를 검출하고 검출된 카운팅 넘버 및 카운터 주기를 포함하는 응답 패킷을 생성하여 상대 노드에 송신한다.
카운터간 관계 정보 생성부(1020)는 송신 노드로 동작할 때 활성화되며,상대 노드의 테스트 패킷 수신 시의 카운팅 넘버와 카운터 주기 및 테스트 패킷 송수신 시의 카운팅 넘버를 이용하여 생성하며 수학식 1과 같이 카운팅 관계 정보를 생성한다.
성능 측정부(1030)는 송신 노드로 동작할 때 활성화되며, 이벤트 종료 시의 상대 노드의 카운팅 넘버를 수신하고, 수신된 상대 노드의 카운팅 넘버를 카운터간 관계 정보를 이용하여 변환하고, 변환된 카운팅 넘버를 이용하여 총 이벤트 처리 시간을 연산한다. 앞서 설명한 바와 같이, 이벤트 종료 시와 시작 시의 카운팅 넘버 차이값에 카운터 주기를 곱하여 총 처리 시간을 연산할 수 있을 것이다.
본 발명에 따른 방법은 컴퓨터에서 실행 시키기 위한 매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다. 여기서 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스 될 수 있는 임의의 가용 매체일 수 있고, 또한 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함하며, ROM(판독 전용 메모리), RAM(랜덤 액세스 메모리), CD(컴팩트 디스크)-ROM, DVD(디지털 비디오 디스크)-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등을 포함할 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다.
따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (14)

  1. 다수의 노드들을 포함하는 분산 데이터 처리 시스템의 노드에서 수행되는 성능 측정 방법으로서,
    상대 노드와의 통신을 통해 카운터간 관계 정보의 생성을 위한 기초 정보를 획득하는 단계(a);
    상기 획득한 기초 정보를 이용하여 상대 노드와의 카운터간 관계 정보를 생성하는 단계(b);
    이벤트 시작 시점의 카운터 카운팅 넘버를 검출하고 상대 노드에서의 이벤트 종료 시점의 카운터 카운팅 넘버를 수신 하는 단계(c); 및
    상기 상대 노드의 이벤트 종료 시점의 카운터 카운팅 넘버를 상기 카운터간 관계 정보를 이용하여 대응되는 카운팅 넘버로 변환하고, 상기 변환된 상대 노드의 이벤트 종료 시점의 카운터 카운팅 넘버와 상기 이벤트 시작 시점의 카운터 카운팅 넘버의 차에 기초하여 총 처리 시간을 연산하는 단계(d)를 포함하는 것을 특징으로 하는 분산 데이터 처리 시스템에서의 성능 측정 방법.
  2. 제1 항에 있어서,
    상기 단계(a)는,
    상기 상대 노드로 테스트 패킷을 송신하고 상기 테스트 패킷 송신 시점에서의 카운터 카운팅 넘버를 저장하는 단계;
    상기 상대 노드로부터 테스트 패킷 수신 시점과 연관된 상대 노드 카운터 카운팅 넘버 및 상대 노드의 카운터 주기를 포함하는 응답 패킷을 수신하는 단계;
    상기 응답 패킷을 수신하는 시점의 카운터 카운팅 넘버를 검출하는 단계; 및
    상기 테스트 패킷 송신 시점의 카운터 카운팅 넘버 및 상기 응답 패킷 수신 시점의 카운터 카운팅 넘버의 중간값을 연산하는 단계를 포함하는 것을 특징으로 하는 분산 데이터 처리 시스템의 성능 측정 방법.
  3. 제2항에 있어서,
    상기 단계(b)는
    상기 테스트 패킷 송신 시점의 카운팅 넘버, 상기 테스트 패킷 수신 시점의 카운팅 넘버, 상기 테스트 패킷 수신 시점과 연관된 상기 상대 노드 카운터의 카운팅 넘버, 상기 노드의 카운터 주기 및 상기 상대 노드의 카운터 주기를 이용하여 상기 카운터간 관계 정보를 생성하는 것을 특징으로 하는 분산 데이터 처리 시스템의 성능 측정 방법.
  4. 제3 항에 있어서,
    상기 카운터간 관계 정보는 다음의 수학식과 같이 정의되는 것을 특징으로 하는 분산 데이터 처리 시스템의 성능 측정 방법.
    Figure 112018064319411-pat00019

    위 수학식에서,
    Figure 112018064319411-pat00020
    은 제1 노드 카운터의 카운팅 넘버
    Figure 112018064319411-pat00021
    에 대응되는 제2 노드 카운터의 카운팅 넘버이고,
    Figure 112018064319411-pat00022
    는 테스트 패킷을 전송한 시점의 제2 노드 카운터의 카운팅 넘버이며,
    Figure 112018064319411-pat00023
    는 응답 패킷을 수신한 시점의 제1 노드 카운터의 카운팅 넘버이고,
    Figure 112018064319411-pat00024
    은 응답 패킷을 수신한 시기의 제2 노드 카운터의 카운팅 넘버이며,
    Figure 112018064319411-pat00025
    는 제1 노드 카운터의 카운터 주기이고,
    Figure 112018064319411-pat00026
    는 제2 노드 카운터의 카운터 주기임.
  5. 제2항에 있어서,
    상기 테스트 패킷 수신 시점과 연관된 상기 상대 노드 카운터의 카운팅 넘버는 상기 테스트 패킷을 수신하는 시점에서의 상대 노드 카운터의 카운팅 넘버인 것을 특징으로 하는 분산 데이터 처리 시스템의 성능 측정 방법.
  6. 제2항에 있어서,
    상기 테스트 패킷 수신 시점과 연관된 상기 상대 노드의 카운팅 넘버는 상기 테스트 패킷을 수신하는 시점과 상기 응답 패킷을 송신하는 시점의 중간값에 상응하는 상기 상대 노드 카운터의 카운팅 넘버인 것을 특징으로 하는 분산 데이터 처리 시스템의 성능 측정 방법.
  7. 제1항에 있어서,
    상기 단계(d)는, 상기 변환된 상대 노드의 이벤트 종료 시점의 카운팅 넘버와 상기 이벤트 시작 시점의 카운팅 넘버의 차에 상기 노드의 카운터 주기를 곱하여 총 처리 시간을 연산하는 것을 특징으로 하는 분산 데이터 처리 시스템의 성능 측정 방법.
  8. 분산 데이터 처리 시스템을 구성하는 노드 장치로서,
    패어링된 상대 노드에 테스트 패킷을 송신하거나 상기 상대 노드로부터 테스트 패킷을 수신하는 테스트 패킷 송수신부-상기 테스트 패킷에는 이벤트 시작 시점의 카운터 카운팅 넘버가 포함됨-;
    상기 상대 노드로부터 상기 테스트 패킷에 응답하는 응답 패킷을 수신하거나 상기 상대 노드에 응답 패킷을 송신하는 응답 패킷 송수신부-상기 응답 패킷에는 상기 테스트 패킷 수신 시점과 연관된 카운터 카운팅 넘버가 포함됨-;
    상기 테스트 패킷을 송신하는 송신 노드로 동작할 때 활성화되며 상기 테스트 패킷 송신 시점의 카운터 카운팅 넘버, 상기 응답 패킷 수신 시점의 카운터 카운팅 넘버 및 상기 응답 패킷에 포함된 상기 상대 노드의 테스트 패킷 수신 시점과 연관된 카운터 카운팅 넘버를 이용하여 상기 상대 노드와의 카운터간 관계 정보를 생성하는 카운터간 관계 정보 생성부; 및
    상기 테스트 패킷을 송신하는 송신 노드로 동작할 때 활성화되며 상기 상대 노드의 이벤트 종료 시점의 카운터 카운팅 넘버를 상기 카운터간 관계 정보를 이용하여 대응되는 카운팅 넘버로 변환하고, 상기 변환된 상대 노드의 이벤트 종료 시점의 카운터 카운팅 넘버와 이벤트 시작 시점의 카운터 카운팅 넘버의 차에 기초하여 총 처리 시간을 연산하는 성능 측정부를 포함하는 것을 특징으로 하는 분산 데이터 처리 시스템의 노드 장치.
  9. 제8항에 있어서,
    상기 카운터간 관계 정보는 상기 테스트 패킷 송신 시점의 카운터 카운팅 넘버 및 상기 응답 패킷 수신 시점의 카운터 카운팅 넘버의 중간값을 추가적으로 이용하여 생성되는 것을 특징으로 하는 분산 데이터 처리 시스템의 노드 장치.
  10. 제8항에 있어서,
    상기 카운터간 관계 정보는 다음의 수학식과 같이 정의되는 것을 특징으로 하는 분산 데이터 처리 시스템의 노드 장치.

    Figure 112018064319411-pat00027

    위 수학식에서,
    Figure 112018064319411-pat00028
    은 제1 노드 카운터의 카운팅 넘버
    Figure 112018064319411-pat00029
    에 대응되는 제2 노드 카운터의 카운팅 넘버이고,
    Figure 112018064319411-pat00030
    는 테스트 패킷을 전송한 시점의 제2 노드 카운터의 카운팅 넘버이며,
    Figure 112018064319411-pat00031
    는 응답 패킷을 수신한 시점의 제1 노드 카운터의 카운팅 넘버이고,
    Figure 112018064319411-pat00032
    은 응답 패킷을 수신한 시기의 제2 노드 카운터의 카운팅 넘버이며,
    Figure 112018064319411-pat00033
    는 제1 노드 카운터의 카운터 주기이고,
    Figure 112018064319411-pat00034
    는 제2 노드 카운터의 카운터 주기임.
  11. 제8항에 있어서,
    상기 테스트 패킷 수신 시점과 연관된 상기 상대 노드 카운터의 카운팅 넘버는 상기 테스트 패킷을 수신하는 시점에서의 상대 노드 카운터의 카운팅 넘버인 것을 특징으로 하는 분산 데이터 처리 시스템의 노드 장치
  12. 제8항에 있어서,
    상기 테스트 패킷 수신 시점과 연관된 상기 상대 노드의 카운팅 넘버는 상기 테스트 패킷을 수신하는 시점과 상기 응답 패킷을 송신하는 시점의 중간값에 상응하는 상기 상대 노드 카운터의 카운팅 넘버인 것을 특징으로 하는 분산 데이터 처리 시스템의 노드 장치
  13. 제8항에 있어서,
    상기 성능 측정부는
    상기 변환된 상대 노드의 이벤트 종료 시점의 카운팅 넘버와 상기 이벤트 시작 시점의 카운팅 넘버의 차에 상기 노드의 카운터 주기를 곱하여 총 처리 시간을 연산하는 것을 특징으로 하는 분산 데이터 처리 노드 장치
  14. 제1항 내지 제7항 중 어느 한 항의 방법을 실행하기 위해 디지털 데이터 처리 장치에 의해 판독 가능한 프로그램이 기록된 기록 매체.


KR1020180075806A 2018-06-29 2018-06-29 분산 데이터 처리 시스템의 성능 측정 방법 및 이를 위한 분산 데이터처리 시스템의 노드 장치 KR102037002B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180075806A KR102037002B1 (ko) 2018-06-29 2018-06-29 분산 데이터 처리 시스템의 성능 측정 방법 및 이를 위한 분산 데이터처리 시스템의 노드 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180075806A KR102037002B1 (ko) 2018-06-29 2018-06-29 분산 데이터 처리 시스템의 성능 측정 방법 및 이를 위한 분산 데이터처리 시스템의 노드 장치

Publications (1)

Publication Number Publication Date
KR102037002B1 true KR102037002B1 (ko) 2019-11-26

Family

ID=68731334

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180075806A KR102037002B1 (ko) 2018-06-29 2018-06-29 분산 데이터 처리 시스템의 성능 측정 방법 및 이를 위한 분산 데이터처리 시스템의 노드 장치

Country Status (1)

Country Link
KR (1) KR102037002B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970064057A (ko) * 1996-02-27 1997-09-12 김광호 코드분할다중접속 통신시스템의 기지국을 동기화시키는 방법 및 그 동기화장치
JP2000517140A (ja) * 1996-08-29 2000-12-19 エクセル・スウィッチング・コーポレイション 分散型ネットワーク同期システム
KR20030089442A (ko) * 2002-05-17 2003-11-21 루센트 테크놀러지스 인크 비승인 응답들을 관리하는 방법
KR100472416B1 (ko) * 2002-11-01 2005-03-11 삼성전자주식회사 패킷 플로우 제어 장치 및 방법
KR100763581B1 (ko) * 2006-11-02 2007-10-05 한국전자통신연구원 이동통신 시스템 하향링크 버퍼의 서비스 데이터 유닛 폐기방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970064057A (ko) * 1996-02-27 1997-09-12 김광호 코드분할다중접속 통신시스템의 기지국을 동기화시키는 방법 및 그 동기화장치
JP2000517140A (ja) * 1996-08-29 2000-12-19 エクセル・スウィッチング・コーポレイション 分散型ネットワーク同期システム
KR20030089442A (ko) * 2002-05-17 2003-11-21 루센트 테크놀러지스 인크 비승인 응답들을 관리하는 방법
KR100472416B1 (ko) * 2002-11-01 2005-03-11 삼성전자주식회사 패킷 플로우 제어 장치 및 방법
KR100763581B1 (ko) * 2006-11-02 2007-10-05 한국전자통신연구원 이동통신 시스템 하향링크 버퍼의 서비스 데이터 유닛 폐기방법

Similar Documents

Publication Publication Date Title
US8108557B2 (en) System and method for measuring clock skew on a network
JPH11346238A (ja) 応答時間測定システム
EP2434673B1 (en) Network synchronization method and apparatus for performing time synchronization between nodes
US20160309434A1 (en) Methods, systems, and computer readable media for synchronizing timing among network interface cards (nics) in a network equipment test device
US9639999B2 (en) System and method for estimating speed of a vehicle
EP2811672A1 (en) Communication apparatus, communication system, and communication method for time synchronization
CN112787877B (zh) 一种网络时延检测方法及相关设备
CN111327478A (zh) 网络测量方法和装置、设备及存储介质
US11489746B2 (en) Detection device, detection method, and detection program
CN115244972A (zh) 使用信道状态的无线站测距
CN108075851A (zh) 用于同步时钟的设备和方法
KR102037002B1 (ko) 분산 데이터 처리 시스템의 성능 측정 방법 및 이를 위한 분산 데이터처리 시스템의 노드 장치
CN107438268B (zh) 一种用于为移动设备加速无线网络的方法与设备
CN112968747A (zh) 一种时间校准方法、装置、计算机设备和存储介质
US11349586B2 (en) Time stamping method, time stamping apparatus and program
CN114422412B (zh) 一种设备检测方法、装置和通信设备
KR101952748B1 (ko) Tdma 네트워크 노드의 시간 동기화 장치 및 방법
US11765042B2 (en) Traffic application amount calculation apparatus, method and program
EP2315480B1 (en) Device and method for delay mean value computation in a trasmission path
JP2020150359A (ja) 解析プログラム、解析装置、及び解析方法
US20240137246A1 (en) Network node for a vehicle
CN113448723B (zh) 影像感测系统控制方法以及影像感测系统
CN113810243B (zh) 一种延时测试方法及装置
US20230254806A1 (en) Positioning method, edge computing platform, positioning platform, and computer-readable medium
WO2023231426A1 (zh) 时延测量方法及其装置、存储介质、程序产品

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant