{"title":"GPU多进程服务安全退出进程","authors":"Hao Wu, Wei Liu, Yifan Gong, Jiangming Jin","doi":"10.1109/ICDCS47774.2020.00125","DOIUrl":null,"url":null,"abstract":"GPUs have been widely adopted to speedup various throughput-originated applications running on HPC platforms, where typically there are a number of tasks sharing GPUs to maximize GPU utilization. To facilitate GPU sharing, GPU vendors provide tools, allowing multiple processes concurrently to use GPUs. For example, Nvidia provides MPS (Multi-Process Service) managing all GPU processes to achieve high throughput by fully exploiting hardware resources. However, such tool leads to undesired single point of failure for all GPU processes, namely, one process’s exception makes other processes abnormal. In this work, we investigate the seriousness of this GPU process interferences caused by MPS, and propose an approach to address one of these interferences, which takes place during process quitting. By using signal handling and thread synchronization techniques in this approach, GPU processes are able to quit safely without interfering other GPU processes.","PeriodicalId":158630,"journal":{"name":"2020 IEEE 40th International Conference on Distributed Computing Systems (ICDCS)","volume":"16 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Safe Process Quitting for GPU Multi-Process Service (MPS)\",\"authors\":\"Hao Wu, Wei Liu, Yifan Gong, Jiangming Jin\",\"doi\":\"10.1109/ICDCS47774.2020.00125\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"GPUs have been widely adopted to speedup various throughput-originated applications running on HPC platforms, where typically there are a number of tasks sharing GPUs to maximize GPU utilization. To facilitate GPU sharing, GPU vendors provide tools, allowing multiple processes concurrently to use GPUs. For example, Nvidia provides MPS (Multi-Process Service) managing all GPU processes to achieve high throughput by fully exploiting hardware resources. However, such tool leads to undesired single point of failure for all GPU processes, namely, one process’s exception makes other processes abnormal. In this work, we investigate the seriousness of this GPU process interferences caused by MPS, and propose an approach to address one of these interferences, which takes place during process quitting. By using signal handling and thread synchronization techniques in this approach, GPU processes are able to quit safely without interfering other GPU processes.\",\"PeriodicalId\":158630,\"journal\":{\"name\":\"2020 IEEE 40th International Conference on Distributed Computing Systems (ICDCS)\",\"volume\":\"16 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2020-11-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2020 IEEE 40th International Conference on Distributed Computing Systems (ICDCS)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICDCS47774.2020.00125\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 IEEE 40th International Conference on Distributed Computing Systems (ICDCS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICDCS47774.2020.00125","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Safe Process Quitting for GPU Multi-Process Service (MPS)
GPUs have been widely adopted to speedup various throughput-originated applications running on HPC platforms, where typically there are a number of tasks sharing GPUs to maximize GPU utilization. To facilitate GPU sharing, GPU vendors provide tools, allowing multiple processes concurrently to use GPUs. For example, Nvidia provides MPS (Multi-Process Service) managing all GPU processes to achieve high throughput by fully exploiting hardware resources. However, such tool leads to undesired single point of failure for all GPU processes, namely, one process’s exception makes other processes abnormal. In this work, we investigate the seriousness of this GPU process interferences caused by MPS, and propose an approach to address one of these interferences, which takes place during process quitting. By using signal handling and thread synchronization techniques in this approach, GPU processes are able to quit safely without interfering other GPU processes.