Menu

Home

Shikhar Mall

The data transfer mechanisms typically employed in web-browsers, dedicated download managers, servers, etc are typically meant to utilize a single socket over the network. A receiver connects to network server(s) and initiates a data transfer stream. The traditional request-send-acknowledge policy is very conservative and hampers the performance of highly data-intensive applications.

The underlying network usually maintains a transfer window (TCP Protocol) which has a fixed maximum size. As a data transfer initiates, the window size is continuously incremented till it starts noticing data overflow, after which the window size is reduced to its half and the process is continued again. Problem is that the data loss/overflow can be due to various reasons and, so, the network is never able to utilize the full available bandwidth.

The downgrade in performance due to data transfer window re-size process can be overcome using parallel data streams. Concurrent I/O is initialed by dividing the entire data stream into smaller segments, then, each segment is retrieved on its own network (TCP) connection. However, if we strain the socket too much by initiating more than optimal number of current I/O, then, the overall performance of the mechanism starts reducing. This happens because each I/O request adds a considerable amount of overhead to the retrieval process.

Some advanced multi-threaded file downloaders utilize this scheme by transferring data in smaller concurrent streams. This works much better than single socket data transfer mechanisms. Still a problem which this approach is that the concurrency index is never adjusted according to the current network conditions, instead, they are set to a static constant value throughout the retrieval process.

This project demonstrates a mechanism by which the concurrency index can be adaptively changed on-the fly during the file-retrieval process, according to the current network performance. This in-turn maximizes the network throughput.

Project Members: