Open Stack

Open Stack

 
RELIABILITY & SATISFACTION
home

Newsletter

창조와 혁신을 통해서 세상의 변화를 만들어 나가겠습니다.
board view
제목 OSBE-1000, 지연시간과 CPU 사용량을 모두 개선한 에러복원 기술을 특허 등록 받다
글쓴이 최고관리자
날짜 2020-11-09

작년 8월 오픈스택 뉴스레터에 "지연시간을 개선한 '랩터 Q 에러 복원 기술'을 특허 출원" 했다는 기사를 소개한 적이 있다. 

이 기술과 이를 한층 개선한 기술 두 건이 2019년 9월과 2020년 8월 각각 특허 등록됐고, 이에 관해 간략히 설명하고자 한다.



[그림 1. 2019년 9월 '인코딩 지연 시간이 개선된 랩터 Q 인코딩 장치 및 방법'. 2020년 8월 '랩터 Q 인코딩을 위한 연산 리스트를 소스 심볼의 생성 순서에 따라 재배열하는 방법 및 장치' 특허증]


오픈스택의 OSBE-1000 에는 네트워크 전송 도중에 손실된 패킷으로 인해 발생할 수 있는 에러를 복원하는 기능이 구현되어 있다. 전송 도중에 일어날 수 있는 손실에 대비해 에러 복원에 필요한 데이터를 미리 생성해 원본 데이터와 같이 보내는 방식이다.

송신측에서는 원본 데이터로부터 중간 계산을 거쳐 복원용 데이터를 생성하는 절차를 거치므로 복원용 데이터가 생성되기까지 시간지연이 있고, 수신측에서도 복원용 데이터가 모두 수신된 후에야 원본 데이터 재생에 들어갈 수 있어 지연시간은 필연적으로 발생할 수밖에 없었다.



[그림 2. 랩터 Q 에러 복원 기술의 지연시간 발생과 개선]


기존의 기술은, 원본 데이터가 모두 생성됐다는 전제하에 그 후에 중간 계산으로 거쳐 복구용 데이터를 생성한다.

중간 계산은 리스트에 따른 수만 회의 반복 계산으로 이루어졌고 중간 계산만 완료되면 복구용 데이터는 필요한 양만큼 짧은 시간에 생성할 수 있어 중간 계산에 걸리는 시간이 지연시간의 대부분이다.


실시간으로 인코딩이 이루어지는 OSBE-1000 같은 장비에서는, 원본 데이터가 완전히 생성되기 전이라도 그때까지 생성된 일부 원본 데이터로 연산이 가능한 중간 계산을 미리 해 둠으로써, 원본 데이터가 완전히 생성되기 직전까지 중간 계산의 90%를 미리 해두어 지연 시간을 줄인 것이 특허의 요지이다.


2019년 9월에 등록된 특허는 중간 계산 리스트 내의 연산 중에서 그때까지 생성된 일부 원본 데이터만으로 연산이 가능한 연산을 실시간으로 찾는 방법을 썼으나, 중간 계산 리스트 내용을 매번 참조해야 해서 CPU 사용량이 늘어나는 단점이 있었다. (지연시간 단축의 이득은 있었으나 CPU 사용량이 증가)

2020년 8월에 등록된 특허는 중간 계산 리스트를 한차례 재배열해 두었다가, 실시간으로 생성되는 원본 데이터에 따라 순차적으로 연산만 해주면 되도록 개선하였다. (CPU 사용량 증가 없이 지연시간 단축의 이득만 있음)


이 특허의 효과는 지연시간 개선 외에도 CPU 사용량이 비교적 적은 원본 데이터 생성 시간 동안, 연산량이 많은 중간 계산의 대부분을 미리 해 둠으로써 CPU 사용에 여유가 생기는 점이다.


지난 8월 KOLAS 공인 인증 시험에서도 확인했다시피, 패킷 손실률이 50%인 네트워크 환경에서도 OSBE-1000의 에러 복원 기술이 성공적으로 동작했으며, 패킷 손실률이 10%인 환경에서 총 50곳에 에러 복구용 데이터를 보내 모두 성공적으로 재생할 수 있었던 것도, 본 특허를 적용해 CPU의 사용량을 분산했기에 가능했었다.



[그림 3. 2020년 8월 31일 발급된 KOLAS 공인시험성적서]



[그림 4. KOLAS 공인 시험성적서 p47 중]



[그림 5. KOLAS 공인 시험성적서 p42 중]



[그림 6. KOLAS 공인 시험성적서 p55 중]



[그림 7. KOLAS 공인 시험성적서 p55 중]


지연시간도 감소하면서 복원용 데이터를 여유 있게 생성할 수 있는 특허를 적용한 OSBE-1000은 네트워크 손실에 훨씬 유연하게 대응할 수 있으며, 이에 대비하는 설계에 효과적으로 쓰일 수 있을 것이다.