Parsl: Pervasive Parallel Programming in Python
High-level programming languages such as Python are increasingly used to provide intuitive interfaces to libraries written in lower-level languages and for assembling applications from various components. This migration towards orchestration rather than implementation, coupled with the growing need...
Uloženo v:
| Vydáno v: | arXiv.org |
|---|---|
| Hlavní autoři: | , , , , , , , , , , , |
| Médium: | Paper |
| Jazyk: | angličtina |
| Vydáno: |
Ithaca
Cornell University Library, arXiv.org
18.05.2019
|
| Témata: | |
| ISSN: | 2331-8422 |
| On-line přístup: | Získat plný text |
| Tagy: |
Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
|
| Abstract | High-level programming languages such as Python are increasingly used to provide intuitive interfaces to libraries written in lower-level languages and for assembling applications from various components. This migration towards orchestration rather than implementation, coupled with the growing need for parallel computing (e.g., due to big data and the end of Moore's law), necessitates rethinking how parallelism is expressed in programs. Here, we present Parsl, a parallel scripting library that augments Python with simple, scalable, and flexible constructs for encoding parallelism. These constructs allow Parsl to construct a dynamic dependency graph of components that it can then execute efficiently on one or many processors. Parsl is designed for scalability, with an extensible set of executors tailored to different use cases, such as low-latency, high-throughput, or extreme-scale execution. We show, via experiments on the Blue Waters supercomputer, that Parsl executors can allow Python scripts to execute components with as little as 5 ms of overhead, scale to more than 250 000 workers across more than 8000 nodes, and process upward of 1200 tasks per second. Other Parsl features simplify the construction and execution of composite programs by supporting elastic provisioning and scaling of infrastructure, fault-tolerant execution, and integrated wide-area data management. We show that these capabilities satisfy the needs of many-task, interactive, online, and machine learning applications in fields such as biology, cosmology, and materials science. |
|---|---|
| AbstractList | High-level programming languages such as Python are increasingly used to provide intuitive interfaces to libraries written in lower-level languages and for assembling applications from various components. This migration towards orchestration rather than implementation, coupled with the growing need for parallel computing (e.g., due to big data and the end of Moore's law), necessitates rethinking how parallelism is expressed in programs. Here, we present Parsl, a parallel scripting library that augments Python with simple, scalable, and flexible constructs for encoding parallelism. These constructs allow Parsl to construct a dynamic dependency graph of components that it can then execute efficiently on one or many processors. Parsl is designed for scalability, with an extensible set of executors tailored to different use cases, such as low-latency, high-throughput, or extreme-scale execution. We show, via experiments on the Blue Waters supercomputer, that Parsl executors can allow Python scripts to execute components with as little as 5 ms of overhead, scale to more than 250 000 workers across more than 8000 nodes, and process upward of 1200 tasks per second. Other Parsl features simplify the construction and execution of composite programs by supporting elastic provisioning and scaling of infrastructure, fault-tolerant execution, and integrated wide-area data management. We show that these capabilities satisfy the needs of many-task, interactive, online, and machine learning applications in fields such as biology, cosmology, and materials science. |
| Author | Li, Zhuozhao Wozniak, Justin M Katz, Daniel S Chard, Ryan Woodard, Anna Chard, Kyle Babuji, Yadu Foster, Ian Clifford, Ben Kumar, Rohan Lacinski, Lukasz Wilde, Michael |
| Author_xml | – sequence: 1 givenname: Yadu surname: Babuji fullname: Babuji, Yadu – sequence: 2 givenname: Anna surname: Woodard fullname: Woodard, Anna – sequence: 3 givenname: Zhuozhao surname: Li fullname: Li, Zhuozhao – sequence: 4 givenname: Daniel surname: Katz middlename: S fullname: Katz, Daniel S – sequence: 5 givenname: Ben surname: Clifford fullname: Clifford, Ben – sequence: 6 givenname: Rohan surname: Kumar fullname: Kumar, Rohan – sequence: 7 givenname: Lukasz surname: Lacinski fullname: Lacinski, Lukasz – sequence: 8 givenname: Ryan surname: Chard fullname: Chard, Ryan – sequence: 9 givenname: Justin surname: Wozniak middlename: M fullname: Wozniak, Justin M – sequence: 10 givenname: Ian surname: Foster fullname: Foster, Ian – sequence: 11 givenname: Michael surname: Wilde fullname: Wilde, Michael – sequence: 12 givenname: Kyle surname: Chard fullname: Chard, Kyle |
| BookMark | eNotjVFLwzAURoMoOOd-gG8Fn9slN71p4psMncLAPux93LbX2dElmmxF_70FffrgcDjfjbj0wbMQd0oWpUWUS4rf_VgoJ7GQoNBeiBlorXJbAlyLRUoHKSWYChD1TCxriml4yGqOI6V-5GwCNAw8ZHUM-0jHY-_3We-z-uf0EfytuHqnIfHif-di-_y0Xb3km7f16-pxkxOCyzU02BquWDrFmsDpEtnZrrFda1VL7BQCkMaGAKpGQ2ccSWdaxIonR8_F_V_2M4avM6fT7hDO0U-POwBQShpUTv8CUS5F3A |
| ContentType | Paper |
| Copyright | 2019. This work is published under http://arxiv.org/licenses/nonexclusive-distrib/1.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License. |
| Copyright_xml | – notice: 2019. This work is published under http://arxiv.org/licenses/nonexclusive-distrib/1.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License. |
| DBID | 8FE 8FG ABJCF ABUWG AFKRA AZQEC BENPR BGLVJ CCPQU DWQXO HCIFZ L6V M7S PHGZM PHGZT PIMPY PKEHL PQEST PQGLB PQQKQ PQUKI PRINS PTHSS |
| DOI | 10.48550/arxiv.1905.02158 |
| DatabaseName | ProQuest SciTech Collection ProQuest Technology Collection Materials Science & Engineering Collection ProQuest Central (Alumni) ProQuest Central UK/Ireland ProQuest Central Essentials ProQuest Central Database Suite (ProQuest) Technology Collection ProQuest One ProQuest Central Korea SciTech Collection (ProQuest) ProQuest Engineering Collection Engineering Database ProQuest Central Premium ProQuest One Academic (New) Publicly Available Content Database ProQuest One Academic Middle East (New) ProQuest One Academic Eastern Edition (DO NOT USE) ProQuest One Applied & Life Sciences ProQuest One Academic (retired) ProQuest One Academic UKI Edition ProQuest Central China Engineering Collection |
| DatabaseTitle | Publicly Available Content Database Engineering Database Technology Collection ProQuest One Academic Middle East (New) ProQuest Central Essentials ProQuest One Academic Eastern Edition ProQuest Central (Alumni Edition) SciTech Premium Collection ProQuest One Community College ProQuest Technology Collection ProQuest SciTech Collection ProQuest Central China ProQuest Central ProQuest One Applied & Life Sciences ProQuest Engineering Collection ProQuest One Academic UKI Edition ProQuest Central Korea Materials Science & Engineering Collection ProQuest Central (New) ProQuest One Academic ProQuest One Academic (New) Engineering Collection |
| DatabaseTitleList | Publicly Available Content Database |
| Database_xml | – sequence: 1 dbid: PIMPY name: Publicly Available Content Database url: http://search.proquest.com/publiccontent sourceTypes: Aggregation Database |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Physics |
| EISSN | 2331-8422 |
| Genre | Working Paper/Pre-Print |
| GroupedDBID | 8FE 8FG ABJCF ABUWG AFKRA ALMA_UNASSIGNED_HOLDINGS AZQEC BENPR BGLVJ CCPQU DWQXO FRJ HCIFZ L6V M7S M~E PHGZM PHGZT PIMPY PKEHL PQEST PQGLB PQQKQ PQUKI PRINS PTHSS |
| ID | FETCH-LOGICAL-a529-32b5c6e7e091e3a29345e98db8dc81cae91522a35ba227b32d69a096c557e8dc3 |
| IEDL.DBID | M7S |
| IngestDate | Mon Jun 30 09:23:16 EDT 2025 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | false |
| IsScholarly | false |
| Language | English |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-a529-32b5c6e7e091e3a29345e98db8dc81cae91522a35ba227b32d69a096c557e8dc3 |
| Notes | SourceType-Working Papers-1 ObjectType-Working Paper/Pre-Print-1 content type line 50 |
| OpenAccessLink | https://www.proquest.com/docview/2221106519?pq-origsite=%requestingapplication% |
| PQID | 2221106519 |
| PQPubID | 2050157 |
| ParticipantIDs | proquest_journals_2221106519 |
| PublicationCentury | 2000 |
| PublicationDate | 20190518 |
| PublicationDateYYYYMMDD | 2019-05-18 |
| PublicationDate_xml | – month: 05 year: 2019 text: 20190518 day: 18 |
| PublicationDecade | 2010 |
| PublicationPlace | Ithaca |
| PublicationPlace_xml | – name: Ithaca |
| PublicationTitle | arXiv.org |
| PublicationYear | 2019 |
| Publisher | Cornell University Library, arXiv.org |
| Publisher_xml | – name: Cornell University Library, arXiv.org |
| SSID | ssj0002672553 |
| Score | 1.6883845 |
| SecondaryResourceType | preprint |
| Snippet | High-level programming languages such as Python are increasingly used to provide intuitive interfaces to libraries written in lower-level languages and for... |
| SourceID | proquest |
| SourceType | Aggregation Database |
| SubjectTerms | Cosmology Data management Dependence Distance learning Fault tolerance Machine learning Materials science Migration Moore's law Parallel programming Programming languages Provisioning Python |
| Title | Parsl: Pervasive Parallel Programming in Python |
| URI | https://www.proquest.com/docview/2221106519 |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV09T8MwELWgBYmJb_FRqgysbhs7TmwWJFArGKgs6FCmyh-HVKm0JSkV_HvOaQoDEgtjnAyxbN17d_d0j5BL5OjcIHGlsXGGJiJ2VKUKqABAAPSYFklbmk1k_b4cDpWuCm5FJatcx8QyUPuZCzXyNuIYIlWKhON6_kaDa1TorlYWGpukHqYkxKV07-m7xsLSDBkzXzUzy9FdbZN_jJctREHRCmgnf4XgEld6u__9oz1S12YO-T7ZgOkB2S71nK44JG2NCevkKtKh5hoU6hEuBNuUSaRXiqxXxKxoPI30Z5gecEQGve7g9o5W3gjUCKYoZ1a4FDJAuAduELMTAUp6K72TsTOgEJeZ4cIaxjLLmU-VwWzFCZEBfsOPSW06m8IJiVzmPZPSWgCXOM5tIr0wUoSWY-fFdE5JY739UXW_i9HP3s_-fn1OdpBiqNBvj2WD1Bb5O1yQLbdcjIu8Seo33b5-bJbHhk_6_kE_fwGNaaGd |
| linkProvider | ProQuest |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw1V09T8MwED2VFgQT3-KjQAYY0zZ2nNhIiAGoWrVUkejQLXIcI1UqaUlKoT-K_8g5bWBAYuvAmkRWdLbvvbt79gFcIkenEomr7UglbZc5yhae0DbTGgEwxrCIR3mzCb_X44OBCErwWZyFMbLKwifmjjoeK5MjryOOIVJ5SDhuJ6-26RplqqtFC43Fsujo-TuGbNlN-x7n94qQ5kP_rmUvuwrYkhFhUxIx5WlfI1BqKhHtXKYFjyMeK-4oqQUiGpGURZIQP6Ik9oREnq8Y8zV-Q3HYNaggiyAiVwo-fad0iOcjQaeL2ml-U1hdph_DWQ1Bl9UMuPJfHj-Hseb2PzPADlQCOdHpLpR0sgcbuVpVZftQDzAcH11bgckoG_29hQ9MU5iRFSz0Zi-IyNYwsYK5uRvhAPqr-MVDKCfjRB-Bpfw4JpxHkdbKVZRGLo-Z5MwUVBvPsnEM1cLa4XL3ZuGPqU_-fn0Bm63-YzfstnudU9hCMiWMssDhVShP0zd9ButqNh1m6Xm-UiwIVzwxX3CK-ac |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Parsl%3A+Pervasive+Parallel+Programming+in+Python&rft.jtitle=arXiv.org&rft.au=Babuji%2C+Yadu&rft.au=Woodard%2C+Anna&rft.au=Li%2C+Zhuozhao&rft.au=Katz%2C+Daniel+S&rft.date=2019-05-18&rft.pub=Cornell+University+Library%2C+arXiv.org&rft.eissn=2331-8422&rft_id=info:doi/10.48550%2Farxiv.1905.02158 |