{"id":"https://openalex.org/W1976573773","doi":"https://doi.org/10.1145/258915.258944","title":"Fine-grain multithreading with minimal compiler support\u2014a cost effective approach to implementing efficient multithreading languages","display_name":"Fine-grain multithreading with minimal compiler support\u2014a cost effective approach to implementing efficient multithreading languages","publication_year":1997,"publication_date":"1997-05-01","ids":{"openalex":"https://openalex.org/W1976573773","doi":"https://doi.org/10.1145/258915.258944","mag":"1976573773"},"language":"en","primary_location":{"id":"doi:10.1145/258915.258944","is_oa":true,"landing_page_url":"https://doi.org/10.1145/258915.258944","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/258915.258944","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://dl.acm.org/doi/pdf/10.1145/258915.258944","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5009359355","display_name":"Kenjiro Taura","orcid":"https://orcid.org/0000-0001-5224-382X"},"institutions":[{"id":"https://openalex.org/I161296585","display_name":"Tokyo University of Science","ror":"https://ror.org/05sj3n476","country_code":"JP","type":"education","lineage":["https://openalex.org/I161296585"]},{"id":"https://openalex.org/I74801974","display_name":"The University of Tokyo","ror":"https://ror.org/057zh3y96","country_code":"JP","type":"education","lineage":["https://openalex.org/I74801974"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Kenjiro Taura","raw_affiliation_strings":["Department of Information Science, Faculty of Science, University of Tokyo, 7-3-1 Hongo, Bunkyo-ku Tokyo 113 Japan","Department of Information Science, Faculty of Science, University of Tokyo, 7-3-1 Hongo, Bunkyo-ku Tokyo, 113, Japan#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Information Science, Faculty of Science, University of Tokyo, 7-3-1 Hongo, Bunkyo-ku Tokyo 113 Japan","institution_ids":["https://openalex.org/I74801974","https://openalex.org/I161296585"]},{"raw_affiliation_string":"Department of Information Science, Faculty of Science, University of Tokyo, 7-3-1 Hongo, Bunkyo-ku Tokyo, 113, Japan#TAB#","institution_ids":["https://openalex.org/I74801974"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5109877761","display_name":"Akinori Yonezawa","orcid":null},"institutions":[{"id":"https://openalex.org/I161296585","display_name":"Tokyo University of Science","ror":"https://ror.org/05sj3n476","country_code":"JP","type":"education","lineage":["https://openalex.org/I161296585"]},{"id":"https://openalex.org/I74801974","display_name":"The University of Tokyo","ror":"https://ror.org/057zh3y96","country_code":"JP","type":"education","lineage":["https://openalex.org/I74801974"]}],"countries":["JP"],"is_corresponding":false,"raw_author_name":"Akinori Yonezawa","raw_affiliation_strings":["Department of Information Science, Faculty of Science, University of Tokyo, 7-3-1 Hongo, Bunkyo-ku Tokyo 113 Japan","Department of Information Science, Faculty of Science, University of Tokyo, 7-3-1 Hongo, Bunkyo-ku Tokyo, 113, Japan#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Information Science, Faculty of Science, University of Tokyo, 7-3-1 Hongo, Bunkyo-ku Tokyo 113 Japan","institution_ids":["https://openalex.org/I74801974","https://openalex.org/I161296585"]},{"raw_affiliation_string":"Department of Information Science, Faculty of Science, University of Tokyo, 7-3-1 Hongo, Bunkyo-ku Tokyo, 113, Japan#TAB#","institution_ids":["https://openalex.org/I74801974"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":true,"cited_by_count":30,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"320","last_page":"333"},"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.9983000159263611,"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.9958000183105469,"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/multithreading","display_name":"Multithreading","score":0.8983666896820068},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8913016319274902},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7945545315742493},{"id":"https://openalex.org/keywords/thread","display_name":"Thread (computing)","score":0.7685266137123108},{"id":"https://openalex.org/keywords/exploit","display_name":"Exploit","score":0.6431292295455933},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.633297324180603},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5430275201797485},{"id":"https://openalex.org/keywords/context-switch","display_name":"Context switch","score":0.48293325304985046},{"id":"https://openalex.org/keywords/speculative-multithreading","display_name":"Speculative multithreading","score":0.4284389019012451},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.42235851287841797},{"id":"https://openalex.org/keywords/instruction-set","display_name":"Instruction set","score":0.41917258501052856}],"concepts":[{"id":"https://openalex.org/C201410400","wikidata":"https://www.wikidata.org/wiki/Q1064412","display_name":"Multithreading","level":3,"score":0.8983666896820068},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8913016319274902},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7945545315742493},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.7685266137123108},{"id":"https://openalex.org/C165696696","wikidata":"https://www.wikidata.org/wiki/Q11287","display_name":"Exploit","level":2,"score":0.6431292295455933},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.633297324180603},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5430275201797485},{"id":"https://openalex.org/C53833338","wikidata":"https://www.wikidata.org/wiki/Q1061424","display_name":"Context switch","level":2,"score":0.48293325304985046},{"id":"https://openalex.org/C15296174","wikidata":"https://www.wikidata.org/wiki/Q7575343","display_name":"Speculative multithreading","level":4,"score":0.4284389019012451},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.42235851287841797},{"id":"https://openalex.org/C202491316","wikidata":"https://www.wikidata.org/wiki/Q272683","display_name":"Instruction set","level":2,"score":0.41917258501052856},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/258915.258944","is_oa":true,"landing_page_url":"https://doi.org/10.1145/258915.258944","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/258915.258944","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.136.1293","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.136.1293","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.logos.t.u-tokyo.ac.jp/~tau/papers/papers/taura-pldi-fine-grain.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.49.6640","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.49.6640","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"ftp://ftp.yl.is.s.u-tokyo.ac.jp/pub/papers/pldi97-finegrain-a4.ps.gz","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.53.8142","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.53.8142","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"ftp://ftp.yl.is.s.u-tokyo.ac.jp/pub/papers/pldi97-finegrain-letter.ps.gz","raw_type":"text"}],"best_oa_location":{"id":"doi:10.1145/258915.258944","is_oa":true,"landing_page_url":"https://doi.org/10.1145/258915.258944","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/258915.258944","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W1976573773.pdf","grobid_xml":"https://content.openalex.org/works/W1976573773.grobid-xml"},"referenced_works_count":37,"referenced_works":["https://openalex.org/W25934612","https://openalex.org/W1501335511","https://openalex.org/W1514731042","https://openalex.org/W1516638553","https://openalex.org/W1517627288","https://openalex.org/W1557865944","https://openalex.org/W1580664042","https://openalex.org/W1581124917","https://openalex.org/W1581240710","https://openalex.org/W1581731379","https://openalex.org/W1721209942","https://openalex.org/W1856371947","https://openalex.org/W1885644741","https://openalex.org/W1977813675","https://openalex.org/W1983587324","https://openalex.org/W1984689011","https://openalex.org/W1999775600","https://openalex.org/W2030859215","https://openalex.org/W2038228400","https://openalex.org/W2054496292","https://openalex.org/W2068306188","https://openalex.org/W2072794470","https://openalex.org/W2074072975","https://openalex.org/W2100399943","https://openalex.org/W2112590555","https://openalex.org/W2123565576","https://openalex.org/W2149663533","https://openalex.org/W2154554979","https://openalex.org/W2164086572","https://openalex.org/W2167366517","https://openalex.org/W2224959065","https://openalex.org/W2561675875","https://openalex.org/W4232733934","https://openalex.org/W4256363426","https://openalex.org/W4285719527","https://openalex.org/W6601095391","https://openalex.org/W6663970293"],"related_works":["https://openalex.org/W2105895556","https://openalex.org/W2115561485","https://openalex.org/W1985089255","https://openalex.org/W2153202644","https://openalex.org/W4235861380","https://openalex.org/W2106625514","https://openalex.org/W2010970156","https://openalex.org/W2125768521","https://openalex.org/W2377593213","https://openalex.org/W2380961080"],"abstract_inverted_index":{"It":[0],"is":[1,115,139,147],"difficult":[2],"to":[3],"map":[4],"the":[5,19,88,133,136,145,156,165],"execution":[6,22,184],"model":[7,23],"of":[8,24,67,95,135,144,164],"multithreading":[9,31,53],"languages":[10,54],"(languages":[11],"which":[12,55,85,138,182],"support":[13],"fine-grain":[14],"dynamic":[15,71],"thread":[16,72,113,124],"creation)":[17],"onto":[18],"single":[20],"stack":[21,89,142],"C.":[25],"Consequently,":[26],"previous":[27],"work":[28,86],"on":[29],"efficient":[30,70],"uses":[32],"elaborate":[33],"frame":[34,90,143],"formats":[35],"and":[36,74,79,83,92,107,151],"allocation":[37],"strategy,":[38],"with":[39],"compilers":[40],"customized":[41],"for":[42,52],"them.":[43],"This":[44],"paper":[45],"presents":[46],"an":[47,131],"alternative":[48],"cost-effective":[49],"implementation":[50,81],"strategy":[51],"can":[56,76,159],"maximally":[57],"exploit":[58],"current":[59,96],"sequential":[60,162],"C":[61,97,105,120,170,186],"compilers.":[62,98],"We":[63],"identify":[64],"a":[65,104,112,119,128,141,179],"set":[66],"primitives":[68,100,177],"whereby":[69],"creation":[73,114,125],"switch":[75],"be":[77],"achieved":[78],"clarify":[80],"issues":[82],"solutions":[84],"under":[87],"layout":[91],"calling":[93],"conventions":[94],"The":[99],"are":[101],"implemented":[102],"as":[103,178],"library":[106],"named":[108],"StackThreads.":[109],"In":[110],"StackThreads,":[111,155],"done":[116],"just":[117],"by":[118],"procedure":[121,129],"call,":[122],"maximizing":[123],"performance.":[126],"When":[127],"suspends":[130],"execution,":[132],"context":[134],"procedure,":[137,146],"roughly":[140],"saved":[148],"into":[149,168],"heap":[150],"resumed":[152],"later.":[153],"With":[154],"compiler":[157],"writer":[158],"straightforwardly":[160],"translate":[161],"constructs":[163],"source":[166],"language":[167],"corresponding":[169],"statements":[171],"or":[172],"expressions,":[173],"while":[174],"using":[175],"StackThreads":[176],"blackbox":[180],"mechanism":[181],"switches":[183],"between":[185],"procedures.":[187]},"counts_by_year":[{"year":2022,"cited_by_count":1},{"year":2020,"cited_by_count":2},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":1}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-10T00:00:00"}
