{"title":"PARALLELGPUOS:使用验证推测的并行操作系统级 GPU 检查点和还原系统","authors":"Zhuobin Huang, Xingda Wei, Yingyi Hao, Rong Chen, Mingcong Han, Jinyu Gu, Haibo Chen","doi":"arxiv-2405.12079","DOIUrl":null,"url":null,"abstract":"Checkpointing (C) and restoring (R) are key components for GPU tasks. POS is\nan OS-level GPU C/R system: It can transparently checkpoint or restore\nprocesses that use the GPU, without requiring any cooperation from the\napplication, a key feature required by modern systems like the cloud. Moreover,\nPOS is the first OS-level C/R system that can concurrently execute C/R with the\napplication execution: a critical feature that can be trivially achieved when\nthe processes only running on the CPU, but becomes challenging when the\nprocesses use GPU. The problem is how to ensure consistency during concurrent\nexecution with the lack of application semantics due to transparency. CPU\nprocesses can leverage OS and hardware paging to fix inconsistency without\napplication semantics. Unfortunately, GPU bypasses OS and paging for high\nperformance. POS fills the semantic gap by speculatively extracting buffer\naccess information of GPU kernels during runtime. Thanks to the simple and\nwell-structured nature of GPU kernels, our speculative extraction (with runtime\nvalidation) achieves 100% accuracy on applications from training to inference\nwhose domains span from vision, large language models, and reinforcement\nlearning. Based on the extracted semantics, we systematically overlap C/R with\napplication execution, and achieves orders of magnitude higher performance\nunder various tasks compared with the state-of-the-art OS-level GPU C/R,\nincluding training fault tolerance, live GPU process migration, and cold starts\nacceleration in GPU-based serverless computing.","PeriodicalId":501333,"journal":{"name":"arXiv - CS - Operating Systems","volume":"64 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"PARALLELGPUOS: A Concurrent OS-level GPU Checkpoint and Restore System using Validated Speculation\",\"authors\":\"Zhuobin Huang, Xingda Wei, Yingyi Hao, Rong Chen, Mingcong Han, Jinyu Gu, Haibo Chen\",\"doi\":\"arxiv-2405.12079\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Checkpointing (C) and restoring (R) are key components for GPU tasks. POS is\\nan OS-level GPU C/R system: It can transparently checkpoint or restore\\nprocesses that use the GPU, without requiring any cooperation from the\\napplication, a key feature required by modern systems like the cloud. Moreover,\\nPOS is the first OS-level C/R system that can concurrently execute C/R with the\\napplication execution: a critical feature that can be trivially achieved when\\nthe processes only running on the CPU, but becomes challenging when the\\nprocesses use GPU. The problem is how to ensure consistency during concurrent\\nexecution with the lack of application semantics due to transparency. CPU\\nprocesses can leverage OS and hardware paging to fix inconsistency without\\napplication semantics. Unfortunately, GPU bypasses OS and paging for high\\nperformance. POS fills the semantic gap by speculatively extracting buffer\\naccess information of GPU kernels during runtime. Thanks to the simple and\\nwell-structured nature of GPU kernels, our speculative extraction (with runtime\\nvalidation) achieves 100% accuracy on applications from training to inference\\nwhose domains span from vision, large language models, and reinforcement\\nlearning. Based on the extracted semantics, we systematically overlap C/R with\\napplication execution, and achieves orders of magnitude higher performance\\nunder various tasks compared with the state-of-the-art OS-level GPU C/R,\\nincluding training fault tolerance, live GPU process migration, and cold starts\\nacceleration in GPU-based serverless computing.\",\"PeriodicalId\":501333,\"journal\":{\"name\":\"arXiv - CS - Operating Systems\",\"volume\":\"64 1\",\"pages\":\"\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-05-20\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"arXiv - CS - Operating Systems\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/arxiv-2405.12079\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Operating Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2405.12079","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
PARALLELGPUOS: A Concurrent OS-level GPU Checkpoint and Restore System using Validated Speculation
Checkpointing (C) and restoring (R) are key components for GPU tasks. POS is
an OS-level GPU C/R system: It can transparently checkpoint or restore
processes that use the GPU, without requiring any cooperation from the
application, a key feature required by modern systems like the cloud. Moreover,
POS is the first OS-level C/R system that can concurrently execute C/R with the
application execution: a critical feature that can be trivially achieved when
the processes only running on the CPU, but becomes challenging when the
processes use GPU. The problem is how to ensure consistency during concurrent
execution with the lack of application semantics due to transparency. CPU
processes can leverage OS and hardware paging to fix inconsistency without
application semantics. Unfortunately, GPU bypasses OS and paging for high
performance. POS fills the semantic gap by speculatively extracting buffer
access information of GPU kernels during runtime. Thanks to the simple and
well-structured nature of GPU kernels, our speculative extraction (with runtime
validation) achieves 100% accuracy on applications from training to inference
whose domains span from vision, large language models, and reinforcement
learning. Based on the extracted semantics, we systematically overlap C/R with
application execution, and achieves orders of magnitude higher performance
under various tasks compared with the state-of-the-art OS-level GPU C/R,
including training fault tolerance, live GPU process migration, and cold starts
acceleration in GPU-based serverless computing.