MDTP -- An Adaptive Multi-Source Data Transfer Protocol
Sepideh Abdollah, Craig Partridge, Susmit Shannigrahi
TL;DR
MDTP addresses the challenge of transferring large scientific datasets by leveraging multiple replicas through adaptive, bin-packing-based chunking. The protocol dynamically allocates variable-sized chunks to heterogeneous servers based on observed throughput, aiming to keep all concurrent transfers finishing in roughly the same time and to utilize all replicas fairly. A Python prototype using HTTP byte-range requests demonstrates that MDTP outperforms Aria2, BitTorrent, and static chunking under diverse conditions, with transfer-time savings up to about 22% over Aria2 and improved replica utilization. The work offers practical implications for high-volume data transfers in scientific communities, enabling faster, more balanced data dissemination across distributed infrastructures.
Abstract
Scientific data volume is growing in size, and as a direct result, the need for faster transfers is also increasing. The scientific community has sought to leverage parallel transfer methods using multi-threaded and multi-source download models to reduce download times. In multi-source transfers, a client downloads data from multiple replicated servers in parallel. Tools such as Aria2 and BitTorrent support such multi-source transfers and have shown improved transfer times. In this work, we introduce Multi-Source Data Transfer Protocol, MDTP, which further improves multi-source transfer performance. MDTP logically divides a file request into smaller chunk requests and distributes the chunk requests across multiple servers. Chunk sizes are adapted based on each server's performance but selected in a way that ensures each round of requests completes around the same time. We formulate this chunk-size allocation problem as a variant of the bin-packing problem, where adaptive chunking efficiently fills the available capacity "bins" corresponding to each server. Our evaluation shows that MDTP reduces transfer times by 10-22% compared to Aria2, the fastest alternative. Comparisons with other protocols, such as static chunking and BitTorrent, demonstrate even greater improvements. Additionally, we show that MDTP distributes load proportionally across all available replicas, not just the fastest ones, which improves throughput. Finally, we show MDTP maintains high throughput even when latency increases or bandwidth to the fastest server decreases.
