초록
NGI나 Internet2와 같은 프로젝트로 인해 인터넷 백본 속도가 상당히 높아졌음에도 불구하고, 분산된 응용 프로그램들은 고성능의 네트워크를 제대로 활용하지 못하고 있다. 이러한 현상이 발생하는 원인으로 표준 전송 프로토콜(TCP)을 들 수 있다. TCP는 안전성/신뢰성을 보장하기 위해 설계되어 있으나, 이로 인해 발생될 수 있는 성능 저하에 관한 문제는 고려되지 않았다. 이러한 문제를 해결하고자 여러 기술들이 연구되고 있으며, 그 중 병렬 전송 기술은 응용레벨에서 다중 스트림을 이용하여 데이타를 전송하는 기술로써, 호환성 문제까지 해결하고 있다. 최근 병렬 전송 기술을 연구하는 연구자들은 최적의 병렬연결 개수의 범위를 찾는데 연구의 초점을 맞추고 있다. 그러나 이러한 연구들에서는 최적의 병렬연결 개수를 실험을 통해 경험적으로 결정하고 있으며, 데이타를 전송하는 호스트의 성능이나 전송 거리는 고려하지 않고 있다. 따라서 본 논문에서는 호스트의 성능과 병렬 전송과의 관계, 전송 거리와 병렬 전송 관계를 분석하고, 그 결과를 토대로 효율적이면서 최대 전송 성능을 확보할 수 있는 최적의 병렬연결 개수 결정 메커니즘을 논의하고자 한다.
Even though Internet backbone speeds have increased in the last few years due to projects like Internet 2 and NGI, many high performance distributed applications are able to achieve only a small fraction of the available bandwidth. The cause of such problem is due to a character of TCP/IP. The primary goal of this protocol is reliable data transmission. Therefore high speed data transmission didn't be considered when TCP/IP is designed. Hence several researchers have been studied in order to solve the problem of TCP/IP. One of these research results, parallel transfer technique, solves this problem to use parallel TCP connections on application level. Additionally, this technique is compatibility. Recently, these researchers have been studied a mechanism to decide the number of parallel TCP connections. However, some researchers reported the number of parallel TCP connection base on only empirical results. Although hardware performance of host affects transmission rate, the hardware performance didn't be considered in their works. Hence, we collect all data related to transmission rate, such as hardware state information (cpu utilization, interrupt, context switch). Then, we analyzed collected data. And, we suggest a new mechanism determining number of parallel TCP connections for maximization of performance based on our analysis.