You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@systemml.apache.org by "Matthias Boehm (JIRA)" <ji...@apache.org> on 2016/10/04 21:21:20 UTC

[jira] [Commented] (SYSTEMML-1009) Avoid spark context creation on parfor optimization

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

Matthias Boehm commented on SYSTEMML-1009:
------------------------------------------

As it turned out, the unnecessary spark context creation was due to (1) obtaining the spark version (introduced with our version-specific memory management), (2) unnecessary parfor eager caching/partitioning, and (3) unnecessary setup of fair scheduling for local parworkers. The fix essentially avoids these unnecessarily created spark context, which applies to all parfor scripts and scripts with unknowns (because these request the broadcast memory budget, which creates the spark cluster config and due to the version issue always the spark context).

After applying the fix, the end-to-end runtimes for univariate statistics are much better:

{code}
UnivariateStatistics on mbperftest/bivar/A_10k/data: 1
UnivariateStatistics on mbperftest/bivar/A_10k/data: 1
UnivariateStatistics on mbperftest/bivar/A_10k/data: 2
UnivariateStatistics on mbperftest/bivar/A_10k/data: 1

UnivariateStatistics on mbperftest/bivar/A_100k/data: 2
UnivariateStatistics on mbperftest/bivar/A_100k/data: 2
UnivariateStatistics on mbperftest/bivar/A_100k/data: 2
UnivariateStatistics on mbperftest/bivar/A_100k/data: 1
{code}

> Avoid spark context creation on parfor optimization
> ---------------------------------------------------
>
>                 Key: SYSTEMML-1009
>                 URL: https://issues.apache.org/jira/browse/SYSTEMML-1009
>             Project: SystemML
>          Issue Type: Improvement
>            Reporter: Matthias Boehm
>
> Currently, every parfor script triggers the lazy spark context creation, independent of its input data size and script in order to obtain memory budgets and parallelism. On small data the the spark context creation dominates end-to-end execution time. We should improve this to a configuration-only analysis, which would avoid the context creation.
> For example, here are the XS and S performance results for univariate statistics:
> {code}
> UnivariateStatistics on mbperftest/bivar/A_10k/data: 14
> UnivariateStatistics on mbperftest/bivar/A_10k/data: 14
> UnivariateStatistics on mbperftest/bivar/A_10k/data: 17
> UnivariateStatistics on mbperftest/bivar/A_10k/data: 16
> UnivariateStatistics on mbperftest/bivar/A_100k/data: 14
> UnivariateStatistics on mbperftest/bivar/A_100k/data: 15
> UnivariateStatistics on mbperftest/bivar/A_100k/data: 14
> UnivariateStatistics on mbperftest/bivar/A_100k/data: 17
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)