All of lore.kernel.org
 help / color / mirror / Atom feed
From: Loic Dachary <loic@dachary.org>
To: Sage Weil <sweil@redhat.com>,
	Ceph Development <ceph-devel@vger.kernel.org>
Subject: storing multiple weights in crush
Date: Mon, 27 Mar 2017 18:45:46 +0200	[thread overview]
Message-ID: <e731d3ad-4cde-2f12-0871-962c46df698a@dachary.org> (raw)

Hi Sage,

I added a proposal[1] to the next CDM[2] to be able to store and use multiple weights for each item in the crushmap. 

I'm not sure about the naming (probabilities is a long word...) but it would be good to not have a third variable named weight with yet another meaning. Although we could modify the builder functions, I'm not sure this is a good idea. They are not complete enough to hide the crush data structures and it is probably enough to document the new data members. And the caller can allocate it and fill it after creating a bucket. In practice that is going to be used by CrushWrapper or python-crush which will define an API.

It is probably best if the crush modification is the bare minimum:

- allowing the choose function to pick a probability from a table indexed by the round instead of relying on a single weight
- storing the probability table in each item

Feel free to modify the pad if you have other ideas, this is a first draft done today and I won't be offended if it is discarded ;-)

Cheers

[1] http://pad.ceph.com/p/crush-multiweight
[2] http://tracker.ceph.com/projects/ceph/wiki/CDM_05-APR-2017

-- 
Loïc Dachary, Artisan Logiciel Libre

             reply	other threads:[~2017-03-27 16:45 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-27 16:45 Loic Dachary [this message]
2017-03-27 23:16 ` storing multiple weights in crush Sage Weil
2017-03-28 10:27   ` Loic Dachary
2017-04-04 10:10     ` Loic Dachary
2017-04-06  7:10 ` Loic Dachary
2017-04-06 13:20   ` Sage Weil

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e731d3ad-4cde-2f12-0871-962c46df698a@dachary.org \
    --to=loic@dachary.org \
    --cc=ceph-devel@vger.kernel.org \
    --cc=sweil@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.