Phoenix network coordinates
Phoenix is a decentralized network coordinate system based on the matrix factorization model.
Background
- Network coordinate systems are an efficient mechanism for internet distance prediction with scalable measurements. For a network with N hosts, by performing O measurements, all N*N distances can be predicted.
- Use cases: Vuze BitTorrent, application layer multicast, PeerWise overlay, multi-player online gaming.
- Triangle inequality violations widely exist on the Internet due to sub-optimal internet routing.
Model
- Most of the prior NC systems use the Euclidean distance model, i.e. embed N hosts into a d-dimensional Euclidean space Rd. Due to the wide existence of TIVs on the internet, the prediction accuracy of such systems is limited. Phoenix uses a matrix factorization model, which does not have the constraint of TIV.
- The linear dependence among the rows motivates the factorization of internet distance matrix, i.e. for a system with internet nodes, the internet distance matrix D can be factorized into two smaller matrices. where and are matrices. This matrix factorization is essentially a problem of linear dimensionality reduction and Phoenix tries to solve it in a distributed way.
Design choices in Phoenix
- Different from the existing MF based NC systems such as IDES and DMF, Phoenix introduces a weight to each reference NC and trusts the NCs with higher weight values more than the others. The weight-based mechanism can substantially reduce the impact of the error propagation.
- For node discovery, Phoenix uses a distributed scheme, so-called peer exchange, which is used in BitTorrent (protocol). The usage of PEX reduces the load of the tracker, while still ensuring the prediction accuracy under node churn.
- Similar to DMF, for avoiding the potential drift of the NCs, Regularization (mathematics) is introduced in NC calculation.
- NCShield is a decentralized, goosip-based trust and reputation system to secure Phoenix and other matrix factorization-based NC systems.