Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Hash based central agent workload partitioning for ceilometer

535 views

Published on

Describes a hash-based central agent workload partitioning for ceilometer

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Hash based central agent workload partitioning for ceilometer

  1. 1. Eoghan Glynn Hash-based partitioning: Sharing load without sharing (much) knowledge OpenStack Telemetry 1
  2. 2. The background ● inspired by the consistent hash-ring approach used to allocate nodes to conductors in Ironic ● the key idea is to allow the central agents to self- organize while sharing minimal information ● “blissful ignorance” is the key phrase in the BP spec 2
  3. 3. How does it work? ● multiple central agents start up ● tooz group membership primitives allow each agent to be aware of the existence of its peers ● an identical set of discovery extensions are loaded by each agent ● each discoverer attempts to discover all the resources ● but only polls the subset of those resources that it’s been assigned 3
  4. 4. Wait a minute, how does the agent know which resources it’s been assigned? ● each discovered resource has a resource ID ○ maybe a UUID, or IP addr, or something fabricated ● each individual agent uses its knowledge of the cardinality of the agent pool to size a bucket list for hashing ● we rely on the uniform distribution property of the hashing algorithm ● so each agent can answer the question independently: am I responsible for this thing? 4
  5. 5. What happens when an agent dies? Or a fresh agent is started? ● each agent registers a tooz group membership callback so is informed when the pool of live agents changes ● on join/leave events, the hash bucket-list is simply resized ● on the next polling cycle, each agent carves out a different disjoint subset to what went before ● overall we achieve coverage of all resources, modulo a single polling cycle 5
  6. 6. What are the keys win for this approach? ● light ● fast ● simple ● ignorant ● thrifty 6
  7. 7. 7

×