The user-level communication is investigated by many researches, in order to resolve the performance degradation of cluster systems due to inefficient communication protocols. It removes the kernel from the critical communication path. Recently, Intel, Microsoft and Compaq introduce the Virtual Interface Architecture (VIA), a standard for user-level communication. However, the existing VIA implementation has low performance in sending or receiving small messages. This is because it uses a single mechanism to transfer messages without regard to their size.
In this thesis, we implement a high performance VIA, KVIA (Kaist VIA), which, based on descriptor and message size, adaptively selects a proper transfer mechanism during run-time. This implementation effectively handles not only large messages but also small messages. Thus, it can be better applied to the systems that frequently use small messages (e.g., software distributed shared memory (DSM)`s lock protocols). Regarding our KVIA implementation on Myrinet PC cluster, we obtain micro-benchmark results about round-trip latency and one-way bandwidth. Our results shows the round-trip latency of 40 micro-seconds and the maximum one-way bandwidth of 950 Mbits per second, which is about 74% of Myrinet link`s bandwidth, 1.28 Gbits per second.