39
THE LITTLE ENGINE(S) THAT COULD: SCALING ONLINE SOCIAL NETWORKS B99106017 圖圖圖 圖圖圖

The Little Engine(s) That Could: Scaling Online Social Networks

  • Upload
    karah

  • View
    19

  • Download
    0

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: The  Little Engine(s) That Could: Scaling Online Social Networks

THE LITTLE ENGINE(S) THAT COULD:SCALING ONLINE SOCIAL NETWORKS

B99106017 圖資三 謝宗昊

Page 2: The  Little Engine(s) That Could: Scaling Online Social Networks

Outline• Background• SPAR• Evaluation and Comparison• Conclusion

Page 3: The  Little Engine(s) That Could: Scaling Online Social Networks

Outline• Background• SPAR• Evaluation and Comparison• Conclusion

Page 4: The  Little Engine(s) That Could: Scaling Online Social Networks

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

Page 5: The  Little Engine(s) That Could: Scaling Online Social Networks

Full Replication

Page 6: The  Little Engine(s) That Could: Scaling Online Social Networks

Random Partition (DHT)

Page 7: The  Little Engine(s) That Could: Scaling Online Social Networks

Random Partition (DHT) with replication of the neighbors

Page 8: The  Little Engine(s) That Could: Scaling Online Social Networks

SPAR

Page 9: The  Little Engine(s) That Could: Scaling Online Social Networks

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

Page 10: The  Little Engine(s) That Could: Scaling Online Social Networks

Outline• BackGround• SPAR• Evaluation and Comparison• Conclusion

Page 11: The  Little Engine(s) That Could: Scaling Online Social Networks

SPAR• A Social Partitioning And Replication middle-ware for

social applications.

Page 12: The  Little Engine(s) That Could: Scaling Online Social Networks

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

Page 13: The  Little Engine(s) That Could: Scaling Online Social Networks

How does SPAR do it?• Provides local semantics• Handles node and edge dynamics with minimal overhead• Serves more requests while reducing network traffic

Page 14: The  Little Engine(s) That Could: Scaling Online Social Networks

Problem Statement• Maintain local semantics• Balance loads• Be resilient to machine failures• Be amenable to online operation• Be stable• Minimize replication overhead

Page 15: The  Little Engine(s) That Could: Scaling Online Social Networks

Why not graph/social partitioning?• Not incremental• Community detection is too sensitive• Reduce inter-partition edges ≠ Reduction of replicas

Page 16: The  Little Engine(s) That Could: Scaling Online Social Networks

Description• Node addition/removal• Edge addition/removal• Server addition/removal

Page 17: The  Little Engine(s) That Could: Scaling Online Social Networks

Node addition/removalNode 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

Page 18: The  Little Engine(s) That Could: Scaling Online Social Networks

Edge addition/removalEdge 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

Page 19: The  Little Engine(s) That Could: Scaling Online Social Networks

Edge addition

Page 20: The  Little Engine(s) That Could: Scaling Online Social Networks

Server addition/removalServer 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

Page 21: The  Little Engine(s) That Could: Scaling Online Social Networks

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)

Page 22: The  Little Engine(s) That Could: Scaling Online Social Networks

Implementation

Page 23: The  Little Engine(s) That Could: Scaling Online Social Networks

Outline• Background• SPAR• Evaluation and Comparison• Conclusion

Page 24: The  Little Engine(s) That Could: Scaling Online Social Networks

Evaluation methodologyMetrics• 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

Page 25: The  Little Engine(s) That Could: Scaling Online Social Networks

Evaluation methodologyAlgorithm for comparison• Random Partitioning

• Solutions used by Facebook, Twitter• Graph Partitioning (METIS)

• Minimize inter-partition edges• Modularity Optimization (MO+) algorithm

• Community detection

Page 26: The  Little Engine(s) That Could: Scaling Online Social Networks

Evaluation of replication overhead

Page 27: The  Little Engine(s) That Could: Scaling Online Social Networks

SPAR Versus Random for K=2

Page 28: The  Little Engine(s) That Could: Scaling Online Social Networks

Dynamic operations and SPAR

Page 29: The  Little Engine(s) That Could: Scaling Online Social Networks

Dynamic operations and SPAR

Page 30: The  Little Engine(s) That Could: Scaling Online Social Networks

Adding/Removing Server• Adding server has two policies:

1. Wait for new arrivals to fiull up the server2. Re-distribute existing master from other server into the new

server

Wait for new arrival

Re-distribute

Started with 32 servers

overhead 2.78 2.82 2.74

Page 31: The  Little Engine(s) That Could: Scaling Online Social Networks

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

Page 32: The  Little Engine(s) That Could: Scaling Online Social Networks

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

Page 33: The  Little Engine(s) That Could: Scaling Online Social Networks

Evaluation with Cassandra

Page 34: The  Little Engine(s) That Could: Scaling Online Social Networks

Evaluation with MySQL

Full Replication SPAR99th percentiles of the response time without insertion of updates

152ms for 16 req/s 150ms for 2,500 req/s

Full Replication SPAR95th percentiles of the response time with insertion of updates

N/A(Too poor) 260ms for 50 read req/s380ms for 200 read req/s

Page 35: The  Little Engine(s) That Could: Scaling Online Social Networks

Outline• Background• SPAR• Evaluation and Comparison• Conclusion

Page 36: The  Little Engine(s) That Could: Scaling Online Social Networks

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.

Page 38: The  Little Engine(s) That Could: Scaling Online Social Networks

Q&A time

Page 39: The  Little Engine(s) That Could: Scaling Online Social Networks

Thanks for Listening