{"id":"https://openalex.org/W2161873256","doi":"https://doi.org/10.1145/1481839.1481843","title":"Low-pain, high-gain multicore programming in Haskell","display_name":"Low-pain, high-gain multicore programming in Haskell","publication_year":2009,"publication_date":"2009-01-20","ids":{"openalex":"https://openalex.org/W2161873256","doi":"https://doi.org/10.1145/1481839.1481843","mag":"2161873256"},"language":"en","primary_location":{"id":"doi:10.1145/1481839.1481843","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1481839.1481843","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 4th workshop on Declarative aspects of multicore programming","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5007687315","display_name":"Abdallah Deeb I. Al Zain","orcid":null},"institutions":[{"id":"https://openalex.org/I32062511","display_name":"Heriot-Watt University","ror":"https://ror.org/04mghma93","country_code":"GB","type":"education","lineage":["https://openalex.org/I32062511"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Abdallah Deeb I. Al Zain","raw_affiliation_strings":["Heriot-Watt University, Edinburgh, United Kingdom"],"affiliations":[{"raw_affiliation_string":"Heriot-Watt University, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I32062511"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5055787720","display_name":"Kevin Hammond","orcid":"https://orcid.org/0000-0002-4326-4562"},"institutions":[{"id":"https://openalex.org/I16835326","display_name":"University of St Andrews","ror":"https://ror.org/02wn5qz54","country_code":"GB","type":"education","lineage":["https://openalex.org/I16835326"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Kevin Hammond","raw_affiliation_strings":["University of St Andrews, St Andrews, United Kingdom"],"affiliations":[{"raw_affiliation_string":"University of St Andrews, St Andrews, United Kingdom","institution_ids":["https://openalex.org/I16835326"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5007384332","display_name":"Jost Berthold","orcid":null},"institutions":[{"id":"https://openalex.org/I161103922","display_name":"Philipps University of Marburg","ror":"https://ror.org/01rdrb571","country_code":"DE","type":"education","lineage":["https://openalex.org/I161103922"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Jost Berthold","raw_affiliation_strings":["Philipps-Universitat, Marburg, Germany"],"affiliations":[{"raw_affiliation_string":"Philipps-Universitat, Marburg, Germany","institution_ids":["https://openalex.org/I161103922"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5047010988","display_name":"Phil Trinder","orcid":"https://orcid.org/0000-0003-0190-7010"},"institutions":[{"id":"https://openalex.org/I32062511","display_name":"Heriot-Watt University","ror":"https://ror.org/04mghma93","country_code":"GB","type":"education","lineage":["https://openalex.org/I32062511"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Phil Trinder","raw_affiliation_strings":["Heriot-Watt University, Edinburgh, United Kingdom"],"affiliations":[{"raw_affiliation_string":"Heriot-Watt University, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I32062511"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5030164076","display_name":"Greg Michaelson","orcid":"https://orcid.org/0000-0002-3437-6570"},"institutions":[{"id":"https://openalex.org/I32062511","display_name":"Heriot-Watt University","ror":"https://ror.org/04mghma93","country_code":"GB","type":"education","lineage":["https://openalex.org/I32062511"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Greg Michaelson","raw_affiliation_strings":["Heriot-Watt University, Edinburgh, United Kingdom"],"affiliations":[{"raw_affiliation_string":"Heriot-Watt University, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I32062511"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5007960104","display_name":"Mustafa Aswad","orcid":null},"institutions":[{"id":"https://openalex.org/I32062511","display_name":"Heriot-Watt University","ror":"https://ror.org/04mghma93","country_code":"GB","type":"education","lineage":["https://openalex.org/I32062511"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Mustafa Aswad","raw_affiliation_strings":["Heriot-Watt University, Edinburgh, United Kingdom"],"affiliations":[{"raw_affiliation_string":"Heriot-Watt University, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I32062511"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":6,"corresponding_author_ids":["https://openalex.org/A5007687315"],"corresponding_institution_ids":["https://openalex.org/I32062511"],"apc_list":null,"apc_paid":null,"fwci":1.3191,"has_fulltext":false,"cited_by_count":11,"citation_normalized_percentile":{"value":0.82427232,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":"5","issue":null,"first_page":"25","last_page":"36"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":1.0,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":1.0,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10772","display_name":"Distributed systems and fault tolerance","score":0.9991999864578247,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9983000159263611,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.9123103618621826},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8795981407165527},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6616238355636597},{"id":"https://openalex.org/keywords/shared-memory","display_name":"Shared memory","score":0.5507501363754272},{"id":"https://openalex.org/keywords/cache","display_name":"Cache","score":0.5265855193138123},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.486992210149765},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.44521552324295044},{"id":"https://openalex.org/keywords/memory-model","display_name":"Memory model","score":0.4132997691631317},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.3782089948654175},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.33719611167907715},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.29143714904785156}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.9123103618621826},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8795981407165527},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6616238355636597},{"id":"https://openalex.org/C133875982","wikidata":"https://www.wikidata.org/wiki/Q764810","display_name":"Shared memory","level":2,"score":0.5507501363754272},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.5265855193138123},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.486992210149765},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.44521552324295044},{"id":"https://openalex.org/C12186640","wikidata":"https://www.wikidata.org/wiki/Q6815743","display_name":"Memory model","level":3,"score":0.4132997691631317},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.3782089948654175},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.33719611167907715},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.29143714904785156}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/1481839.1481843","is_oa":false,"landing_page_url":"https://doi.org/10.1145/1481839.1481843","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 4th workshop on Declarative aspects of multicore programming","raw_type":"proceedings-article"},{"id":"pmh:oai:eprints.gla.ac.uk:78924","is_oa":false,"landing_page_url":"http://eprints.gla.ac.uk/78924/","pdf_url":null,"source":{"id":"https://openalex.org/S4210235606","display_name":"ENLIGHTEN (Jurnal Bimbingan dan Konseling Islam)","issn_l":"2622-8912","issn":["2622-8912","2622-8920"],"is_oa":false,"is_in_doaj":true,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Book Sections"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G2707184648","display_name":null,"funder_award_id":"EP/F030657/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"}],"funders":[{"id":"https://openalex.org/F4320320300","display_name":"European Commission","ror":"https://ror.org/00k4n6c32"},{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":51,"referenced_works":["https://openalex.org/W16801147","https://openalex.org/W50182133","https://openalex.org/W1489689515","https://openalex.org/W1540620843","https://openalex.org/W1542123135","https://openalex.org/W1552895988","https://openalex.org/W1556283126","https://openalex.org/W1558109178","https://openalex.org/W1584322803","https://openalex.org/W1585928208","https://openalex.org/W1967838552","https://openalex.org/W1972207247","https://openalex.org/W1972872690","https://openalex.org/W1973829963","https://openalex.org/W1983587116","https://openalex.org/W1990195720","https://openalex.org/W2000886969","https://openalex.org/W2029714406","https://openalex.org/W2035898291","https://openalex.org/W2054961017","https://openalex.org/W2055713367","https://openalex.org/W2072725684","https://openalex.org/W2076149580","https://openalex.org/W2079854797","https://openalex.org/W2086500526","https://openalex.org/W2095690605","https://openalex.org/W2104644701","https://openalex.org/W2105789303","https://openalex.org/W2108204150","https://openalex.org/W2108860780","https://openalex.org/W2112123380","https://openalex.org/W2112406726","https://openalex.org/W2116827712","https://openalex.org/W2121319784","https://openalex.org/W2127617483","https://openalex.org/W2129990308","https://openalex.org/W2134408405","https://openalex.org/W2150848984","https://openalex.org/W2168163009","https://openalex.org/W2173213060","https://openalex.org/W2183975765","https://openalex.org/W2402430135","https://openalex.org/W2911397877","https://openalex.org/W4210858743","https://openalex.org/W4213423413","https://openalex.org/W4230702135","https://openalex.org/W4232363542","https://openalex.org/W4246251632","https://openalex.org/W6633370288","https://openalex.org/W6634652454","https://openalex.org/W6713219795"],"related_works":["https://openalex.org/W2112263414","https://openalex.org/W1602185604","https://openalex.org/W2028779182","https://openalex.org/W4242678340","https://openalex.org/W2140654465","https://openalex.org/W2129253059","https://openalex.org/W1488646450","https://openalex.org/W4296274916","https://openalex.org/W3004782279","https://openalex.org/W1935251877"],"abstract_inverted_index":{"&amp;lt;p&amp;gt;With":[0],"the":[1,32,68,80,83,102,109,166,177,206,252],"emergence":[2],"of":[3,28,39,72,94,149,278,282],"commodity":[4],"multicore":[5],"architectures,":[6],"exploiting":[7],"tightly-coupled":[8],"parallelism":[9,254],"has":[10,47,64,146,246],"become":[11],"increasingly":[12],"important.":[13],"Functional":[14],"programming":[15],"languages,":[16],"such":[17],"as":[18,203],"Haskell,":[19],"are,":[20,264],"in":[21,53,79,101,108,124,251,265,280,299],"principle,":[22,266],"well":[23,298],"placed":[24],"to":[25,34,51,115,130,160,292,307,321],"take":[26],"advantage":[27],"this":[29],"trend,":[30],"offering":[31],"ability":[33],"easily":[35],"identify":[36],"large":[37],"amounts":[38],"fine-grained":[40],"parallelism.":[41],"Unfortunately,":[42],"obtaining":[43],"real":[44],"performance":[45],"benefits":[46],"often":[48,205,267],"proved":[49],"hard":[50],"realise":[52],"practice.&amp;lt;/p&amp;gt;&#13;\\n&#13;\\n&amp;lt;p&amp;gt;This":[54],"paper":[55],"reports":[56],"on":[57,193,199,323],"a":[58,86,91,141,147,241,275],"new":[59],"approach":[60,75,121,145],"using":[61,67,140],"middleware":[62],"that":[63,82,111,125,181,245,296],"been":[65,248],"constructed":[66],"Eden":[69],"parallel":[70,87,118,138,270,294],"dialect":[71],"Haskell.":[73],"Our":[74,120],"is":[76,105,122,157,170,204,240],"``low":[77],"pain''":[78],"sense":[81,110],"programmer":[84],"constructs":[85],"program":[88],"by":[89],"inserting":[90],"small":[92],"number":[93,148],"higher-order":[95],"algorithmic":[96],"skeletons":[97],"at":[98],"key":[99],"points":[100],"program.":[103],"It":[104],"``high":[106],"gain''":[107],"we":[112,126,182,304],"are":[113,189,216,305],"able":[114,306],"get":[116],"good":[117,311,317],"speedups.":[119],"unusual":[123],"do":[127,221],"not":[128,198,222,247],"attempt":[129],"use":[131],"shared":[132,162],"memory":[133,163],"directly,":[134],"but":[135,272],"rather":[136],"coordinate":[137],"computations":[139],"message-passing":[142],"implementation.":[143],"This":[144,288],"advantages.":[150],"Firstly,":[151],"coordination,":[152],"i.e.":[153],"locking":[154],"and":[155,169,197,225,263,285,315],"communication,":[156],"both":[158,283,309],"confined":[159],"limited":[161],"areas,":[164],"essentially":[165],"communication":[167],"buffers,":[168],"also":[171],"isolated":[172],"within":[173],"well-understood":[174],"libraries.":[175],"Secondly,":[176],"coarse":[178],"thread":[179],"granularity":[180],"obtain":[183,308],"reduces":[184],"coordination":[185],"overheads,":[186],"so":[187],"locks":[188],"normally":[190],"needed":[191],"only":[192],"(relatively":[194],"large)":[195],"messages,":[196],"individual":[200,219],"data":[201,286],"items,":[202],"case":[207],"for":[208,232,269],"simple":[209],"shared-memory":[210],"implementations.":[211],"Finally,":[212],"cache":[213],"coherency":[214],"requirements":[215],"reduced":[217],"since":[218],"tasks":[220],"share":[223],"caches,":[224],"can":[226],"garbage":[227],"collect":[228],"independently.&amp;lt;/p&amp;gt;&#13;\\n&#13;\\n&amp;lt;p&amp;gt;We":[229],"report":[230],"results":[231],"two":[233],"representative":[234],"computational":[235,261],"algebra":[236,239,257],"problems.":[237],"Computational":[238,256],"challenging":[242],"application":[243],"area":[244],"widely":[249],"studied":[250],"general":[253],"community.":[255],"applications":[258,295],"have":[259],"high":[260,276],"demands,":[262],"suitable":[268],"execution,":[271],"usually":[273],"display":[274],"degree":[277],"irregularity":[279],"terms":[281],"task":[284],"structure.":[287],"makes":[289],"it":[290],"difficult":[291],"construct":[293],"perform":[297],"practice.":[300],"Using":[301],"our":[302],"system,":[303],"extremely":[310],"processor":[312],"utilisation":[313],"(97%)":[314],"very":[316],"absolute":[318],"speedups":[319],"(up":[320],"7.7)":[322],"an":[324],"eight-core":[325],"machine.&amp;lt;/p&amp;gt;":[326]},"counts_by_year":[{"year":2014,"cited_by_count":3},{"year":2013,"cited_by_count":3},{"year":2012,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
