You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2015/06/13 18:10:00 UTC
[jira] [Commented] (KAFKA-2092) New partitioning for better load
balancing
[ https://issues.apache.org/jira/browse/KAFKA-2092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14584688#comment-14584688 ]
ASF GitHub Bot commented on KAFKA-2092:
---------------------------------------
GitHub user gdfm opened a pull request:
https://github.com/apache/kafka/pull/69
KAFKA-2092: New partitioning for better load balancing
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/gdfm/kafka KAFKA-2092
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/kafka/pull/69.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #69
----
commit ceaf4e3d4488e677ca584eca59d8d25ccb137f02
Author: Gianmarco De Francisci Morales <gd...@apache.org>
Date: 2015-06-13T15:59:15Z
Add PKG partitioner for load balancing
----
> New partitioning for better load balancing
> ------------------------------------------
>
> Key: KAFKA-2092
> URL: https://issues.apache.org/jira/browse/KAFKA-2092
> Project: Kafka
> Issue Type: Improvement
> Components: producer
> Reporter: Gianmarco De Francisci Morales
> Assignee: Jun Rao
> Attachments: KAFKA-2092-v1.patch
>
>
> We have recently studied the problem of load balancing in distributed stream processing systems such as Samza [1].
> In particular, we focused on what happens when the key distribution of the stream is skewed when using key grouping.
> We developed a new stream partitioning scheme (which we call Partial Key Grouping). It achieves better load balancing than hashing while being more scalable than round robin in terms of memory.
> In the paper we show a number of mining algorithms that are easy to implement with partial key grouping, and whose performance can benefit from it. We think that it might also be useful for a larger class of algorithms.
> PKG has already been integrated in Storm [2], and I would like to be able to use it in Samza as well. As far as I understand, Kafka producers are the ones that decide how to partition the stream (or Kafka topic).
> I do not have experience with Kafka, however partial key grouping is very easy to implement: it requires just a few lines of code in Java when implemented as a custom grouping in Storm [3].
> I believe it should be very easy to integrate.
> For all these reasons, I believe it will be a nice addition to Kafka/Samza. If the community thinks it's a good idea, I will be happy to offer support in the porting.
> References:
> [1] https://melmeric.files.wordpress.com/2014/11/the-power-of-both-choices-practical-load-balancing-for-distributed-stream-processing-engines.pdf
> [2] https://issues.apache.org/jira/browse/STORM-632
> [3] https://github.com/gdfm/partial-key-grouping
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)