[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-detail-84948-en":3,"doc-seo-84948-105":29,"detail-sidebar-cat-0-en-105":90},{"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":4,"is_deleted":4,"is_public":20,"is_downloadable":20,"audit_status":20,"page_count":21,"language":22,"language_code":23,"site_id":24,"html_lang":23,"table_of_contents":25,"faqs":26,"seo_title":13,"seo_description":14,"update_tm":27,"read_time":28},84948,7971461740886,"Theodore","https://ap-avatar.wpscdn.com/davatar_3d24733baf745e90a7e4bdd5f77d97b2",6,"Technology","Seekable OCI: Lazy-Loading Container Images via Range-Request Indexing","Container image pulling dominates pod startup time in Kubernetes, since standard pulls download and extract complete images even when applications use only a small working set during initialization. Seekable OCI (SOCI) introduces lazy loading by building an external index over unmodified OCI images, mapping files to byte ranges inside compressed layers. At runtime, a FUSE filesystem intercepts accesses and serves data using HTTP range requests, without image conversion or registry/deployment changes. On a 1.3 GB image, cold-start pull time drops from 20s to ~2.8s, with ~constant pull time independent of image size.","Seekable OCI: Lazy-Loading Container Images via Range-Request Indexing  \nJames Thompson, Wayne Mesard, Jesse Butler, Sri Saran Balaji Vellore Rajakumar, Henry Wang  \nAmazon Web Services  \narXiv :2607 .06868v 1 [ cs .DC] 7 Jul 2026  \nAbstract—Container image pulling accounts for the majority of pod startup time in Kubernetes environments. Standard pull downloads the entire image before the container can start, even when the application accesses only a fraction of the image content at startup. We present SOCI (Seekable OCI), a lazy-loading architecture that enables containers to start without downloading the full image. SOCI builds an external index over standard OCI images, mapping files to byte ranges within compressed layers. At runtime, a FUSE filesystem intercepts file accesses and serves them via [HTTP](HTTP) range requests. Unlike prior approaches that require image format conversion, SOCI works with unmodified images and standard registries. The index is stored as an OCI referrer artifact, requiring no changes to images, registries, or deployment tooling. On a 1.3 GB Python web service image, SOCI reduces cold-start pull time from 20 seconds to approximately 2.8 seconds (7.4x speedup), with pull time independent of imagesize. Larger images see larger speedups (9.3x on a 2.5 GB image) because SOCI pull time is constant while standard pull scales linearly. We measure a crossover at 80% access density: below this, lazy loading wins; above, parallel full pull is faster. SOCI lazy loading is deployed in production on Amazon EKS and Amazon ECS Fargate (which launched 18.4 million tasks per day during Prime Day 2025 [1]), and has been serving lazy-load requests since 2023. EKS Auto Mode uses SOCI’s parallel pull mode for GPU instances.  \nI. INTRODUCTION  \nContainer image pulling accounts for most of container  \nstartup time [2] . For a 1.3 GB Python application image on an m5.xlarge instance pulling from ECR in the same region, a standard pull takes 20 seconds. The container cannot serve its first request until the pull completes. When a new pod launches, those 20 seconds are latency the end user experiences.  \nLaunching a container image in the usual way is simple: containerd downloads every layer in the image, decompresses each one, and extracts the files onto disk. Once all of this is done, the container application can start. For a Python web service, the runtime needs approximately 80 MB of interpreter, framework, and application code to begin serving requests. The remaining 1.2 GB (scientific libraries, optional dependencies, locale data, debug tools) sits untouched during initialization and might never be needed. The container pays for 20 seconds of download but uses 5% of what it downloaded.  \nIt is natural and expected for container images to have more bytes than are strictly necessary. Tools for slimming down images are useful, but require hard decisions about what is absolutely required and what is only needed occasionally. Lazy loading container image data is a less sharp tool: mount the container filesystem immediately, and fetch file content  \non demand as the application accesses it. This makes startup time proportional to the working set, the bytes actually needed, rather than the total image size. Our measurements confirm this: a lazy pull of the same 1.3 GB image completes in approximately 2.8 seconds (7.4x faster) . A 2.5 GB image pullsin the same 2.8 seconds (9.3x faster), because SOCI pull time is constant while standard pull scales with image size.  \nPrior lazy-loading systems achieve this by converting images to new formats. Slacker [2] demonstrated the value of lazy loading (5x startup reduction) using an NFS backend that required a custom storage layer. eStargz [3] re-compresses each file in a tar layer as its own gzip member, so that file boundaries align with gzip member boundaries and individual files can be fetched independently. Nydus [4] goes further, replacing the tar/gzip layer format entirely w","cbCaiaoKF8SlMXXp","https://ap.wps.com/l/cbCaiaoKF8SlMXXp","pdf",195926,1,9,"English","en",105,"# Introduction\n## Motivation: Startup Latency from Full Image Pulls\n## Why Lazy Loading Helps: Working Set vs Image Size\n## Limits of Prior Approaches\n## SOCI Overview and Core Mechanism","[{\"question\":\"What problem does SOCI address in container startup?\",\"answer\":\"Container image pulling takes most startup time because standard pulls download and extract entire images before the application can serve requests.\"},{\"question\":\"How does SOCI enable containers to start without downloading full images?\",\"answer\":\"SOCI builds an external index mapping files to byte ranges within compressed OCI layers, then uses a FUSE filesystem at runtime to fetch only accessed file data via HTTP range requests.\"},{\"question\":\"Why is SOCI compatible with existing OCI images and registries?\",\"answer\":\"The index is stored as an OCI referrer artifact that references the unmodified image, so image digests, layers, and signatures remain unchanged and no conversion step is required.\"}]",1784199650,23,{"code":4,"msg":30,"data":31},"ok",{"site_id":24,"language":23,"slug":32,"title":13,"keywords":33,"description":14,"schema_data":34,"social_meta":85,"head_meta":87,"extra_data":89,"updated_unix":27},"seekable-oci-lazy-loading-container-images-via-range-request-indexing","",{"@graph":35,"@context":84},[36,53,67],{"@type":37,"itemListElement":38},"BreadcrumbList",[39,43,47,50],{"item":40,"name":41,"@type":42,"position":20},"https://docshare.wps.com","Home","ListItem",{"item":44,"name":45,"@type":42,"position":46},"https://docshare.wps.com/document/","Document",2,{"item":48,"name":12,"@type":42,"position":49},"https://docshare.wps.com/document/technology/",3,{"item":51,"name":13,"@type":42,"position":52},"https://docshare.wps.com/document/seekable-oci-lazy-loading-container-images-via-range-request-indexing/84948/",4,{"url":51,"name":13,"@type":54,"author":55,"headline":13,"publisher":57,"fileFormat":60,"inLanguage":23,"description":14,"dateModified":61,"datePublished":61,"encodingFormat":60,"isAccessibleForFree":62,"interactionStatistic":63},"DigitalDocument",{"name":9,"@type":56},"Person",{"url":40,"name":58,"@type":59},"DocShare","Organization","application/pdf","2026-07-16",true,{"@type":64,"interactionType":65,"userInteractionCount":4},"InteractionCounter",{"@type":66},"ViewAction",{"@type":68,"mainEntity":69},"FAQPage",[70,76,80],{"name":71,"@type":72,"acceptedAnswer":73},"What problem does SOCI address in container startup?","Question",{"text":74,"@type":75},"Container image pulling takes most startup time because standard pulls download and extract entire images before the application can serve requests.","Answer",{"name":77,"@type":72,"acceptedAnswer":78},"How does SOCI enable containers to start without downloading full images?",{"text":79,"@type":75},"SOCI builds an external index mapping files to byte ranges within compressed OCI layers, then uses a FUSE filesystem at runtime to fetch only accessed file data via HTTP range requests.",{"name":81,"@type":72,"acceptedAnswer":82},"Why is SOCI compatible with existing OCI images and registries?",{"text":83,"@type":75},"The index is stored as an OCI referrer artifact that references the unmodified image, so image digests, layers, and signatures remain unchanged and no conversion step is required.","https://schema.org",{"og:url":51,"og:type":86,"og:title":13,"og:site_name":58,"og:description":14},"article",{"robots":88,"canonical":51},"index,follow",{"doc_id":7,"site_id":24},{"code":4,"msg":5,"data":91},[92,96,100,104,109,112,117,122,126,129,133],{"id":20,"doc_module":4,"doc_module_name":45,"category_name":93,"show_sort_weight":94,"slug":95},"Story & Novel",90,"story-novel",{"id":46,"doc_module":4,"doc_module_name":45,"category_name":97,"show_sort_weight":98,"slug":99},"Literature",80,"literature",{"id":52,"doc_module":4,"doc_module_name":45,"category_name":101,"show_sort_weight":102,"slug":103},"Exam",70,"exam",{"id":105,"doc_module":4,"doc_module_name":45,"category_name":106,"show_sort_weight":107,"slug":108},5,"Comic",60,"comic",{"id":11,"doc_module":4,"doc_module_name":45,"category_name":12,"show_sort_weight":110,"slug":111},50,"technology",{"id":113,"doc_module":4,"doc_module_name":45,"category_name":114,"show_sort_weight":115,"slug":116},7,"Healthcare",40,"healthcare",{"id":118,"doc_module":4,"doc_module_name":45,"category_name":119,"show_sort_weight":120,"slug":121},8,"Research & Report",30,"research-report",{"id":21,"doc_module":4,"doc_module_name":45,"category_name":123,"show_sort_weight":124,"slug":125},"Religion & Spirituality",20,"religion-spirituality",{"id":124,"doc_module":4,"doc_module_name":45,"category_name":127,"show_sort_weight":124,"slug":128},"World Cup","world-cup",{"id":130,"doc_module":4,"doc_module_name":45,"category_name":131,"show_sort_weight":130,"slug":132},10,"Lifestyle","lifestyle",{"id":134,"doc_module":4,"doc_module_name":45,"category_name":135,"show_sort_weight":105,"slug":136},19,"General","general"]