• No results found

A Generic API for Load Balancing in Structued P2P Systems

N/A
N/A
Protected

Academic year: 2021

Share "A Generic API for Load Balancing in Structued P2P Systems"

Copied!
27
0
0

Loading.... (view fulltext now)

Full text

(1)

A Generic API for Load

A Generic API for Load

Balancing in Structued P2P

Balancing in Structued P2P

Systems

Systems

Maeva Antoine, Laurent Pellegrino, Fabrice Huet and Françoise Baude

(2)

Motivation

Motivation

P2P: large scale solution for Big Data

management systems (Cassandra, CouchDB…)

 However, key issue with distributed

systems: Load Balancing

(3)

Load Imbalance Issues

Load Imbalance Issues

When managing real world datasets:

 Very biased data (ex: Unicode)

A Z Ω भभ भ

 Large workloads sent to very few nodes  Churn

 Heterogeneity between peers

(4)

Load Balancing Solutions

Load Balancing Solutions

 Plenty of existing load balancing

strategies

 Hard to anticipate the most efficient

strategy for a particular system

 Many parameters to take into account

(5)

Summary

Summary

 Criteria to choose a load balancing strategy

 How existing papers match our criteria  API for load balancing

(6)

How to Build a Strategy

How to Build a Strategy

 How is load information exchanged?  How to trigger load balancing?

 What should be balanced?

(7)

How to Build a Strategy

How to Build a Strategy

How is load information exchanged?

 Load information exchange? What, how and when

(8)

How to Build a Strategy

How to Build a Strategy

How to trigger load balancing?

 Load criteria? Resource (CPU, disk space, ...) &

operation (item lookup, insertion, ...)

 Load state estimation? How to estimate load

 Load balancing decision? When to trigger rebalance

(9)

How to Build a Strategy

How to Build a Strategy

What has to be moved?

 Load balancing method? How to balance load  Load to move? What and how much to move

(10)

3 different strategies

Among the most cited for this topicDifferences:

◦Load balancing triggered after various events

◦Context: pub/sub, virtual servers, data storage

Existing Load Balancing Strategies

(11)

Strategy #1

Strategy #1

 Rao et al. (Berkeley)

Nodes maintaining a directory

Nodes sending their load information

P1 P2

D1 D2

P1:

load > threshold?  yes

(12)

Strategy #1

Strategy #1

How is load information exchanged?

Periodic push and pull calls from peers to directories.

How to trigger load balancing?

Periodically compare virtual servers load with internal threshold.

What has to be moved?

Transfer a virtual server to a light node.

(13)

Strategy #2

Strategy #2

 Gupta et al. (University of California)

P1 P3 P2 Split with P2 New peer

(14)

Strategy #2

Strategy #2

 Gupta et al. (University of California)

P1

P3

P2

(15)

Strategy #2

Strategy #2

 Gupta et al. (University of California)

P1

P3

P2

(16)

Strategy #2

Strategy #2

How is load information exchanged?

Periodic push calls between peers.

How to trigger load balancing?

When a new peer joins the system: find the most loaded with subscriptions.

What has to be moved?

Half of the heavy peer’s area to the new peer.

(17)

Strategy #3

Strategy #3

 Byers et al. (Boston & Harvard University)

P0 P1 P2 P3 Hash1( ) = P1 Hash2( ) = P2

(18)

Strategy #3

Strategy #3

How is load information exchanged?

Hash_n(item) to contact n peers.

How to trigger load balancing?

When inserting an item: find the least loaded peer among n.

What has to be moved?

The item to insert to the lightest node.

(19)

Load Balancing Implementation

Load Balancing Implementation

Many different criteria

=

Many strategies possible

=

Many specific implementations

Identify key points for a generic API to

(20)

Generic API Components

Generic API Components

20 How is information exchanged? How to trigger load balancing? What has to be moved?

(21)

Use Case: Event Cloud

Use Case: Event Cloud

Continuous storage and retrieval in a Big

Data environment

Distributed RDF quadruple store (Semantic web)

(22)

Implementation on Event Cloud

Implementation on Event Cloud

Load information exchange: ◦ None (internal threshold)

◦ With neighbors

 Load criteria:

◦ Number of items per peer

◦ CPU used for subscription matching

10 lines of code required to modify strategy

22 make_decision() { if (load > threshold) … } make_decision() { if (load > get_neighbors_load()) … }

(23)

Middle vs. Centroid Split:

Implementation on Event Cloud

Implementation on Event Cloud

Peer managing data (blue dots)

New peer joins at Middle value

P1.select_load_to_move(){

get_data_from_middle()

}

New peer

(24)

24

Middle vs. Centroid Split:

Implementation on Event Cloud

Implementation on Event Cloud

Peer managing data (blue dots)

New peer joins at Centroid value

New peer

P1.select_load_to_move(){

get_data_from_centroid()

}

(25)

Distribution among 32 peers Number of

Quadruples per peer

Implementation on Event Cloud

(26)

Conclusion

Conclusion

Flexible API

Separation with the rest of the code

Implemented on our storage system

Compatible with famous existing strategies

Principles applicable on non P2P systems

(27)

The End

The End

Thank you! Questions?

References

Related documents

This paper analyzes the existing shortcomings of the current load balancing scheme of web serveran improved scheme of load balancing is proposed and putted into practice, the new

ORTHOPAEDIC SURGERY FOR THE LOWER LIMBS IN CHILDREN WITH CEREBRAL

Progress made in the chemical sciences will clearly be critical to: future advances in environmentally benign and more sustainable energy production, storage and supply; increased

The first aim of our study was to screen some lactic acid bacteria on the basis of probiotic characteristics (resistance to intestinal conditions, inhibition of pathogenic

Load balancing balances the load of incoming network traffic and distributes the requests to the servers that best can handle them.. Load balancing is mainly used for scalability

(Opposing Side) Blade Finish or Blend Finish operation dialog box→Drive Method group→Edit → Blade Finish Drive Method or Blend Finish Drive Method dialog box→Cut

The CNG is compressed to 200 Bar, this fuel has been already tested, since in 2009, it has been identified more than 10,5 millions vehicles running with this fuel in the

Configuring Load Balancing Load Balancing Topology Entity Management Creating Servers Creating Services Creating Virtual Servers Creating Entity Templates Service