KR20210055458A - 실제 구현을 위한 윈도우 펄스-커플링 동기화 방법 및 장치 - Google Patents

실제 구현을 위한 윈도우 펄스-커플링 동기화 방법 및 장치 Download PDF

Info

Publication number
KR20210055458A
KR20210055458A KR1020190141916A KR20190141916A KR20210055458A KR 20210055458 A KR20210055458 A KR 20210055458A KR 1020190141916 A KR1020190141916 A KR 1020190141916A KR 20190141916 A KR20190141916 A KR 20190141916A KR 20210055458 A KR20210055458 A KR 20210055458A
Authority
KR
South Korea
Prior art keywords
synchronization
signal
pcs
algorithm
terminals
Prior art date
Application number
KR1020190141916A
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 KR1020190141916A priority Critical patent/KR20210055458A/ko
Publication of KR20210055458A publication Critical patent/KR20210055458A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/002Arrangements for synchronising receiver with transmitter correction of synchronization errors correction by interpolation
    • H04L7/0025Arrangements for synchronising receiver with transmitter correction of synchronization errors correction by interpolation interpolation of clock signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/08Speed or phase control by synchronisation signals the synchronisation signals recurring cyclically

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

일 실시예에 따르면, 동기 분산 PCS 시스템의 실제 알고리즘 구현을 위한 windowed PCS 기법을 개발하였다. 기존 PCS 알고리즘은 구현시 비현실적으로 높은 연산 속도와 샤프한 임펄스 신호가 필요하다. 본 발명은 이을 해결하기 위해 단위 시간이 아닌 윈도우(window)라고 표현되는 일정 시간 동안 신호를 수신하고 해당 신호를 통해 클락을 수정하는 새로운 형태의 알고리즘을 제안한다. 모의실험을 통해 제안한 windowed PCS 기법을 통해 단말간 분산 동기를 달성할 수 있음을 확인했다. 또한, 동기를 얻기 위한 평균 시간을 연산 속도에 따라 분석을 통해 실제 구현에 있어서 연산 속도에 대한 기준을 제시할 수 있다.

Description

실제 구현을 위한 윈도우 펄스-커플링 동기화 방법 및 장치{METHOD AND APPARATUS OF WINDOWED PULSE-COUPLING SYNCHRONIZATION FOR PRACTICAL IMPLEMENTATION}
분산 동기 시스템에서 연산 능력이 낮은 단순한 형태의 단말의 실제 알고리즘 구현을 위한 윈도우 펄스 커플링 동기화 방법 및 장치가 개시된다.
분산 동기 알고리즘은 GPS 신호와 같이 네트워크상에서 중심이 되어 동기를 맞춰줄 수 있는 구심점이 없을 때 사용하는 알고리즘으로 단말 간에 동기와 관련된 정보를 주고받으며 분산된 형태로 동기를 맞춰나가게 된다. Pulse-Coupled Synchronization (PCS)란 분산 동기 알고리즘 중 하나로, 반딧불이와 같은 생물학적인 분야에서 영감을 얻어 각 센서 단말들 끼리 일정 주기를 갖는 발광 신호를 교환하며 동기를 맞춰 나가게 된다. 기존 네트워크에서 데이터 패킷 기반 동기화 기법은 단말 수가 증가함에 따라 동기화에 필요한 데이터가 증가하고 불필요한 전력 및 계산양이 증가하기 때문에 단말 수가 많은 네트워크에서 적용이 힘들었으나, PCS의 경우 발광 신호인 임펄스(impulse)만을 사용하기 때문에 센서 단말 수에 구애받지 않는다는 장점이 있다.
하지만, 실제 알고리즘의 구현을 위해서는 단말 간 수 마이크로 초 이내의 동기 오차를 보장하기 위해 매 마이크로 초 순간마다 수신 신호를 확인하고 동기를 맞추기 위한 클락(clock) 수정을 해야 하며, 이를 위해서는 단순한 단말에 있어서 비현실적으로 높은 연산 속도와 샤프한 임펄스 신호를 요구하게 된다.
일 실시예에 따르면, 펄스-커플드 동기화(pulse-coupled synchronization)를 구현하는 데 있어서 한계점을 인지하고 이에 대한 극복을 위한 해결책을 제시하고 분석할 수 있다.
일 실시예에 따르면, 기존 Pulse-coupled synchronization (PCS) 분산 동기 알고리즘에서 요구하는 비현실적으로 높은 연산 속도와 샤프한 임펄스 신호를 실제 구현함에 있어서의 현실적인 한계를 해결할 수 있다.
일 실시예에 따르면, 단위 시간이 아닌 윈도우(window)라고 표현되는 일정 시간 동안 신호를 수신하고 해당 신호를 통해 클락을 수정함으로써 연산 능력이 낮은 단순한 형태의 단말에서 윈도우 펄스-커플링 동기화를 수행할 수 있다.
일 측에 따르면, 제안한 개선된 형태의 알고리즘을 통해 실제 구현에 있어서 연산 속도가 빠르지 않은 일반 단말에서도 분산 동기를 얻을 수 있다.
일 측에 따르면, 윈도우의 크기에 따라 동기를 얻는데 걸리는 시간에 대한 분석을 통해 동기를 얻기 위한 평균 시간과 연산 속도에 따른 분석 통해 실제 구현에 있어서 연산 속도에 대한 기준을 제시할 수 있다.
도 1은 일 실시예에 따라 분산 동기 PCS 시스템에서 동기 단말이 3개가 있는 환경을 도시한 도면.
도 2는 일 실시예에 따라 단일 단말의 시간에 따른 클락의 위상 변화를 보여주며, 클락의 주기를 4개의 같은 크기의 윈도우로 나눈 것을 도시한 도면.
도 3은 일 실시예에 따라 3개 단말들의 클락 위상을 시간에 따라 나타낸 모습을 도시한 도면.
도 4는 일 실시예에 따라 동기를 맞추기 위한 3개의 단말들이 있는 환경에서 커플링 강도(coupling strength) 값의 변화에 따른 제안한 windowed PCS 동기화 시간 및 동기화 확률을 모의 실험을 통해 분석한 결과를 도시한 도면.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 “~사이에”와 “바로~사이에” 또는 “~에 직접 이웃하는” 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, “포함하다” 또는 “가지다” 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따라 분산 동기 PCS 시스템에서 동기 단말이 3개가 있는 환경을 도시한 도면이다. 도 1에서 각 동기 단말은 동기 주기 마다 분산 동기를 위한 임펄스 신호를 송신하고, 매 시간 신호를 수신한다.
일 실시예에서는 도 1과 같이 분산 동기 단말은 3개로 가정한다. PCS(Pulse-coupled synchronization) 동기화의 기본 개념은 각 동기 단말에 내장된 특정 주기의 클락을 활용하여 각 주기마다 임펄스 신호를 발산하고 발산된 신호를 통해 각자의 주기를 수정하며 동기를 맞추는 데 있다. 각 동기 단말들은 한주기에 위상이 0에서부터 1(2π를 normalize)까지 점차적으로 증가하게 되다가 1이 되는 순간 주변 단말에 동기 임펄스 신호를 보내게 된다. 이에 따라 주변 단말들은 동기 신호의 위상을 맞추기 위하여 수신한 동기 신호를 이용하여 자신의 위상이 0.5 보다 작은 경우 0에 가깝게, 0.5보다 큰 경우 1에 가깝게 위상을 수정하게 된다. 이는 수식적으로 수학식 1로 정의된다.
Figure pat00001
여기서
Figure pat00002
초는
Figure pat00003
번째 단말에서 동기 신호를 받은 시간이며,
Figure pat00004
Figure pat00005
초의 순간
Figure pat00006
번째 단말의 클락 위상이며,
Figure pat00007
Figure pat00008
초 직후를 의미한다.
Figure pat00009
Figure pat00010
번째 단말과
Figure pat00011
번째 단말 사이 coupling strength로 coupling strength는 채널 환경 및 단말의 거리에 따라 정할 수 있는 변수이며,
Figure pat00012
은 phase response function (PRF)로 단말들이 받은 동기 신호에 따라 자신의 클락 위상을 수정하는 방법을 표현하는 함수이다.
Figure pat00013
하지만 기존 PCS 알고리즘의 경우 매 단위시간마다 신호를 확인하고 클락 수정을 해야함을 전제하에 진행이 되는 알고리즘이며, 이 경우 수 마이크로 초 이내의 동기 오차를 요구하는 단순한 형태의 단말에 있어서 현실적으로 높은 수준의 연산 주기가 필요 하다. 본 발명에서는 이러한 현실적인 문제를 보완하기 위해, 윈도우라는 새로운 개념을 추가하여 알고리즘을 개선하였다.
도 2는 일 실시예에 따라 단일 단말의 시간에 따른 클락의 위상 변화를 보여주며, 클락의 주기를 4개의 같은 크기의 윈도우로 나눈 것을 도시한 도면이다.
먼저, 한 클락의 주기를 도 2에서와 같이 자연수 개수의 윈도우로 나누어 준다. 각 윈도우는 단말이 신호를 수신하여 처리하는 단위 시간이 되며, 각 단말은 수신되는 윈도우가 끝날 때 마다 해당 윈도우에서 수신 된 신호를 통해 동기를 수정한다.
도 3은 일 실시예에 따라 3개 단말들의 클락 위상을 시간에 따라 나타낸 모습을 도시한 도면이다. 도 3에서 3번째 윈도우에서 송신되는 동기 신호의 시간적 위치를 화살표로 표시하였다
동기를 수정하는 방법은 도 3에서와 같이 해당 윈도우에서 수신된 신호 중 자신의 신호를 제외한 신호 중 시간적으로 가장 먼저 수신된 신호를 통해 클락을 수정하며, 클락을 수정하는 방법은 수학식 1과 동일하다. 해당 윈도우에서 수신 된 신호가 없는 경우 클락을 수정하지 않는다.
도 4는 일 실시예에 따라 동기를 맞추기 위한 3개의 단말들이 있는 환경에서 커플링 강도(coupling strength) 값의 변화에 따른 제안한 windowed PCS 동기화 시간 및 동기화 확률을 모의 실험을 통해 분석한 결과를 도시한 도면.
도 4에서는 coupling strength에 따라 분산 단말들이 동기를 맞추는 데 걸리는 시간과 100주기 이내에 동기를 맞출 수 있는 확률을 분석하였다. 윈도우의 개수가 많아질수록 기존 PCS 알고리즘의 성능에 가까워질 수 있지만, 그만큼 연산을 하는 데 있어서 단말의 복잡도와 비용이 많이 필요하게 된다. 도 4를 통해 개선된 알고리즘을 통해 적은 수의 윈도우 만을 가질 수 있는 단순한 형태의 단말의 경우에도 충분히 짧은 시간 내에 분산 단말 동기를 맞출 수 있음을 확인할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (1)

  1. 해당 윈도우에서 수신된 신호 중 자신의 신호를 제외한 신호 중 시간적으로 가장 먼저 수신된 신호를 통해 클락을 수정함으로써 분산 동기 시스템에서 연산 능력이 낮은 단말의 펄스-커플링 동기화를 수행하는 방법.
KR1020190141916A 2019-11-07 2019-11-07 실제 구현을 위한 윈도우 펄스-커플링 동기화 방법 및 장치 KR20210055458A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190141916A KR20210055458A (ko) 2019-11-07 2019-11-07 실제 구현을 위한 윈도우 펄스-커플링 동기화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190141916A KR20210055458A (ko) 2019-11-07 2019-11-07 실제 구현을 위한 윈도우 펄스-커플링 동기화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20210055458A true KR20210055458A (ko) 2021-05-17

Family

ID=76158174

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190141916A KR20210055458A (ko) 2019-11-07 2019-11-07 실제 구현을 위한 윈도우 펄스-커플링 동기화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20210055458A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210055580A (ko) * 2019-11-07 2021-05-17 한국과학기술원 동기화 수행 방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210055580A (ko) * 2019-11-07 2021-05-17 한국과학기술원 동기화 수행 방법 및 장치

Similar Documents

Publication Publication Date Title
US10896165B2 (en) Management of snapshot in blockchain
Siegel et al. Recovery schemes for primitive variables in general-relativistic magnetohydrodynamics
KR20220054861A (ko) 신경망 모델의 트레이닝 방법 및 관련 제품
US20210295168A1 (en) Gradient compression for distributed training
US11468325B2 (en) Multi-model training pipeline in distributed systems
JP2021504680A (ja) コンピュータ実装方法、コンピュータ・プログラム製品および装置
US10936323B2 (en) Optimize control-flow convergence on SIMD engine using divergence depth
US9460243B2 (en) Selective importance sampling
US9882705B2 (en) Communication apparatus, communication method, and computer readable medium using propagation delay for time synchronization
KR20210055458A (ko) 실제 구현을 위한 윈도우 펄스-커플링 동기화 방법 및 장치
CN114866178A (zh) 一种基于步长的分布式仿真系统时间同步方法
US10380290B1 (en) Systems and methods for parallel transient analysis and simulation
KR101674324B1 (ko) 실시간 제어 응용에 적용되는 태스크 스케쥴링 장치 및 방법
US10360329B2 (en) Multi-cycle signal identification for static timing analysis
CN113570067B (zh) 分布式系统的同步方法、装置
US8341577B1 (en) Parallel circuit simulation with partitions
US20190349390A1 (en) Packet format inference apparatus and computer readable medium
Quaglia et al. Timing aspects in QEMU/SystemC synchronization
WO2018210419A1 (en) System and method of synchronizing distributed multi-node code execution
US10776249B2 (en) Flexible and in-line register comparison for bug analysis
US11531578B1 (en) Profiling and debugging for remote neural network execution
US9367656B1 (en) Method and apparatus for synchronizing circuits in an emulation system utilizing its serial interconnect network
KR20210055580A (ko) 동기화 수행 방법 및 장치
US9916163B2 (en) Method of synchronizing independent functional unit
KR101508522B1 (ko) 동기 오차 산출 장치 및 방법