{"id":"https://openalex.org/W4242976362","doi":"https://doi.org/10.1109/micro.2016.7783726","title":"Continuous shape shifting: Enabling loop co-optimization via near-free dynamic code rewriting","display_name":"Continuous shape shifting: Enabling loop co-optimization via near-free dynamic code rewriting","publication_year":2016,"publication_date":"2016-10-01","ids":{"openalex":"https://openalex.org/W4242976362","doi":"https://doi.org/10.1109/micro.2016.7783726"},"language":"en","primary_location":{"id":"doi:10.1109/micro.2016.7783726","is_oa":false,"landing_page_url":"https://doi.org/10.1109/micro.2016.7783726","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2016 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO)","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/A5041306152","display_name":"Animesh Jain","orcid":"https://orcid.org/0000-0003-0250-3608"},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan\u2013Ann Arbor","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Animesh Jain","raw_affiliation_strings":["University of Michigan, Ann Arbor"],"affiliations":[{"raw_affiliation_string":"University of Michigan, Ann Arbor","institution_ids":["https://openalex.org/I27837315"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5058184922","display_name":"Michael A. Laurenzano","orcid":null},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan\u2013Ann Arbor","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Michael A. Laurenzano","raw_affiliation_strings":["University of Michigan, Ann Arbor"],"affiliations":[{"raw_affiliation_string":"University of Michigan, Ann Arbor","institution_ids":["https://openalex.org/I27837315"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5065128438","display_name":"Lingjia Tang","orcid":"https://orcid.org/0000-0002-5609-7775"},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan\u2013Ann Arbor","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Lingjia Tang","raw_affiliation_strings":["University of Michigan, Ann Arbor"],"affiliations":[{"raw_affiliation_string":"University of Michigan, Ann Arbor","institution_ids":["https://openalex.org/I27837315"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5053236545","display_name":"Jason Mars","orcid":"https://orcid.org/0000-0002-7029-5292"},"institutions":[{"id":"https://openalex.org/I27837315","display_name":"University of Michigan\u2013Ann Arbor","ror":"https://ror.org/00jmfr291","country_code":"US","type":"education","lineage":["https://openalex.org/I27837315"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jason Mars","raw_affiliation_strings":["University of Michigan, Ann Arbor"],"affiliations":[{"raw_affiliation_string":"University of Michigan, Ann Arbor","institution_ids":["https://openalex.org/I27837315"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5041306152"],"corresponding_institution_ids":["https://openalex.org/I27837315"],"apc_list":null,"apc_paid":null,"fwci":1.892,"has_fulltext":false,"cited_by_count":9,"citation_normalized_percentile":{"value":0.86270453,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"12"},"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/T11181","display_name":"Advanced Data Storage Technologies","score":0.9994999766349792,"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/T10101","display_name":"Cloud Computing and Resource Management","score":0.9976000189781189,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"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.8499832153320312},{"id":"https://openalex.org/keywords/loop-tiling","display_name":"Loop tiling","score":0.7970075011253357},{"id":"https://openalex.org/keywords/cache","display_name":"Cache","score":0.6305160522460938},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6123796105384827},{"id":"https://openalex.org/keywords/rewriting","display_name":"Rewriting","score":0.5530946850776672},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.5379408597946167},{"id":"https://openalex.org/keywords/stencil","display_name":"Stencil","score":0.5090963244438171},{"id":"https://openalex.org/keywords/locality","display_name":"Locality","score":0.4821317195892334},{"id":"https://openalex.org/keywords/runtime-system","display_name":"Runtime system","score":0.4712280035018921},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.44726720452308655},{"id":"https://openalex.org/keywords/loop-unrolling","display_name":"Loop unrolling","score":0.41365155577659607},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.35270044207572937},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.26362699270248413},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.1977110207080841},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.16282814741134644},{"id":"https://openalex.org/keywords/computational-science","display_name":"Computational science","score":0.1276620626449585}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8499832153320312},{"id":"https://openalex.org/C11799548","wikidata":"https://www.wikidata.org/wiki/Q6675847","display_name":"Loop tiling","level":3,"score":0.7970075011253357},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.6305160522460938},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6123796105384827},{"id":"https://openalex.org/C154690210","wikidata":"https://www.wikidata.org/wiki/Q1668499","display_name":"Rewriting","level":2,"score":0.5530946850776672},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.5379408597946167},{"id":"https://openalex.org/C76752949","wikidata":"https://www.wikidata.org/wiki/Q7607499","display_name":"Stencil","level":2,"score":0.5090963244438171},{"id":"https://openalex.org/C2779808786","wikidata":"https://www.wikidata.org/wiki/Q6664603","display_name":"Locality","level":2,"score":0.4821317195892334},{"id":"https://openalex.org/C2780870223","wikidata":"https://www.wikidata.org/wiki/Q1004415","display_name":"Runtime system","level":2,"score":0.4712280035018921},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.44726720452308655},{"id":"https://openalex.org/C76970557","wikidata":"https://www.wikidata.org/wiki/Q1869750","display_name":"Loop unrolling","level":3,"score":0.41365155577659607},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.35270044207572937},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.26362699270248413},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.1977110207080841},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.16282814741134644},{"id":"https://openalex.org/C459310","wikidata":"https://www.wikidata.org/wiki/Q117801","display_name":"Computational science","level":1,"score":0.1276620626449585},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/micro.2016.7783726","is_oa":false,"landing_page_url":"https://doi.org/10.1109/micro.2016.7783726","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2016 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO)","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Life below water","score":0.5699999928474426,"id":"https://metadata.un.org/sdg/14"}],"awards":[],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":38,"referenced_works":["https://openalex.org/W1964031104","https://openalex.org/W1968775993","https://openalex.org/W1973069666","https://openalex.org/W1977661221","https://openalex.org/W1978502921","https://openalex.org/W1979660638","https://openalex.org/W1991338294","https://openalex.org/W1994790794","https://openalex.org/W2007451249","https://openalex.org/W2017004353","https://openalex.org/W2025093669","https://openalex.org/W2034761517","https://openalex.org/W2039865334","https://openalex.org/W2043013658","https://openalex.org/W2060204338","https://openalex.org/W2063249715","https://openalex.org/W2072277531","https://openalex.org/W2089031675","https://openalex.org/W2098220211","https://openalex.org/W2102709380","https://openalex.org/W2102976251","https://openalex.org/W2108737583","https://openalex.org/W2119609467","https://openalex.org/W2123680107","https://openalex.org/W2143773524","https://openalex.org/W2143835304","https://openalex.org/W2148542244","https://openalex.org/W2150139096","https://openalex.org/W2158158791","https://openalex.org/W2244841219","https://openalex.org/W3137184863","https://openalex.org/W4235762625","https://openalex.org/W4246166885","https://openalex.org/W4253632492","https://openalex.org/W6641237240","https://openalex.org/W6665630473","https://openalex.org/W6672881225","https://openalex.org/W6674469337"],"related_works":["https://openalex.org/W4200123712","https://openalex.org/W30800889","https://openalex.org/W1951652387","https://openalex.org/W4251798485","https://openalex.org/W2122418911","https://openalex.org/W1992520403","https://openalex.org/W2039186546","https://openalex.org/W2151744790","https://openalex.org/W2340721088","https://openalex.org/W2278840053"],"abstract_inverted_index":{"The":[0],"class":[1,58],"of":[2,36,59,94,120,177,186],"optimizations":[3,25,60,97],"characterized":[4],"by":[5,98],"manipulating":[6],"a":[7,27,55,87,115,140,144,174],"loop's":[8],"interaction":[9],"space":[10],"for":[11,117,142,151],"improved":[12],"cache":[13,18,76,95],"locality":[14],"and":[15,21,33,123,132,159],"reuse":[16],"(i.e,":[17],"tiling/blocking/strip":[19],"mine":[20],"interchange)":[22],"are":[23],"static":[24,206],"requiring":[26],"priori":[28],"information":[29],"about":[30],"the":[31,68,92,152,165,199],"microarchitectural":[32],"runtime":[34,125,178,200],"environment":[35,201],"an":[37,184,204],"application":[38,105,167],"binary.":[39],"However,":[40],"particularly":[41],"in":[42,63],"datacenter":[43],"environments,":[44],"deployed":[45],"applications":[46,122],"face":[47],"numerous":[48],"dynamic":[49],"environments":[50,126],"over":[51],"their":[52,124],"lifetimes.":[53],"As":[54],"result,":[56],"this":[57],"can":[61],"result":[62],"sub-optimal":[64],"performance":[65,188],"due":[66],"to":[67,70,127,191,203],"inability":[69],"flexibly":[71],"adapt":[72],"iteration":[73,130],"spaces":[74,131],"as":[75],"conditions":[77],"change":[78],"at":[79],"runtime.":[80],"This":[81],"paper":[82],"introduces":[83],"continuous":[84,109,118],"shape":[85,110],"shifiting,":[86],"compilation":[88],"approach":[89,147],"that":[90,181],"removes":[91],"risks":[93],"tiling":[96,146,208],"dynamically":[99,157],"rewriting":[100],"(and":[101],"reshaping)":[102],"deployed,":[103],"running":[104,166],"code.":[106],"To":[107],"realize":[108],"shifting,":[111],"we":[112],"present":[113],"ShapeShifter,":[114],"framework":[116],"monitoring":[119],"co-running":[121],"reshape":[128],"loop":[129,135,207],"pinpoint":[133],"near-optimal":[134],"tile":[136],"configurations.":[137],"Upon":[138],"identifying":[139],"need":[141],"reshaping,":[143],"new":[145,154],"is":[148,156,160],"quickly":[149],"constructed":[150],"application,":[153],"code":[155],"generated":[158],"then":[161],"seamlessly":[162],"stitched":[163],"into":[164],"with":[168],"near-zero":[169],"overhead.":[170],"Our":[171],"evaluation":[172],"on":[173,194,198],"wide":[175],"spectrum":[176],"scenarios":[179],"demonstrates":[180],"ShapeShifter":[182],"achieves":[183],"average":[185],"10-40%":[187],"improvement":[189],"(up":[190],"2.4":[192],"\u03c7)":[193],"real":[195],"systems":[196],"depending":[197],"compared":[202],"oracle":[205],"baseline.":[209]},"counts_by_year":[{"year":2023,"cited_by_count":2},{"year":2021,"cited_by_count":1},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":4}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
