{"id":"https://openalex.org/W2515029334","doi":"https://doi.org/10.1109/tpds.2017.2754376","title":"Easy PRAM-Based High-Performance Parallel Programming with ICE","display_name":"Easy PRAM-Based High-Performance Parallel Programming with ICE","publication_year":2017,"publication_date":"2017-09-19","ids":{"openalex":"https://openalex.org/W2515029334","doi":"https://doi.org/10.1109/tpds.2017.2754376","mag":"2515029334"},"language":"en","primary_location":{"id":"doi:10.1109/tpds.2017.2754376","is_oa":false,"landing_page_url":"https://doi.org/10.1109/tpds.2017.2754376","pdf_url":null,"source":{"id":"https://openalex.org/S97130795","display_name":"IEEE Transactions on Parallel and Distributed Systems","issn_l":"1045-9219","issn":["1045-9219","1558-2183","2161-9883"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319808","host_organization_name":"Institute of Electrical and Electronics Engineers","host_organization_lineage":["https://openalex.org/P4310319808"],"host_organization_lineage_names":["Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Transactions on Parallel and Distributed Systems","raw_type":"journal-article"},"type":"article","indexed_in":["crossref","datacite"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://doi.org/10.13016/m27f6k","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5052995266","display_name":"Fady Ghanim","orcid":"https://orcid.org/0000-0002-0726-6747"},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Fady Ghanim","raw_affiliation_strings":["Electrical and Computer Engineering Department, University of Maryland, College Park, MD"],"raw_orcid":"https://orcid.org/0000-0002-0726-6747","affiliations":[{"raw_affiliation_string":"Electrical and Computer Engineering Department, University of Maryland, College Park, MD","institution_ids":["https://openalex.org/I66946132"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5013018127","display_name":"Uzi Vishkin","orcid":"https://orcid.org/0000-0003-0713-2674"},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Uzi Vishkin","raw_affiliation_strings":["Electrical and Computer Engineering Department, University of Maryland, College Park, MD"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Electrical and Computer Engineering Department, University of Maryland, College Park, MD","institution_ids":["https://openalex.org/I66946132"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5110710474","display_name":"Rajeev Barua","orcid":"https://orcid.org/0000-0003-4210-6893"},"institutions":[{"id":"https://openalex.org/I66946132","display_name":"University of Maryland, College Park","ror":"https://ror.org/047s2c258","country_code":"US","type":"education","lineage":["https://openalex.org/I66946132"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Rajeev Barua","raw_affiliation_strings":["Electrical and Computer Engineering Department, University of Maryland, College Park, MD"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Electrical and Computer Engineering Department, University of Maryland, College Park, MD","institution_ids":["https://openalex.org/I66946132"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I66946132"],"apc_list":null,"apc_paid":null,"fwci":1.3422,"has_fulltext":false,"cited_by_count":17,"citation_normalized_percentile":{"value":0.80796535,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":"29","issue":"2","first_page":"377","last_page":"390"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998999834060669,"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":0.9998999834060669,"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/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9994000196456909,"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/T11181","display_name":"Advanced Data Storage Technologies","score":0.996399998664856,"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/computer-science","display_name":"Computer science","score":0.8923190832138062},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.7732855677604675},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.673446774482727},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.5354039669036865},{"id":"https://openalex.org/keywords/compile-time","display_name":"Compile time","score":0.5102167129516602},{"id":"https://openalex.org/keywords/scalability","display_name":"Scalability","score":0.5045288801193237},{"id":"https://openalex.org/keywords/implicit-parallelism","display_name":"Implicit parallelism","score":0.490147203207016},{"id":"https://openalex.org/keywords/synchronization","display_name":"Synchronization (alternating current)","score":0.45953962206840515},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.45004284381866455},{"id":"https://openalex.org/keywords/parallel-programming-model","display_name":"Parallel programming model","score":0.4184643626213074},{"id":"https://openalex.org/keywords/data-parallelism","display_name":"Data parallelism","score":0.3724641799926758},{"id":"https://openalex.org/keywords/parallelism","display_name":"Parallelism (grammar)","score":0.3577125668525696},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.12587428092956543}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8923190832138062},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.7732855677604675},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.673446774482727},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.5354039669036865},{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.5102167129516602},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.5045288801193237},{"id":"https://openalex.org/C3543717","wikidata":"https://www.wikidata.org/wiki/Q6007302","display_name":"Implicit parallelism","level":4,"score":0.490147203207016},{"id":"https://openalex.org/C2778562939","wikidata":"https://www.wikidata.org/wiki/Q1298791","display_name":"Synchronization (alternating current)","level":3,"score":0.45953962206840515},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.45004284381866455},{"id":"https://openalex.org/C137364921","wikidata":"https://www.wikidata.org/wiki/Q27929394","display_name":"Parallel programming model","level":3,"score":0.4184643626213074},{"id":"https://openalex.org/C61483411","wikidata":"https://www.wikidata.org/wiki/Q3124522","display_name":"Data parallelism","level":3,"score":0.3724641799926758},{"id":"https://openalex.org/C2781172179","wikidata":"https://www.wikidata.org/wiki/Q853109","display_name":"Parallelism (grammar)","level":2,"score":0.3577125668525696},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.12587428092956543},{"id":"https://openalex.org/C127162648","wikidata":"https://www.wikidata.org/wiki/Q16858953","display_name":"Channel (broadcasting)","level":2,"score":0.0},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1109/tpds.2017.2754376","is_oa":false,"landing_page_url":"https://doi.org/10.1109/tpds.2017.2754376","pdf_url":null,"source":{"id":"https://openalex.org/S97130795","display_name":"IEEE Transactions on Parallel and Distributed Systems","issn_l":"1045-9219","issn":["1045-9219","1558-2183","2161-9883"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319808","host_organization_name":"Institute of Electrical and Electronics Engineers","host_organization_lineage":["https://openalex.org/P4310319808"],"host_organization_lineage_names":["Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Transactions on Parallel and Distributed Systems","raw_type":"journal-article"},{"id":"pmh:oai:drum.lib.umd.edu:1903/18521","is_oa":false,"landing_page_url":"http://hdl.handle.net/1903/18521","pdf_url":null,"source":{"id":"https://openalex.org/S4306401518","display_name":"University Libraries (University of Maryland)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I66946132","host_organization_name":"University of Maryland, College Park","host_organization_lineage":["https://openalex.org/I66946132"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"Technical Report"},{"id":"doi:10.13016/m27f6k","is_oa":true,"landing_page_url":"https://doi.org/10.13016/m27f6k","pdf_url":null,"source":{"id":"https://openalex.org/S4306402644","display_name":"Digital Repository at the University of Maryland (University of Maryland College Park)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I66946132","host_organization_name":"University of Maryland, College Park","host_organization_lineage":["https://openalex.org/I66946132"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"article-journal"}],"best_oa_location":{"id":"doi:10.13016/m27f6k","is_oa":true,"landing_page_url":"https://doi.org/10.13016/m27f6k","pdf_url":null,"source":{"id":"https://openalex.org/S4306402644","display_name":"Digital Repository at the University of Maryland (University of Maryland College Park)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I66946132","host_organization_name":"University of Maryland, College Park","host_organization_lineage":["https://openalex.org/I66946132"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"article-journal"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":38,"referenced_works":["https://openalex.org/W160252883","https://openalex.org/W177182350","https://openalex.org/W326353637","https://openalex.org/W1481186594","https://openalex.org/W1590147747","https://openalex.org/W1857327297","https://openalex.org/W1965575876","https://openalex.org/W1967810725","https://openalex.org/W1978680929","https://openalex.org/W1986804682","https://openalex.org/W2010432227","https://openalex.org/W2014215072","https://openalex.org/W2034599902","https://openalex.org/W2047873558","https://openalex.org/W2056714230","https://openalex.org/W2061983247","https://openalex.org/W2085955087","https://openalex.org/W2087217176","https://openalex.org/W2102061396","https://openalex.org/W2103890844","https://openalex.org/W2112708371","https://openalex.org/W2120490947","https://openalex.org/W2121561008","https://openalex.org/W2127523684","https://openalex.org/W2131145469","https://openalex.org/W2143488880","https://openalex.org/W2164996008","https://openalex.org/W2168887341","https://openalex.org/W2172013743","https://openalex.org/W2401779699","https://openalex.org/W2436525433","https://openalex.org/W2508650629","https://openalex.org/W3145128584","https://openalex.org/W4246219036","https://openalex.org/W4251681643","https://openalex.org/W6606427940","https://openalex.org/W6681200014","https://openalex.org/W7002232342"],"related_works":["https://openalex.org/W2142344422","https://openalex.org/W2097857796","https://openalex.org/W1994257154","https://openalex.org/W4253043195","https://openalex.org/W2103813409","https://openalex.org/W297872448","https://openalex.org/W2056816252","https://openalex.org/W2268502312","https://openalex.org/W141404642","https://openalex.org/W1528267023"],"abstract_inverted_index":{"Parallel":[0],"machines":[1],"have":[2,11,156],"become":[3],"more":[4],"widely":[5],"used.":[6],"Unfortunately":[7],"parallel":[8,55,100,187],"programming":[9,56,135,188],"technologies":[10],"advanced":[12],"at":[13,146],"a":[14,53,65,79,109,179,192,207,267],"much":[15],"slower":[16],"pace":[17],"except":[18],"for":[19,74,78,248,272],"regular":[20],"programs.":[21,141,154],"For":[22,223],"irregular":[23,140,153],"programs,":[24,225],"this":[25,174],"advancement":[26],"is":[27,44,59,64,71,175,178,257],"inhibited":[28],"by":[29,182],"high":[30],"synchronization":[31],"costs,":[32],"non-loop":[33],"parallelism,":[34],"non-array":[35],"data":[36],"structures,":[37],"recursively":[38],"expressed":[39],"parallelism":[40,42,151],"and":[41,90,102,123,136,251],"that":[43,58,126,176],"too":[45],"fine-grained":[46,150],"to":[47,86,107,194,220,264],"be":[48,108],"exploitable.":[49],"We":[50,104,155],"present":[51],"ICE,":[52],"new":[54],"language":[57,68,165],"easy-to-program,":[60],"since:":[61],"(i)":[62],"ICE":[63,83,106,124,159,164,196,250,273],"synchronous,":[66],"lock-step":[67],"so":[69],"there":[70],"no":[72],"need":[73],"programmer-specified":[75],"synchronization;":[76],"(ii)":[77],"PRAM":[80,93,120],"algorithm":[81],"its":[82],"program":[84],"amounts":[85],"directly":[87],"transcribing":[88],"it;":[89],"(iii)":[91],"the":[92,116,119,130,158,163,167,171,226,244],"algorithmic":[94,121],"theory":[95],"offers":[96],"unique":[97],"wealth":[98],"of":[99,111,115,133,139,173,201,203,215,231,233],"algorithms":[101],"techniques.":[103],"propose":[105],"part":[110],"an":[112],"ecosystem":[113],"consisting":[114],"XMT":[117,143],"architecture,":[118,144],"model,":[122],"itself,":[125],"together":[127],"deliver":[128],"on":[129],"twin":[131],"goal":[132],"easy":[134],"efficient":[137],"parallelization":[138],"The":[142,238,260],"developed":[145],"UMD,":[147],"can":[148],"exploit":[149],"in":[152,209,212,229],"built":[157],"compiler":[160],"which":[161],"translates":[162],"into":[166],"multithreaded":[168],"XMTC":[169,265],"language;":[170],"significance":[172],"multi-threading":[177],"feature":[180],"shared":[181],"practically":[183],"all":[184,275],"current":[185],"scalable":[186],"languages":[189],"thus":[190],"providing":[191],"method":[193],"compile":[195],"code.":[197],"As":[198],"one":[199],"indication":[200],"ease":[202],"programming,":[204],"we":[205],"observed":[206],"reduction":[208,228],"code":[210,234,246],"size":[211,247],"11":[213],"out":[214],"16":[216],"benchmarks":[217,241],"as":[218],"compared":[219],"hand-optimized":[221,252],"XMTC.":[222,253],"these":[224],"average":[227,270],"number":[230],"lines":[232],"was":[235,262],"35.5":[236],"percent.":[237],"remaining":[239],"5":[240],"had":[242],"almost":[243],"same":[245],"both":[249],"Our":[254],"main":[255],"result":[256],"perhaps":[258],"surprising:":[259],"run-time":[261],"comparable":[263],"with":[266],"0.53":[268],"percent":[269],"gain":[271],"across":[274],"benchmarks.":[276]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":5},{"year":2018,"cited_by_count":5},{"year":2017,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
