[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-detail-83808-en":3,"doc-seo-83808-105":30,"detail-sidebar-cat-0-en-105":92},{"code":4,"msg":5,"data":6},0,"success",{"doc_id":7,"user_id":8,"nickname":9,"user_avatar":10,"doc_module":4,"category_id":11,"category_name":12,"doc_title":13,"doc_description":14,"doc_content":15,"file_id":16,"file_url":17,"file_type":18,"file_size":19,"view_count":20,"is_deleted":4,"is_public":21,"is_downloadable":21,"audit_status":21,"page_count":22,"language":23,"language_code":24,"site_id":25,"html_lang":24,"table_of_contents":26,"faqs":27,"seo_title":13,"seo_description":14,"update_tm":28,"read_time":29},83808,5909877438554,"Maeve","https://ap-avatar.wpscdn.com/avatar/5600025385ad2bf12a7?_k=1778553567797529272",8,"Research & Report","GORIO GPU-Centered Remote I/O for Graph ANNS over NVMe-oF Technical Report","Graph-based approximate nearest neighbor search (ANNS) powers vector databases and retrieval-augmented generation, yet large indexes often exceed a single GPU server’s memory. NVMe over Fabrics (NVMe-oF) supports disaggregated storage, but existing remote I/O paths are primarily CPU-centered, leaving the GPU idle when graph traversal discovers the next page to fetch. GORIO introduces GPU-owned query evolution, page-miss generation, and resume decisions, while the CPU only proxies NVMe-oF transport and completion. A GPU-direct remote I/O layer plus ANNS scheduling overlaps traversal with remote page service, yielding substantial speedups on an RDMA NVMe-oF path.","GORIO: GPU-Centered Remote I/O for Graph ANNS over  \nNVMe-oF  \nTechnical Report  \nGen Zhang NUDT China  \nWenhao Gu NUDT China  \nShan Huang NUDT China  \nXinhai Chen NUDT China  \narXiv :2607 .044 15v2 [ cs .DC] 7 Jul 2026  \nAbstract  \nGraph-based approximate nearest neighbor search (ANNS) is increasingly used in vector databases and retrieval-augmented generation services, but large vector indexes often exceed the memory capacity of a single GPU server. NVMe over Fabrics (NVMe-oF) provides an attractive storage-disaggregation substrate, yet existing remote storage paths are still largely CPU-centered: the CPU forms I/O requests, drives transport progress, and determines when GPU computation can resume. This organization is poorly matched to graph ANNS, where the next data access is discovered inside GPU graph traversal.  \nThis paper presents GORIO, a system study that extends GPUcentered local I/O to remote storage and specializes the resulting substrate for graph ANNS over NVMe-oF. GORIO keeps query evolution, page-miss generation, pending-query state, and resume decisions on the GPU, while the CPU acts only as an NVMe-oF transport and completion proxy. The design has two layers: a GPU-direct remote I/O path that turns local page-cache misses into split-phase remote operations, and ANNS-specific scheduling mechanisms that overlap graph traversal with remote page service. On a SIFT1M DiskANN-style graph workload over an RDMA NVMe-oF path, GORIO is 1 .31× faster than the state-of-the-art remote-I/O reference path and 4.89× faster than the direct remote page-cache path. These results demonstrate a concrete GPU-centered remote I/O substrate for graph ANNS.  \nKeywords  \nANNS, vector databases, GPU-centric storage, NVMe-oF, GPUDirect, disaggregated storage  \n1 Introduction  \nApproximate nearest neighbor search (ANNS) is a core operator in vector databases and retrieval-augmented generation (RAG) pipelines. Graph-based indexes such as HNSW and DiskANN are widely used because they provide an effective latency-recall tradeoff at scale [12, 22] . At the same time, vector collections continue to grow beyond the memory budget of a single GPU server, making disaggregated storage an attractive deployment model.  \nNVMe over Fabrics (NVMe-oF) appears to be a natural fit for this setting: storage capacity can be scaled independently from GPU compute, and RDMA-based transports can provide high bandwidth and low CPU-copy overhead. However, remote graph ANNS is  \nnot just a bandwidth problem. The search process is fine-grained and data-dependent: each query repeatedly expands graph nodes, computes distances, updates a candidate frontier, and discovers the next pages to fetch. If these page misses are handled by a CPUcentered remote I/O path, the GPU loses ownership of the search schedule exactly where the workload is most irregular.  \nTwo observations motivate GORIO. (1) Remote storage. Local GPU-centered storage systems such as BaM showed that GPU threads can directly issue fine-grained storage-backed accesses through a GPU-visible page cache [19] . That model is attractive for ANNS, but production deployments often disaggregate storage from GPU compute. A remote miss traverses queue pairs, an RNIC, a target-side NVMe stack, and a return path before the data is visible to the GPU, so local GPU I/O mechanisms cannot be reused without a remote completion and transport design.  \n(2) ANNS specialization. Graph ANNS does not need only GPUaccessible data movement; it also needs page-cache residency, miss tracking, and GPU-side pending/resume semantics for many small, data-dependent page misses. A naive remote BaM path therefore tends to degenerate into repeated “GPU page miss, submit remote read, busy wait for page ready,” which leaves little room for useful overlap across queries.  \nGORIO follows these observations with a narrower design principle: keep the graph-search semantics on the GPU, but do not require the GPU to implement the whole NVMe-oF tr","cbCaivhH0spUm3V7","https://ap.wps.com/l/cbCaivhH0spUm3V7","pdf",417243,5,1,6,"English","en",105,"# Introduction\n## GPU-Centered Local and Remote I/O\n## ANNS Specialization\n# Background and Motivation\n## GPU-Centered Local and Remote I/O","[{\"question\":\"What problem does GORIO address for graph ANNS over NVMe-oF?\",\"answer\":\"It addresses the mismatch where CPU-centered remote I/O scheduling keeps the GPU from maintaining ownership of irregular graph traversal page-miss decisions.\"},{\"question\":\"How does GORIO split responsibilities between GPU and CPU?\",\"answer\":\"The GPU keeps runnable-query selection, page-miss state, and resume decisions, while the CPU acts only as an NVMe-oF transport and completion proxy.\"},{\"question\":\"What performance improvements does GORIO report?\",\"answer\":\"On a SIFT1M DiskANN-style graph workload over an RDMA NVMe-oF path, GORIO is 1.31× faster than the remote-I/O reference path and 4.89× faster than the direct remote page-cache path.\"}]",1784190545,15,{"code":4,"msg":31,"data":32},"ok",{"site_id":25,"language":24,"slug":33,"title":13,"keywords":34,"description":14,"schema_data":35,"social_meta":87,"head_meta":89,"extra_data":91,"updated_unix":28},"gorio-gpu-centered-remote-io-for-graph-anns-over-nvme-of-technical-report","",{"@graph":36,"@context":86},[37,54,69],{"@type":38,"itemListElement":39},"BreadcrumbList",[40,44,48,51],{"item":41,"name":42,"@type":43,"position":21},"https://docshare.wps.com","Home","ListItem",{"item":45,"name":46,"@type":43,"position":47},"https://docshare.wps.com/document/","Document",2,{"item":49,"name":12,"@type":43,"position":50},"https://docshare.wps.com/document/research-report/",3,{"item":52,"name":13,"@type":43,"position":53},"https://docshare.wps.com/document/gorio-gpu-centered-remote-io-for-graph-anns-over-nvme-of-technical-report/83808/",4,{"url":52,"name":13,"@type":55,"author":56,"headline":13,"publisher":58,"fileFormat":61,"inLanguage":24,"description":14,"dateModified":62,"datePublished":63,"encodingFormat":61,"isAccessibleForFree":64,"interactionStatistic":65},"DigitalDocument",{"name":9,"@type":57},"Person",{"url":41,"name":59,"@type":60},"DocShare","Organization","application/pdf","2026-07-24","2026-07-16",true,{"@type":66,"interactionType":67,"userInteractionCount":20},"InteractionCounter",{"@type":68},"ViewAction",{"@type":70,"mainEntity":71},"FAQPage",[72,78,82],{"name":73,"@type":74,"acceptedAnswer":75},"What problem does GORIO address for graph ANNS over NVMe-oF?","Question",{"text":76,"@type":77},"It addresses the mismatch where CPU-centered remote I/O scheduling keeps the GPU from maintaining ownership of irregular graph traversal page-miss decisions.","Answer",{"name":79,"@type":74,"acceptedAnswer":80},"How does GORIO split responsibilities between GPU and CPU?",{"text":81,"@type":77},"The GPU keeps runnable-query selection, page-miss state, and resume decisions, while the CPU acts only as an NVMe-oF transport and completion proxy.",{"name":83,"@type":74,"acceptedAnswer":84},"What performance improvements does GORIO report?",{"text":85,"@type":77},"On a SIFT1M DiskANN-style graph workload over an RDMA NVMe-oF path, GORIO is 1.31× faster than the remote-I/O reference path and 4.89× faster than the direct remote page-cache path.","https://schema.org",{"og:url":52,"og:type":88,"og:title":13,"og:site_name":59,"og:description":14},"article",{"robots":90,"canonical":52},"index,follow",{"doc_id":7,"site_id":25},{"code":4,"msg":5,"data":93},[94,98,102,106,110,114,119,122,127,130,134],{"id":21,"doc_module":4,"doc_module_name":46,"category_name":95,"show_sort_weight":96,"slug":97},"Story & Novel",90,"story-novel",{"id":47,"doc_module":4,"doc_module_name":46,"category_name":99,"show_sort_weight":100,"slug":101},"Literature",80,"literature",{"id":53,"doc_module":4,"doc_module_name":46,"category_name":103,"show_sort_weight":104,"slug":105},"Exam",70,"exam",{"id":20,"doc_module":4,"doc_module_name":46,"category_name":107,"show_sort_weight":108,"slug":109},"Comic",60,"comic",{"id":22,"doc_module":4,"doc_module_name":46,"category_name":111,"show_sort_weight":112,"slug":113},"Technology",50,"technology",{"id":115,"doc_module":4,"doc_module_name":46,"category_name":116,"show_sort_weight":117,"slug":118},7,"Healthcare",40,"healthcare",{"id":11,"doc_module":4,"doc_module_name":46,"category_name":12,"show_sort_weight":120,"slug":121},30,"research-report",{"id":123,"doc_module":4,"doc_module_name":46,"category_name":124,"show_sort_weight":125,"slug":126},9,"Religion & Spirituality",20,"religion-spirituality",{"id":125,"doc_module":4,"doc_module_name":46,"category_name":128,"show_sort_weight":125,"slug":129},"World Cup","world-cup",{"id":131,"doc_module":4,"doc_module_name":46,"category_name":132,"show_sort_weight":131,"slug":133},10,"Lifestyle","lifestyle",{"id":135,"doc_module":4,"doc_module_name":46,"category_name":136,"show_sort_weight":20,"slug":137},19,"General","general"]