S-PUT: Optimizing Distributed Social Storage via Socially Aware Data Partitioning
Socially aware data partitioning for distributed storage of social data
This paper introduces S-PUT, an evolutionary algorithm (EA)-based framework for data partitioning in Online Social Networks (OSNs). By modeling sharding as a multi-objective optimization problem, S-PUT achieves state-of-the-art trade-offs between server efficiency (read load) and load balancing (write load).
TL;DR
The rapid growth of Online Social Networks (OSNs) demands horizontal scaling across multiple servers. However, random sharding (DHT) ignores "Social Locality," causing performance bottlenecks when fetching friends' data. S-PUT is a novel framework that bridges the gap between graph partitioning and evolutionary algorithms, reducing server read traffic by over 50% while ensuring perfect load balance.
The Sharding Paradox: Locality vs. Balance
In a distributed social storage system, we face a fundamental conflict. If we store all socially connected users on one server, we minimize network I/O (Read Load), but the server becomes a bottleneck (Load Imbalance). If we distribute users randomly, we balance the load but force the system to contact numerous servers for a single "news feed" query.
Existing solutions like METIS (graph partitioning) focus primarily on minimizing "edge cuts"—the social links between servers. However, they treat all edges as equal, ignoring that some users are more active readers or writers than others.
Methodology: The S-PUT Framework
The authors propose S-PUT, which treats partitioning as a Multi-Objective Optimization problem. The goal is to minimize two competing vectors:
- Total Read Load (): Influenced by read rates and social bond strengths.
- Write Load Imbalance (): Measured by the Gini Coefficient.
1. The Hybrid Architecture
S-PUT's secret sauce is its two-phase approach. Standard Evolutionary Algorithms (EA) struggle with large social graphs because the search space () is astronomical.
- Phase 1: Initial Partitioning: Instead of starting with random noise, S-PUT uses METIS with different random seeds to generate a "high-quality" initial population.
- Phase 2: Final Partitioning (SPEA2): It employs the Strength Pareto Evolutionary Algorithm 2 (SPEA2) to evolve these candidates. It uses recombination (crossover) and mutation to explore the Pareto front—the set of solutions where you cannot improve one objective without hurting the other.
The figure illustrates how S-PUT/METIS clusters (lower left) outperform the scattered RANDOM/SPEA2 results in the objective space.
2. Physical Intuition of the Math
The Read Load formula essentially counts the probability of a user needing data from neighbor that isn't on the same server. By weighting these edges with , S-PUT prioritizes keeping "high-activity" social pairs together.
Experimental Performance
The authors tested S-PUT against two real-world datasets: Facebook (New Orleans) and Gowalla.
- Superior Efficiency: S-PUT achieved a total read load that was only 52% of the random partitioning baseline.
- Beating the Gold Standard: While METIS is a powerful heuristic, S-PUT improved upon METIS results by 20-26% because the evolutionary process fine-tuned the partitions for actual workload rates rather than just topological balance.
- Convergence: S-PUT reached these superior results in 100 generations, proving that a "warm start" with graph heuristics makes EA viable for large systems.
In this Pareto front visualization, S-PUT (bottom-left) clearly dominates the other methods, providing the lowest read load for any given balance level.
Critical Insight: Beyond Topology
The true value of this work lies in its recognition that OSN data is not just a graph—it's a workload. By incorporating read/write rates and social bond "strengths" into the optimization, S-PUT handles the heterogeneity of human behavior that pure graph partitioning algorithms miss.
Limitations & Future Work
- Scalability: While 50 minutes for 200k nodes is acceptable for offline re-partitioning, scaling to billions of users would require a hierarchical approach (partitioning into subgraphs first).
- Network Topology: Currently, the model assumes all inter-server communication costs are equal. In geo-distributed data centers, this is rarely true, and future iterations must account for variable latency.
Conclusion
S-PUT demonstrates that for complex, multi-objective problems like social data sharding, the best engine is a hybrid one. By seeding evolutionary algorithms with sophisticated graph heuristics, we can achieve efficiency gains that neither pure topology-based nor pure search-based methods can match.
