390 likes | 538 Views
The Little Engine(s) That Could: Scaling Online Social Networks. B99106017 圖資三 謝宗昊. Outline. Background SPAR Evaluation and Comparison Conclusion. Outline. Background SPAR Evaluation and Comparison Conclusion. New challenge for system design.
E N D
The Little Engine(s) That Could:Scaling Online Social Networks B99106017 圖資三 謝宗昊
Outline • Background • SPAR • Evaluation and Comparison • Conclusion
Outline • Background • SPAR • Evaluation and Comparison • Conclusion
New challenge for system design • Online Social Networks(OSNs) are hugely interconnected • OSNs grow rapidly in a short period of time • Twitter grew by 1382% between Feb And Mar 2009 • Cause costly re-architecting for service • Conventional vertical scaling is not a good solution • Horizontal scaling leads to interconnecting issue • Performance bottleneck
Designer’s Dilemma • Commit resources to develop the feature + Appealing feature to attract new user - “Death by success” • Ensure the scalability first + Low risk on “Death by success” - Hard to compete with other creative competitors
Outline • BackGround • SPAR • Evaluation and Comparison • Conclusion
SPAR • A Social Partitioning And Replication middle-ware for social applications.
What does SPAR do and not do? DO • Solves the Designer’s Dilemma for early stage OSNs • Avoids performance bottlenecks in established OSNs. • Minimizes the effect of provider lock-ins NOT DO • Not designed for the distribution of content such as pictures and videos • Not the solution for storage or for batch data analysis such as Hadoop
How does SPAR do it? • Provides local semantics • Handles node and edge dynamics with minimal overhead • Serves more requests while reducing network traffic
Problem Statement • Maintain local semantics • Balance loads • Be resilient to machine failures • Be amenable to online operation • Be stable • Minimize replication overhead
Why not graph/social partitioning? • Not incremental • Community detection is too sensitive • Reduce inter-partition edges ≠ Reduction of replicas
Description • Node addition/removal • Edge addition/removal • Server addition/removal
Node addition/removal Node Addition • New node to the partition with fewest master replicas Node Removal • The master and all slaves should be removed • The node have and edge with it should be updated
Edge addition/removal Edge Addition: Three possible configurations • No movement of master • Master of u goes to the partition containing master of v • Master of v goes to the partition containing master of u Edge Removal • Remove the replica of u in the partition holding the master of node v if no other requires it
Server addition/removal Server Addition: Two solution • Force redistribution for load balance immediately • Redistributing the master by node/edge processes Server Removal • The highly connected nodes choose the server first
Implementation • SPAR is a middle-ware(MW) between datacenter and application • SPAR includes 4 components: • Directory service (DS) • Local Directory Service (LDS) • Partition Manager (PM) • Replication Manager (RM)
Outline • Background • SPAR • Evaluation and Comparison • Conclusion
Evaluation methodology Metrics • Replication overhead • K-redundancy requirement Dataset • Twitter: 12M tweet generated by 2.4M users • Facebook: 60,290 nodes and 1,545,686 edges • Orkut: 3M nodes and 223M edges
Evaluation methodology Algorithm for comparison • Random Partitioning • Solutions used by Facebook, Twitter • Graph Partitioning (METIS) • Minimize inter-partition edges • Modularity Optimization (MO+) algorithm • Community detection
Adding/Removing Server • Adding server has two policies: • Wait for new arrivals to fiull up the server • Re-distribute existing master from other server into the new server
Adding/Removing Server • Removing Server • Average number of movements: 485k • Overhead increases from 2.74 to 2.87 • Reduce overhead to 2.77 if additional 180k transmissions • Painful but not common to scale down
SPAR IN THE WILD • Testbed: 16 low-end commodity servers • Pentium Duo CPU 2.33GHz • 2GB of RAM • Single hard drive • Evaluation with Cassandra • Evaluation with MySQL
Outline • Background • SPAR • Evaluation and Comparison • Conclusion
Conclusion • Preserving local semantics has many benefit • SPAR can achieve it in low replication overhead • SPAR can deal with the dynamics experienced by an OSN gracefully • Evaluation with RDBMS(MySQL) and a Key-Value Store(Cassandra) shows that SPAR offer significant gains in throughput(req/s) while reducing network traffic • To sum up, SPAR would be a good solution for Scaling OSNs.
Reference • http://www.cl.cam.ac.uk/~ey204/teaching/ACS/R202_2011_2012/presentation/S6/Arman_SPAR.pdf - ArmanIdani