[ 
https://issues.apache.org/jira/browse/BEAM-7574?focusedWorklogId=269179&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-269179
 ]

ASF GitHub Bot logged work on BEAM-7574:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 28/Jun/19 09:58
            Start Date: 28/Jun/19 09:58
    Worklog Time Spent: 10m 
      Work Description: iemejia commented on issue #8946: [BEAM-7574] fix 
Combine performance for SparkRunner
URL: https://github.com/apache/beam/pull/8946#issuecomment-506678098
 
 
   Run Nexmark on the current PR and saw no regressions so far and clear 
improvements in Combine heavy queries. So positive about this, even if not 
checked the code yet.
   
   Command:
   ```
   ./gradlew :sdks:java:testing:nexmark:run \
       -Pnexmark.runner=":beam-runners-spark" \
       -Pnexmark.args="
           --runner=SparkRunner
           --streaming=false
           --suite=SMOKE
           --manageResources=false
           --monitorJobs=true
           --enforceEncodability=true
           --enforceImmutability=true"
   ```
   
   Results:
   ```
   Master
     Conf  Runtime(sec)    (Baseline)  Events(/sec)    (Baseline)       Results 
   (Baseline)
     0000           1.5                     68870.5                      100000 
             
     0001           0.6                    172711.6                       92000 
             
     0002           0.4                    284900.3                         351 
             
     0003           1.7                     58685.4                         580 
             
     0004           0.9                     10893.2                          40 
             
     0005           2.1                     46992.5                          12 
             
     0006           0.6                     17006.8                         103 
             
     0007           2.7                     37243.9                           1 
             
     0008           1.2                     85324.2                        6000 
             
     0009           0.5                     20080.3                         298 
             
     0010           0.6                    161550.9                           1 
             
     0011           1.0                     98328.4                        1919 
             
     0012           0.8                    118063.8                        1919 
             
     0013           0.4                    267379.7                       92000 
             
     0014           2.9                     69710.7                      184000 
             
   
==========================================================================================
   
   This PR
     Conf  Runtime(sec)    (Baseline)  Events(/sec)    (Baseline)       Results 
   (Baseline)
     0000           1.3                     74906.4                      100000 
             
     0001           0.6                    166666.7                       92000 
             
     0002           0.3                    392156.9                         351 
             
     0003           1.6                     61050.1                         580
     0004           0.8                     12610.3                          40 
             
     0005           2.1                     48709.2                          12 
             
     0006           0.6                     17574.7                         103 
             
     0007           2.4                     42247.6                           1 
             
     0008           1.0                     98814.2                        6000 
             
     0009           0.4                     22421.5                         298 
             
     0010           0.6                    171821.3                           1 
             
     0011           1.4                     70028.0                        1919 
             
     0012           0.8                    130378.1                        1919 
             
     0013           0.4                    253164.6                       92000 
             
   
==========================================================================================
   ```
   
   Note that the execution is breaking on query 14 but that seems unrelated to 
the PR.
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 269179)
    Time Spent: 1h 20m  (was: 1h 10m)

> Spark runner: Combine.perKey performance issues
> -----------------------------------------------
>
>                 Key: BEAM-7574
>                 URL: https://issues.apache.org/jira/browse/BEAM-7574
>             Project: Beam
>          Issue Type: Improvement
>          Components: runner-spark
>    Affects Versions: 2.13.0
>            Reporter: Jan Lukavský
>            Assignee: Jan Lukavský
>            Priority: Major
>          Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> Combine.perKey on current implementation uses technique of creating an 
> accumulator for each input key and then merge all these accumulators 
> together. Optimize this by:
>  * changing accumulator from Iterable to Map, and using addInput as much as 
> possible
>  * try to move the window explode to pre-shuffle (add window label to key for 
> non-merging windows), measure the impact, and if the impact is substantial, 
> implement that for at leasit window functions assigning to single (global) 
> window or single window per element (tumbling windows)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to