Towards a streaming model for nested data parallelism

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

Standard

Towards a streaming model for nested data parallelism. / Madsen, Frederik Meisner; Filinski, Andrzej.

FHPC '13: proceedings of the 2nd ACM SIGPLAN Workshop on Functional High-Performance Computing. Association for Computing Machinery, 2013. p. 13-24.

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

Harvard

Madsen, FM & Filinski, A 2013, Towards a streaming model for nested data parallelism. in FHPC '13: proceedings of the 2nd ACM SIGPLAN Workshop on Functional High-Performance Computing. Association for Computing Machinery, pp. 13-24, 2nd ACM SIGPLAN Workshop on Functional High-Performance Computing, Boston, United States, 23/09/2013. https://doi.org/10.1145/2502323.2502330

APA

Madsen, F. M., & Filinski, A. (2013). Towards a streaming model for nested data parallelism. In FHPC '13: proceedings of the 2nd ACM SIGPLAN Workshop on Functional High-Performance Computing (pp. 13-24). Association for Computing Machinery. https://doi.org/10.1145/2502323.2502330

Vancouver

Madsen FM, Filinski A. Towards a streaming model for nested data parallelism. In FHPC '13: proceedings of the 2nd ACM SIGPLAN Workshop on Functional High-Performance Computing. Association for Computing Machinery. 2013. p. 13-24 https://doi.org/10.1145/2502323.2502330

Author

Madsen, Frederik Meisner ; Filinski, Andrzej. / Towards a streaming model for nested data parallelism. FHPC '13: proceedings of the 2nd ACM SIGPLAN Workshop on Functional High-Performance Computing. Association for Computing Machinery, 2013. pp. 13-24

Bibtex

@inproceedings{2a97ddcec55543f8b39fd9bbe7a9e829,
title = "Towards a streaming model for nested data parallelism",
abstract = "The language-integrated cost semantics for nested data parallelism pioneered by NESL provides an intuitive, high-level model for predicting performance and scalability of parallel algorithms with reasonable accuracy. However, this predictability, obtained through a uniform, parallelism-flattening execution strategy, comes at the price of potentially prohibitive space usage in the common case of computations with an excess of available parallelism, such as dense-matrix multiplication.We present a simple nested data-parallel functional language and associated cost semantics that retains NESL's intuitive work--depth model for time complexity, but also allows highly parallel computations to be expressed in a space-efficient way, in the sense that memory usage on a single (or a few) processors is of the same order as for a sequential formulation of the algorithm, and in general scales smoothly with the actually realized degree of parallelism, not the potential parallelism.The refined semantics is based on distinguishing formally between fully materialized (i.e., explicitly allocated in memory all at once) {"}vectors{"} and potentially ephemeral {"}sequences{"} of values, with the latter being bulk-processable in a streaming fashion. This semantics is directly compatible with previously proposed piecewise execution models for nested data parallelism, but allows the expected space usage to be reasoned about directly at the source-language level.The language definition and implementation are still very much work in progress, but we do present some preliminary examples and timings, suggesting that the streaming model has practical potential.",
author = "Madsen, {Frederik Meisner} and Andrzej Filinski",
year = "2013",
doi = "10.1145/2502323.2502330",
language = "English",
pages = "13--24",
booktitle = "FHPC '13",
publisher = "Association for Computing Machinery",
note = "2nd ACM SIGPLAN Workshop on Functional High-Performance Computing, FHPC '13 ; Conference date: 23-09-2013 Through 23-09-2013",

}

RIS

TY - GEN

T1 - Towards a streaming model for nested data parallelism

AU - Madsen, Frederik Meisner

AU - Filinski, Andrzej

N1 - Conference code: 2

PY - 2013

Y1 - 2013

N2 - The language-integrated cost semantics for nested data parallelism pioneered by NESL provides an intuitive, high-level model for predicting performance and scalability of parallel algorithms with reasonable accuracy. However, this predictability, obtained through a uniform, parallelism-flattening execution strategy, comes at the price of potentially prohibitive space usage in the common case of computations with an excess of available parallelism, such as dense-matrix multiplication.We present a simple nested data-parallel functional language and associated cost semantics that retains NESL's intuitive work--depth model for time complexity, but also allows highly parallel computations to be expressed in a space-efficient way, in the sense that memory usage on a single (or a few) processors is of the same order as for a sequential formulation of the algorithm, and in general scales smoothly with the actually realized degree of parallelism, not the potential parallelism.The refined semantics is based on distinguishing formally between fully materialized (i.e., explicitly allocated in memory all at once) "vectors" and potentially ephemeral "sequences" of values, with the latter being bulk-processable in a streaming fashion. This semantics is directly compatible with previously proposed piecewise execution models for nested data parallelism, but allows the expected space usage to be reasoned about directly at the source-language level.The language definition and implementation are still very much work in progress, but we do present some preliminary examples and timings, suggesting that the streaming model has practical potential.

AB - The language-integrated cost semantics for nested data parallelism pioneered by NESL provides an intuitive, high-level model for predicting performance and scalability of parallel algorithms with reasonable accuracy. However, this predictability, obtained through a uniform, parallelism-flattening execution strategy, comes at the price of potentially prohibitive space usage in the common case of computations with an excess of available parallelism, such as dense-matrix multiplication.We present a simple nested data-parallel functional language and associated cost semantics that retains NESL's intuitive work--depth model for time complexity, but also allows highly parallel computations to be expressed in a space-efficient way, in the sense that memory usage on a single (or a few) processors is of the same order as for a sequential formulation of the algorithm, and in general scales smoothly with the actually realized degree of parallelism, not the potential parallelism.The refined semantics is based on distinguishing formally between fully materialized (i.e., explicitly allocated in memory all at once) "vectors" and potentially ephemeral "sequences" of values, with the latter being bulk-processable in a streaming fashion. This semantics is directly compatible with previously proposed piecewise execution models for nested data parallelism, but allows the expected space usage to be reasoned about directly at the source-language level.The language definition and implementation are still very much work in progress, but we do present some preliminary examples and timings, suggesting that the streaming model has practical potential.

U2 - 10.1145/2502323.2502330

DO - 10.1145/2502323.2502330

M3 - Article in proceedings

SP - 13

EP - 24

BT - FHPC '13

PB - Association for Computing Machinery

T2 - 2nd ACM SIGPLAN Workshop on Functional High-Performance Computing

Y2 - 23 September 2013 through 23 September 2013

ER -

ID: 101199403