[ 
https://issues.apache.org/jira/browse/GIRAPH-11?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13150137#comment-13150137
 ] 

Hudson commented on GIRAPH-11:
------------------------------

Integrated in Giraph-trunk-Commit #31 (See 
[https://builds.apache.org/job/Giraph-trunk-Commit/31/])
    GIRAPH-11: Improve the graph distribution of Giraph. (aching)

aching : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1201987
Files : 
* /incubator/giraph/trunk/CHANGELOG
* /incubator/giraph/trunk/pom.xml
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/benchmark/PseudoRandomVertexInputFormat.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/bsp/CentralizedServiceWorker.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/comm/BasicRPCCommunications.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/comm/CommunicationsInterface.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/comm/RPCCommunications.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/comm/ServerInterface.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/comm/WorkerCommunications.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/examples/GeneratedVertexInputFormat.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/examples/GeneratedVertexReader.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/examples/MaxAggregator.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/examples/MinAggregator.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/examples/SimpleMutateGraphVertex.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/examples/SimpleSuperstepVertex.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/examples/SuperstepBalancer.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/examples/VerifyMessage.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/AutoBalancer.java
* /incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/BasicVertex.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/BasicVertexRangeBalancer.java
* /incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/BspService.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/BspServiceMaster.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/BspServiceWorker.java
* /incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/BspUtils.java
* /incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/GiraphJob.java
* /incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/GlobalStats.java
* /incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/GraphMapper.java
* /incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/GraphState.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/LongDoubleFloatDoubleVertex.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/MutableVertex.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/StaticBalancer.java
* /incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/Vertex.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/VertexEdgeCount.java
* /incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/VertexRange.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/VertexRangeBalancer.java
* /incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/WorkerInfo.java
* /incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/partition
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/partition/BasicPartitionOwner.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/partition/GraphPartitionerFactory.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/partition/HashMasterPartitioner.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/partition/HashPartitionerFactory.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/partition/HashRangePartitionerFactory.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/partition/HashRangeWorkerPartitioner.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/partition/HashWorkerPartitioner.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/partition/MasterGraphPartitioner.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/partition/Partition.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/partition/PartitionBalancer.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/partition/PartitionExchange.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/partition/PartitionOwner.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/partition/PartitionStats.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/partition/PartitionUtils.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/partition/RangeMasterPartitioner.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/partition/RangePartitionOwner.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/partition/RangePartitionStats.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/partition/RangePartitionerFactory.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/partition/RangeSplitHint.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/partition/RangeWorkerPartitioner.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/graph/partition/WorkerGraphPartitioner.java
* 
/incubator/giraph/trunk/src/main/java/org/apache/giraph/utils/WritableUtils.java
* /incubator/giraph/trunk/src/main/java/org/apache/giraph/zk/ZooKeeperExt.java
* 
/incubator/giraph/trunk/src/test/java/org/apache/giraph/TestGraphPartitioner.java
* 
/incubator/giraph/trunk/src/test/java/org/apache/giraph/TestMutateGraphVertex.java
* 
/incubator/giraph/trunk/src/test/java/org/apache/giraph/TestVertexRangeBalancer.java

                
> Improve the graph distribution of Giraph
> ----------------------------------------
>
>                 Key: GIRAPH-11
>                 URL: https://issues.apache.org/jira/browse/GIRAPH-11
>             Project: Giraph
>          Issue Type: Improvement
>    Affects Versions: 0.70.0
>            Reporter: Avery Ching
>            Assignee: Avery Ching
>         Attachments: GIRAPH-11.2.diff, GIRAPH-11.3.diff, GIRAPH-11.4.diff, 
> GIRAPH-11.diff
>
>
> Currently, Giraph assumes that the data from the VertexInputFormat is sorted. 
>  If the user data is not sorted by the vertex id, they must first run a 
> MapReduce or Pig job to generate a sorted dataset.  This is often a bit 
> inconvenient.
> Giraph graph partitioning is currently range based and there are some 
> advantages and disadvantages of this approach.  The proposal of this JIRA 
> would be to allow for both range and hash based partitioning and provide more 
> flexibility to the user.
> Design goals for the graph distribution:
> * Allow vertices to be unordered or unordered
> * Ability to repartition
> * Select the partitioning scheme based on user needs (i.e. hash or range 
> based)
> * Ability to provide user-specific hints about partitions
> Hash-based partitioning
> * Good vertex balancing across ranges for random data
> * Bad at vertex id locality
> Range-based partitioning
> * Good at vertex id locality
> * Ability to split ranges easily
> * Can cause hotspots for hot ranges

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to