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

ASF GitHub Bot commented on STORM-297:
--------------------------------------

Github user revans2 commented on a diff in the pull request:

    https://github.com/apache/incubator-storm/pull/103#discussion_r12811601
  
    --- Diff: storm-core/src/clj/backtype/storm/daemon/worker.clj ---
    @@ -109,25 +111,30 @@
     (defn mk-transfer-fn [worker]
       (let [local-tasks (-> worker :task-ids set)
             local-transfer (:transfer-local-fn worker)
    -        ^DisruptorQueue transfer-queue (:transfer-queue worker)]
    +        ^DisruptorQueue transfer-queue (:transfer-queue worker)
    +        task->node+port (:cached-task->node+port worker)]
         (fn [^KryoTupleSerializer serializer tuple-batch]
           (let [local (ArrayList.)
    -            remote (ArrayList.)]
    +            remoteMap (HashMap.)]
             (fast-list-iter [[task tuple :as pair] tuple-batch]
               (if (local-tasks task)
                 (.add local pair)
    -            (.add remote pair)
    -            ))
    +            (let [node+port (get @task->node+port task)]
    +              (when (not (.get remoteMap node+port))
    +                (.put remoteMap node+port (ArrayList.)))
    +              (let [remote (.get remoteMap node+port)]
    +                (.add remote (TaskMessage. task (.serialize serializer 
tuple)))
    +                 ))))
    --- End diff --
    
    The above code does not really feel like it is clojure, as it is updating 
mutable state.  I would rather have see us do something like a group-by.


> Storm Performance cannot be scaled up by adding more CPU cores
> --------------------------------------------------------------
>
>                 Key: STORM-297
>                 URL: https://issues.apache.org/jira/browse/STORM-297
>             Project: Apache Storm (Incubating)
>          Issue Type: Bug
>            Reporter: Sean Zhong
>              Labels: Performance, netty
>             Fix For: 0.9.2-incubating
>
>         Attachments: Storm_performance_fix.pdf, 
> storm_Netty_receiver_diagram.png, storm_performance_fix.patch
>
>
> We cannot scale up the performance by adding more CPU cores and increasing 
> parallelism.
> For a 2 layer topology Spout ---shuffle grouping--> bolt, when message size 
> is small (around 100 bytes), we can find in the below picture that neither 
> the CPU nor the network is saturated. When message size is 100 bytes, only 
> 40% of CPU is used, only 18% of network is used, although we have a high 
> parallelism (overall we have 144 executors)



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to