Performance Evaluation of Finite Field Arithmetic Implementations in Network Coding

네트워크 코딩에서의 유한필드 연산의 구현과 성능 영향 평가

  • 이철우 (홍익대학교 컴퓨터공학과) ;
  • 박준상 (홍익대학교 컴퓨터공학과)
  • Published : 2008.03.31

Abstract

Using Network Coding in P2P systems yields great benefits, e.g., reduced download delay. The core notion of Network Coding is to allow encoding and decoding at intermediate nodes, which are prohibited in the traditional networking. However, improper implementation of Network Coding may reduce the overall performance of P2P systems. Network Coding cannot work with general arithmetic operations, since its arithmetic is over a Finite Field and the use of an efficient Finite Field arithmetic algorithm is the key to the performance of Network Coding. Also there are other important performance parameters in Network Coding such as Field size. In this paper we study how those factors influence the performance of Network Coding based systems. A set of experiments shows that overall performance of Network Coding can vary 2-5 times by those factors and we argue that when developing a network system using Network Coding those performance parameters must be carefully chosen.

P2P(Peer-to-Peer) 시스템에서의 네트워크 코딩 기법의 사용은 파일전송시간을 단축할 수 있는 등 여러 장점들이 존재한다. 네트워크 코딩 방식과 기존의 통신 방식과의 가장 큰 차이점은, 발신지와 목적지 노드에서만 수행하던 데이터의 부호화와 복호화가 네트워크 코딩 방식의 경우 중간경유 노드들에서도 수행된다는 것이다. 그러나 네트워크 코딩 기법은 소프트웨어적으로 어떻게 구현하느냐에 따라 그 장점이 상쇄될 수 있는 많은 요소들은 존재한다. 먼저, 네트워크 코딩에서의 연산은 유한필드에서 정의되기 때문에 연산을 구현할 때 일반 연산명령을 이용할 수 없고 유한필드 연산 알고리즘을 필요로 하고 알고리즘의 선택이 시스템 전제적인 성능에 큰 영향을 준다. 또한, 필드의 크기 등 시스템의 성능에 큰 영향을 미치는 다른 요소들이 존재한다. 본 논문에서는 위와 같은 요소들이 네트워크 코딩의 성능에 미치는 영향을 살펴본다. 보다 구체적으로는 실험을 통해 이러한 요소들이 각각 2-5배정도의 성능 차이를 줄 수 있다는 사실을 보여주고 따라서 이러한 성능 분석을 토대로 네트워크 코딩을 이용한 시스템의 설계 시에는 가능한 한 큰 필드 크기를 선택하는 등 각 요소별로 시스템 성능의 최대화를 이룰 수 있는 선택을 할 것을 제안한다.

Keywords