{"id":213,"date":"2020-01-06T08:07:35","date_gmt":"2020-01-06T08:07:35","guid":{"rendered":"http:\/\/dcslab.snu.ac.kr\/?p=213"},"modified":"2020-01-06T08:08:24","modified_gmt":"2020-01-06T08:08:24","slug":"213","status":"publish","type":"post","link":"http:\/\/arirang.snu.ac.kr\/?p=213","title":{"rendered":"FlexGPU"},"content":{"rendered":"<p>The graphics processing unit (GPU) is extensively used in diverse domains, such as finance, machine learning, and image processing.<br \/>\nThe GPU can be underutilized as multiple applications may not share the same GPU concurrently owing to a memory oversubscription issue.<br \/>\nFor example, when applications that require fewer computational resources but a larger GPU memory are run instantaneously, the GPU memory may be insufficient; consequently, the number of GPU applications running simultaneously is restricted, decreasing GPU utilization. Further, it can even stop the execution of applications that are running on the GPU.<br \/>\nTo this end, we propose FlexGPU, which schedules the kernels of the GPU applications that run on the same GPU according to their features. This framework 1) schedules the kernel at the launching time according to its features to improve GPU utilization and 2) temporarily checkpoints and restores non-dependent content in the GPU memory to\/from the host memory, which avoids oversubscription of the GPU when out-of-memory failure occurs and allows more kernels to run concurrently on the GPU.<br \/>\nThe experimental results show that compared to existing methods, our approach demonstrates a 7 times improvement in performance in terms of execution time and enables a 2.5 times increase in the concurrent execution of applications.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/dcslab.snu.ac.kr\/wp-content\/uploads\/2020\/01\/chen1.png\" alt=\"\" width=\"1700\" height=\"554\" class=\"alignnone size-full wp-image-214\" srcset=\"http:\/\/arirang.snu.ac.kr\/wp-content\/uploads\/2020\/01\/chen1.png 1700w, http:\/\/arirang.snu.ac.kr\/wp-content\/uploads\/2020\/01\/chen1-300x98.png 300w, http:\/\/arirang.snu.ac.kr\/wp-content\/uploads\/2020\/01\/chen1-768x250.png 768w, http:\/\/arirang.snu.ac.kr\/wp-content\/uploads\/2020\/01\/chen1-1024x334.png 1024w\" sizes=\"(max-width: 1700px) 100vw, 1700px\" \/><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" src=\"http:\/\/dcslab.snu.ac.kr\/wp-content\/uploads\/2020\/01\/chen2.png\" alt=\"\" width=\"1670\" height=\"978\" class=\"alignnone size-full wp-image-215\" srcset=\"http:\/\/arirang.snu.ac.kr\/wp-content\/uploads\/2020\/01\/chen2.png 1670w, http:\/\/arirang.snu.ac.kr\/wp-content\/uploads\/2020\/01\/chen2-300x176.png 300w, http:\/\/arirang.snu.ac.kr\/wp-content\/uploads\/2020\/01\/chen2-768x450.png 768w, http:\/\/arirang.snu.ac.kr\/wp-content\/uploads\/2020\/01\/chen2-1024x600.png 1024w\" sizes=\"(max-width: 1670px) 100vw, 1670px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The graphics processing unit (GPU) is extensively used in diverse domains, such as finance, machine learning, and image processing. The GPU can be underutilized as multiple applications may not share the same GPU concurrently owing to a memory oversubscription issue. For example, when applications that require fewer computational resources but a larger GPU memory are<a href=\"http:\/\/arirang.snu.ac.kr\/?p=213\">[&#8230;]<\/a><\/p>\n","protected":false},"author":1,"featured_media":214,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"http:\/\/arirang.snu.ac.kr\/index.php?rest_route=\/wp\/v2\/posts\/213"}],"collection":[{"href":"http:\/\/arirang.snu.ac.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/arirang.snu.ac.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/arirang.snu.ac.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/arirang.snu.ac.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=213"}],"version-history":[{"count":2,"href":"http:\/\/arirang.snu.ac.kr\/index.php?rest_route=\/wp\/v2\/posts\/213\/revisions"}],"predecessor-version":[{"id":217,"href":"http:\/\/arirang.snu.ac.kr\/index.php?rest_route=\/wp\/v2\/posts\/213\/revisions\/217"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/arirang.snu.ac.kr\/index.php?rest_route=\/wp\/v2\/media\/214"}],"wp:attachment":[{"href":"http:\/\/arirang.snu.ac.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=213"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/arirang.snu.ac.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=213"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/arirang.snu.ac.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}