  Storage systems using Peer-to-Peer (P2P) architecture are an alternative to
the traditional client-server systems. They offer better scalability and fault
tolerance while at the same time eliminate the single point of failure. The
nature of P2P storage systems (which consist of heterogeneous nodes) introduce
however data placement challenges that create implementation trade-offs (e.g.,
between performance and scalability). Existing Kademlia-based DHT data
placement method stores data at closest node, where the distance is measured by
bit-wise XOR operation between data and a given node. This approach is highly
scalable because it does not require global knowledge for placing data nor for
the data retrieval. It does not however consider the heterogeneous performance
of the nodes, which can result in imbalanced resource usage affecting the
overall latency of the system. Other works implement criteria-based selection
that addresses heterogeneity of nodes, however often cause subsequent data
retrieval to require global knowledge of where the data stored. This paper
introduces Residual Performance-based Data Placement (RPDP), a novel data
placement method based on dynamic temporal residual performance of data nodes.
RPDP places data to most appropriate selected nodes based on their throughput
and latency with the aim to achieve lower overall latency by balancing data
distribution with respect to the individual performance of nodes. RPDP relies
on Kademlia-based DHT with modified data structure to allow data subsequently
retrieved without the need of global knowledge. The experimental results
indicate that RPDP reduces the overall latency of the baseline Kademlia-based
P2P storage system (by 4.87%) and it also reduces the variance of latency among
the nodes, with minimal impact to the data retrieval complexity.
