StarPlat: A versatile DSL for graph analytics
Graphs model several real-world phenomena. With the growth of unstructured and semi-structured data, parallelization of graph algorithms is inevitable. Unfortunately, due to inherent irregularity of computation, memory access, and communication, graph algorithms are traditionally challenging to para...
        Saved in:
      
    
          | Published in | Journal of parallel and distributed computing Vol. 194; p. 104967 | 
|---|---|
| Main Authors | , , , , , | 
| Format | Journal Article | 
| Language | English | 
| Published | 
            Elsevier Inc
    
        01.12.2024
     | 
| Subjects | |
| Online Access | Get full text | 
| ISSN | 0743-7315 | 
| DOI | 10.1016/j.jpdc.2024.104967 | 
Cover
| Abstract | Graphs model several real-world phenomena. With the growth of unstructured and semi-structured data, parallelization of graph algorithms is inevitable. Unfortunately, due to inherent irregularity of computation, memory access, and communication, graph algorithms are traditionally challenging to parallelize. To tame this challenge, several libraries, frameworks, and domain-specific languages (DSLs) have been proposed to reduce the parallel programming burden of the users, who are often domain experts. However, existing frameworks to model graph algorithms typically target a single architecture. In this paper, we present a graph DSL, named StarPlat, that allows programmers to specify graph algorithms in a high-level format, but generates code for three different backends from the same algorithmic specification. In particular, the DSL compiler generates OpenMP for multi-core systems, MPI for distributed systems, and CUDA for many-core GPUs. Since these three are completely different parallel programming paradigms, binding them together under the same language is challenging. We share our experience with the language design. Central to our compiler is an intermediate representation which allows a common representation of the high-level program, from which individual backend code generations begin. We demonstrate the expressiveness of StarPlat by specifying four graph algorithms: betweenness centrality computation, page rank computation, single-source shortest paths, and triangle counting. Using a suite of ten large graphs, we illustrate the effectiveness of our approach by comparing the performance of the generated codes with that obtained with hand-crafted library codes. We find that the generated code is competitive to library-based codes in many cases. More importantly, we show the feasibility to generate efficient codes for different target architectures from the same algorithmic specification of graph algorithms.
•Domain-specific language for graph algorithms.•Targets multiple backends (CPU, GPU, distributed systems).•Performance close to hand-tuned codes. | 
    
|---|---|
| AbstractList | Graphs model several real-world phenomena. With the growth of unstructured and semi-structured data, parallelization of graph algorithms is inevitable. Unfortunately, due to inherent irregularity of computation, memory access, and communication, graph algorithms are traditionally challenging to parallelize. To tame this challenge, several libraries, frameworks, and domain-specific languages (DSLs) have been proposed to reduce the parallel programming burden of the users, who are often domain experts. However, existing frameworks to model graph algorithms typically target a single architecture. In this paper, we present a graph DSL, named StarPlat, that allows programmers to specify graph algorithms in a high-level format, but generates code for three different backends from the same algorithmic specification. In particular, the DSL compiler generates OpenMP for multi-core systems, MPI for distributed systems, and CUDA for many-core GPUs. Since these three are completely different parallel programming paradigms, binding them together under the same language is challenging. We share our experience with the language design. Central to our compiler is an intermediate representation which allows a common representation of the high-level program, from which individual backend code generations begin. We demonstrate the expressiveness of StarPlat by specifying four graph algorithms: betweenness centrality computation, page rank computation, single-source shortest paths, and triangle counting. Using a suite of ten large graphs, we illustrate the effectiveness of our approach by comparing the performance of the generated codes with that obtained with hand-crafted library codes. We find that the generated code is competitive to library-based codes in many cases. More importantly, we show the feasibility to generate efficient codes for different target architectures from the same algorithmic specification of graph algorithms.
•Domain-specific language for graph algorithms.•Targets multiple backends (CPU, GPU, distributed systems).•Performance close to hand-tuned codes. | 
    
| ArticleNumber | 104967 | 
    
| Author | Behera, Nibedita M, Rajesh Pandian Kumar, Ashwina Nasre, Rupesh Rajadurai T, Ebenezer Nitish, Sai  | 
    
| Author_xml | – sequence: 1 givenname: Nibedita orcidid: 0000-0002-1563-8686 surname: Behera fullname: Behera, Nibedita email: cs20s023@cse.iitm.ac.in – sequence: 2 givenname: Ashwina orcidid: 0000-0001-6425-7479 surname: Kumar fullname: Kumar, Ashwina email: cs20d016@cse.iitm.ac.in – sequence: 3 givenname: Ebenezer orcidid: 0000-0001-7029-9712 surname: Rajadurai T fullname: Rajadurai T, Ebenezer email: ebenezerrajadurai5@gmail.com – sequence: 4 givenname: Sai surname: Nitish fullname: Nitish, Sai email: bsainitishkumar@gmail.com – sequence: 5 givenname: Rajesh Pandian orcidid: 0000-0003-4702-4678 surname: M fullname: M, Rajesh Pandian email: mrprajesh@cse.iitm.ac.in – sequence: 6 givenname: Rupesh surname: Nasre fullname: Nasre, Rupesh email: rupesh@cse.iitm.ac.in  | 
    
| BookMark | eNp9j8tKxDAYhbMYwZnRF3DVF2jN36TNRNwM4xUKCqPrkMtfTaltScrAvL0tde3qwIHvcL4NWXV9h4TcAM2AQnnbZM3gbJbTnE8Fl6VYkTUVnKWCQXFJNjE2lAIUYrcm6XHU4b3V412yT04Yoh59i8nDsUrqPiRfQQ_fie50ex69jVfkotZtxOu_3JLPp8ePw0tavT2_HvZVavMCxlQbox0aV5tSAzJJ0VjDrOPCYAHMmqnjDEFKJ0GY3EhR7mzJgVtpwEm2Jfmya0MfY8BaDcH_6HBWQNUsqRo1S6pZUi2SE3S_QDg9O3kMKlqPnUXnA9pRud7_h_8Ct9Becg | 
    
| Cites_doi | 10.1145/3414469 10.1145/3473588 10.1109/TPDS.2021.3097283 10.1145/3276491 10.1109/TPDS.2013.111 10.1137/141000671  | 
    
| ContentType | Journal Article | 
    
| Copyright | 2024 Elsevier Inc. | 
    
| Copyright_xml | – notice: 2024 Elsevier Inc. | 
    
| DBID | AAYXX CITATION  | 
    
| DOI | 10.1016/j.jpdc.2024.104967 | 
    
| DatabaseName | CrossRef | 
    
| DatabaseTitle | CrossRef | 
    
| DatabaseTitleList | |
| DeliveryMethod | fulltext_linktorsrc | 
    
| Discipline | Computer Science | 
    
| ExternalDocumentID | 10_1016_j_jpdc_2024_104967 S074373152400131X  | 
    
| GroupedDBID | --K --M -~X .~1 0R~ 1B1 1~. 1~5 29L 4.4 457 4G. 5GY 5VS 7-5 71M 8P~ 9JN AACTN AAEDT AAEDW AAIKJ AAKOC AALRI AAOAW AAQFI AAQXK AAXKI AAXUO AAYFN ABBOA ABEFU ABFNM ABFSI ABJNI ABMAC ABTAH ABXDB ACDAQ ACGFS ACNNM ACRLP ACZNC ADBBV ADEZE ADFGL ADHUB ADJOM ADMUD ADTZH ADVLN AEBSH AECPX AEKER AENEX AFJKZ AFKWA AFTJW AGHFR AGUBO AGYEJ AHHHB AHJVU AHZHX AIALX AIEXJ AIKHN AITUG AJOXV AKRWK ALMA_UNASSIGNED_HOLDINGS AMFUW AMRAJ AOUOD ASPBG AVWKF AXJTR AZFZN BJAXD BKOJK BLXMC CAG COF CS3 DM4 DU5 E.L EBS EFBJH EJD EO8 EO9 EP2 EP3 F5P FDB FEDTE FGOYB FIRID FNPLU FYGXN G-2 G-Q G8K GBLVA GBOLZ HLZ HVGLF HZ~ H~9 IHE J1W JJJVA K-O KOM LG5 LG9 LY7 M41 MO0 N9A O-L O9- OAUVE OZT P-8 P-9 P2P PC. Q38 R2- RIG ROL RPZ SBC SDF SDG SDP SES SET SEW SPC SPCBC SST SSV SSZ T5K TN5 TWZ WUQ XJT XOL XPP ZMT ZU3 ZY4 ~G- ~G0 AATTM AAYWO AAYXX ABDPE ABWVN ACLOT ACRPL ACVFH ADCNI ADNMO AEIPS AEUPX AFPUW AGQPQ AIGII AIIUN AKBMS AKYEP ANKPU APXCP CITATION EFKBS EFLBG ~HD  | 
    
| ID | FETCH-LOGICAL-c251t-abbadebdfb6a1e390ebcb3cd47be513cbe3943e199d917b2b9768c6414c9b1d93 | 
    
| IEDL.DBID | .~1 | 
    
| ISSN | 0743-7315 | 
    
| IngestDate | Wed Oct 01 04:01:43 EDT 2025 Sat Sep 21 15:59:31 EDT 2024  | 
    
| IsPeerReviewed | true | 
    
| IsScholarly | true | 
    
| Keywords | CUDA Domain-specific language Graph algorithms OpenMP MPI  | 
    
| Language | English | 
    
| LinkModel | DirectLink | 
    
| MergedId | FETCHMERGED-LOGICAL-c251t-abbadebdfb6a1e390ebcb3cd47be513cbe3943e199d917b2b9768c6414c9b1d93 | 
    
| ORCID | 0000-0002-1563-8686 0000-0003-4702-4678 0000-0001-6425-7479 0000-0001-7029-9712  | 
    
| ParticipantIDs | crossref_primary_10_1016_j_jpdc_2024_104967 elsevier_sciencedirect_doi_10_1016_j_jpdc_2024_104967  | 
    
| ProviderPackageCode | CITATION AAYXX  | 
    
| PublicationCentury | 2000 | 
    
| PublicationDate | December 2024 2024-12-00  | 
    
| PublicationDateYYYYMMDD | 2024-12-01 | 
    
| PublicationDate_xml | – month: 12 year: 2024 text: December 2024  | 
    
| PublicationDecade | 2020 | 
    
| PublicationTitle | Journal of parallel and distributed computing | 
    
| PublicationYear | 2024 | 
    
| Publisher | Elsevier Inc | 
    
| Publisher_xml | – name: Elsevier Inc | 
    
| References | Cheramangalath, Nasre, Srikant (br0220) 2017 Hong, Chafi, Sedlar, Olukotun (br0040) 2012 Low, Gonzalez, Kyrola, Bickson, Guestrin, Hellerstein (br0230) 2012 Osama, Porumbescu, Owens (br0370) 2022 Sakr, Orakzai, Abdelaziz, Khayyat (br0180) 2016 Zhong, He (br0250) 2014; 25 Houshmand, Lesani, Vora (br0080) aug 2021; 5 Hong, Salihoglu, Widom, Olukotun (br0200) 2014 Trott, Lebrun-Grandié, Arndt, Ciesko, Dang, Ellingwood, Gayatri, Harvey, Hollman, Ibanez, Liber, Madsen, Miles, Poliakoff, Powell, Rajamanickam, Simberg, Sunderland, Turcksin, Wilke (br0070) 2022; 33 Gupta, Stuart, Owens (br0130) 2012 Kyrola, Blelloch, Guestrin (br0240) 2012 Shun, Blelloch (br0060) 2013 Bezanson, Edelman, Karpinski, Shah (br0290) 2017; 59 Besta, Podstawski, Groner, Solomonik, Hoefler (br0120) 2017 Salihoglu, Widom (br0190) 2013 Rajendran, Nandivada (br0210) Sep. 2020; 17 Zhu, Chen, Zheng, Ma (br0110) 2016 Fu, Personick, Thompson (br0270) 2014 Nguyen, Lenharth, Pingali (br0020) 2013 Kulkarni, Burtscher, Inkulu, Pingali, Casçaval (br0010) 2009; vol. 44 Intel (br0350) 2021 Khorasani, Vora, Gupta, Bhuyan (br0260) 2014 Nvidia (br0360) 2022 Malewicz, Austern, Bik, Dehnert, Horn, Leiser, Czajkowski (br0170) 2010 Carruth (br0310) 2022 Gonzalez, Low, Gu, Bickson, Guestrin (br0090) 2012 Zhang, Yang, Baghdadi, Kamil, Shun, Amarasinghe (br0050) 2018; 2 Nguyen, Pingali (br0160) 2011 Bill (br0320) 2016 Dathathri, Gill, Hoang, Dang, Brooks, Dryden, Snir, Pingali (br0140) 2018 Wang, Davidson, Pan, Wu, Riffel, Owens (br0030) 2016 Zhu, Han, Chen (br0100) 2015 Burtscher, Nasre, Pingali (br0150) 2012 Baxter (br0300) 2021 Helbecque, Gmys, Carneiro, Melab, Bouvry (br0330) 2022 Nguyen (10.1016/j.jpdc.2024.104967_br0020) 2013 Bill (10.1016/j.jpdc.2024.104967_br0320) Hong (10.1016/j.jpdc.2024.104967_br0040) 2012 Gupta (10.1016/j.jpdc.2024.104967_br0130) 2012 Zhang (10.1016/j.jpdc.2024.104967_br0050) 2018; 2 Fu (10.1016/j.jpdc.2024.104967_br0270) 2014 Dathathri (10.1016/j.jpdc.2024.104967_br0140) 2018 Kulkarni (10.1016/j.jpdc.2024.104967_br0010) 2009; vol. 44 Nguyen (10.1016/j.jpdc.2024.104967_br0160) 2011 Osama (10.1016/j.jpdc.2024.104967_br0370) 2022 Salihoglu (10.1016/j.jpdc.2024.104967_br0190) 2013 Carruth (10.1016/j.jpdc.2024.104967_br0310) Intel (10.1016/j.jpdc.2024.104967_br0350) Besta (10.1016/j.jpdc.2024.104967_br0120) 2017 Baxter (10.1016/j.jpdc.2024.104967_br0300) Nvidia (10.1016/j.jpdc.2024.104967_br0360) Zhong (10.1016/j.jpdc.2024.104967_br0250) 2014; 25 Gonzalez (10.1016/j.jpdc.2024.104967_br0090) 2012 Sakr (10.1016/j.jpdc.2024.104967_br0180) 2016 Zhu (10.1016/j.jpdc.2024.104967_br0100) 2015 Hong (10.1016/j.jpdc.2024.104967_br0200) 2014 Zhu (10.1016/j.jpdc.2024.104967_br0110) 2016 Houshmand (10.1016/j.jpdc.2024.104967_br0080) 2021; 5 Rajendran (10.1016/j.jpdc.2024.104967_br0210) 2020; 17 Kyrola (10.1016/j.jpdc.2024.104967_br0240) 2012 Helbecque (10.1016/j.jpdc.2024.104967_br0330) 2022 Shun (10.1016/j.jpdc.2024.104967_br0060) 2013 Malewicz (10.1016/j.jpdc.2024.104967_br0170) 2010 Khorasani (10.1016/j.jpdc.2024.104967_br0260) 2014 Low (10.1016/j.jpdc.2024.104967_br0230) Wang (10.1016/j.jpdc.2024.104967_br0030) 2016 Cheramangalath (10.1016/j.jpdc.2024.104967_br0220) 2017 Bezanson (10.1016/j.jpdc.2024.104967_br0290) 2017; 59 Trott (10.1016/j.jpdc.2024.104967_br0070) 2022; 33 Burtscher (10.1016/j.jpdc.2024.104967_br0150) 2012  | 
    
| References_xml | – volume: 2 year: 2018 ident: br0050 article-title: Graphit: a high-performance graph DSL publication-title: Proc. ACM Program. Lang. – volume: 33 start-page: 805 year: 2022 end-page: 817 ident: br0070 article-title: Kokkos 3: programming model extensions for the exascale era publication-title: IEEE Trans. Parallel Distrib. Syst. – start-page: 375 year: 2015 end-page: 386 ident: br0100 article-title: GridGraph: large-scale graph processing on a single machine using 2-level hierarchical partitioning publication-title: Proceedings of the 2015 USENIX Conference on Usenix Annual Technical Conference – volume: 5 year: aug 2021 ident: br0080 article-title: Grafs: declarative graph analytics publication-title: Proc. ACM Program. Lang. – start-page: 141 year: 2012 end-page: 151 ident: br0150 article-title: A quantitative study of irregular programs on GPUs publication-title: Proceedings of the 2012 IEEE International Symposium on Workload Characterization – year: 2021 ident: br0350 article-title: Oneapi data parallel C++ (dpc++) – year: 2016 ident: br0030 article-title: Gunrock: a high-performance graph processing library on the GPU publication-title: Proceedings of the 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming – start-page: 135 year: 2013 end-page: 146 ident: br0060 article-title: Ligra: a lightweight graph processing framework for shared memory publication-title: ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming – volume: 59 start-page: 65 year: 2017 end-page: 98 ident: br0290 article-title: Julia: a fresh approach to numerical computing publication-title: SIAM Rev. – start-page: 349 year: 2012 end-page: 362 ident: br0040 article-title: Green-marl: a DSL for easy and efficient graph analysis publication-title: Proceedings of the 17th International Conference on Architectural Support for Programming Languages and Operating Systems – start-page: 301 year: 2016 end-page: 316 ident: br0110 article-title: Gemini: a computation-centric distributed graph processing system publication-title: 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI 16) – year: 2016 ident: br0320 article-title: Odin language – start-page: 135 year: 2010 end-page: 146 ident: br0170 article-title: Pregel: a system for large-scale graph processing publication-title: Proceedings of the 2010 ACM SIGMOD International Conference on Management of Data – start-page: 17 year: 2012 end-page: 30 ident: br0090 article-title: Powergraph: distributed graph-parallel computation on natural graphs publication-title: 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI 12) – start-page: 21 year: 2022 end-page: 29 ident: br0330 article-title: A performance-oriented comparative study of the chapel high-productivity language to conventional programming environments publication-title: PMAM@PPoPP 2022: Proceedings of the Thirteenth International Workshop on Programming Models and Applications for Multicores and Manycores, Virtual Event – volume: vol. 44 start-page: 3 year: 2009 end-page: 14 ident: br0010 article-title: How much parallelism is there in irregular applications? publication-title: Proceedings of the 14th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming – year: 2016 ident: br0180 article-title: Large-Scale Graph Processing Using Apache Giraph – year: 2012 ident: br0230 article-title: Distributed graphlab: a framework for machine learning in the cloud – start-page: 333 year: 2011 end-page: 344 ident: br0160 article-title: Synthesizing concurrent schedulers for irregular algorithms publication-title: Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems – year: 2021 ident: br0300 article-title: Circle C++ compiler – start-page: 208 year: 2014 end-page: 218 ident: br0200 article-title: Simplifying scalable graph processing with a domain-specific language publication-title: Proceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization – start-page: 239 year: 2014 end-page: 252 ident: br0260 article-title: Cusha: vertex-centric graph processing on gpus publication-title: Proceedings of the 23rd International Symposium on High-Performance Parallel and Distributed Computing – year: 2022 ident: br0360 article-title: Nvidia hpc sdk version 22.7 – start-page: 31 year: 2012 end-page: 46 ident: br0240 article-title: Graphchi: large-scale graph computation on just a PC publication-title: 10th USENIX Symposium on Operating Systems Design and Implementation (OSDI 12) – volume: 25 start-page: 1543 year: 2014 end-page: 1552 ident: br0250 article-title: Medusa: simplified graph processing on gpus publication-title: IEEE Trans. Parallel Distrib. Syst. – start-page: 93 year: 2017 end-page: 104 ident: br0120 article-title: To push or to pull: on reducing communication and synchronization in graph computations publication-title: Proceedings of the 26th International Symposium on High-Performance Parallel and Distributed Computing – start-page: 439 year: 2017 end-page: 450 ident: br0220 article-title: Dh-falcon: a language for large-scale graph processing on distributed heterogeneous systems publication-title: 2017 IEEE International Conference on Cluster Computing – start-page: 314 year: 2022 end-page: 317 ident: br0370 article-title: Essentials of parallel graph analytics publication-title: Proceedings of the Workshop on Graphs, Architectures, Programming, and Learning – volume: 17 year: Sep. 2020 ident: br0210 article-title: Disgco: a compiler for distributed graph analytics publication-title: ACM Trans. Archit. Code Optim. – start-page: 1 year: 2014 end-page: 6 ident: br0270 article-title: Mapgraph: a high level api for fast development of high performance graph analytics on gpus publication-title: Proceedings of Workshop on GRAph Data Management Experiences and Systems – year: 2022 ident: br0310 article-title: Carbon language – start-page: 752 year: 2018 end-page: 768 ident: br0140 article-title: Gluon: a communication-optimizing substrate for distributed heterogeneous graph analytics publication-title: Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation – year: 2013 ident: br0190 article-title: Gps: a graph processing system publication-title: Proceedings of the 25th International Conference on Scientific and Statistical Database Management – start-page: 1 year: 2012 end-page: 14 ident: br0130 article-title: A study of Persistent Threads style GPU programming for GPGPU workloads publication-title: 2012 Innovative Parallel Computing (InPar) – start-page: 456 year: 2013 end-page: 471 ident: br0020 article-title: A lightweight infrastructure for graph analytics publication-title: ACM SIGOPS 24th Symposium on Operating Systems Principles – start-page: 208 year: 2014 ident: 10.1016/j.jpdc.2024.104967_br0200 article-title: Simplifying scalable graph processing with a domain-specific language – volume: 17 issue: 4 year: 2020 ident: 10.1016/j.jpdc.2024.104967_br0210 article-title: Disgco: a compiler for distributed graph analytics publication-title: ACM Trans. Archit. Code Optim. doi: 10.1145/3414469 – start-page: 239 year: 2014 ident: 10.1016/j.jpdc.2024.104967_br0260 article-title: Cusha: vertex-centric graph processing on gpus – year: 2016 ident: 10.1016/j.jpdc.2024.104967_br0030 article-title: Gunrock: a high-performance graph processing library on the GPU – start-page: 93 year: 2017 ident: 10.1016/j.jpdc.2024.104967_br0120 article-title: To push or to pull: on reducing communication and synchronization in graph computations – start-page: 17 year: 2012 ident: 10.1016/j.jpdc.2024.104967_br0090 article-title: Powergraph: distributed graph-parallel computation on natural graphs – start-page: 439 year: 2017 ident: 10.1016/j.jpdc.2024.104967_br0220 article-title: Dh-falcon: a language for large-scale graph processing on distributed heterogeneous systems – start-page: 31 year: 2012 ident: 10.1016/j.jpdc.2024.104967_br0240 article-title: Graphchi: large-scale graph computation on just a PC – start-page: 141 year: 2012 ident: 10.1016/j.jpdc.2024.104967_br0150 article-title: A quantitative study of irregular programs on GPUs – volume: 5 issue: ICFP year: 2021 ident: 10.1016/j.jpdc.2024.104967_br0080 article-title: Grafs: declarative graph analytics publication-title: Proc. ACM Program. Lang. doi: 10.1145/3473588 – ident: 10.1016/j.jpdc.2024.104967_br0320 – volume: 33 start-page: 805 issue: 4 year: 2022 ident: 10.1016/j.jpdc.2024.104967_br0070 article-title: Kokkos 3: programming model extensions for the exascale era publication-title: IEEE Trans. Parallel Distrib. Syst. doi: 10.1109/TPDS.2021.3097283 – ident: 10.1016/j.jpdc.2024.104967_br0300 – start-page: 1 year: 2012 ident: 10.1016/j.jpdc.2024.104967_br0130 article-title: A study of Persistent Threads style GPU programming for GPGPU workloads – volume: 2 issue: OOPSLA year: 2018 ident: 10.1016/j.jpdc.2024.104967_br0050 article-title: Graphit: a high-performance graph DSL publication-title: Proc. ACM Program. Lang. doi: 10.1145/3276491 – volume: 25 start-page: 1543 issue: 6 year: 2014 ident: 10.1016/j.jpdc.2024.104967_br0250 article-title: Medusa: simplified graph processing on gpus publication-title: IEEE Trans. Parallel Distrib. Syst. doi: 10.1109/TPDS.2013.111 – ident: 10.1016/j.jpdc.2024.104967_br0230 – start-page: 21 year: 2022 ident: 10.1016/j.jpdc.2024.104967_br0330 article-title: A performance-oriented comparative study of the chapel high-productivity language to conventional programming environments – start-page: 135 year: 2010 ident: 10.1016/j.jpdc.2024.104967_br0170 article-title: Pregel: a system for large-scale graph processing – start-page: 1 year: 2014 ident: 10.1016/j.jpdc.2024.104967_br0270 article-title: Mapgraph: a high level api for fast development of high performance graph analytics on gpus – year: 2016 ident: 10.1016/j.jpdc.2024.104967_br0180 – volume: 59 start-page: 65 issue: 1 year: 2017 ident: 10.1016/j.jpdc.2024.104967_br0290 article-title: Julia: a fresh approach to numerical computing publication-title: SIAM Rev. doi: 10.1137/141000671 – ident: 10.1016/j.jpdc.2024.104967_br0350 – start-page: 375 year: 2015 ident: 10.1016/j.jpdc.2024.104967_br0100 article-title: GridGraph: large-scale graph processing on a single machine using 2-level hierarchical partitioning – start-page: 456 year: 2013 ident: 10.1016/j.jpdc.2024.104967_br0020 article-title: A lightweight infrastructure for graph analytics – year: 2013 ident: 10.1016/j.jpdc.2024.104967_br0190 article-title: Gps: a graph processing system – ident: 10.1016/j.jpdc.2024.104967_br0310 – start-page: 349 year: 2012 ident: 10.1016/j.jpdc.2024.104967_br0040 article-title: Green-marl: a DSL for easy and efficient graph analysis – start-page: 135 year: 2013 ident: 10.1016/j.jpdc.2024.104967_br0060 article-title: Ligra: a lightweight graph processing framework for shared memory – start-page: 752 year: 2018 ident: 10.1016/j.jpdc.2024.104967_br0140 article-title: Gluon: a communication-optimizing substrate for distributed heterogeneous graph analytics – ident: 10.1016/j.jpdc.2024.104967_br0360 – volume: vol. 44 start-page: 3 year: 2009 ident: 10.1016/j.jpdc.2024.104967_br0010 article-title: How much parallelism is there in irregular applications? – start-page: 314 year: 2022 ident: 10.1016/j.jpdc.2024.104967_br0370 article-title: Essentials of parallel graph analytics – start-page: 333 year: 2011 ident: 10.1016/j.jpdc.2024.104967_br0160 article-title: Synthesizing concurrent schedulers for irregular algorithms – start-page: 301 year: 2016 ident: 10.1016/j.jpdc.2024.104967_br0110 article-title: Gemini: a computation-centric distributed graph processing system  | 
    
| SSID | ssj0011578 | 
    
| Score | 2.41461 | 
    
| Snippet | Graphs model several real-world phenomena. With the growth of unstructured and semi-structured data, parallelization of graph algorithms is inevitable.... | 
    
| SourceID | crossref elsevier  | 
    
| SourceType | Index Database Publisher  | 
    
| StartPage | 104967 | 
    
| SubjectTerms | CUDA Domain-specific language Graph algorithms MPI OpenMP  | 
    
| Title | StarPlat: A versatile DSL for graph analytics | 
    
| URI | https://dx.doi.org/10.1016/j.jpdc.2024.104967 | 
    
| Volume | 194 | 
    
| hasFullText | 1 | 
    
| inHoldings | 1 | 
    
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVESC databaseName: Baden-Württemberg Complete Freedom Collection (Elsevier) issn: 0743-7315 databaseCode: GBLVA dateStart: 20110101 customDbUrl: isFulltext: true dateEnd: 99991231 titleUrlDefault: https://www.sciencedirect.com omitProxy: true ssIdentifier: ssj0011578 providerName: Elsevier – providerCode: PRVESC databaseName: Elsevier SD Complete Freedom Collection [SCCMFC] issn: 0743-7315 databaseCode: ACRLP dateStart: 19950101 customDbUrl: isFulltext: true dateEnd: 99991231 titleUrlDefault: https://www.sciencedirect.com omitProxy: true ssIdentifier: ssj0011578 providerName: Elsevier – providerCode: PRVESC databaseName: Elsevier SD Freedom Collection issn: 0743-7315 databaseCode: .~1 dateStart: 19950101 customDbUrl: isFulltext: true dateEnd: 99991231 titleUrlDefault: https://www.sciencedirect.com omitProxy: true ssIdentifier: ssj0011578 providerName: Elsevier – providerCode: PRVESC databaseName: Elsevier SD Freedom Collection Journals [SCFCJ] issn: 0743-7315 databaseCode: AIKHN dateStart: 19950101 customDbUrl: isFulltext: true dateEnd: 99991231 titleUrlDefault: https://www.sciencedirect.com omitProxy: true ssIdentifier: ssj0011578 providerName: Elsevier – providerCode: PRVLSH databaseName: Elsevier Journals issn: 0743-7315 databaseCode: AKRWK dateStart: 19840801 customDbUrl: isFulltext: true mediaType: online dateEnd: 99991231 omitProxy: true ssIdentifier: ssj0011578 providerName: Library Specific Holdings  | 
    
| link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1LSwMxEB5KvXjxLdZHycGbrG022Ue8lWqpryLUQm_LTpKFllKXsl797Wb2IQriweOGDWy-sDNfyDffAFxmgusYDfeCzCJdMxoPQz92RC7OpLAi5CnVOz9PwvFMPsyDeQuGTS0MySrr2F_F9DJa1yO9Gs1evlj0ppT8IuHyjyxNY-ZUwS4j6mJw_fEl8yAvmbix4qS368KZSuO1zA3ZGPqSrjpV2Wv-l-T0LeGM9mCnZopsUH3MPrTs-gB2my4MrP4pD8FzfHHzskqLGzZgJLJwWK8su50-MUdIWelIzVLyHiFH5iOYje5eh2OvboLgaUc9Ci9FTI1Fk2GYcitU36JGoY2M0AZcaHRjDlSulHEnL_TR8YtYh5JLrZAbJY6hvX5b2xNgEerIsS10rEBLbXiMsq99RJFhP9XKduCqWX2SV14XSSMCWyaEVUJYJRVWHQgagJIfO5a4YPzHvNN_zjuDbXqqpCTn0C427_bCEYICu-WOd2FrcP84nnwCxHW0ow | 
    
| linkProvider | Elsevier | 
    
| linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV1LSwMxEB5qPejFt1ifOXiTtc0m-_JW1FK1LUJb6C3sJFloKbWUevW3m9mHKIgHr9kN7H4hM1_IN98AXGeC6xgN94LMIl0zGg9DP3ZELs6ksCLkKdU79wdhdyyfJ8GkBvdVLQzJKsvYX8T0PFqXI80SzeZyOm0OKflFwuUfmZvGTDZgUwZ-RCew248vnQeZycSVFye9XlbOFCKv2dKQj6Ev6a4zyZvN_5KdvmWczh7slFSRtYuv2YeaXRzAbtWGgZW78hA8RxhXr_N0fcfajFQWDuy5ZQ_DHnOMlOWW1Cwl8xGyZD6CcedxdN_1yi4InnbcY-2liKmxaDIMU25F0rKoUWgjI7QBFxrdmEOVJ4lxRy_00RGMWIeSS50gN4k4hvribWFPgEWoI0e30NECLbXhMcqW9hFFhq1UJ7YBN9Xfq2VhdqEqFdhMEVaKsFIFVg0IKoDUjyVTLhr_Me_0n_OuYKs76vdU72nwcgbb9KTQlZxDfb16txeOHazxMl_9T0Qwtjg | 
    
| 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=StarPlat%3A+A+versatile+DSL+for+graph+analytics&rft.jtitle=Journal+of+parallel+and+distributed+computing&rft.au=Behera%2C+Nibedita&rft.au=Kumar%2C+Ashwina&rft.au=Rajadurai+T%2C+Ebenezer&rft.au=Nitish%2C+Sai&rft.date=2024-12-01&rft.pub=Elsevier+Inc&rft.issn=0743-7315&rft.volume=194&rft_id=info:doi/10.1016%2Fj.jpdc.2024.104967&rft.externalDocID=S074373152400131X | 
    
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0743-7315&client=summon | 
    
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0743-7315&client=summon | 
    
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0743-7315&client=summon |