Parallel Haskell implementations of the N-body problem

SUMMARYThis paper provides an assessment of high‐level parallel programming models for multi‐core programming by implementing two versions of the n‐body problem. We compare three different parallel programming models on the basis of parallel Haskell, differing in the ways how potential parallelism i...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Concurrency and computation Jg. 26; H. 4; S. 987 - 1019
Hauptverfasser: Totoo, Prabhat, Loidl, Hans-Wolfgang
Format: Journal Article
Sprache:Englisch
Veröffentlicht: Blackwell Publishing Ltd 25.03.2014
Schlagworte:
ISSN:1532-0626, 1532-0634
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Abstract SUMMARYThis paper provides an assessment of high‐level parallel programming models for multi‐core programming by implementing two versions of the n‐body problem. We compare three different parallel programming models on the basis of parallel Haskell, differing in the ways how potential parallelism is identified and managed. We assess the performance of each implementation, discuss the sequential and parallel tuning steps leading to the final versions and draw general conclusions on the suitability of high‐level parallel programming models for multi‐core programming. We achieve speed‐ups of up to 7.2 for the all‐pairs algorithm and up to 6.5 for the Barnes–Hut algorithm on an 8‐core machine. Copyright © 2013 John Wiley & Sons, Ltd.
AbstractList This paper provides an assessment of high-level parallel programming models for multi-core programming by implementing two versions of the n-body problem. We compare three different parallel programming models on the basis of parallel Haskell, differing in the ways how potential parallelism is identified and managed. We assess the performance of each implementation, discuss the sequential and parallel tuning steps leading to the final versions and draw general conclusions on the suitability of high-level parallel programming models for multi-core programming. We achieve speed-ups of up to 7.2 for the all-pairs algorithm and up to 6.5 for the Barnes-Hut algorithm on an 8-core machine. Copyright copyright 2013 John Wiley & Sons, Ltd.
SUMMARYThis paper provides an assessment of high‐level parallel programming models for multi‐core programming by implementing two versions of the n‐body problem. We compare three different parallel programming models on the basis of parallel Haskell, differing in the ways how potential parallelism is identified and managed. We assess the performance of each implementation, discuss the sequential and parallel tuning steps leading to the final versions and draw general conclusions on the suitability of high‐level parallel programming models for multi‐core programming. We achieve speed‐ups of up to 7.2 for the all‐pairs algorithm and up to 6.5 for the Barnes–Hut algorithm on an 8‐core machine. Copyright © 2013 John Wiley & Sons, Ltd.
This paper provides an assessment of high‐level parallel programming models for multi‐core programming by implementing two versions of the n ‐body problem. We compare three different parallel programming models on the basis of parallel Haskell, differing in the ways how potential parallelism is identified and managed. We assess the performance of each implementation, discuss the sequential and parallel tuning steps leading to the final versions and draw general conclusions on the suitability of high‐level parallel programming models for multi‐core programming. We achieve speed‐ups of up to 7.2 for the all‐pairs algorithm and up to 6.5 for the Barnes–Hut algorithm on an 8‐core machine. Copyright © 2013 John Wiley & Sons, Ltd.
Author Totoo, Prabhat
Loidl, Hans-Wolfgang
Author_xml – sequence: 1
  givenname: Prabhat
  surname: Totoo
  fullname: Totoo, Prabhat
  email: Correspondence to: Prabhat Totoo, School of Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh, EH14 4AS, UK., pt114@hw.ac.uk
  organization: School of Mathematical and Computer Sciences, Heriot-Watt University, EH14 4AS, Edinburgh, UK
– sequence: 2
  givenname: Hans-Wolfgang
  surname: Loidl
  fullname: Loidl, Hans-Wolfgang
  organization: School of Mathematical and Computer Sciences, Heriot-Watt University, EH14 4AS, Edinburgh, UK
BookMark eNp1kMtOwzAQRS1UJEpB4hOyZJPiR2PXS6j6QGpLFzyWlutMhKmbBDsV9O9xFVSEBKu50py5M3PPUaesSkDoiuA-wZjemBr6DA_FCeqSjNEUczboHDXlZ-g8hDeMCcGMdBFfaa-dA5fMdNiAc4nd1g62UDa6sVUZkqpImldIlum6yvdJ7at1bF-g00K7AJfftYeeJuPH0SydP0zvR7fz1DDGRSoLHPcDyAKGOZMSDySn1FCJBSGcGK4LSqjOjTSUYZzLvBAZMyaKXIMB1kPXrW_c-76D0KitDSaeqUuodkERLqKPzIiIaL9Fja9C8FAoY9sfGq-tUwSrQ0AqBqQOAf14Hwdqb7fa7_9C0xb9sA72_3JqtBr_5m1o4PPIa79RXDCRqZflVC2eFxM2vZurGfsCfkaEtw
CitedBy_id crossref_primary_10_1002_cpe_3077
crossref_primary_10_1017_S0956796816000010
crossref_primary_10_1155_2016_9049828
crossref_primary_10_1016_j_ascom_2021_100466
Cites_doi 10.1145/1327452.1327492
10.1145/2364474.2364483
10.1017/S0956796810000201
10.1109/PDP.2010.26
10.1017/S0956796802004458
10.1145/74818.74825
10.1006/jpdc.1996.0106
10.1023/A:1025641323400
10.1145/1094811.1094852
10.1145/1863523.1863535
10.1145/1596550.1596588
10.1017/S0956796897002967
10.1002/(SICI)1096-9128(199910)11:12<701::AID-CPE443>3.0.CO;2-P
10.1145/1248648.1248656
10.1007/3‐540‐45361‐X
10.1145/165854.165874
10.1145/289918.289920
10.1145/2034675.2034690
10.1002/spe.v40:20
10.1002/0471478369
10.1145/1708046.1708058
10.1145/2034675.2034685
10.1007/798‐3‐540‐89330‐1_10
10.1145/237721.237794
10.1017/S0956796805005526
10.1145/1596550.1596563
10.1038/324446a0
10.1109/71.86103
10.1145/277650.277725
10.1006/jpdc.1993.1070
10.1007/11549468_83
10.1007/3‐540‐44681‐8_76
10.1145/1272996.1273005
10.1145/231379.231392
10.1145/1708046.1708048
10.1177/1094342007078442
10.1002/cpe.4330070305
ContentType Journal Article
Copyright Copyright © 2013 John Wiley & Sons, Ltd.
Copyright_xml – notice: Copyright © 2013 John Wiley & Sons, Ltd.
DBID BSCLL
AAYXX
CITATION
7SC
8FD
JQ2
L7M
L~C
L~D
DOI 10.1002/cpe.3087
DatabaseName Istex
CrossRef
Computer and Information Systems Abstracts
Technology Research Database
ProQuest Computer Science Collection
Advanced Technologies Database with Aerospace
Computer and Information Systems Abstracts – Academic
Computer and Information Systems Abstracts Professional
DatabaseTitle CrossRef
Computer and Information Systems Abstracts
Technology Research Database
Computer and Information Systems Abstracts – Academic
Advanced Technologies Database with Aerospace
ProQuest Computer Science Collection
Computer and Information Systems Abstracts Professional
DatabaseTitleList Computer and Information Systems Abstracts

CrossRef
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 1532-0634
EndPage 1019
ExternalDocumentID 10_1002_cpe_3087
CPE3087
ark_67375_WNG_MVMF3GBL_H
Genre article
GroupedDBID .3N
.DC
.GA
.Y3
05W
0R~
10A
1L6
1OC
33P
3SF
3WU
4.4
50Y
50Z
51W
51X
52M
52N
52O
52P
52S
52T
52U
52W
52X
5GY
5VS
66C
702
7PT
8-0
8-1
8-3
8-4
8-5
8UM
930
A03
AAESR
AAEVG
AAHQN
AAMNL
AANHP
AANLZ
AAONW
AASGY
AAXRX
AAYCA
AAZKR
ABCQN
ABCUV
ABEML
ABIJN
ACAHQ
ACBWZ
ACCZN
ACPOU
ACRPL
ACSCC
ACXBN
ACXQS
ACYXJ
ADBBV
ADEOM
ADIZJ
ADKYN
ADMGS
ADMLS
ADNMO
ADOZA
ADXAS
ADZMN
AEIGN
AEIMD
AEUYR
AEYWJ
AFBPY
AFFPM
AFGKR
AFWVQ
AGQPQ
AGYGG
AHBTC
AITYG
AIURR
AJXKR
ALMA_UNASSIGNED_HOLDINGS
ALVPJ
AMBMR
AMYDB
ATUGU
AUFTA
AZBYB
BAFTC
BDRZF
BFHJK
BHBCM
BMNLL
BROTX
BRXPI
BSCLL
BY8
CS3
D-E
D-F
DCZOG
DPXWK
DR2
DRFUL
DRSTM
EBS
EJD
F00
F01
F04
F5P
G-S
G.N
GNP
GODZA
HGLYW
HHY
HZ~
IX1
JPC
KQQ
LATKE
LAW
LC2
LC3
LEEKS
LH4
LITHE
LOXES
LP6
LP7
LUTES
LW6
LYRES
MEWTI
MK4
MRFUL
MRSTM
MSFUL
MSSTM
MXFUL
MXSTM
N04
N05
N9A
O66
O9-
OIG
P2W
P2X
P4D
PQQKQ
Q.N
Q11
QB0
QRW
R.K
ROL
RX1
SUPJJ
TN5
UB1
V2E
W8V
W99
WBKPD
WIH
WIK
WOHZO
WQJ
WXSBR
WYISQ
WZISG
XG1
XV2
~IA
~WT
AAHHS
ACCFJ
ADZOD
AEEZP
AEQDE
AEUQT
AFPWT
AIWBW
AJBDE
ALUQN
RWI
WRC
AAYXX
CITATION
O8X
7SC
8FD
JQ2
L7M
L~C
L~D
ID FETCH-LOGICAL-c3367-9f0063ee9fe8d399049622c29071161c6af212adc9c2300d9df753ccd9ddaece3
IEDL.DBID DRFUL
ISICitedReferencesCount 6
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000331358200012&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 1532-0626
IngestDate Thu Oct 02 13:02:54 EDT 2025
Sat Nov 29 01:41:13 EST 2025
Tue Nov 18 22:29:04 EST 2025
Wed Jan 22 16:47:55 EST 2025
Tue Nov 11 03:25:24 EST 2025
IsPeerReviewed true
IsScholarly true
Issue 4
Language English
License http://onlinelibrary.wiley.com/termsAndConditions#vor
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c3367-9f0063ee9fe8d399049622c29071161c6af212adc9c2300d9df753ccd9ddaece3
Notes istex:9B339A911AEB71969952BD39D35E44AACD048639
ArticleID:CPE3087
ark:/67375/WNG-MVMF3GBL-H
ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 23
PQID 1671619517
PQPubID 23500
PageCount 33
ParticipantIDs proquest_miscellaneous_1671619517
crossref_citationtrail_10_1002_cpe_3087
crossref_primary_10_1002_cpe_3087
wiley_primary_10_1002_cpe_3087_CPE3087
istex_primary_ark_67375_WNG_MVMF3GBL_H
PublicationCentury 2000
PublicationDate 25 March 2014
PublicationDateYYYYMMDD 2014-03-25
PublicationDate_xml – month: 03
  year: 2014
  text: 25 March 2014
  day: 25
PublicationDecade 2010
PublicationTitle Concurrency and computation
PublicationTitleAlternate Concurrency Computat.: Pract. Exper
PublicationYear 2014
Publisher Blackwell Publishing Ltd
Publisher_xml – name: Blackwell Publishing Ltd
References Trinder PW, Hammond K, Loidl HW, Peyton Jones SL. Algorithm + strategy = parallelism. Journal of Functional Programming 1998; 8:23-60. DOI: 10.1017/S0956796897002967. http://www.macs.hw.ac.uk/~dsg/gph/papers/abstracts/strategies.html.
Lowenthal DK, Andrews VWFGR. Using fine-grain threads and run-time decision making in parallel computing. Journal of Parallel and Distributed Computing 1996; 37(1). DOI: 10.1006/jpdc.1996.0106. Special Issue on Multithreading for Multiprocessors.
Bacci B, Danelutto M, Orlando S, Pelagatti S, Vanneschi M. P 3L: a Structured high-level programming language and its structured support. Concurrency and Computation: Practice and Experience 1995; 7(3):225-255. DOI: 10.1002/cpe.4330070305.
Numrich RW, Reid J. Co-array Fortran for parallel programming. SIGPLAN Fortran Forum 1998 August; 17:1-31. DOI: 10.1145/289918.289920.
Loidl HW, Trinder P, Hammond K, Junaidu SB, Morgan R, Peyton Jones SL. Engineering parallel symbolic programs in GpH. Concurrency and Computation: Practice and Experience 1999; 11:701-752. DOI: 10.1.1.49.2354. http://www.macs.hw.ac.uk/~dsg/gph/papers/abstracts/cpe.html.
Reinders J. Intel threading building blocks: outfitting C++ for multi-core processor parallelism. O'Reilly, 2007.
Culler D, Goldstein S, Schauser K, von Eicken T. TAM - a compiler controlled threaded abstract machine. Journal of Parallel and Distributed Computing 1993; 18:347-370. DOI: 10.1006/jpdc.1993.1070. http://www.cs.cmu.edu/~seth/papers/CullerGSvE93.pdf.
Dean J, Ghemawat S. MapReduce: simplified data processing on large clusters. Communications ACM 2008; 51(1):107-113. DOI: 10.1145/1327452.1327492.
Mattson TG, Sanders BA, Massingill BL. Patterns for Parallel Programming. Addison-Wesley, 2004. ISBN 978-0321228116.
Campbell C, Johnson R, Miller A, Toub S. Parallel programming with Microsoft .NET - Design patterns for decomposition and coordination on multicore architectures. Microsoft Press, 2010. http://msdn.microsoft.com/en-us/library/ff963553.aspx.
El-Ghazawi T, Carlson W, Sterling T, Yelick K. UPC: distributed shared memory programming. John Wiley and Sons, 2005. ISBN 0-471-22048-5.
Cole M. Algorithmic skeletons: structural management of parallel computation. Pitman/MIT Press, 1989.
Gonzalez-Velez H, Leyton M. A survey of algorithmic skeleton frameworks: high-level structured parallel programming enablers. Software: Practice and Experience November 2010; 40(12):1135-1160. DOI: 10.1002/spe.v40:20.
Loidl HW, Rubio F, Scaife N, Hammond K, Horiguchi S, Klusik U, Loogen R, Michaelson GJ, Peña R, Priebe S, Rebón ÁJ, Trinder PW. Comparing parallel functional languages: programming and performance. Higher Order Symbolic Computer 2003; 16:203-251. DOI: 10.1023/A:1025641323400. http://www.macs.hw.ac.uk/~dsg/gph/papers/ps/HOSC03.ps.gz.
Loogen R, Ortega-Mallén Y, Peña Marí R. Parallel functional programming in Eden. Journal of Functional Programming 2005; 15:431-475. DOI: 10.1017/S0956796805005526.
Scholz SB. Single assignment C - efficient support for high-level array operations in a functional setting. Journal of Functional Programming 2003; 13(6):1005-1059. DOI: 10.1017/S0956796802004458. http://www.sac-home.org/publications/sac-overview-jfp-03.pdf.
Mohr E, Kranz D, Halstead Jr R. Lazy task creation: a technique for increasing the granularity of parallel programs. IEEE Transactions on Parallel and Distributed Systems 1991; 2(3):264-280. DOI: 10.1109/71.86103.
Fluet M, Rainey M, Reppy J, Shaw A. Implicitly-threaded parallelism in manticore. Journal of Functional Programming 2010; 20(5-6):537-576. DOI: 10.1017/S0956796810000201.
Chamberlain BL, Callahan D, Zima HP. Parallel programmability and the Chapel language. International Journal of High Performance Computing Applications 2007; 21(3):291-312. DOI: 10.1177/1094342007078442. http://www.highproductivity.org/IJHPCA-HPPLM.html.
Barnes J, Hut P. A hierarchical O(N log N) force-calculation algorithm. Nature 1986December; 324:446-449. DOI: 10.1038/324446a0.
Trinder PW, Hammond K, Loidl. HW. Encyclopedia of Parallel Computing. Springer Verlag, 2011. ISBN 978-0-387-09844-9.
Nikhil R, Arvind. Implicit Parallel Programming in pH. Morgan Kaufmann, 2001. ISBN 978-1558606449.
1991; 2
2012
2011
2010
2009
2003; 13
1998
2008
1997
1996
2007
2003; 16
2005
2004
1993
2008; 51
1996; 37
2010; 40
1995; 7
2010; 20
1998; 17
1993; 18
1986; 324
2001
2000
1999; 11
1989; 24(7)
2005; 15
2007; 21
1989
1998; 8
e_1_2_12_4_1
e_1_2_12_6_1
Nikhil R (e_1_2_12_14_1) 2001
e_1_2_12_2_1
e_1_2_12_17_1
e_1_2_12_38_1
Reinders J (e_1_2_12_46_1) 2007
e_1_2_12_20_1
e_1_2_12_41_1
e_1_2_12_22_1
e_1_2_12_43_1
e_1_2_12_24_1
e_1_2_12_45_1
Dieterle M (e_1_2_12_18_1) 2012
e_1_2_12_26_1
e_1_2_12_47_1
e_1_2_12_28_1
Peyton Jones S (e_1_2_12_10_1) 2008
e_1_2_12_31_1
e_1_2_12_52_1
e_1_2_12_33_1
e_1_2_12_54_1
e_1_2_12_35_1
e_1_2_12_56_1
e_1_2_12_37_1
Mattson TG (e_1_2_12_19_1) 2004
e_1_2_12_12_1
e_1_2_12_8_1
e_1_2_12_50_1
e_1_2_12_3_1
e_1_2_12_5_1
e_1_2_12_16_1
Campbell C (e_1_2_12_49_1) 2010
e_1_2_12_39_1
Cole M (e_1_2_12_7_1) 1989
e_1_2_12_42_1
e_1_2_12_21_1
e_1_2_12_44_1
e_1_2_12_23_1
e_1_2_12_25_1
e_1_2_12_48_1
Trinder PW (e_1_2_12_32_1) 2011
e_1_2_12_40_1
e_1_2_12_27_1
e_1_2_12_29_1
e_1_2_12_30_1
e_1_2_12_53_1
e_1_2_12_55_1
e_1_2_12_34_1
e_1_2_12_57_1
e_1_2_12_36_1
e_1_2_12_15_1
e_1_2_12_13_1
e_1_2_12_11_1
e_1_2_12_51_1
e_1_2_12_9_1
References_xml – reference: Fluet M, Rainey M, Reppy J, Shaw A. Implicitly-threaded parallelism in manticore. Journal of Functional Programming 2010; 20(5-6):537-576. DOI: 10.1017/S0956796810000201.
– reference: Loogen R, Ortega-Mallén Y, Peña Marí R. Parallel functional programming in Eden. Journal of Functional Programming 2005; 15:431-475. DOI: 10.1017/S0956796805005526.
– reference: Barnes J, Hut P. A hierarchical O(N log N) force-calculation algorithm. Nature 1986December; 324:446-449. DOI: 10.1038/324446a0.
– reference: Scholz SB. Single assignment C - efficient support for high-level array operations in a functional setting. Journal of Functional Programming 2003; 13(6):1005-1059. DOI: 10.1017/S0956796802004458. http://www.sac-home.org/publications/sac-overview-jfp-03.pdf.
– reference: Lowenthal DK, Andrews VWFGR. Using fine-grain threads and run-time decision making in parallel computing. Journal of Parallel and Distributed Computing 1996; 37(1). DOI: 10.1006/jpdc.1996.0106. Special Issue on Multithreading for Multiprocessors.
– reference: Loidl HW, Rubio F, Scaife N, Hammond K, Horiguchi S, Klusik U, Loogen R, Michaelson GJ, Peña R, Priebe S, Rebón ÁJ, Trinder PW. Comparing parallel functional languages: programming and performance. Higher Order Symbolic Computer 2003; 16:203-251. DOI: 10.1023/A:1025641323400. http://www.macs.hw.ac.uk/~dsg/gph/papers/ps/HOSC03.ps.gz.
– reference: Mattson TG, Sanders BA, Massingill BL. Patterns for Parallel Programming. Addison-Wesley, 2004. ISBN 978-0321228116.
– reference: Chamberlain BL, Callahan D, Zima HP. Parallel programmability and the Chapel language. International Journal of High Performance Computing Applications 2007; 21(3):291-312. DOI: 10.1177/1094342007078442. http://www.highproductivity.org/IJHPCA-HPPLM.html.
– reference: Bacci B, Danelutto M, Orlando S, Pelagatti S, Vanneschi M. P 3L: a Structured high-level programming language and its structured support. Concurrency and Computation: Practice and Experience 1995; 7(3):225-255. DOI: 10.1002/cpe.4330070305.
– reference: Cole M. Algorithmic skeletons: structural management of parallel computation. Pitman/MIT Press, 1989.
– reference: Dean J, Ghemawat S. MapReduce: simplified data processing on large clusters. Communications ACM 2008; 51(1):107-113. DOI: 10.1145/1327452.1327492.
– reference: Loidl HW, Trinder P, Hammond K, Junaidu SB, Morgan R, Peyton Jones SL. Engineering parallel symbolic programs in GpH. Concurrency and Computation: Practice and Experience 1999; 11:701-752. DOI: 10.1.1.49.2354. http://www.macs.hw.ac.uk/~dsg/gph/papers/abstracts/cpe.html.
– reference: Culler D, Goldstein S, Schauser K, von Eicken T. TAM - a compiler controlled threaded abstract machine. Journal of Parallel and Distributed Computing 1993; 18:347-370. DOI: 10.1006/jpdc.1993.1070. http://www.cs.cmu.edu/~seth/papers/CullerGSvE93.pdf.
– reference: Nikhil R, Arvind. Implicit Parallel Programming in pH. Morgan Kaufmann, 2001. ISBN 978-1558606449.
– reference: Trinder PW, Hammond K, Loidl. HW. Encyclopedia of Parallel Computing. Springer Verlag, 2011. ISBN 978-0-387-09844-9.
– reference: Reinders J. Intel threading building blocks: outfitting C++ for multi-core processor parallelism. O'Reilly, 2007.
– reference: Campbell C, Johnson R, Miller A, Toub S. Parallel programming with Microsoft .NET - Design patterns for decomposition and coordination on multicore architectures. Microsoft Press, 2010. http://msdn.microsoft.com/en-us/library/ff963553.aspx.
– reference: Numrich RW, Reid J. Co-array Fortran for parallel programming. SIGPLAN Fortran Forum 1998 August; 17:1-31. DOI: 10.1145/289918.289920.
– reference: Gonzalez-Velez H, Leyton M. A survey of algorithmic skeleton frameworks: high-level structured parallel programming enablers. Software: Practice and Experience November 2010; 40(12):1135-1160. DOI: 10.1002/spe.v40:20.
– reference: Trinder PW, Hammond K, Loidl HW, Peyton Jones SL. Algorithm + strategy = parallelism. Journal of Functional Programming 1998; 8:23-60. DOI: 10.1017/S0956796897002967. http://www.macs.hw.ac.uk/~dsg/gph/papers/abstracts/strategies.html.
– reference: Mohr E, Kranz D, Halstead Jr R. Lazy task creation: a technique for increasing the granularity of parallel programs. IEEE Transactions on Parallel and Distributed Systems 1991; 2(3):264-280. DOI: 10.1109/71.86103.
– reference: El-Ghazawi T, Carlson W, Sterling T, Yelick K. UPC: distributed shared memory programming. John Wiley and Sons, 2005. ISBN 0-471-22048-5.
– year: 2011
– year: 2009
– start-page: 79
  year: 1996
  end-page: 88
– start-page: 519
  year: 2005
  end-page: 538
– year: 2005
– volume: 21
  start-page: 291
  issue: 3
  year: 2007
  end-page: 312
  article-title: Parallel programmability and the Chapel language
  publication-title: International Journal of High Performance Computing Applications
– start-page: 212
  year: 1998
  end-page: 223
– year: 2001
– year: 2007
– year: 1989
– start-page: 761
  year: 2005
  end-page: 770
– volume: 18
  start-page: 347
  year: 1993
  end-page: 370
  article-title: TAM — a compiler controlled threaded abstract machine
  publication-title: Journal of Parallel and Distributed Computing
– year: 2000
– volume: 40
  start-page: 1135
  issue: 12
  year: 2010
  end-page: 1160
  article-title: A survey of algorithmic skeleton frameworks: high‐level structured parallel programming enablers
  publication-title: Software: Practice and Experience
– start-page: 295
  year: 1996
  end-page: 308
– volume: 2
  start-page: 264
  issue: 3
  year: 1991
  end-page: 280
  article-title: Lazy task creation: a technique for increasing the granularity of parallel programs
  publication-title: IEEE Transactions on Parallel and Distributed Systems
– volume: 15
  start-page: 431
  year: 2005
  end-page: 475
  article-title: Parallel functional programming in Eden
  publication-title: Journal of Functional Programming
– start-page: 53
  year: 2010
  end-page: 62
– volume: 8
  start-page: 23
  year: 1998
  end-page: 60
  article-title: Algorithm + strategy = parallelism
  publication-title: Journal of Functional Programming
– year: 2010
– year: 2012
– volume: 13
  start-page: 1005
  issue: 6
  year: 2003
  end-page: 1059
  article-title: Single assignment C — efficient support for high‐level array operations in a functional setting
  publication-title: Journal of Functional Programming
– volume: 37
  issue: 1
  year: 1996
  article-title: Using fine‐grain threads and run‐time decision making in parallel computing
  publication-title: Journal of Parallel and Distributed Computing
– volume: 17
  start-page: 1
  year: 1998
  end-page: 31
  article-title: Co‐array Fortran for parallel programming
  publication-title: SIGPLAN Fortran Forum
– volume: 24(7)
  start-page: 81
  year: 1989
  end-page: 90
– start-page: 71
  year: 2011
  end-page: 82
– volume: 51
  start-page: 107
  issue: 1
  year: 2008
  end-page: 113
  article-title: MapReduce: simplified data processing on large clusters
  publication-title: Communications ACM
– start-page: 91
  year: 1993
  end-page: 108
– start-page: 257
  year: 2009
  end-page: 268
– start-page: 49
  year: 2012
  end-page: 60
– year: 2008
– start-page: 37
  year: 2007
  end-page: 44
– volume: 11
  start-page: 701
  year: 1999
  end-page: 752
  article-title: Engineering parallel symbolic programs in GpH
  publication-title: Concurrency and Computation: Practice and Experience
– start-page: 118
  year: 2011
  end-page: 129
– start-page: 91
  year: 2010
  end-page: 102
– year: 2004
– volume: 20
  start-page: 537
  issue: 5–6
  year: 2010
  end-page: 576
  article-title: Implicitly‐threaded parallelism in manticore
  publication-title: Journal of Functional Programming
– year: 1997
– start-page: 138
  year: 2008
  end-page: 138
– start-page: 137
  year: 2004
  end-page: 150
– volume: 16
  start-page: 203
  year: 2003
  end-page: 251
  article-title: Comparing parallel functional languages: programming and performance
  publication-title: Higher Order Symbolic Computer
– volume: 324
  start-page: 446
  year: 1986
  end-page: 449
  article-title: A hierarchical O(N log N) force‐calculation algorithm
  publication-title: Nature
– volume: 7
  start-page: 225
  issue: 3
  year: 1995
  end-page: 255
  article-title: P L: a Structured high‐level programming language and its structured support
  publication-title: Concurrency and Computation: Practice and Experience
– start-page: 524
  year: 2001
  end-page: 534
– ident: e_1_2_12_24_1
  doi: 10.1145/1327452.1327492
– ident: e_1_2_12_57_1
  doi: 10.1145/2364474.2364483
– ident: e_1_2_12_37_1
  doi: 10.1017/S0956796810000201
– volume-title: Implicit Parallel Programming in pH
  year: 2001
  ident: e_1_2_12_14_1
– ident: e_1_2_12_29_1
  doi: 10.1109/PDP.2010.26
– ident: e_1_2_12_40_1
  doi: 10.1017/S0956796802004458
– ident: e_1_2_12_21_1
– ident: e_1_2_12_33_1
  doi: 10.1145/74818.74825
– ident: e_1_2_12_52_1
  doi: 10.1006/jpdc.1996.0106
– volume-title: Algorithmic skeletons: structural management of parallel computation
  year: 1989
  ident: e_1_2_12_7_1
– ident: e_1_2_12_2_1
  doi: 10.1023/A:1025641323400
– ident: e_1_2_12_20_1
– ident: e_1_2_12_43_1
  doi: 10.1145/1094811.1094852
– ident: e_1_2_12_13_1
  doi: 10.1145/1863523.1863535
– ident: e_1_2_12_36_1
  doi: 10.1145/1596550.1596588
– ident: e_1_2_12_23_1
– ident: e_1_2_12_3_1
  doi: 10.1017/S0956796897002967
– volume-title: Encyclopedia of Parallel Computing
  year: 2011
  ident: e_1_2_12_32_1
– ident: e_1_2_12_6_1
  doi: 10.1002/(SICI)1096-9128(199910)11:12<701::AID-CPE443>3.0.CO;2-P
– ident: e_1_2_12_42_1
– ident: e_1_2_12_35_1
  doi: 10.1145/1248648.1248656
– ident: e_1_2_12_45_1
– ident: e_1_2_12_51_1
  doi: 10.1007/3‐540‐45361‐X
– ident: e_1_2_12_53_1
  doi: 10.1145/165854.165874
– ident: e_1_2_12_48_1
  doi: 10.1145/289918.289920
– ident: e_1_2_12_11_1
  doi: 10.1145/2034675.2034690
– volume-title: IFL'12: Symposium on Implementation and Application of Functional Languages
  year: 2012
  ident: e_1_2_12_18_1
– ident: e_1_2_12_31_1
  doi: 10.1002/spe.v40:20
– ident: e_1_2_12_47_1
  doi: 10.1002/0471478369
– ident: e_1_2_12_55_1
– ident: e_1_2_12_38_1
  doi: 10.1145/1708046.1708058
– ident: e_1_2_12_5_1
  doi: 10.1145/2034675.2034685
– ident: e_1_2_12_16_1
  doi: 10.1007/798‐3‐540‐89330‐1_10
– ident: e_1_2_12_9_1
  doi: 10.1145/237721.237794
– ident: e_1_2_12_4_1
  doi: 10.1017/S0956796805005526
– volume-title: Patterns for Parallel Programming
  year: 2004
  ident: e_1_2_12_19_1
– ident: e_1_2_12_12_1
  doi: 10.1145/1596550.1596563
– ident: e_1_2_12_8_1
  doi: 10.1038/324446a0
– ident: e_1_2_12_34_1
  doi: 10.1109/71.86103
– ident: e_1_2_12_54_1
  doi: 10.1145/277650.277725
– ident: e_1_2_12_56_1
  doi: 10.1006/jpdc.1993.1070
– volume-title: Parallel programming with Microsoft .NET — Design patterns for decomposition and coordination on multicore architectures
  year: 2010
  ident: e_1_2_12_49_1
– ident: e_1_2_12_27_1
  doi: 10.1007/11549468_83
– ident: e_1_2_12_15_1
  doi: 10.1007/3‐540‐44681‐8_76
– ident: e_1_2_12_26_1
  doi: 10.1145/1272996.1273005
– ident: e_1_2_12_50_1
  doi: 10.1145/231379.231392
– ident: e_1_2_12_41_1
  doi: 10.1145/1708046.1708048
– volume-title: IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS 2008)
  year: 2008
  ident: e_1_2_12_10_1
– ident: e_1_2_12_22_1
– volume-title: Intel threading building blocks: outfitting C++ for multi‐core processor parallelism
  year: 2007
  ident: e_1_2_12_46_1
– ident: e_1_2_12_39_1
– ident: e_1_2_12_44_1
  doi: 10.1177/1094342007078442
– ident: e_1_2_12_30_1
  doi: 10.1002/cpe.4330070305
– ident: e_1_2_12_17_1
– ident: e_1_2_12_28_1
– ident: e_1_2_12_25_1
SSID ssj0011031
Score 2.0453894
Snippet SUMMARYThis paper provides an assessment of high‐level parallel programming models for multi‐core programming by implementing two versions of the n‐body...
This paper provides an assessment of high‐level parallel programming models for multi‐core programming by implementing two versions of the n ‐body problem. We...
This paper provides an assessment of high-level parallel programming models for multi-core programming by implementing two versions of the n-body problem. We...
SourceID proquest
crossref
wiley
istex
SourceType Aggregation Database
Enrichment Source
Index Database
Publisher
StartPage 987
SubjectTerms Algorithms
Assessments
Computation
Concurrency
functional programming
high-level parallel programming models
Mathematical models
n-body problem
Parallel programming
Programming
Tuning
Title Parallel Haskell implementations of the N-body problem
URI https://api.istex.fr/ark:/67375/WNG-MVMF3GBL-H/fulltext.pdf
https://onlinelibrary.wiley.com/doi/abs/10.1002%2Fcpe.3087
https://www.proquest.com/docview/1671619517
Volume 26
WOSCitedRecordID wos000331358200012&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVWIB
  databaseName: Wiley Online Library Full Collection 2020
  customDbUrl:
  eissn: 1532-0634
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0011031
  issn: 1532-0626
  databaseCode: DRFUL
  dateStart: 20010101
  isFulltext: true
  titleUrlDefault: https://onlinelibrary.wiley.com
  providerName: Wiley-Blackwell
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV3JTsMwELWg5cCFsoqyyUgIToHEWWofoXQ5tFWFKPRmOY4jVQ1p1QXBjU_gG_kSxlkKlUBC4pQcJk409thv4vF7CJ1JwPUuCWH28wU1HGU7hu-40hBUWZWQmb5nyURsotLp0H6fdbOqSn0WJuWHWPxw05GRzNc6wIU_vfoiDZVjdanp7FZRUZ-pgsSreHtX77UWewhawCBlSyWGCbg9p541yVX-7NJiVNR-fVlCmt_xarLg1Ev_-dRNtJHBTHydjosttKLibVTKJRxwFtE7iHbFRKupRLgppkMVRXjwlFeUJyMSj0IMGBF3Pt7e_VHwijMFml3Uq9fuq00jE1MwpG3DZMhCjUaUYqGiAaASyAw8QiSB5NgC1Cc9EcIqJgLJJGQlZsCCEDIZKeEmEEoqew8V4lGs9hG2hOmbMvAoCygkTJ4fUpfJCkAp5lHi0DK6yL3KZcY0rgUvIp5yJBMODuHaIWV0urAcp-waP9icJx2zMBCToa5Gq7j8sdPg7Yd23W7ctHgTGst7jkOM6I0PEavRfMotD7JCC7CkbizpqF_fxqvdmr4e_NXwEK0DhnJ0WRpxj1BhNpmrY7Qmn2eD6eQkG5OfSSDkYg
linkProvider Wiley-Blackwell
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV3JTsMwEB1BiwQXdsSOkRCcAomz2eLEVopoowqx3SzHcSREaVELCG58At_IlzDOUkACCYlTcpg40dhjv7En7wFsKMT1Pk1x9oslszztelbs-cqSTDthyu04cFQmNhFGEbu-5q0h2C3_hcn5IQYbbiYysvnaBLjZkN75ZA1V93rb8NkNQ9UL3JBVoHp4VrtoDA4RjIJBTpdKLRuBe8k9a9Od8tlvq1HVOPb5G9T8ClizFac28a9vnYTxAmiSvXxkTMGQ7kzDRCniQIqYngHWkj2jp9Imddm_1e02ubkra8qzMUm6KUGUSKL317e4m7yQQoNmFi5qR-cHdauQU7CU6-J0yFODR7TmqWYJ4hLMDQJKFcX02EHcpwKZ4jomE8UV5iV2wpMUcxml8CaRWml3DiqdbkfPA3GkHdsqCRhPGKZMQZwyn6sQwRQPGPXYAmyVbhWq4Bo3khdtkbMkU4EOEcYhC7A-sLzP-TV-sNnMemZgIHu3ph4t9MVVdCyal82ae7zfEHVsrOw6gVFijj5kR3cf-8IJMC90EE2axrKe-vVt4qB1ZK6LfzVcg9H6ebMhGifR6RKMIaLyTJEa9Zeh8tB71Cswop4ebvq91WKAfgD48OhS
linkToPdf http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV1LT9wwEB7BLkK9QGlBvFqMVMEpkDiPtcWpBcIilmiFoHCzHD8kxHZ3tQtVufUn9DfySxjnsRQJJCROyWHiRGOP_Y09-T6AbwpxfUwtzn65ZF5kwsjLo1h5kpmgZbmfJ4EqxCZaWcaurnh3Cvbqf2FKfojJhpuLjGK-dgFuhtruPrGGqqHZcXx209CMYh5HDWgenKUXnckhglMwKOlSqecjcK-5Z326Wz_7bDVqOsf-eQY1_wesxYqTzr_rWz_CXAU0yfdyZCzAlOl_gvlaxIFUMf0ZWFeOnJ5Kj7Tl-Mb0euT6V11TXoxJMrAEUSLJHv7-ywf6nlQaNItwkR6e77e9Sk7BU2GI0yG3Do8Yw61hGnEJ5gYJpYpiehwg7lOJtLiOSa24wrzE11xbzGWUwhstjTLhEjT6g75ZBhJIP_eVThjXDFOmJLcs5qqFYIonjEZsBbZrtwpVcY07yYueKFmSqUCHCOeQFdicWA5Lfo0XbLaKnpkYyNGNq0drxeIyOxKnP0_T8OhHR7SxsbrrBEaJO_qQfTO4G4sgwbwwQDTpGit66tW3if3uobuuvtVwA2a7B6noHGcna_ABAVXkatRovA6N29Gd-QIz6vft9Xj0tRqfj6dD580
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=Parallel+Haskell+implementations+of+the+N%E2%80%90body+problem&rft.jtitle=Concurrency+and+computation&rft.au=Totoo%2C+Prabhat&rft.au=Loidl%2C+Hans%E2%80%90Wolfgang&rft.date=2014-03-25&rft.issn=1532-0626&rft.eissn=1532-0634&rft.volume=26&rft.issue=4&rft.spage=987&rft.epage=1019&rft_id=info:doi/10.1002%2Fcpe.3087&rft.externalDBID=10.1002%252Fcpe.3087&rft.externalDocID=CPE3087
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1532-0626&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1532-0626&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1532-0626&client=summon