pPython for Parallel Python Programming

pPython seeks to provide a parallel capability that provides good speed-up without sacrificing the ease of programming in Python by implementing partitioned global array semantics (PGAS) on top of a simple file-based messaging library (PythonMPI) in pure Python. The core data structure in pPython is...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:arXiv.org 2022-08
Hauptverfasser: Byun, Chansup, Arcand, William, Bestor, David, Bergeron, Bill, Gadepally, Vijay, Houle, Michael, Hubbell, Matthew, Hayden Jananthan, Jones, Michael, Keville, Kurt, Klein, Anna, Michaleas, Peter, Milechin, Lauren, Morales, Guillermo, Mullen, Julie, Prout, Andrew, Reuther, Albert, Rosa, Antonio, Samsi, Siddharth, Yee, Charles, Kepner, Jeremy
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page
container_issue
container_start_page
container_title arXiv.org
container_volume
creator Byun, Chansup
Arcand, William
Bestor, David
Bergeron, Bill
Gadepally, Vijay
Houle, Michael
Hubbell, Matthew
Hayden Jananthan
Jones, Michael
Keville, Kurt
Klein, Anna
Michaleas, Peter
Milechin, Lauren
Morales, Guillermo
Mullen, Julie
Prout, Andrew
Reuther, Albert
Rosa, Antonio
Samsi, Siddharth
Yee, Charles
Kepner, Jeremy
description pPython seeks to provide a parallel capability that provides good speed-up without sacrificing the ease of programming in Python by implementing partitioned global array semantics (PGAS) on top of a simple file-based messaging library (PythonMPI) in pure Python. The core data structure in pPython is a distributed numerical array whose distribution onto multiple processors is specified with a map construct. Communication operations between distributed arrays are abstracted away from the user and pPython transparently supports redistribution between any block-cyclic-overlapped distributions in up to four dimensions. pPython follows a SPMD (single program multiple data) model of computation. pPython runs on any combination of heterogeneous systems that support Python, including Windows, Linux, and MacOS operating systems. In addition to running transparently on single-node (e.g., a laptop), pPython provides a scheduler interface, so that pPython can be executed in a massively parallel computing environment. The initial implementation uses the Slurm scheduler. Performance of pPython on the HPC Challenge benchmark suite demonstrates both ease of programming and scalability.
doi_str_mv 10.48550/arxiv.2208.14908
format Article
fullrecord <record><control><sourceid>proquest_arxiv</sourceid><recordid>TN_cdi_arxiv_primary_2208_14908</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2708874637</sourcerecordid><originalsourceid>FETCH-LOGICAL-a958-5f8ef58918ea410d3fc47c066c0f4c1be4742fad5af3347847cf4234f18ca43c3</originalsourceid><addsrcrecordid>eNotj09LAzEUxIMgWGo_gCcXPHja9SV52bw9SlErFNxD78szTeqW_We2FfvtrW1PAzPDMD8h7iRkSMbAE8ff-idTCiiTWABdiYnSWqaESt2I2ThuAUDlVhmjJ-JxKA-7r75LQh-TkiM3jW-Si1fGfhO5betucyuuAzejn110KlavL6v5Il1-vL3Pn5cpF4ZSE8gHQ4UkzyhhrYND6yDPHQR08tOjRRV4bThojZaOYUClMUhyjNrpqbg_z54oqiHWLcdD9U9TnWiOjYdzY4j9996Pu2rb72N3_FQpC0QWc231H7ibS8g</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2708874637</pqid></control><display><type>article</type><title>pPython for Parallel Python Programming</title><source>arXiv.org</source><source>Free E- Journals</source><creator>Byun, Chansup ; Arcand, William ; Bestor, David ; Bergeron, Bill ; Gadepally, Vijay ; Houle, Michael ; Hubbell, Matthew ; Hayden Jananthan ; Jones, Michael ; Keville, Kurt ; Klein, Anna ; Michaleas, Peter ; Milechin, Lauren ; Morales, Guillermo ; Mullen, Julie ; Prout, Andrew ; Reuther, Albert ; Rosa, Antonio ; Samsi, Siddharth ; Yee, Charles ; Kepner, Jeremy</creator><creatorcontrib>Byun, Chansup ; Arcand, William ; Bestor, David ; Bergeron, Bill ; Gadepally, Vijay ; Houle, Michael ; Hubbell, Matthew ; Hayden Jananthan ; Jones, Michael ; Keville, Kurt ; Klein, Anna ; Michaleas, Peter ; Milechin, Lauren ; Morales, Guillermo ; Mullen, Julie ; Prout, Andrew ; Reuther, Albert ; Rosa, Antonio ; Samsi, Siddharth ; Yee, Charles ; Kepner, Jeremy</creatorcontrib><description>pPython seeks to provide a parallel capability that provides good speed-up without sacrificing the ease of programming in Python by implementing partitioned global array semantics (PGAS) on top of a simple file-based messaging library (PythonMPI) in pure Python. The core data structure in pPython is a distributed numerical array whose distribution onto multiple processors is specified with a map construct. Communication operations between distributed arrays are abstracted away from the user and pPython transparently supports redistribution between any block-cyclic-overlapped distributions in up to four dimensions. pPython follows a SPMD (single program multiple data) model of computation. pPython runs on any combination of heterogeneous systems that support Python, including Windows, Linux, and MacOS operating systems. In addition to running transparently on single-node (e.g., a laptop), pPython provides a scheduler interface, so that pPython can be executed in a massively parallel computing environment. The initial implementation uses the Slurm scheduler. Performance of pPython on the HPC Challenge benchmark suite demonstrates both ease of programming and scalability.</description><identifier>EISSN: 2331-8422</identifier><identifier>DOI: 10.48550/arxiv.2208.14908</identifier><language>eng</language><publisher>Ithaca: Cornell University Library, arXiv.org</publisher><subject>Computer Science - Distributed, Parallel, and Cluster Computing ; Data structures ; Programming languages ; Python ; Semantics</subject><ispartof>arXiv.org, 2022-08</ispartof><rights>2022. This work is published under http://creativecommons.org/licenses/by/4.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.</rights><rights>http://creativecommons.org/licenses/by/4.0</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>228,230,776,780,881,27904</link.rule.ids><backlink>$$Uhttps://doi.org/10.48550/arXiv.2208.14908$$DView paper in arXiv$$Hfree_for_read</backlink><backlink>$$Uhttps://doi.org/10.1109/HPEC55821.2022.9926365$$DView published paper (Access to full text may be restricted)$$Hfree_for_read</backlink></links><search><creatorcontrib>Byun, Chansup</creatorcontrib><creatorcontrib>Arcand, William</creatorcontrib><creatorcontrib>Bestor, David</creatorcontrib><creatorcontrib>Bergeron, Bill</creatorcontrib><creatorcontrib>Gadepally, Vijay</creatorcontrib><creatorcontrib>Houle, Michael</creatorcontrib><creatorcontrib>Hubbell, Matthew</creatorcontrib><creatorcontrib>Hayden Jananthan</creatorcontrib><creatorcontrib>Jones, Michael</creatorcontrib><creatorcontrib>Keville, Kurt</creatorcontrib><creatorcontrib>Klein, Anna</creatorcontrib><creatorcontrib>Michaleas, Peter</creatorcontrib><creatorcontrib>Milechin, Lauren</creatorcontrib><creatorcontrib>Morales, Guillermo</creatorcontrib><creatorcontrib>Mullen, Julie</creatorcontrib><creatorcontrib>Prout, Andrew</creatorcontrib><creatorcontrib>Reuther, Albert</creatorcontrib><creatorcontrib>Rosa, Antonio</creatorcontrib><creatorcontrib>Samsi, Siddharth</creatorcontrib><creatorcontrib>Yee, Charles</creatorcontrib><creatorcontrib>Kepner, Jeremy</creatorcontrib><title>pPython for Parallel Python Programming</title><title>arXiv.org</title><description>pPython seeks to provide a parallel capability that provides good speed-up without sacrificing the ease of programming in Python by implementing partitioned global array semantics (PGAS) on top of a simple file-based messaging library (PythonMPI) in pure Python. The core data structure in pPython is a distributed numerical array whose distribution onto multiple processors is specified with a map construct. Communication operations between distributed arrays are abstracted away from the user and pPython transparently supports redistribution between any block-cyclic-overlapped distributions in up to four dimensions. pPython follows a SPMD (single program multiple data) model of computation. pPython runs on any combination of heterogeneous systems that support Python, including Windows, Linux, and MacOS operating systems. In addition to running transparently on single-node (e.g., a laptop), pPython provides a scheduler interface, so that pPython can be executed in a massively parallel computing environment. The initial implementation uses the Slurm scheduler. Performance of pPython on the HPC Challenge benchmark suite demonstrates both ease of programming and scalability.</description><subject>Computer Science - Distributed, Parallel, and Cluster Computing</subject><subject>Data structures</subject><subject>Programming languages</subject><subject>Python</subject><subject>Semantics</subject><issn>2331-8422</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2022</creationdate><recordtype>article</recordtype><sourceid>BENPR</sourceid><sourceid>GOX</sourceid><recordid>eNotj09LAzEUxIMgWGo_gCcXPHja9SV52bw9SlErFNxD78szTeqW_We2FfvtrW1PAzPDMD8h7iRkSMbAE8ff-idTCiiTWABdiYnSWqaESt2I2ThuAUDlVhmjJ-JxKA-7r75LQh-TkiM3jW-Si1fGfhO5betucyuuAzejn110KlavL6v5Il1-vL3Pn5cpF4ZSE8gHQ4UkzyhhrYND6yDPHQR08tOjRRV4bThojZaOYUClMUhyjNrpqbg_z54oqiHWLcdD9U9TnWiOjYdzY4j9996Pu2rb72N3_FQpC0QWc231H7ibS8g</recordid><startdate>20220831</startdate><enddate>20220831</enddate><creator>Byun, Chansup</creator><creator>Arcand, William</creator><creator>Bestor, David</creator><creator>Bergeron, Bill</creator><creator>Gadepally, Vijay</creator><creator>Houle, Michael</creator><creator>Hubbell, Matthew</creator><creator>Hayden Jananthan</creator><creator>Jones, Michael</creator><creator>Keville, Kurt</creator><creator>Klein, Anna</creator><creator>Michaleas, Peter</creator><creator>Milechin, Lauren</creator><creator>Morales, Guillermo</creator><creator>Mullen, Julie</creator><creator>Prout, Andrew</creator><creator>Reuther, Albert</creator><creator>Rosa, Antonio</creator><creator>Samsi, Siddharth</creator><creator>Yee, Charles</creator><creator>Kepner, Jeremy</creator><general>Cornell University Library, arXiv.org</general><scope>8FE</scope><scope>8FG</scope><scope>ABJCF</scope><scope>ABUWG</scope><scope>AFKRA</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>HCIFZ</scope><scope>L6V</scope><scope>M7S</scope><scope>PIMPY</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PRINS</scope><scope>PTHSS</scope><scope>AKY</scope><scope>GOX</scope></search><sort><creationdate>20220831</creationdate><title>pPython for Parallel Python Programming</title><author>Byun, Chansup ; Arcand, William ; Bestor, David ; Bergeron, Bill ; Gadepally, Vijay ; Houle, Michael ; Hubbell, Matthew ; Hayden Jananthan ; Jones, Michael ; Keville, Kurt ; Klein, Anna ; Michaleas, Peter ; Milechin, Lauren ; Morales, Guillermo ; Mullen, Julie ; Prout, Andrew ; Reuther, Albert ; Rosa, Antonio ; Samsi, Siddharth ; Yee, Charles ; Kepner, Jeremy</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a958-5f8ef58918ea410d3fc47c066c0f4c1be4742fad5af3347847cf4234f18ca43c3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2022</creationdate><topic>Computer Science - Distributed, Parallel, and Cluster Computing</topic><topic>Data structures</topic><topic>Programming languages</topic><topic>Python</topic><topic>Semantics</topic><toplevel>online_resources</toplevel><creatorcontrib>Byun, Chansup</creatorcontrib><creatorcontrib>Arcand, William</creatorcontrib><creatorcontrib>Bestor, David</creatorcontrib><creatorcontrib>Bergeron, Bill</creatorcontrib><creatorcontrib>Gadepally, Vijay</creatorcontrib><creatorcontrib>Houle, Michael</creatorcontrib><creatorcontrib>Hubbell, Matthew</creatorcontrib><creatorcontrib>Hayden Jananthan</creatorcontrib><creatorcontrib>Jones, Michael</creatorcontrib><creatorcontrib>Keville, Kurt</creatorcontrib><creatorcontrib>Klein, Anna</creatorcontrib><creatorcontrib>Michaleas, Peter</creatorcontrib><creatorcontrib>Milechin, Lauren</creatorcontrib><creatorcontrib>Morales, Guillermo</creatorcontrib><creatorcontrib>Mullen, Julie</creatorcontrib><creatorcontrib>Prout, Andrew</creatorcontrib><creatorcontrib>Reuther, Albert</creatorcontrib><creatorcontrib>Rosa, Antonio</creatorcontrib><creatorcontrib>Samsi, Siddharth</creatorcontrib><creatorcontrib>Yee, Charles</creatorcontrib><creatorcontrib>Kepner, Jeremy</creatorcontrib><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>Materials Science &amp; Engineering Collection</collection><collection>ProQuest Central (Alumni Edition)</collection><collection>ProQuest Central UK/Ireland</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central Korea</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Engineering Collection</collection><collection>Engineering Database</collection><collection>Publicly Available Content Database</collection><collection>ProQuest One Academic Eastern Edition (DO NOT USE)</collection><collection>ProQuest One Academic</collection><collection>ProQuest One Academic UKI Edition</collection><collection>ProQuest Central China</collection><collection>Engineering Collection</collection><collection>arXiv Computer Science</collection><collection>arXiv.org</collection><jtitle>arXiv.org</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Byun, Chansup</au><au>Arcand, William</au><au>Bestor, David</au><au>Bergeron, Bill</au><au>Gadepally, Vijay</au><au>Houle, Michael</au><au>Hubbell, Matthew</au><au>Hayden Jananthan</au><au>Jones, Michael</au><au>Keville, Kurt</au><au>Klein, Anna</au><au>Michaleas, Peter</au><au>Milechin, Lauren</au><au>Morales, Guillermo</au><au>Mullen, Julie</au><au>Prout, Andrew</au><au>Reuther, Albert</au><au>Rosa, Antonio</au><au>Samsi, Siddharth</au><au>Yee, Charles</au><au>Kepner, Jeremy</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>pPython for Parallel Python Programming</atitle><jtitle>arXiv.org</jtitle><date>2022-08-31</date><risdate>2022</risdate><eissn>2331-8422</eissn><abstract>pPython seeks to provide a parallel capability that provides good speed-up without sacrificing the ease of programming in Python by implementing partitioned global array semantics (PGAS) on top of a simple file-based messaging library (PythonMPI) in pure Python. The core data structure in pPython is a distributed numerical array whose distribution onto multiple processors is specified with a map construct. Communication operations between distributed arrays are abstracted away from the user and pPython transparently supports redistribution between any block-cyclic-overlapped distributions in up to four dimensions. pPython follows a SPMD (single program multiple data) model of computation. pPython runs on any combination of heterogeneous systems that support Python, including Windows, Linux, and MacOS operating systems. In addition to running transparently on single-node (e.g., a laptop), pPython provides a scheduler interface, so that pPython can be executed in a massively parallel computing environment. The initial implementation uses the Slurm scheduler. Performance of pPython on the HPC Challenge benchmark suite demonstrates both ease of programming and scalability.</abstract><cop>Ithaca</cop><pub>Cornell University Library, arXiv.org</pub><doi>10.48550/arxiv.2208.14908</doi><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier EISSN: 2331-8422
ispartof arXiv.org, 2022-08
issn 2331-8422
language eng
recordid cdi_arxiv_primary_2208_14908
source arXiv.org; Free E- Journals
subjects Computer Science - Distributed, Parallel, and Cluster Computing
Data structures
Programming languages
Python
Semantics
title pPython for Parallel Python Programming
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-28T09%3A05%3A01IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_arxiv&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=pPython%20for%20Parallel%20Python%20Programming&rft.jtitle=arXiv.org&rft.au=Byun,%20Chansup&rft.date=2022-08-31&rft.eissn=2331-8422&rft_id=info:doi/10.48550/arxiv.2208.14908&rft_dat=%3Cproquest_arxiv%3E2708874637%3C/proquest_arxiv%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2708874637&rft_id=info:pmid/&rfr_iscdi=true