{"id":"https://openalex.org/W7155384238","doi":"https://doi.org/10.1145/3810900.3810904","title":"One Graph, Many Sources: Automating Vectorization Safely","display_name":"One Graph, Many Sources: Automating Vectorization Safely","publication_year":2026,"publication_date":"2026-04-23","ids":{"openalex":"https://openalex.org/W7155384238","doi":"https://doi.org/10.1145/3810900.3810904"},"language":"en","primary_location":{"id":"doi:10.1145/3810900.3810904","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3810900.3810904","pdf_url":null,"source":{"id":"https://openalex.org/S47508943","display_name":"ACM SIGMOD Record","issn_l":"0163-5808","issn":["0163-5808","1943-5835"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM SIGMOD Record","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://www.pure.ed.ac.uk/ws/files/648894631/ZhaoEtalSIGMODRecord2026OneGraphManySources.pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5068554771","display_name":"Wenyue Zhao","orcid":"https://orcid.org/0009-0003-2941-2658"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Wenyue Zhao","raw_affiliation_strings":["The University of Edinburgh, Edinburgh, United Kingdom"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The University of Edinburgh, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5101426209","display_name":"Yang Cao","orcid":"https://orcid.org/0000-0002-3586-1332"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Yang Cao","raw_affiliation_strings":["The University of Edinburgh, Edinburgh, United Kingdom"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The University of Edinburgh, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5087078518","display_name":"Peter Buneman","orcid":"https://orcid.org/0009-0004-9056-8587"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Peter Buneman","raw_affiliation_strings":["The University of Edinburgh, Edinburgh, United Kingdom"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"The University of Edinburgh, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":{"value":0.62182746,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"55","issue":"1","first_page":"20","last_page":"29"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T12292","display_name":"Graph Theory and Algorithms","score":0.9203000068664551,"subfield":{"id":"https://openalex.org/subfields/1707","display_name":"Computer Vision and Pattern Recognition"},"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/T12292","display_name":"Graph Theory and Algorithms","score":0.9203000068664551,"subfield":{"id":"https://openalex.org/subfields/1707","display_name":"Computer Vision and Pattern Recognition"},"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/T11273","display_name":"Advanced Graph Neural Networks","score":0.04259999841451645,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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/T10799","display_name":"Data Visualization and Analytics","score":0.004699999932199717,"subfield":{"id":"https://openalex.org/subfields/1707","display_name":"Computer Vision and Pattern Recognition"},"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/simd","display_name":"SIMD","score":0.7821000218391418},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.6226999759674072},{"id":"https://openalex.org/keywords/graph-traversal","display_name":"Graph traversal","score":0.6047000288963318},{"id":"https://openalex.org/keywords/tree-traversal","display_name":"Tree traversal","score":0.5579000115394592},{"id":"https://openalex.org/keywords/exploit","display_name":"Exploit","score":0.5447999835014343},{"id":"https://openalex.org/keywords/computation","display_name":"Computation","score":0.4921000003814697},{"id":"https://openalex.org/keywords/graph","display_name":"Graph","score":0.4810999929904938},{"id":"https://openalex.org/keywords/execution-model","display_name":"Execution model","score":0.3792000114917755},{"id":"https://openalex.org/keywords/traverse","display_name":"Traverse","score":0.366100013256073}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9032999873161316},{"id":"https://openalex.org/C150552126","wikidata":"https://www.wikidata.org/wiki/Q339387","display_name":"SIMD","level":2,"score":0.7821000218391418},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6704999804496765},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.6226999759674072},{"id":"https://openalex.org/C96333769","wikidata":"https://www.wikidata.org/wiki/Q907955","display_name":"Graph traversal","level":3,"score":0.6047000288963318},{"id":"https://openalex.org/C140745168","wikidata":"https://www.wikidata.org/wiki/Q1210082","display_name":"Tree traversal","level":2,"score":0.5579000115394592},{"id":"https://openalex.org/C165696696","wikidata":"https://www.wikidata.org/wiki/Q11287","display_name":"Exploit","level":2,"score":0.5447999835014343},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.4921000003814697},{"id":"https://openalex.org/C132525143","wikidata":"https://www.wikidata.org/wiki/Q141488","display_name":"Graph","level":2,"score":0.4810999929904938},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4526999890804291},{"id":"https://openalex.org/C2776834041","wikidata":"https://www.wikidata.org/wiki/Q25346349","display_name":"Execution model","level":2,"score":0.3792000114917755},{"id":"https://openalex.org/C176809094","wikidata":"https://www.wikidata.org/wiki/Q15401496","display_name":"Traverse","level":2,"score":0.366100013256073},{"id":"https://openalex.org/C80899671","wikidata":"https://www.wikidata.org/wiki/Q1304193","display_name":"Vertex (graph theory)","level":3,"score":0.35019999742507935},{"id":"https://openalex.org/C48103436","wikidata":"https://www.wikidata.org/wiki/Q599031","display_name":"State (computer science)","level":2,"score":0.32589998841285706},{"id":"https://openalex.org/C102379954","wikidata":"https://www.wikidata.org/wiki/Q2589940","display_name":"Call graph","level":2,"score":0.30630001425743103},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.3050999939441681},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.3021000027656555},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.29760000109672546},{"id":"https://openalex.org/C2778361913","wikidata":"https://www.wikidata.org/wiki/Q7248437","display_name":"Program transformation","level":2,"score":0.2969000041484833},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.28790000081062317},{"id":"https://openalex.org/C158100120","wikidata":"https://www.wikidata.org/wiki/Q1931402","display_name":"ANSI C","level":3,"score":0.28060001134872437},{"id":"https://openalex.org/C55526617","wikidata":"https://www.wikidata.org/wiki/Q719375","display_name":"Operand","level":2,"score":0.2782999873161316},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.2768000066280365},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.2736999988555908},{"id":"https://openalex.org/C41681595","wikidata":"https://www.wikidata.org/wiki/Q7917855","display_name":"Vectorization (mathematics)","level":2,"score":0.2712000012397766},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.26840001344680786},{"id":"https://openalex.org/C88468194","wikidata":"https://www.wikidata.org/wiki/Q1172416","display_name":"Data-flow analysis","level":3,"score":0.2651999890804291},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.2565000057220459},{"id":"https://openalex.org/C159694833","wikidata":"https://www.wikidata.org/wiki/Q2321565","display_name":"Iterative method","level":2,"score":0.250900000333786},{"id":"https://openalex.org/C21442007","wikidata":"https://www.wikidata.org/wiki/Q1027879","display_name":"Graphics","level":2,"score":0.2508000135421753}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3810900.3810904","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3810900.3810904","pdf_url":null,"source":{"id":"https://openalex.org/S47508943","display_name":"ACM SIGMOD Record","issn_l":"0163-5808","issn":["0163-5808","1943-5835"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM SIGMOD Record","raw_type":"journal-article"},{"id":"pmh:oai:pure.ed.ac.uk:publications/1e1541c5-449d-4883-801f-8e24e73e67bc","is_oa":true,"landing_page_url":"https://hdl.handle.net/20.500.11820/1e1541c5-449d-4883-801f-8e24e73e67bc","pdf_url":"https://www.pure.ed.ac.uk/ws/files/648894631/ZhaoEtalSIGMODRecord2026OneGraphManySources.pdf","source":{"id":"https://openalex.org/S4306400321","display_name":"Edinburgh Research Explorer (University of Edinburgh)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I98677209","host_organization_name":"University of Edinburgh","host_organization_lineage":["https://openalex.org/I98677209"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc","license_id":"https://openalex.org/licenses/cc-by-nc","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Zhao, W, Cao, Y, Buneman, P, Li, J & Ntarmos, N 2026, 'One graph, many sources : Automating vectorization safely', ACM SIGMOD Record, vol. 55, no. 1, pp. 20-29. < https://sigmodrecord.org/2026/04/01/one-graph-many-sources-automating-vectorization-safely/ >","raw_type":"info:eu-repo/semantics/publishedVersion"},{"id":"pmh:oai:pure.ed.ac.uk:openaire/1e1541c5-449d-4883-801f-8e24e73e67bc","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/en/publications/1e1541c5-449d-4883-801f-8e24e73e67bc","pdf_url":null,"source":{"id":"https://openalex.org/S4306400321","display_name":"Edinburgh Research Explorer (University of Edinburgh)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I98677209","host_organization_name":"University of Edinburgh","host_organization_lineage":["https://openalex.org/I98677209"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc","license_id":"https://openalex.org/licenses/cc-by-nc","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Zhao, W, Cao, Y, Buneman, P, Li, J & Ntarmos, N 2026, 'One graph, many sources : Automating vectorization safely', ACM SIGMOD Record, vol. 55, no. 1, pp. 20-29. < https://sigmodrecord.org/2026/04/01/one-graph-many-sources-automating-vectorization-safely/ >","raw_type":"info:eu-repo/semantics/publishedVersion"}],"best_oa_location":{"id":"pmh:oai:pure.ed.ac.uk:publications/1e1541c5-449d-4883-801f-8e24e73e67bc","is_oa":true,"landing_page_url":"https://hdl.handle.net/20.500.11820/1e1541c5-449d-4883-801f-8e24e73e67bc","pdf_url":"https://www.pure.ed.ac.uk/ws/files/648894631/ZhaoEtalSIGMODRecord2026OneGraphManySources.pdf","source":{"id":"https://openalex.org/S4306400321","display_name":"Edinburgh Research Explorer (University of Edinburgh)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I98677209","host_organization_name":"University of Edinburgh","host_organization_lineage":["https://openalex.org/I98677209"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by-nc","license_id":"https://openalex.org/licenses/cc-by-nc","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Zhao, W, Cao, Y, Buneman, P, Li, J & Ntarmos, N 2026, 'One graph, many sources : Automating vectorization safely', ACM SIGMOD Record, vol. 55, no. 1, pp. 20-29. < https://sigmodrecord.org/2026/04/01/one-graph-many-sources-automating-vectorization-safely/ >","raw_type":"info:eu-repo/semantics/publishedVersion"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W7155384238.pdf","grobid_xml":"https://content.openalex.org/works/W7155384238.grobid-xml"},"referenced_works_count":21,"referenced_works":["https://openalex.org/W2026102093","https://openalex.org/W2053076698","https://openalex.org/W2054141820","https://openalex.org/W2058978608","https://openalex.org/W2095223744","https://openalex.org/W2132375650","https://openalex.org/W2170616854","https://openalex.org/W2219764230","https://openalex.org/W2266577329","https://openalex.org/W2281494333","https://openalex.org/W2394534308","https://openalex.org/W2429692861","https://openalex.org/W2574229471","https://openalex.org/W2578829886","https://openalex.org/W2614759802","https://openalex.org/W2738095401","https://openalex.org/W2759308153","https://openalex.org/W2962780468","https://openalex.org/W2981181577","https://openalex.org/W3007641860","https://openalex.org/W4405623203"],"related_works":[],"abstract_inverted_index":{"Many":[0],"graph":[1,38],"workloads":[2],"repeatedly":[3],"run":[4],"the":[5],"same":[6],"traversal":[7],"or":[8],"iterative":[9],"computation":[10],"from":[11],"many":[12],"different":[13],"source":[14],"vertices.":[15],"Multi-instance":[16],"execution":[17],"can":[18,45],"share":[19],"work":[20],"across":[21],"sources":[22,58],"and,":[23],"if":[24],"implemented":[25],"carefully,":[26],"exploit":[27],"SIMD":[28,64,112],"by":[29,121],"packing":[30],"per-source":[31,107],"state":[32],"into":[33,87],"vectors.":[34],"However,":[35],"in":[36,59],"vertex-centric":[37,97],"processing":[39],"systems,":[40],"naive":[41],"''vectorize":[42],"everything''":[43],"transformations":[44],"be":[46,51],"wrong:":[47],"a":[48,55,60,77,84,88,101,117],"vertex":[49],"may":[50],"active":[52],"for":[53],"only":[54],"subset":[56],"of":[57,145],"round,":[61],"yet":[62],"unguarded":[63],"updates":[65],"implicitly":[66],"advance":[67],"all":[68],"lanes,":[69],"leading":[70],"to":[71,105,143,149,155,163,170],"incorrect":[72],"answers.":[73],"We":[74],"present":[75],"AutoMI,":[76],"source-to-source":[78],"compilation":[79],"framework":[80],"that":[81,126],"automatically":[82],"converts":[83],"single-instance":[85],"program":[86,93],"provably":[89],"correct":[90],"SIMD-vectorized":[91],"multi-instance":[92,175],"runnable":[94],"on":[95],"existing":[96],"engines.":[98],"AutoMI":[99,152],"uses":[100],"per-message":[102],"bit-vector":[103],"track":[104,129],"recover":[106],"activation":[108],"and":[109,130,147,168],"generate":[110],"masked":[111],"updates.":[113],"It":[114],"further":[115],"provides":[116],"TrackFree":[118],"optimization,":[119],"guided":[120],"an":[122],"algebraic":[123],"idempotence":[124],"characterization,":[125],"safely":[127],"drops":[128],"produces":[131],"streamlined":[132],"code":[133],"when":[134],"over-activation":[135],"is":[136],"harmless.":[137],"On":[138],"six":[139],"real":[140],"graphs":[141],"(up":[142],"billions":[144],"edges)":[146],"up":[148],"256":[150],"sources,":[151],"achieves":[153],"9.6":[154],"29.5x":[156],"speedup":[157],"over":[158,165,172],"parallelized":[159],"serial":[160],"evaluation,":[161],"7.1":[162],"26.4x":[164],"batch":[166],"processing,":[167],"2.6":[169],"4.6x":[171],"prior":[173],"handcrafted":[174],"code.":[176]},"counts_by_year":[],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2026-04-24T00:00:00"}
