{"id":361092,"date":"2024-05-21T01:06:23","date_gmt":"2024-05-21T01:06:23","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=361092"},"modified":"-0001-11-30T00:00:00","modified_gmt":"2024-05-21T01:06:23","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=361092","title":{"rendered":"<span>\u041a\u0430\u043a \u0440\u0430\u0437\u0431\u0438\u0442\u044c \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0443 \u0438 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441 \u043a\u043e\u043b\u043b\u0435\u0433\u0430\u043c\u0438? \u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0448\u0435\u0440\u0438\u043d\u0433 GPU \u0432 Kubernetes \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e MIG, MPS \u0438 TimeSlicing<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/pd\/r9\/fr\/pdr9frol_ifxhwik8bkidiakgbi.png\" data-src=\"https:\/\/habrastorage.org\/webt\/pd\/r9\/fr\/pdr9frol_ifxhwik8bkidiakgbi.png\"\/><\/div>\n<p>  \u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421 \u0432\u0430\u043c\u0438 \u0441\u043d\u043e\u0432\u0430 \u0410\u043d\u0442\u043e\u043d, \u0432\u0441\u0435 \u0435\u0449\u0435 DevOps-\u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0432 \u043e\u0442\u0434\u0435\u043b\u0435 <a href=\"https:\/\/slc.tl\/w4syj\">Data- \u0438 ML-\u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 Selectel<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u0441\u0435 \u0435\u0449\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0442\u0435\u043c\u0443 \u0448\u0435\u0440\u0438\u043d\u0433\u0430 GPU. \u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0448\u0435\u0440\u0438\u043d\u0433 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442 \u0432 Kubernetes. <\/p>\n<p>  \u0412 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u0431\u044b\u043b\u0430 \u0437\u0430\u0442\u0440\u043e\u043d\u0443\u0442\u0430 \u0442\u0435\u043c\u0430 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f MIG. \u0412\u043e\u043f\u0440\u043e\u0441: \u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0434\u0435\u043b\u0435\u043d\u0438\u0435 GPU \u043f\u0440\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0435? \u042f \u043f\u043e\u0433\u0440\u0443\u0437\u0438\u043b\u0441\u044f \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0432 \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441 \u0438 \u043d\u0430\u0448\u0435\u043b \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432, \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c. \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e? \u0422\u043e\u0433\u0434\u0430 \u0434\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0434 \u043a\u0430\u0442!<a name=\"habracut\"><\/a><\/p>\n<p>  <b>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044e, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0445\u043e\u0442\u0438\u0442\u0435 \u0447\u0438\u0442\u0430\u0442\u044c \u0442\u0435\u043a\u0441\u0442 \u0446\u0435\u043b\u0438\u043a\u043e\u043c:<\/b><\/p>\n<p>  \u2192 <a href=\"#1\">\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u044f MIG<\/a><br \/>  \u2192 <a href=\"#2\">\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u0442 run.ai<\/a><br \/>  \u2192 <a href=\"#3\">\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b<\/a><br \/>  \u2192 <a href=\"#4\">\u0410\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0448\u0435\u0440\u0438\u043d\u0433\u0430 \u0432 Kubernetes<\/a><br \/>  \u2192 <a href=\"#5\">\u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0448\u0435\u0440\u0438\u043d\u0433 GPU<\/a><br \/>  \u2192 <a href=\"#6\">\u0422\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 MIG \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435<\/a><br \/>  \u2192 <a href=\"#7\">\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 MPS, MIG, Timeslicing<\/a><br \/>  \u2192 <a href=\"#8\">\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/a><\/p>\n<blockquote><p><b>\u0414\u0438\u0441\u043a\u043b\u0435\u0439\u043c\u0435\u0440:<\/b> \u0434\u043b\u044f \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043d\u0443\u0436\u043d\u044b \u043d\u0430\u0432\u044b\u043a\u0438 \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 Helm-\u0447\u0430\u0440\u0442\u0430\u043c\u0438 \u0438 kubectl, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0437\u043d\u0430\u043d\u0438\u0435 Kubernetes. \u0415\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u043e\u0433\u0440\u0443\u0437\u0438\u0442\u044c\u0441\u044f \u0432 \u044d\u0442\u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438, \u0438\u0437\u0443\u0447\u0430\u0439\u0442\u0435 <a href=\"https:\/\/selectel.ru\/blog\/courses\/\">\u043a\u0443\u0440\u0441\u044b \u0432 \u0410\u043a\u0430\u0434\u0435\u043c\u0438\u0438 Selectel<\/a>.<\/p><\/blockquote>\n<p>  <a name=\"1\"><\/a><font color=\"#EB4247\"><\/p>\n<h2>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u044f MIG<\/h2>\n<p><\/font><br \/>  \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u043c, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 MIG \u043f\u0440\u0438 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0438 GPU \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u043e\u0442 NVIDIA:<\/p>\n<ul>\n<li>\u0420\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 GPU \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0436\u0435\u043b\u0435\u0437\u0430 (\u0435\u0441\u043b\u0438 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0430 \u2014 NVIDIA \u043d\u0430 \u0431\u0430\u0437\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b Ampere). \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043a\u0430\u0436\u0434\u0430\u044f \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u044f \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u0438 \u0432\u0438\u0434\u0435\u043e\u043f\u0430\u043c\u044f\u0442\u044c.<\/li>\n<li>\u0414\u043b\u044f \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u044f GPU \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c NVIDIA API \u0438\u043b\u0438 \u0443\u0442\u0438\u043b\u0438\u0442\u0443 nvidia-smi, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0440\u0430\u0437\u0434\u0435\u043b MIG. \u042d\u0442\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439, \u0442\u0430\u043a \u0438 \u043f\u0430\u043c\u044f\u0442\u0438.<\/li>\n<li>\u041f\u0430\u0440\u0442\u0438\u0446\u0438\u0438 \u0438\u043c\u0435\u044e\u0442 <a href=\"https:\/\/docs.nvidia.com\/datacenter\/tesla\/mig-user-guide\">\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0440\u0430\u0437\u043c\u0435\u0440\u044b<\/a> \u2014 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, GPU A100 \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u043d\u0430 \u0441\u0435\u043c\u044c \u0447\u0430\u0441\u0442\u0435\u0439.<\/li>\n<li>\u0414\u043b\u044f \u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0444\u0438\u043b\u0435\u0439 MIG \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435 \u043d\u0443\u0436\u043d\u044b \u043f\u0440\u0430\u0432\u0430 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430 \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u043a, \u0447\u0442\u043e \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0444\u0438\u043b\u0438 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u044b.<\/li>\n<\/ul>\n<p>  GPU-\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u043f\u0440\u043e\u0444\u0438\u043b\u0435\u0439 MIG. \u0422\u043e \u0435\u0441\u0442\u044c \u043f\u0440\u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0435 \u0441\u043c\u0435\u043d\u0438\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u0435\u043c\u044c 1g.5gb \u043d\u0430 \u0434\u0432\u0430 3g.20gb \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0432\u044b\u0433\u0440\u0443\u0437\u0438\u0442 \u0432\u0441\u044e \u0430\u043a\u0442\u0438\u0432\u043d\u0443\u044e \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0438\u0437 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u044b. \u042d\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u2014 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441\u0430 \u0438\u043b\u0438 \u043f\u043e\u0434\u0430 Jupyter Lab.<\/p>\n<p>  \u042d\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0441\u0435\u0440\u044c\u0435\u0437\u043d\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u043f\u0440\u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c, \u0433\u0434\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0438 \u0438\u0441\u043a\u0430\u0442\u044c \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0444\u0438\u043b\u0438 \u0440\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u044f MIG.<\/p>\n<p>  \u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0440\u0430\u0437\u0431\u0438\u043b\u0438 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0443 \u043d\u0430 \u0441\u0435\u043c\u044c \u0447\u0430\u0441\u0442\u0435\u0439 \u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441 \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u043e\u0444\u0438\u043b\u044e. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0435\u0441\u043b\u0438 \u0443 \u043d\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043e \u0432\u0441\u0435\u0433\u043e \u0434\u0432\u0435 \u0440\u0435\u043f\u043b\u0438\u043a\u0438, \u0442\u043e \u0435\u0449\u0435 \u043f\u044f\u0442\u044c \u0447\u0430\u0441\u0442\u0435\u0439 GPU \u0431\u0443\u0434\u0443\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f. \u042d\u0442\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043b\u043e\u0433\u0438\u0447\u043d\u043e, \u0435\u0441\u043b\u0438 \u0431\u044b \u0434\u0432\u0435 \u0440\u0435\u043f\u043b\u0438\u043a\u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0438 \u043d\u0435 1g.5gb, \u0430 3g.20gb.<\/p>\n<p>  \u0418 \u044d\u0442\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430, \u0432 \u0446\u0435\u043b\u043e\u043c, \u0440\u0435\u0448\u0430\u0435\u043c\u0430. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u043a \u044d\u0442\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0435 \u043f\u043e\u0434\u043e\u0448\u043b\u0438 run.ai \u0438 \u043c\u044b. \u041f\u0440\u0438\u0447\u0435\u043c \u043d\u0430\u0448 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e.<\/p>\n<p>  <a href=\"https:\/\/selectel.ru\/services\/cloud\/mlops\/?utm_source=habr.com&amp;utm_medium=referral&amp;utm_campaign=cloud_article_sharing_241123_banner_045_ord\"><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ze\/72\/oj\/ze72ojvtzli_zycrneh_pkyslpu.png\" data-src=\"https:\/\/habrastorage.org\/webt\/ze\/72\/oj\/ze72ojvtzli_zycrneh_pkyslpu.png\"\/><\/div>\n<p><\/a><br \/>  <a name=\"2\"><\/a><font color=\"#EB4247\"><\/p>\n<h2>\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u0442 run.ai<\/h2>\n<p><\/font><br \/>  \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0439 \u0440\u0435\u0444\u0435\u0440\u0435\u043d\u0441 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 \u043d\u0430 \u0431\u0430\u0437\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 NVIDIA \u043e\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b <a href=\"https:\/\/www.run.ai\/\">run.ai<\/a>. \u0422\u0430\u043a \u043a\u0430\u043a \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0439, \u0432 <a href=\"https:\/\/docs.run.ai\/v2.13\/Researcher\/scheduling\/fractions\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438<\/a> \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u0435\u0437 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438. \u041e\u0434\u043d\u0430\u043a\u043e \u0445\u043e\u0447\u0443 \u0432\u043a\u0440\u0430\u0442\u0446\u0435 \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u044d\u0442\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043f\u043e \u0447\u0430\u0441\u0442\u0438 \u0443\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438 GPU. \u0412 \u0442\u0435\u0445\u043d\u0438\u043a\u0443 \u043c\u044b \u043e\u043a\u0443\u043d\u0435\u043c\u0441\u044f \u0443\u0436\u0435 \u043d\u0430 \u0441\u0432\u043e\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435.<\/p>\n<p>  \u0418\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0430\u0431\u0441\u0442\u0440\u0430\u0433\u0438\u0440\u0443\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043e\u0442 \u00ab\u043f\u0440\u0435\u043c\u0443\u0434\u0440\u043e\u0441\u0442\u0435\u0439 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043f\u043e GPU\u00bb. \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0437\u0430\u0432\u0435\u0441\u0442\u0438 \u0437\u0430\u0434\u0430\u0447\u0443 \u2014 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0441\u0430\u043c\u0430 \u0443\u0442\u0438\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u044b. \u0414\u043b\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 run.ai \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0434\u0432\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u043e\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0438\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u044b.<\/p>\n<h3>Run:ai Fractions<\/h3>\n<p>  \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0444\u0440\u0430\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0443 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043c \u043f\u0430\u043c\u044f\u0442\u0438 GPU \u2014 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, 4 \u0413\u0411:<\/p>\n<pre><code class=\"bash\"> --gpu-memory 4G <\/code><\/pre>\n<p>  \u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u0432\u044b\u0439\u0442\u0438 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u044b \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044e.<\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435 run.ai \u043e\u0442\u043c\u0435\u0447\u0430\u044e\u0442, \u0447\u0442\u043e \u0432\u0441\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0435 \u0440\u0430\u0431\u043e\u0447\u0438\u0435 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0435 GPU, \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e \u0438 \u043f\u043e\u0440\u043e\u0432\u043d\u0443. \u041f\u043e\u0441\u0442\u0430\u0440\u0430\u044e\u0441\u044c \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c. \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u0434\u0432\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430: \u043e\u0434\u0438\u043d \u0441 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 0,25, \u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u2014 \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 0,75. \u041e\u0431\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0442 \u0440\u0430\u0432\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u044c \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u0438. \u0415\u0441\u043b\u0438 \u043e\u0434\u043d\u0430 \u0438\u0437 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u043a \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0443, \u0434\u0440\u0443\u0433\u0430\u044f \u0440\u0430\u0431\u043e\u0447\u0430\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u0442 \u0432\u0441\u044e \u0435\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u044c.<\/p>\n<h3>Dynamic allocation using NVIDIA Multi-instance GPU (MIG)<\/h3>\n<p>  Run.ai \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043f\u043e\u0441\u043e\u0431 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0440\u0430\u0437\u0434\u0435\u043b\u0430 MIG:<\/p>\n<ul>\n<li>\u041f\u043e \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0438 \u0441 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0435\u0439 \u0444\u0440\u0430\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u043b\u0430\u0433\u0430 <code>--gpu-memory<\/code> 4G \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0443\u044e \u043d\u0430\u043c \u0447\u0430\u0441\u0442\u044c \u043f\u0430\u043c\u044f\u0442\u0438 GPU. \u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0432\u044b\u0437\u043e\u0432\u0435\u0442 NVIDIA MIG API, \u0447\u0442\u043e\u0431\u044b \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0438\u043c\u0435\u043d\u044c\u0448\u0438\u0439 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c MIG \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0438 \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0435\u0433\u043e \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440.<\/li>\n<li>MIG \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u2014 \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0442\u044c \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0435 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043d\u0430 GPU.<\/li>\n<li>\u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0441\u0432\u043e\u0431\u043e\u0434\u0438\u0442 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u044e, \u043a\u043e\u0433\u0434\u0430 \u0440\u0430\u0431\u043e\u0447\u0430\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0441\u044f. \u042d\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432 \u00ab\u043b\u0435\u043d\u0438\u0432\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435\u00bb: \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u044f \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043b\u0435\u043d\u0430 \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u043d\u0435 \u0440\u0435\u0448\u0438\u0442, \u0447\u0442\u043e \u043d\u0443\u0436\u0435\u043d \u0432 \u0434\u0440\u0443\u0433\u043e\u043c \u043c\u0435\u0441\u0442\u0435.<\/li>\n<li>\u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0444\u043b\u0430\u0433 \u0434\u043b\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0430 MIG \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u043e\u043b\u043e\u0433\u0438\u0438 NVIDIA. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c <code>--mig-profile 2g.10gb<\/code>, \u0435\u0441\u043b\u0438 \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0440\u0430\u0437\u043c\u0435\u0442\u0438\u0442\u044c GPU \u043f\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c\u0443 \u043f\u0440\u043e\u0444\u0438\u043b\u044e \u0438\u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u044e.<\/li>\n<\/ul>\n<p>  <\/p>\n<div class=\"oembed\">\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/65608383962d8d30c141eb12\" data-style=\"\" id=\"65608383962d8d30c141eb12\" width=\"\"><\/div>\n<\/div>\n<p><i>\u0414\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e MIG.<\/i><\/p>\n<p>  \u041f\u043e \u0441\u0443\u0442\u0438, \u0432\u0441\u0435 \u0441\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u0437\u0430\u043f\u0443\u0441\u043a\u0443 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043a\u043e\u043c\u0430\u043d\u0434 \u0438\u0445 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0430. \u0414\u043b\u044f \u0437\u0430\u0434\u0430\u0447\u0438 \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043e\u0431\u044a\u0435\u043c \u0432\u0438\u0434\u0435\u043e\u043f\u0430\u043c\u044f\u0442\u0438, \u043f\u0440\u043e\u0444\u0438\u043b\u044c MIG \u0438\u043b\u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e GPU \u2014 \u0432\u0441\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b.<\/p>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0443 \u043d\u0430 5 \u0413\u0411 \u0432\u0438\u0434\u0435\u043e\u043f\u0430\u043c\u044f\u0442\u0438 \u043c\u043e\u0436\u043d\u043e \u0442\u0430\u043a:<\/p>\n<pre><code class=\"bash\">runai submit  -i gcr.io\/run-ai-demo\/quickstart --gpu-memory 5G <\/code><\/pre>\n<p>  \u0423\u043a\u0430\u0437\u0430\u0442\u044c \u0434\u043b\u044f \u0437\u0430\u0434\u0430\u0447\u0438 \u043f\u0440\u043e\u0444\u0438\u043b\u044c MIG \u2014 \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"bash\">runai config project team-a runai submit mig2 -i gcr.io\/run-ai-demo\/quickstart-cuda  --mig-profile 2g.10gb runai submit mig3 -i gcr.io\/run-ai-demo\/quickstart-cuda  --mig-profile 2g.10gb <\/code><\/pre>\n<p>  \u0422\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u043c MIG \u0437\u0430\u0440\u0443\u0431\u0435\u0436\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430. \u042d\u0442\u0438\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c \u0445\u043e\u0447\u0443 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0438 \u0443\u0436\u0435 \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0432 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0434\u043b\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438 GPU \u043e\u043d\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0439 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 NVIDIA MIG API. \u041c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u043e\u0438\u0441\u043a\u0430\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0432 open source \u0438 \u0433\u043e\u0442\u043e\u0432\u044b \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441 \u0432\u0430\u043c\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c\u0438.<\/p>\n<p>  <a name=\"3\"><\/a><font color=\"#EB4247\"><\/p>\n<h2>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b<\/h2>\n<p><\/font><br \/>  \u0414\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043d\u043e\u0432\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u043b\u0438\u043d\u0435\u0439\u043a\u0443 GPU \u2014 A100 \u0438\u043b\u0438 A30. Selectel \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u043e\u0447\u0430\u0441\u043e\u0432\u0443\u044e \u0430\u0440\u0435\u043d\u0434\u0443 \u0442\u0430\u043a\u0438\u0445 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442, \u0447\u0435\u043c \u043c\u044b \u0438 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f. \u0420\u0430\u0437\u0432\u0435\u0440\u043d\u0435\u043c <a href=\"https:\/\/slc.tl\/gzliz\">Managed Kubernetes<\/a>:<\/p>\n<p>  1. \u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u0440\u0430\u0437\u0434\u0435\u043b <b>\u041e\u0431\u043b\u0430\u0447\u043d\u0430\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430<\/b> \u0432 <a href=\"https:\/\/my.selectel.ru\/\">\u043f\u0430\u043d\u0435\u043b\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f<\/a>.<\/p>\n<p>  2. \u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c <b>Kubernetes<\/b> \u0438 \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <b>\u0421\u043e\u0437\u0434\u0430\u0442\u044c \u043a\u043b\u0430\u0441\u0442\u0435\u0440<\/b>.<\/p>\n<p>  3. \u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043f\u0443\u043b ru-9a, \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0442\u0438\u043f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 \u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0433\u0440\u0443\u043f\u043f\u0443 \u043d\u043e\u0434:<\/p>\n<ul>\n<li>\u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c flavor \u0441 GPU A100,<\/li>\n<li>\u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0440\u0430\u0437\u043c\u0435\u0440 \u0434\u0438\u0441\u043a\u0430,<\/li>\n<li>\u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f.<\/li>\n<\/ul>\n<p>  4. \u0414\u0430\u043b\u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0432\u043e\u0439 SSH-\u043a\u043b\u044e\u0447 \u0438 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0443\u044e \u0441\u0435\u0442\u044c.<\/p>\n<p>  5. \u0416\u0434\u0435\u043c. \u041a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0437\u0430\u0434\u0435\u043f\u043b\u043e\u0438\u0442\u0441\u044f, \u0447\u0435\u0440\u0435\u0437 \u043f\u0430\u043d\u0435\u043b\u044c \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u044c kubeconfig.<\/p>\n<div class=\"oembed\">\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/64ef4d46962d8d30c10ceda6\" data-style=\"\" id=\"64ef4d46962d8d30c10ceda6\" width=\"\"><\/div>\n<\/div>\n<p>  <i>\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 Managed Kubernetes.<\/i><\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u043f\u043e\u0437\u0430\u0431\u043e\u0442\u0438\u0442\u044c\u0441\u044f \u043e \u0442\u043e\u043c, \u0433\u0434\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043d\u0430\u0448\u0438 \u043c\u043e\u0434\u0435\u043b\u0438. Kubernetes \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u043f\u043e\u0434\u043e\u0432 \u0432\u043d\u0435\u0448\u043d\u0438\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b NFS. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u043f\u043e\u0434\u043e\u0439\u0434\u0435\u0442 \u043d\u0430\u0448 \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 Selectel File Storage. \u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0435\u0433\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u0438\u0437 \u043f\u0430\u043d\u0435\u043b\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f:<\/p>\n<ol>\n<li>\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u0440\u0430\u0437\u0434\u0435\u043b <b>\u041e\u0431\u043b\u0430\u0447\u043d\u0430\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430<\/b> \u0432\u043d\u0443\u0442\u0440\u0438 <a href=\"https:\/\/my.selectel.ru\/\">\u043f\u0430\u043d\u0435\u043b\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f<\/a>.<\/li>\n<li>\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c <b>\u0424\u0430\u0439\u043b\u043e\u0432\u043e\u0435 \u0425\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435<\/b> \u0438 \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <b>\u0421\u043e\u0437\u0434\u0430\u0442\u044c<\/b>.<\/li>\n<li>\u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043f\u0443\u043b ru-9a, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0440\u0430\u0437\u043c\u0435\u0440 \u0434\u0438\u0441\u043a\u0430, \u0442\u0438\u043f NFS.<\/li>\n<li>\u041f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u043c\u0443 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0443. \u0418\u0437 \u044d\u0442\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f IP-\u0430\u0434\u0440\u0435\u0441 \u0438 \u043f\u0443\u0442\u044c \u0434\u043e \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430.<\/li>\n<\/ol>\n<p>  <\/p>\n<div class=\"oembed\">\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/64ef4d47ff7a727696d0618c\" data-style=\"\" id=\"64ef4d47ff7a727696d0618c\" width=\"\"><\/div>\n<\/div>\n<p>  <i>\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430.<\/i><\/p>\n<h3>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430<\/h3>\n<p>  \u0427\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0430\u0448 \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441, \u043d\u0443\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u043e\u0431\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u0438\u0437 \u043e\u0431\u0449\u0435\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f NVIDIA \u0432 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435. \u041f\u043e\u0447\u0435\u043c\u0443 \u043c\u044b \u0432\u043e\u043e\u0431\u0449\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0441\u0435\u0442\u0435\u0432\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435, \u0430 \u043d\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u043a\u0443 \u043d\u0430 \u0441\u0430\u043c\u043e\u0439 \u043d\u043e\u0434\u0435? \u0412\u0441\u0435 \u043f\u0440\u043e\u0441\u0442\u043e: \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u043e\u0434\u044b \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435. \u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0432\u0441\u0435 \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441\u044b \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0445 \u043d\u043e\u0434\u0430\u0445 \u043f\u043e\u043b\u0443\u0447\u0430\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043d\u0430\u0448\u0438\u043c \u043c\u043e\u0434\u0435\u043b\u044f\u043c.<\/p>\n<p>  \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043c\u0441\u044f \u043a \u043d\u043e\u0434\u0435 Kubernetes \u043f\u043e SSH, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u0446\u0435\u043f\u0438\u0442\u044c \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 NFS \u0438 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0432 \u043d\u0435\u0433\u043e \u043d\u0430\u0448\u0438 \u043c\u043e\u0434\u0435\u043b\u0438. \u042f \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043b \u043f\u0440\u044f\u043c\u043e \u0438\u0437 \u043f\u0430\u043d\u0435\u043b\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043d\u0430\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c SFS:<\/p>\n<pre><code class=\"bash\">sudo mkdir -p \/mnt\/nfs &amp;&amp; sudo mount -vt nfs \"10.222.1.60:\/shares\/share-3010a65e-124c-4ac8-b08e-a7b2eae0b78c\" \/mnt\/nfs <\/code><\/pre>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u0432 \u0441\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043f\u0430\u043f\u043a\u0443 \u0438 \u0441\u043a\u0430\u0447\u0430\u0435\u043c \u043c\u043e\u0434\u0435\u043b\u0438 \u2014 \u043c\u044b \u044d\u0442\u043e \u0443\u0436\u0435 \u0434\u0435\u043b\u0430\u043b\u0438 \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u043a\u043e\u0433\u0434\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b\u0438 \u0434\u043e\u043a\u0435\u0440\u044b \u0441 \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441\u0430\u043c\u0438. \u0421\u043a\u0430\u0447\u0430\u0435\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u043d\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443 \u0438 \u043f\u043e\u0434\u0442\u044f\u043d\u0435\u043c \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438. \u0422\u0430\u043a\u0436\u0435 \u0441\u043a\u0430\u0447\u0430\u0435\u043c ONNX densenet \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043a\u0440\u0438\u043f\u0442\u0430 fetch_models:<\/p>\n<pre><code class=\"bash\">git clone -b r23.05 https:\/\/github.com\/triton-inference-server\/server.git cd server\/docs\/examples .\/fetch_models.sh <\/code><\/pre>\n<p>  \u0423\u0431\u0435\u0434\u0438\u043c\u0441\u044f, \u0447\u0442\u043e \u0432 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u043c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0435\u0441\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0434\u043b\u044f \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0432 \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441-\u0441\u0435\u0440\u0432\u0435\u0440\u044b:<\/p>\n<pre><code class=\"bash\">ls \/mnt\/nfs\/server\/docs\/examples\/ -l ls \/mnt\/nfs\/server\/docs\/examples\/model_repository\/ -l <\/code><\/pre>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image7.png\" data-src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image7.png\"\/><\/div>\n<p>  \u041e\u0442\u043b\u0438\u0447\u043d\u043e \u2014 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0433\u043e\u0442\u043e\u0432\u043e \u0434\u043b\u044f \u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043d\u0430\u0448\u0438 \u043f\u043e\u0434\u044b.<\/p>\n<p>  <a name=\"4\"><\/a><font color=\"#EB4247\"><\/p>\n<h2>\u0410\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0448\u0435\u0440\u0438\u043d\u0433\u0430 \u0432 Kubernetes<\/h2>\n<p><\/font>  <\/p>\n<h2>Nebuly Operating System<\/h2>\n<blockquote><p><a href=\"https:\/\/github.com\/nebuly-ai\/nos\">NOS<\/a> \u2014 \u044d\u0442\u043e \u043c\u043e\u0434\u0443\u043b\u044c \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u0434\u043b\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 ML-\u0432\u043e\u0440\u043a\u043b\u043e\u0430\u0434\u043e\u0432 \u0432 Kubernetes, \u043c\u0430\u043a\u0441\u0438\u043c\u0438\u0437\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0443\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u044e GPU \u0438 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u043a.<\/p><\/blockquote>\n<p>  \u0412 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f:<\/p>\n<ul>\n<li><b>Dynamic GPU partitioning<\/b> \u2014 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u043f\u043e\u0434\u044b, \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u044e\u0449\u0438\u0435 \u0434\u043e\u043b\u0438 GPU. \u0428\u0435\u0440\u0438\u043d\u0433 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043e\u0436\u0438\u0434\u0430\u044e\u0449\u0438\u0445 \u0438 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u0434\u043e\u0432, \u0442\u0430\u043a \u0447\u0442\u043e \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0442\u0440\u043e\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b;<\/li>\n<li><b>Elastic Resource Quota management<\/b> \u2014 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 CRD, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u0434\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u0432\u043e\u0442\u0430\u043c\u0438 \u0432 namespaces.<\/li>\n<\/ul>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image12.png\" data-src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image12.png\"\/><\/div>\n<p>  \u041d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438 \u043a\u0430\u043a \u0440\u0430\u0437 \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043e, \u0433\u0434\u0435 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 NOS \u0443\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u044f GPU \u043f\u0440\u0435\u0432\u043e\u0441\u0445\u043e\u0434\u0438\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u044b. \u0412 \u044d\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u043e\u0434\u043d\u0443 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0443 \u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0442\u043e \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0442 \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0441\u0445\u043e\u0434\u043e\u0432 \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u0438 GPU.<\/p>\n<p>  \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Dynamic GPU partitioning \u0434\u043b\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0448\u0435\u0440\u0438\u043d\u0433\u0430 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u0441\u0442-\u043a\u0435\u0439\u0441\u043e\u0432 \u0441 MIG \u0438 MPS.<\/p>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440, \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0432 MIG \u043d\u0430 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0435 A100, \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 Helm-\u0447\u0430\u0440\u0442\u044b.<\/p>\n<h3>\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u043c MIG \u043d\u0430 \u043d\u043e\u0434\u0430\u0445 \u0432 K8S<\/h3>\n<p>  \u041b\u0443\u0447\u0448\u0435 \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c MIG \u043d\u0430 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0439 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0435. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043c\u0441\u044f \u043a \u043d\u043e\u0434\u0435 \u043f\u043e SSH, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u0441\u043a\u0430\u0436\u0435\u0442 \u0443\u0442\u0438\u043b\u0438\u0442\u0430 nvidia-smi:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image9.png\" data-src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image9.png\"\/><\/div>\n<p>  \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u00ab\u043f\u0440\u0438\u0430\u0442\u0442\u0430\u0447\u0435\u043d\u0430\u00bb \u043a\u0430\u0440\u0442\u0430 A100. \u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u043c MIG \u043d\u0430 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code class=\"bash\">nvidia-smi -mig 1 <\/code><\/pre>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image19.png\" data-src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image19.png\"\/><\/div>\n<p>  \u0414\u0430, \u0432 <a href=\"https:\/\/habr.com\/ru\/companies\/selectel\/articles\/756934\/\">\u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435<\/a> MIG \u043d\u0430 \u043d\u043e\u0434\u0430\u0445 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043b\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e GPU-\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0434\u043b\u044f \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438 MIG. \u041d\u043e, \u043a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u043e\u043d <a href=\"https:\/\/github.com\/NVIDIA\/gpu-operator\/issues\/361\">\u043d\u0435 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0448\u0435\u0440\u0438\u043d\u0433\u0430 MIG<\/a>. \u0410 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438, \u043d\u0435 \u0443\u043c\u0435\u0435\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c MIG. \u0418\u0437 \u0434\u0432\u0443\u0445 \u0437\u043e\u043b \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u043c\u0435\u043d\u044c\u0448\u0435\u0435.<\/p>\n<h3>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0447\u0430\u0440\u0442 GPU-\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430<\/h3>\n<p>  GPU-\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 nvidia-device-plugin. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432 Managed Kubernetes \u043f\u043b\u0430\u0433\u0438\u043d \u0443\u0436\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u043d\u0430 \u043d\u043e\u0434\u0430\u0445 \u0441 GPU, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u0439 \u043f\u043b\u0430\u0433\u0438\u043d:<\/p>\n<pre><code class=\"bash\">kubectl delete daemonset\/nvidia-device-plugin-daemonset -n kube-system <\/code><\/pre>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c GPU-\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Helm. \u0412 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u0443\u043a\u0430\u0436\u0435\u043c, \u0447\u0442\u043e migManager \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e. \u0412\u043c\u0435\u0441\u0442\u043e \u043d\u0435\u0433\u043e \u043c\u044b \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0434\u0440\u0443\u0433\u0438\u043c \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043c\u0435\u0435\u0442 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u0440\u0430\u0437\u043c\u0435\u0447\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e MIG:<\/p>\n<pre><code class=\"bash\">helm install --wait --generate-name \\      -n kube-system \\      nvidia\/gpu-operator --version v22.9.0 \\      --set driver.enabled=true \\      --set migManager.enabled=false \\      --set mig.strategy=mixed \\      --set toolkit.enabled=true <\/code><\/pre>\n<p>  <\/p>\n<h3>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0447\u0430\u0440\u0442 nebuly\/nos<\/h3>\n<p>  \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c nebuly\/nos Helm-\u0447\u0430\u0440\u0442 \u0438, \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u043c\u0435\u043d, nebuly-nos. \u041e\u0441\u0442\u0430\u0432\u0438\u043c \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043d\u0430\u043c \u043d\u0435 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f:<\/p>\n<pre><code class=\"bash\">helm install oci:\/\/ghcr.io\/nebuly-ai\/helm-charts\/nos \\   --version 0.1.2 \\   --namespace nebuly-nos \\   --generate-name \\   --create-namespace <\/code><\/pre>\n<p>  \u0421 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u043c\u043e\u0436\u043d\u043e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u043f\u043e <a href=\"https:\/\/github.com\/nebuly-ai\/nos\/blob\/main\/docs\/en\/docs\/helm-charts\/nos\/README.md\">\u0441\u0441\u044b\u043b\u043a\u0435<\/a>, \u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0435\u0441\u0442\u044c \u043d\u0430 <a href=\"https:\/\/github.com\/nebuly-ai\/nos\/blob\/main\/docs\/en\/docs\/installation.md\">\u0441\u0430\u0439\u0442\u0435<\/a>.<\/p>\n<p>  <a name=\"5\"><\/a><font color=\"#EB4247\"><\/p>\n<h2>\u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0448\u0435\u0440\u0438\u043d\u0433 GPU<\/h2>\n<p><\/font><br \/>  ReplicaSet GPU Partitioner \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0435\u0442 \u043e\u0436\u0438\u0434\u0430\u044e\u0449\u0438\u0435 \u043f\u043e\u0434\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u0437\u0430\u0434\u0435\u043f\u043b\u043e\u0438\u0442\u044c\u0441\u044f \u0438\u0437-\u0437\u0430 \u043d\u0435\u0445\u0432\u0430\u0442\u043a\u0438 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 MIG\/MPS. \u0415\u0441\u043b\u0438 \u043e\u043d \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u0442\u0430\u043a\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u0438, \u0442\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0438\u0445 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u00ab\u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0440\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u044f GPU\u00bb \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435. \u041f\u043e\u0441\u043b\u0435 \u2014 \u0438\u0449\u0435\u0442 \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b \u0431\u044b \u0437\u0430\u0434\u0435\u043f\u043b\u043e\u0438\u0442\u044c \u0438\u0445 \u0431\u0435\u0437 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432.<\/p>\n<p>  \u041c\u043e\u0434\u0443\u043b\u044c \u0434\u0435\u043b\u0430\u0435\u0442 \u044d\u0442\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0433\u043e \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 Kubernetes, \u0442\u0430\u043a \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0434 \u0432\u044b\u0431\u043e\u0440\u043e\u043c \u0440\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u044f \u0438\u043c\u0438\u0442\u0438\u0440\u0443\u0435\u0442 \u0434\u0435\u043f\u043b\u043e\u0439. \u0422\u0430\u043a \u043e\u043d \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442, \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043b\u0438 \u0448\u0435\u0440\u0438\u043d\u0433 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0437\u0430\u0434\u0435\u043f\u043b\u043e\u0438\u0442\u044c \u043e\u0436\u0438\u0434\u0430\u044e\u0449\u0438\u0435 \u043f\u043e\u0434\u044b. \u0415\u0441\u043b\u0438 \u0434\u043b\u044f \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0436\u0438\u0434\u0430\u044e\u0449\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0441 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0440\u0430\u0437\u0434\u0435\u043b\u0430\u043c\u0438, ReplicaSet GPU Partitioner \u0432\u044b\u0431\u0435\u0440\u0435\u0442 \u0442\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u043d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0435\u043c\u0443 \u0447\u0438\u0441\u043b\u0443 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u043f\u043e\u0434\u043e\u0432.<\/p>\n<p>  \u0411\u043e\u043b\u0435\u0435 \u0442\u043e\u0433\u043e, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0440\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u044f \u043f\u043e MIG \u043a\u0430\u0436\u0434\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c GPU (A100 \u2014 19 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439, A30 \u2014 5 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439) \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0444\u0438\u043b\u0435\u0439 MIG (\u043f\u0430\u0440\u0442\u0438\u0446\u0438\u0438, geometries). \u041f\u043e\u044d\u0442\u043e\u043c\u0443 GPU Partitioner \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u044d\u0442\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0435 \u043d\u0430\u0439\u0442\u0438 \u043d\u043e\u0432\u043e\u0435 \u0440\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u0435.<\/p>\n<p>  \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u0438 MIG \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c <code>gpuPartitioner.knownMigGeometries<\/code> \u0432 <a href=\"https:\/\/github.com\/nebuly-ai\/nos\/blob\/d5cc1d72b8ee52b79b8751c0b49122366e026ce1\/helm-charts\/nos\/values.yaml\">values.yaml<\/a>. \u0424\u0430\u0439\u043b \u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433-\u043c\u0430\u043f\u0443, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c\u0443\u044e \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0435 GPU \u043f\u0440\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430 MIG.<\/p>\n<h3>\u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 MIG<\/h3>\n<p>  \u0424\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0440\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u0435 \u043d\u0430 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e DaemonSet MIG-agent, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043f\u043e\u0434\u044b \u043d\u0430 \u0432\u0441\u0435\u0445 \u043d\u043e\u0434\u0430\u0445 \u0441 \u043b\u0435\u0439\u0431\u043b\u043e\u043c <code>nebuly.com\/gpu-partitioning: mig<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0438 \u0443\u0434\u0430\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0444\u0438\u043b\u0438 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 GPU Partitioner.<\/p>\n<p>  \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u043e\u0434\u044b \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u0442\u0430\u043a:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image21.png\" data-src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image21.png\"\/><\/div>\n<p>  MIG-agent \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044e GPU \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u0438 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0432\u0441\u0435\u0445 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u0432. \u041e\u043d \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u0439 \u0443\u0437\u043b\u043e\u0432:<\/p>\n<pre><code class=\"bash\">nos.nebuly.com\/status-gpu-\u2039index>-\u2039mig-profile>-free: &lt;quantity> nos.nebuly.com\/status-gpu-&lt;index>-&lt;mig-profile>-used: &lt;quantity> <\/code><\/pre>\n<p>  MIG-agent \u0442\u0430\u043a\u0436\u0435 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0435\u0442 \u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u0438 \u043d\u043e\u0434\u044b \u0438 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437, \u043a\u043e\u0433\u0434\u0430 \u0436\u0435\u043b\u0430\u0435\u043c\u043e\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 MIG \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0442\u0435\u043a\u0443\u0449\u0435\u043c\u0443 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044e, \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0435\u0433\u043e, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u0438 \u0443\u0434\u0430\u043b\u044f\u044f \u043f\u0440\u043e\u0444\u0438\u043b\u0438 MIG \u043d\u0430 \u0446\u0435\u043b\u0435\u0432\u044b\u0445 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430\u0445. GPU Partitioner \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u0438 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u0439 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435:<\/p>\n<pre><code class=\"bash\">nos.nebuly.com\/spec-gpu-\u2039index>-&lt;mig-profile>: &lt;quantity> <\/code><\/pre>\n<p>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435: \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 MIG\u2013agent \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0436\u0435\u043b\u0430\u0435\u043c\u0443\u044e \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u044e, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u0443\u044e GPU Partitioner.<\/p>\n<ul>\n<li>MIG-agent \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0443\u0434\u0430\u043b\u044f\u0435\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u044b MIG, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u043f\u043e\u0434\u043e\u043c.<\/li>\n<li>\u0427\u0430\u0441\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439 MIG \u0442\u0440\u0435\u0431\u0443\u0435\u0442, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0444\u0438\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0438\u0441\u044c \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435. \u041d\u043e MIG \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043c\u043e\u0436\u0435\u0442 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043f\u0440\u043e\u0444\u0438\u043b\u0438 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u043d\u0443\u0436\u043d\u043e\u043c \u043d\u043e\u0432\u043e\u0439 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u0438 MIG.<\/li>\n<\/ul>\n<p>  \u0412 \u044d\u0442\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 MIG-agent \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u0447\u0442\u043e\u0431\u044b \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439. \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e MIG-agent \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u044e \u043b\u0438\u0448\u044c \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e.<\/p>\n<p>  \u0412 \u0446\u0435\u043b\u043e\u043c, \u043e\u0441\u043e\u0431\u043e \u043b\u044e\u0431\u043e\u043f\u044b\u0442\u043d\u044b\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u043a\u0430\u043f\u0430\u0442\u044c\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432 NOS \u0438 \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u0430\u043a \u043e\u043d\u0438 \u0434\u043e\u0431\u0438\u043b\u0438\u0441\u044c \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u044f GPU. \u041f\u043e\u043a\u0430 \u044f \u0434\u043e\u0448\u0435\u043b \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043e \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 C++ \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 NVIDIA API. \u0423\u0432\u0435\u0440\u0435\u043d, \u0433\u0434\u0435-\u0442\u043e \u0442\u0430\u043c \u0438 \u043a\u0440\u043e\u044e\u0442\u0441\u044f \u0432\u0441\u0435 \u043e\u0442\u0432\u0435\u0442\u044b.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0427\u0442\u043e \u043d\u0430\u0448\u0435\u043b \u2193<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<ul>\n<li><a href=\"https:\/\/github.com\/nebuly-ai\/nos\/blob\/d5cc1d72b8ee52b79b8751c0b49122366e026ce1\/pkg\/gpu\/mig\/client.go\">\u041a\u043b\u0438\u0435\u043d\u0442 \u043d\u0430 Go<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 GPU. \u0418 \u0435\u0449\u0435 \u043e\u0434\u0438\u043d <a href=\"https:\/\/github.com\/nebuly-ai\/nos\/blob\/d5cc1d72b8ee52b79b8751c0b49122366e026ce1\/pkg\/gpu\/nvml\/client.go\">\u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442<\/a>.<\/li>\n<li><a href=\"https:\/\/github.com\/NVIDIA\/go-nvml\/blob\/main\/gen\/nvml\/nvml.h\">\u0420\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439<\/a>, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0445\u0438\u0434\u0435\u0440\u044b \u0421-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043f\u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 MIG.<\/li>\n<li>\u0424\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043a\u043e\u0434\u0430 \u043d\u0430 C++, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0444\u0438\u043b\u044f MIG: \u043f\u0440\u043e\u0444\u0438\u043b\u0438 \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0438\u0437 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 gpu compute instance \u0438 \u0432\u0438\u0434\u0435\u043e\u043f\u0430\u043c\u044f\u0442\u0438.<\/li>\n<\/ul>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u041d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u0443\u0442\u043e\u0447\u043d\u0435\u043d\u0438\u0435<\/b>                         <\/p>\n<div class=\"spoiler_text\">\u041f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u043a\u043e\u0434 \u043b\u0438\u0448\u044c \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e NVML API \u2014 \u0442\u043e\u0433\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0433\u043e, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f nvidia-smi. \u0420\u0435\u0430\u043b\u044c\u043d\u0430\u044f \u043b\u043e\u0433\u0438\u043a\u0430 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0437\u0434\u0435\u0441\u044c <a href=\"https:\/\/github.com\/nebuly-ai\/nos\/blob\/d5cc1d72b8ee52b79b8751c0b49122366e026ce1\/internal\/controllers\/migagent\/actuator.go#L152C25-L152C25\">github.com\/nebuly-ai\/nos\/blob\/d5cc1d72b8ee52b79b8751c0b49122366e026ce1\/internal\/controllers\/migagent\/actuator.go#L152C25-L152C25<\/a>. \u0417\u0434\u0435\u0441\u044c \u0436\u0435 \u0432\u0438\u0434\u043d\u043e, \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f-\u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u0438 \u0447\u0442\u043e \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u043c \u00ab\u0447\u0438\u0445\u0435\u00bb \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f nvidia-device-plugin \u043d\u0430 \u043d\u043e\u0434\u0435.  <\/div>\n<\/p><\/div>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image15.png\" data-src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image15.png\"\/><\/div>\n<p>  \u0412 \u0446\u0435\u043b\u043e\u043c, \u0433\u0434\u0435-\u0442\u043e \u0432 \u044d\u0442\u043e\u043c \u043c\u0435\u0442\u043e\u0434\u0435 \u0438 \u043a\u0440\u043e\u0435\u0442\u0441\u044f \u0432\u0441\u044f \u043c\u0430\u0433\u0438\u044f \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u041c\u044b \u0436\u0435 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0438\u0445 \u0433\u043e\u0442\u043e\u0432\u044b\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043c, \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043b\u0438 \u043c\u043e\u0436\u043d\u043e \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0442\u044c GPU \u043d\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u0438 MIG.  <\/div>\n<\/p><\/div>\n<p>  <a name=\"6\"><\/a><font color=\"#EB4247\"><\/p>\n<h2>\u0422\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 MIG \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435<\/h2>\n<p><\/font><br \/>  \u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0445\u0435\u043c\u0443 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u00ab\u0432\u044b\u0441\u043e\u043a\u043e\u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u043e\u0439\u00bb \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b. \u0417\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u0443\u044e \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043d\u0430 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0443 \u043c\u044b \u0432\u0437\u044f\u043b\u0438 Triton Inference Server, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u0435\u043f\u043b\u043e\u0438\u043b\u0438 \u043d\u0430 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u0438 MIG. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043c\u044b \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0443 MIG \u043d\u0430 \u0441\u0435\u043c\u044c \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u0439 1g.5gb \u0432 Kubernetes.<\/p>\n<p>  \u041e\u0434\u043d\u0430\u043a\u043e \u0443 \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u0435\u0441\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430: \u043f\u0440\u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u043e\u0441\u0442\u0430\u0438\u0432\u0430\u0442\u044c \u043e\u0434\u043d\u0438 \u0438\u0437 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u0439 MIG. \u0422\u0430\u043a\u0436\u0435 \u0440\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u0435 \u043d\u0430 \u043c\u0435\u043d\u044c\u0448\u0438\u0435 \u0447\u0430\u0441\u0442\u0438 \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0445\u043e\u0440\u043e\u0448\u0438\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u043c.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image18.png\" data-src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image18.png\"\/><\/div>\n<p>  \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e NOS \u0432 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0445\u0435\u043c\u0435 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0430 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u0439 \u043d\u0430 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0435 \u0432\u044b\u0431\u0438\u0440\u0430\u043b\u0430\u0441\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438 \u043f\u0435\u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u043f\u043e \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044e. \u0422\u043e\u0433\u0434\u0430 \u043f\u0440\u0438 \u0434\u0435\u043f\u043b\u043e\u0435 Triton Inference Server \u0441 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u043c \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u043c (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, 2g.10gb), \u0435\u0441\u043b\u0438 \u0432 GPU \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u0443\u044e \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u044e, \u0441\u0435\u0440\u0432\u0438\u0441\u044b NOS \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0440\u0430\u0437\u043c\u0435\u0442\u044f\u0442 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0443 \u0438 \u0432\u044b\u0434\u0435\u043b\u044f\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u043f\u043e\u0434\u0443.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u043d\u0430 GPU \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0430\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430, \u0442\u043e \u043f\u0435\u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 GPU \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0434\u0435\u0442 \u0431\u0435\u0437\u0431\u043e\u043b\u0435\u0437\u043d\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432. \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u0441\u0442-\u043a\u0435\u0439\u0441\u043e\u0432 \u0441 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u043c MIG.<\/p>\n<h3>\u0428\u0435\u0440\u0438\u043d\u0433 \u043d\u0435\u0440\u0430\u0437\u043c\u0435\u0447\u0435\u043d\u043d\u043e\u0439 GPU<\/h3>\n<p>  <b>\u0414\u0430\u043d\u043e<\/b><\/p>\n<ul>\n<li>Kubernetes, \u043d\u043e\u0434\u0430 \u0441 GPU A100.<\/li>\n<li>MIG \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d \u043d\u0430 GPU, \u043d\u043e \u0431\u0435\u0437 \u0440\u0430\u0437\u043c\u0435\u0447\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0444\u0438\u043b\u0435\u0439 MIG. <\/li>\n<li>NOS \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d.<\/li>\n<\/ul>\n<p>  <b>\u041e\u0436\u0438\u0434\u0430\u043d\u0438\u0435<\/b>: \u0441\u0435\u0440\u0432\u0438\u0441\u044b NOS \u0443\u0432\u0438\u0434\u044f\u0442 \u043d\u043e\u0432\u044b\u0439 \u043f\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, 1g.5gb. \u041f\u043e\u0441\u043b\u0435 \u0440\u0430\u0437\u043c\u0435\u0442\u044f\u0442 \u043f\u043e\u0434 \u043d\u0430 \u043d\u0443\u0436\u043d\u044b\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b\u0434\u0435\u043b\u044f\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0432 Kubernetes.<\/p>\n<p>  <b>\u042d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442<\/b><\/p>\n<p>  \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e nvidia-smi \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image5.png\" data-src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image5.png\"\/><\/div>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e, \u043d\u0430 \u043d\u043e\u0434\u0435 \u0435\u0441\u0442\u044c \u043a\u0430\u0440\u0442\u0430 A100 \u0441 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u043c MIG. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438 \u043f\u043e \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u044f\u043c \u043d\u0435\u0442.<\/p>\n<p>  \u0417\u0430\u0434\u0435\u043f\u043b\u043e\u0438\u043c \u043d\u0430\u0448 \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441-\u0441\u0435\u0440\u0432\u0435\u0440 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u0430 (3g.20gb \u2014 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0439 \u0440\u0435\u0441\u0443\u0440\u0441):<\/p>\n<pre><code class=\"json\">apiVersion: apps\/v1 kind: Deployment metadata: name: tritonserver labels:   app: tritonserver spec: replicas: 1 selector:   matchLabels:     app: tritonserver template:   metadata:     labels:       app: tritonserver   spec:     volumes:     - name: models       nfs:         server: 10.222.2.34         path: \/shares\/share-f70da758-a056-4944-80c1-f10e2b2aa919\/server\/docs\/examples\/model_repository         readOnly: false     containers:       - name: tritonserver         ports:         - containerPort: 8000           name: http-triton         - containerPort: 8001           name: grpc-triton         - containerPort: 8002           name: metrics-triton         image: \"nvcr.io\/nvidia\/tritonserver:23.09-py3\"         volumeMounts:         - mountPath: \/models           name: models         command: [\"\/bin\/sh\", \"-c\"]         args: [\"\/opt\/tritonserver\/bin\/tritonserver --model-repository=\/models --allow-gpu-metrics=true\"]         resources:           limits:             nvidia.com\/mig-3g.20gb: 1 <\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0434\u0435\u043f\u043b\u043e\u044f \u0437\u0430\u0439\u0434\u0435\u043c \u0432 \u043b\u043e\u0433\u0438 nos-gpu-partitioner \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u043e\u043d \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043b:<\/p>\n<pre><code class=\"json\">{\"level\":\"info\",\"ts\":1699477577.4484377,\"msg\":\"found 1 pending pods\",\"controller\":\"mig-partitioner-controller\",\"controllerGroup\":\"\",\"controllerKind\":\"Pod\",\"Pod\":{\"name\":\"tritonserver-798585c99b-hl7pl\",\"namespace\":\"default\"},\"namespace\":\"default\",\"name\":\"tritonserver-798585c99b-hl7pl\",\"reconcileID\":\"4b1817fa-96af-4a24-a11f-ed9ad7209c76\"} {\"level\":\"info\",\"ts\":1699477577.4485033,\"msg\":\"1 out of 1 pending pods could be helped\",\"controller\":\"mig-partitioner-controller\",\"controllerGroup\":\"\",\"controllerKind\":\"Pod\",\"Pod\":{\"name\":\"tritonserver-798585c99b-hl7pl\",\"namespace\":\"default\"},\"namespace\":\"default\",\"name\":\"tritonserver-798585c99b-hl7pl\",\"reconcileID\":\"4b1817fa-96af-4a24-a11f-ed9ad7209c76\"} {\"level\":\"info\",\"ts\":1699477577.4493506,\"msg\":\"computed desired partitioning state\",\"controller\":\"mig-partitioner-controller\",\"controllerGroup\":\"\",\"controllerKind\":\"Pod\",\"Pod\":{\"name\":\"tritonserver-798585c99b-hl7pl\",\"namespace\":\"default\"},\"namespace\":\"default\",\"name\":\"tritonserver-798585c99b-hl7pl\",\"reconcileID\":\"4b1817fa-96af-4a24-a11f-ed9ad7209c76\",\"partitioning\":{\"DesiredState\":{\"nebuly-node-d91s8\":{\"GPUs\":[{\"GPUIndex\":0,\"Resources\":{\"nvidia.com\/mig-2g.10gb\":2,\"nvidia.com\/mig-3g.20gb\":1}}]}}}} {\"level\":\"info\",\"ts\":1699477577.449568,\"msg\":\"applying desired partitioning\",\"controller\":\"mig-partitioner-controller\",\"controllerGroup\":\"\",\"controllerKind\":\"Pod\",\"Pod\":{\"name\":\"tritonserver-798585c99b-hl7pl\",\"namespace\":\"default\"},\"namespace\":\"default\",\"name\":\"tritonserver-798585c99b-hl7pl\",\"reconcileID\":\"4b1817fa-96af-4a24-a11f-ed9ad7209c76\"} {\"level\":\"info\",\"ts\":1699477577.4496982,\"msg\":\"partitioning node\",\"controller\":\"mig-partitioner-controller\",\"controllerGroup\":\"\",\"controllerKind\":\"Pod\",\"Pod\":{\"name\":\"tritonserver-798585c99b-hl7pl\",\"namespace\":\"default\"},\"namespace\":\"default\",\"name\":\"tritonserver-798585c99b-hl7pl\",\"reconcileID\":\"4b1817fa-96af-4a24-a11f-ed9ad7209c76\",\"node\":\"nebuly-node-d91s8\",\"partitioning\":{\"GPUs\":[{\"GPUIndex\":0,\"Resources\":{\"nvidia.com\/mig-2g.10gb\":2,\"nvidia.com\/mig-3g.20gb\":1}}]}} {\"level\":\"info\",\"ts\":1699477577.470942,\"msg\":\"plan applied\",\"controller\":\"mig-partitioner-controller\",\"controllerGroup\":\"\",\"controllerKind\":\"Pod\",\"Pod\":{\"name\":\"tritonserver-798585c99b-hl7pl\",\"namespace\":\"default\"},\"namespace\":\"default\",\"name\":\"tritonserver-798585c99b-hl7pl\",\"reconcileID\":\"4b1817fa-96af-4a24-a11f-ed9ad7209c76\"} <\/code><\/pre>\n<p>  \u0412 \u043b\u043e\u0433\u0430\u0445 \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c, \u0447\u0442\u043e \u0441\u0435\u0440\u0432\u0438\u0441 \u043d\u0430\u0448\u0435\u043b \u043f\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0436\u0438\u0434\u0430\u0435\u0442 \u0440\u0435\u0441\u0443\u0440\u0441 3g.20gb. \u0414\u0430\u043b\u0435\u0435 \u043e\u043d \u0432\u044b\u0431\u0440\u0430\u043b \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e MIG \u0438\u0437 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u2014 <code>\"Resources\":{\"nvidia.com\/mig-2g.10gb\":2,\"nvidia.com\/mig-3g.20gb\":1}<\/code> \u2014 \u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0440\u0430\u0437\u043c\u0435\u0442\u0438\u043b \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0443.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u044b\u0437\u0432\u0430\u0442\u044c nvidia-smi, \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c, \u0447\u0442\u043e \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0430 \u043f\u0440\u043e\u0448\u043b\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0438 \u0441\u0435\u0440\u0432\u0435\u0440 \u0437\u0430\u0434\u0435\u043f\u043b\u043e\u0438\u043b\u0441\u044f:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image16.png\" data-src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image16.png\"\/><\/div>\n<p>  <b>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442<\/b>: NOS \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u043b \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u043f\u043e\u0434 MIG (\u0432\u044b\u0431\u0440\u0430\u043b \u043e\u0434\u043d\u0443 \u0438\u0437 19 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439 \u0434\u043b\u044f A100) \u0438 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043b \u0435\u0435 \u0432 GPU. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u043e\u0434 \u0441\u0430\u043c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u0431\u0440\u0430\u043b \u0441\u0435\u0431\u0435 \u0440\u0435\u0441\u0443\u0440\u0441.<\/p>\n<h3>\u0428\u0435\u0440\u0438\u043d\u0433 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0440\u0430\u0437\u043c\u0435\u0447\u0435\u043d\u043d\u043e\u0439 GPU<\/h3>\n<p>  <b>\u0414\u0430\u043d\u043e<\/b><\/p>\n<ul>\n<li>Kubernetes, \u043d\u043e\u0434\u0430 \u0441 GPU A100.<\/li>\n<li>MIG \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d \u043d\u0430 GPU, \u0440\u0430\u0437\u043c\u0435\u0447\u0435\u043d \u043d\u0430 nvidia.com\/mig-2g.10gb&#187;:2,\u00abnvidia.com\/mig-3g.20gb\u00bb:1.<\/li>\n<li>NOS \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d.<\/li>\n<\/ul>\n<p>  <b>\u041e\u0436\u0438\u0434\u0430\u043d\u0438\u0435<\/b>: \u043f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u043a \u0440\u0435\u0441\u0443\u0440\u0441\u0443 \u043f\u043e\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0435\u0442 \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 MIG, \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0434\u0435\u0442 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0435\u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 GPU.<\/p>\n<p>  <b>\u042d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442<\/b><\/p>\n<p>  \u0418\u0437\u043c\u0435\u043d\u0438\u043c \u0432 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 Triton \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u0440\u0435\u0441\u0443\u0440\u0441\u0443 GPU, \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0435\u0442 \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 MIG:<\/p>\n<pre><code class=\"json\">resources:           limits:             nvidia.com\/mig-3g.20gb: 1 <\/code><\/pre>\n<p>  <i>\u041a\u0430\u043a \u0431\u044b\u043b\u043e.<\/i><\/p>\n<pre><code class=\"json\">resources:           limits:             nvidia.com\/mig-1g.5gb: 1 <\/code><\/pre>\n<p>  <i>\u041a\u0430\u043a \u0441\u0442\u0430\u043b\u043e.<\/i><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0434\u0435\u043f\u043b\u043e\u044f \u0437\u0430\u0439\u0434\u0435\u043c \u0432 \u043b\u043e\u0433\u0438 nos-gpu-partitioner \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e MIG \u043e\u043d \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043b:<\/p>\n<pre><code class=\"json\">{\"level\":\"info\",\"ts\":1699478343.5615623,\"msg\":\"found 1 pending pods\",\"controller\":\"mig-partitioner-controller\",\"controllerGroup\":\"\",\"controllerKind\":\"Pod\",\"Pod\":{\"name\":\"tritonserver-5c768747fc-95cvb\",\"namespace\":\"default\"},\"namespace\":\"default\",\"name\":\"tritonserver-5c768747fc-95cvb\",\"reconcileID\":\"f33fd246-b583-456e-b9b6-1c3b783b65bb\"} {\"level\":\"info\",\"ts\":1699478343.5615838,\"msg\":\"1 out of 1 pending pods could be helped\",\"controller\":\"mig-partitioner-controller\",\"controllerGroup\":\"\",\"controllerKind\":\"Pod\",\"Pod\":{\"name\":\"tritonserver-5c768747fc-95cvb\",\"namespace\":\"default\"},\"namespace\":\"default\",\"name\":\"tritonserver-5c768747fc-95cvb\",\"reconcileID\":\"f33fd246-b583-456e-b9b6-1c3b783b65bb\"} {\"level\":\"info\",\"ts\":1699478343.562547,\"msg\":\"computed desired partitioning state\",\"controller\":\"mig-partitioner-controller\",\"controllerGroup\":\"\",\"controllerKind\":\"Pod\",\"Pod\":{\"name\":\"tritonserver-5c768747fc-95cvb\",\"namespace\":\"default\"},\"namespace\":\"default\",\"name\":\"tritonserver-5c768747fc-95cvb\",\"reconcileID\":\"f33fd246-b583-456e-b9b6-1c3b783b65bb\",\"partitioning\":{\"DesiredState\":{\"nebuly-node-d91s8\":{\"GPUs\":[{\"GPUIndex\":0,\"Resources\":{\"nvidia.com\/mig-1g.5gb\":3,\"nvidia.com\/mig-3g.20gb\":1}}]}}}} {\"level\":\"info\",\"ts\":1699478343.5626013,\"msg\":\"applying desired partitioning\",\"controller\":\"mig-partitioner-controller\",\"controllerGroup\":\"\",\"controllerKind\":\"Pod\",\"Pod\":{\"name\":\"tritonserver-5c768747fc-95cvb\",\"namespace\":\"default\"},\"namespace\":\"default\",\"name\":\"tritonserver-5c768747fc-95cvb\",\"reconcileID\":\"f33fd246-b583-456e-b9b6-1c3b783b65bb\"} {\"level\":\"info\",\"ts\":1699478343.562712,\"msg\":\"partitioning node\",\"controller\":\"mig-partitioner-controller\",\"controllerGroup\":\"\",\"controllerKind\":\"Pod\",\"Pod\":{\"name\":\"tritonserver-5c768747fc-95cvb\",\"namespace\":\"default\"},\"namespace\":\"default\",\"name\":\"tritonserver-5c768747fc-95cvb\",\"reconcileID\":\"f33fd246-b583-456e-b9b6-1c3b783b65bb\",\"node\":\"nebuly-node-d91s8\",\"partitioning\":{\"GPUs\":[{\"GPUIndex\":0,\"Resources\":{\"nvidia.com\/mig-1g.5gb\":3,\"nvidia.com\/mig-3g.20gb\":1}}]}} {\"level\":\"info\",\"ts\":1699478343.580485,\"msg\":\"plan applied\",\"controller\":\"mig-partitioner-controller\",\"controllerGroup\":\"\",\"controllerKind\":\"Pod\",\"Pod\":{\"name\":\"tritonserver-5c768747fc-95cvb\",\"namespace\":\"default\"},\"namespace\":\"default\",\"name\":\"tritonserver-5c768747fc-95cvb\",\"reconcileID\":\"f33fd246-b583-456e-b9b6-1c3b783b65bb\"} <\/code><\/pre>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e \u0438\u0437 \u043b\u043e\u0433\u043e\u0432, \u043f\u0435\u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0448\u043b\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e. \u0412\u044b\u0431\u0440\u0430\u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f:<\/p>\n<pre><code class=\"json\">\"nvidia.com\/mig-1g.5gb\":3,\"nvidia.com\/mig-3g.20gb\":1 <\/code><\/pre>\n<p>  \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440 \u043f\u0435\u0440\u0435\u0441\u043e\u0437\u0434\u0430\u043b\u0441\u044f. \u0415\u0441\u043b\u0438 \u0432\u044b\u0431\u0440\u0430\u043d \u0442\u0438\u043f \u0434\u0435\u043f\u043b\u043e\u044f RollingUpdate, \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u043d\u043e\u0432\u044b\u0439 \u043f\u043e\u0434 \u0438 \u043f\u043e\u0434 \u043f\u0435\u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0441 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u043d\u0430 \u0441\u0442\u0430\u0440\u043e\u0439 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u0438 3g.20gb. \u0422\u043e \u0435\u0441\u0442\u044c \u043f\u043e\u043a\u0430 \u043d\u043e\u0432\u044b\u0439 \u043f\u043e\u0434 \u043d\u0430 1g.5gb \u043d\u0435 \u043f\u043e\u0434\u043d\u0438\u043c\u0435\u0442\u0441\u044f, \u0441\u0442\u0430\u0440\u044b\u0439 \u043d\u0435 \u0437\u0430\u0434\u0435\u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image10.png\" data-src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image10.png\"\/><\/div>\n<p>  <b>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442<\/b>: NOS \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u043b \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u043f\u043e\u0434 MIG \u0434\u043b\u044f \u043d\u043e\u0432\u044b\u0445 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0443\u0447\u0435\u043b, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c 3g.20gb \u0434\u043b\u044f \u0441\u0442\u0430\u0440\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043f\u043e\u0434\u0430.<\/p>\n<h3>\u0428\u0435\u0440\u0438\u043d\u0433 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0440\u0430\u0437\u043c\u0435\u0447\u0435\u043d\u043d\u043e\u0439 GPU \u0441 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439<\/h3>\n<p>  <b>\u0414\u0430\u043d\u043e<\/b><\/p>\n<ul>\n<li>Kubernetes, \u043d\u043e\u0434\u0430 \u0441 GPU A100.<\/li>\n<li>MIG \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d \u043d\u0430 GPU, \u0440\u0430\u0437\u043c\u0435\u0447\u0435\u043d \u043d\u0430 nvidia.com\/mig-1g.5gb&#187;:3,\u00abnvidia.com\/mig-3g.20gb\u00bb:1.<\/li>\n<li>\u041d\u0430 1g.5gb \u0435\u0441\u0442\u044c \u0430\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0432 \u0432\u0438\u0434\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 Triton.<\/li>\n<li>NOS \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d.<\/li>\n<\/ul>\n<p>  <b>\u041e\u0436\u0438\u0434\u0430\u043d\u0438\u0435<\/b>: \u043f\u0440\u0438 \u0434\u0435\u043f\u043b\u043e\u0435 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u043f\u043e\u0434\u0430, \u0433\u0434\u0435 \u043d\u0443\u0436\u0435\u043d, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0440\u0435\u0441\u0443\u0440\u0441 2g.10gb, NOS \u0441\u0434\u0435\u043b\u0430\u0435\u0442 \u043f\u0435\u0440\u0435\u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0443 \u043f\u0440\u043e\u0444\u0438\u043b\u0435\u0439 MIG. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u0442\u0430\u0440\u044b\u0439 \u043f\u043e\u0434 \u043d\u0435 \u0437\u0430\u0434\u0435\u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f.<\/p>\n<p>  <b>\u042d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442<\/b><\/p>\n<p>  \u0417\u0430\u0434\u0435\u043f\u043b\u043e\u0438\u043c \u0432\u0442\u043e\u0440\u043e\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 Deployment \u0441 \u0434\u0432\u0443\u043c\u044f \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043d\u0443\u0436\u0435\u043d \u0440\u0435\u0441\u0443\u0440\u0441 2g.10gb. \u0415\u0433\u043e \u0432 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0435 \u043d\u0435\u0442, \u043d\u043e \u0435\u0441\u0442\u044c \u0430\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 1g.10gb. NOS \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u0442\u044c \u0442\u0430\u043a\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e MIG, \u0433\u0434\u0435 \u0435\u0441\u0442\u044c 1g.10gb \u0438 \u0434\u0432\u0435 \u0448\u0442\u0443\u043a\u0438 2g.10gb \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e.<\/p>\n<pre><code class=\"json\">apiVersion: apps\/v1 kind: Deployment metadata: name: tritonserver2 labels:   app: tritonserver2 spec: replicas: 2 selector:   matchLabels:     app: tritonserver2 template:   metadata:     labels:       app: tritonserver2   spec:     volumes:     - name: models       nfs:         server: 10.222.2.34         path: \/shares\/share-f70da758-a056-4944-80c1-f10e2b2aa919\/server\/docs\/examples\/model_repository         readOnly: false     containers:       - name: tritonserver2         ports:         - containerPort: 8000           name: http-triton         - containerPort: 8001           name: grpc-triton         - containerPort: 8002           name: metrics-triton         image: \"nvcr.io\/nvidia\/tritonserver:23.05-py3\"         volumeMounts:         - mountPath: \/models           name: models         command: [\"\/bin\/sh\", \"-c\"]         args: [\"\/opt\/tritonserver\/bin\/tritonserver --model-repository=\/models --allow-gpu-metrics=false\"]         resources:           limits:             nvidia.com\/mig-2g.10gb: 1 <\/code><\/pre>\n<p>  \u0414\u043b\u044f \u0447\u0438\u0441\u0442\u043e\u0442\u044b \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430 \u0431\u0443\u0434\u0435\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043d\u0430 \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441-\u0441\u0435\u0440\u0432\u0435\u0440 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u0442\u0438\u043b\u0438\u0442\u044b perf_client, \u043a\u0430\u043a \u043c\u044b \u0434\u0435\u043b\u0430\u043b\u0438 \u0432 \u043f\u0440\u043e\u0448\u043b\u044b\u0445 \u0441\u0442\u0430\u0442\u044c\u044f\u0445 \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p>  \u0417\u0430\u0434\u0435\u043f\u043b\u043e\u0438\u043c \u0441\u0435\u0440\u0432\u0438\u0441 \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0438\u0437\u0432\u043d\u0435 \u043a \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441-\u0441\u0435\u0440\u0432\u0435\u0440\u0443:<\/p>\n<pre><code class=\"json\">apiVersion: v1 kind: Service metadata: name: tritonserver labels:   app: tritonserver spec: selector:   app: tritonserver ports:   - protocol: TCP     port: 8000     name: http     targetPort: 8000   - protocol: TCP     port: 8001     name: grpc     targetPort: 8001   - protocol: TCP     port: 8002     name: metrics     targetPort: 8002 type: LoadBalancer <\/code><\/pre>\n<p>  \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u043c perf_client \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441-\u0441\u0435\u0440\u0432\u0435\u0440\u0443:<\/p>\n<pre><code class=\"bash\">perf_client -i http -u triton-server -m densenet_onnx --concurrency-range 60:100 -u &lt;load_balancer_ip>:8000 <\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0432 \u043b\u043e\u0433\u0438 nos-gpu-partitioner:<\/p>\n<pre><code class=\"json\">{\"level\":\"info\",\"s\":1699478976.830188,\"msg\":\"1 out of 1 pending pods could beheped\",\"controller\":\"mig-artitioner-controller\",\"controllerGroup\":\"\",\"controllerKind\":\"Pod\",\"Pod\":{\"name\":\"tritonserver2-56bd8b6775-kgt58\",\"namespace\":\"default\"},\"namespace\":\"default\",\"name\":\"tritonserver2-56bd8b6775-kgt58\",\"reconcileID\":\"c82b3391-c484-4228-999f-640522961941\"} {\"level\":\"info\",\"ts\":1699479439.9892967,\"msg\":\"found 2 pending pods\",\"controller\":\"mig-partitioner-controller\",\"controllerGroup\":\"\",\"controllerKind\":\"Pod\",\"Pod\":{\"name\":\"tritonserver2-56bd8b6775-2cnng\",\"namespace\":\"default\"},\"namespace\":\"default\",\"name\":\"tritonserver2-56bd8b6775-2cnng\",\"reconcileID\":\"f13eff4d-75b5-4d8b-b9e2-002feb92ab96\"} {\"level\":\"info\",\"ts\":1699479439.9893067,\"msg\":\"2 out of 2 pending pods could be helped\",\"controller\":\"mig-partitioner-controller\",\"controllerGroup\":\"\",\"controllerKind\":\"Pod\",\"Pod\":{\"name\":\"tritonserver2-56bd8b6775-2cnng\",\"namespace\":\"default\"},\"namespace\":\"default\",\"name\":\"tritonserver2-56bd8b6775-2cnng\",\"reconcileID\":\"f13eff4d-75b5-4d8b-b9e2-002feb92ab96\"} {\"level\":\"info\",\"ts\":1699479439.9899423,\"msg\":\"computed desired partitioning state\",\"controller\":\"mig-partitioner-controller\",\"controllerGroup\":\"\",\"controllerKind\":\"Pod\",\"Pod\":{\"name\":\"tritonserver2-56bd8b6775-2cnng\",\"namespace\":\"default\"},\"namespace\":\"default\",\"name\":\"tritonserver2-56bd8b6775-2cnng\",\"reconcileID\":\"f13eff4d-75b5-4d8b-b9e2-002feb92ab96\",\"partitioning\":{\"DesiredState\":{\"nebuly-node-d91s8\":{\"GPUs\":[{\"GPUIndex\":0,\"Resources\":{\"nvidia.com\/mig-1g.5gb\":3,\"nvidia.com\/mig-2g.10gb\":2}}]}}}} {\"level\":\"info\",\"ts\":1699479439.9899855,\"msg\":\"applying desired partitioning\",\"controller\":\"mig-partitioner-controller\",\"controllerGroup\":\"\",\"controllerKind\":\"Pod\",\"Pod\":{\"name\":\"tritonserver2-56bd8b6775-2cnng\",\"namespace\":\"default\"},\"namespace\":\"default\",\"name\":\"tritonserver2-56bd8b6775-2cnng\",\"reconcileID\":\"f13eff4d-75b5-4d8b-b9e2-002feb92ab96\"} {\"level\":\"info\",\"ts\":1699479439.990069,\"msg\":\"partitioning node\",\"controller\":\"mig-partitioner-controller\",\"controllerGroup\":\"\",\"controllerKind\":\"Pod\",\"Pod\":{\"name\":\"tritonserver2-56bd8b6775-2cnng\",\"namespace\":\"default\"},\"namespace\":\"default\",\"name\":\"tritonserver2-56bd8b6775-2cnng\",\"reconcileID\":\"f13eff4d-75b5-4d8b-b9e2-002feb92ab96\",\"node\":\"nebuly-node-d91s8\",\"partitioning\":{\"GPUs\":[{\"GPUIndex\":0,\"Resources\":{\"nvidia.com\/mig-1g.5gb\":3,\"nvidia.com\/mig-2g.10gb\":2}}]}} {\"level\":\"info\",\"ts\":1699479440.007275,\"msg\":\"plan applied\",\"controller\":\"mig-partitioner-controller\",\"controllerGroup\":\"\",\"controllerKind\":\"Pod\",\"Pod\":{\"name\":\"tritonserver2-56bd8b6775-2cnng\",\"namespace\":\"default\"},\"namespace\":\"default\",\"name\":\"tritonserver2-56bd8b6775-2cnng\",\"reconcileID\":\"f13eff4d-75b5-4d8b-b9e2-002feb92ab96\"} <\/code><\/pre>\n<p>  NOS \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u043b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e:<\/p>\n<pre><code class=\"json\">\"nvidia.com\/mig-1g.5gb\":3,\"nvidia.com\/mig-2g.10gb\":2 <\/code><\/pre>\n<p>  \u0423\u0442\u0438\u043b\u0438\u0442\u0430 nvidia-smi \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0430\u043a\u0442\u0438\u0432\u043d\u0443\u044e \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043d\u0430 \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u0438:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image17.png\" data-src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image17.png\"\/><\/div>\n<p>  \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440 Triton \u043d\u0430 1g.5gb \u043d\u0435 \u043f\u0440\u0435\u043a\u0440\u0430\u0449\u0430\u043b \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c. Perf_client \u043d\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043b \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u0434\u0435\u0440\u0436\u0435\u043a \u0438\u043b\u0438 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u0439 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0441\u043c\u0435\u043d\u044b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image11.png\" data-src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image11.png\"\/><\/div>\n<p>  <b>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442<\/b>: \u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0434\u0430\u0436\u0435 \u043f\u0440\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0440\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u0435 MIG, \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430\u044f \u043d\u043e\u0432\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u0435\u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0431\u0435\u0437\u0431\u043e\u043b\u0435\u0437\u043d\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438.<\/p>\n<h3>\u0412\u044b\u0432\u043e\u0434<\/h3>\n<p>  \u0414\u0430\u043d\u043d\u044b\u0435 \u043a\u0435\u0439\u0441\u044b \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u044e\u0442, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f MIG. \u0415\u0441\u043b\u0438 \u0440\u0430\u043d\u0435\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 GPU \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c MIG \u0438 \u0440\u0430\u0437\u043c\u0435\u0442\u0438\u0442\u044c \u043f\u0440\u043e\u0444\u0438\u043b\u0438 \u0437\u0430\u0440\u0430\u043d\u0435\u0435, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e NOS \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u0440\u0430\u0437\u043c\u0435\u0447\u0430\u0442\u044c \u043a\u0430\u0440\u0442\u0443 \u043d\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u0438 \u043f\u043e \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432.<\/p>\n<p>  <a name=\"7\"><\/a><font color=\"#EB4247\"><\/p>\n<h2>\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 MPS, MIG, Timeslicing<\/h2>\n<p><\/font><br \/>  \u041e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043e\u043f\u0440\u043e\u0441: \u043a\u0430\u043a\u0443\u044e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044e \u0448\u0435\u0440\u0438\u043d\u0433\u0430 GPU \u0432\u044b\u0431\u0440\u0430\u0442\u044c? \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u0440\u0430\u0432\u043d\u0438\u043c \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043b\u0438 \u0432 \u0446\u0438\u043a\u043b\u0435 \u043d\u0430\u0448\u0438\u0445 \u0441\u0442\u0430\u0442\u0435\u0439.<\/p>\n<h3>Multi-Process Service (MPS)<\/h3>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c\u0441\u044f, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 MPS \u2014 \u0440\u0430\u043d\u0435\u0435 \u043c\u044b \u0435\u0433\u043e \u043d\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u043b\u0438.<\/p>\n<blockquote><p><a href=\"https:\/\/docs.nvidia.com\/deploy\/mps\/index.html\">Multi-Process Service (MPS)<\/a> \u2014 \u044d\u0442\u043e \u043a\u043b\u0438\u0435\u043d\u0442-\u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f CUDA (API) \u0434\u043b\u044f \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435.<\/p><\/blockquote>\n<p>  \u0412 MPS \u0441\u0435\u0440\u0432\u0435\u0440 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u043a GPU, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044f \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u0438\u0437\u043c \u043c\u0435\u0436\u0434\u0443 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c\u0438.<\/p>\n<p>  \u041e\u043d\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u044e\u0442\u0441\u044f \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u0447\u0435\u0440\u0435\u0437 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0443\u044e \u0441\u0440\u0435\u0434\u0443 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0432 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 CUDA \u0438 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043b\u044e\u0431\u044b\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c CUDA.<\/p>\n<p>  MPS \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043d\u0430\u0434 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u043c, \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u043c \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u043a\u043b\u0438\u0435\u043d\u0442\u0443, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044f \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043a\u0430\u043a \u043d\u0430 \u043e\u0431\u044a\u0435\u043c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438, \u0442\u0430\u043a \u0438 \u043d\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f. \u042d\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u0435\u0433\u043e \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e.<\/p>\n<p>  \u041f\u043b\u0430\u0433\u0438\u043d Nebuly <a href=\"https:\/\/github.com\/nebuly-ai\/k8s-device-plugin\">k8s-device-plugin<\/a> \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 Kubernetes \u0441 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u043c \u043e\u0431\u044a\u0435\u043c\u043e\u043c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c. \u0422\u0430\u043a\u0436\u0435 \u0435\u0441\u0442\u044c <a href=\"https:\/\/github.com\/nebuly-ai\/nos\/issues\/28\">issue<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c MPS \u043f\u043e\u0432\u0435\u0440\u0445 MIG.<\/p>\n<p>  \u041f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u0435\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438, MPS \u0443\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442 \u043d\u0430\u043a\u043b\u0430\u0434\u043d\u044b\u0435 \u0440\u0430\u0441\u0445\u043e\u0434\u044b, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430. \u0417\u0430 \u0441\u0447\u0435\u0442 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0438 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u2014 \u043f\u043e\u0432\u044b\u0448\u0430\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439.<\/p>\n<p>  \u0411\u043e\u043b\u0435\u0435 \u0442\u043e\u0433\u043e, MPS \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u043a\u043b\u0438\u0435\u043d\u0442\u0443 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u043f\u0430\u043c\u044f\u0442\u0438 GPU. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 \u043a \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430\u043c, \u043f\u0440\u0435\u043e\u0434\u043e\u043b\u0435\u0432\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441 \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u0438\u0435\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/p>\n<p>  \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u0430\u0436\u043d\u043e: \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b, \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0435 GPU \u0447\u0435\u0440\u0435\u0437 MPS, \u043d\u0435 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0434\u0440\u0443\u0433 \u043e\u0442 \u0434\u0440\u0443\u0433\u0430. \u0422\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f \u043d\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u044e \u043e\u0448\u0438\u0431\u043e\u043a \u0438 \u0437\u0430\u0449\u0438\u0442\u0443 \u043f\u0430\u043c\u044f\u0442\u0438. \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c\u0441\u044f \u0441\u0431\u043e\u0435\u043c \u0438 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430, \u0447\u0442\u043e \u043f\u043e\u0432\u043b\u0438\u044f\u0435\u0442 \u043d\u0430 \u0432\u0441\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b. \u041e\u0434\u043d\u0430\u043a\u043e \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0447\u0430\u0441\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u043f\u0443\u0442\u0435\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u0448\u0438\u0431\u043e\u043a CUDA \u0438 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432 SIGTERM.<\/p>\n<h3>\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u0448\u0435\u0440\u0438\u043d\u0433\u0430 GPU<\/h3>\n<p>  \u0412 \u044d\u0442\u043e\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u043c\u044b \u0441\u0440\u0430\u0432\u043d\u0438\u043c \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f GPU \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u043e\u043d\u0438 \u0432\u043b\u0438\u044f\u044e\u0442 \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u043d\u0430\u0433\u0440\u0443\u0437\u043e\u043a.<\/p>\n<p>  \u041c\u044b \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c:<\/p>\n<ul>\n<li>Multi-Process Service (MPS), <\/li>\n<li>Multi-Instance GPU (MIG),<\/li>\n<li>TimeSlicing.<\/li>\n<\/ul>\n<p>  \u042f \u0431\u0443\u0434\u0443 \u043e\u043f\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u043d\u0430 <a href=\"https:\/\/github.com\/nebuly-ai\/nos\/tree\/main\/demos\/gpu-sharing-comparison\">\u0441\u0442\u0430\u0442\u044c\u044e<\/a>. \u041d\u0430\u0448\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u2014 \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u044b \u043d\u0430 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u0438 \u043f\u0440\u0438\u0439\u0442\u0438 \u043a \u0442\u0435\u043c \u0436\u0435 \u0432\u044b\u0432\u043e\u0434\u0430\u043c.<\/p>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043c\u0441\u044f \u0441 \u043e\u0442\u043b\u0438\u0447\u0438\u044f\u043c\u0438 \u043c\u0435\u0436\u0434\u0443 \u044d\u0442\u0438\u043c\u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u043c\u0438.<\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td>\u0422\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f \u0448\u0435\u0440\u0438\u043d\u0433\u0430  <\/td>\n<td>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Nos  <\/td>\n<td>\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438<\/p>\n<\/td>\n<td>\u041f\u043b\u044e\u0441\u044b  <\/td>\n<td>\u041c\u0438\u043d\u0443\u0441\u044b  <\/td>\n<\/tr>\n<tr>\n<td>Multi-instance GPU (MIG)  <\/td>\n<td>+  <\/td>\n<td>\u041d\u0430\u0438\u043b\u0443\u0447\u0448\u0438\u0439  <\/td>\n<td>\n<ul>\n<li>\u041f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e<\/li>\n<li>\u041f\u043e\u043b\u043d\u0430\u044f \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u044f \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0436\u0435\u043b\u0435\u0437\u0430<\/li>\n<\/ul>\n<\/td>\n<td>\n<ul>\n<li>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043b-\u0432\u0430 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442<\/li>\n<li>\u041d\u0435\u0442 \u0433\u0438\u0431\u043a\u043e\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 (\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439)<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td>Multi-process server (MPS)  <\/td>\n<td>+  <\/td>\n<td>\u0421\u0440\u0435\u0434\u043d\u0438\u0439  <\/td>\n<td>\n<ul>\n<li>\u041f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u043e<\/li>\n<li>\u0413\u0438\u0431\u043a\u043e\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432<\/li>\n<\/ul>\n<\/td>\n<td>\n<ul>\n<li>\u041d\u0435\u0442 \u043f\u043e\u043b\u043d\u043e\u0439 \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438 \u0432\u043e\u0440\u043a\u043b\u043e\u0430\u0434\u043e\u0432<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td>TimeSlicing  <\/td>\n<td> \u2014 <\/td>\n<td>\u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442  <\/td>\n<td>\n<ul>\n<li>\u041f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0441 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0435\u043c \u043a\u0432\u0430\u043d\u0442\u043e\u0432 \u0432\u0440\u0435\u043c\u0435\u043d\u0438<\/li>\n<li>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u0442\u0430\u0440\u044b\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 GPU<\/li>\n<\/ul>\n<\/td>\n<td>\n<ul>\n<li>\u041d\u0435\u0442 \u043b\u0438\u043c\u0438\u0442\u0430 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432<\/li>\n<li>\u041d\u0435\u0442 \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438 \u043f\u043e \u043f\u0430\u043c\u044f\u0442\u0438<\/li>\n<li>\u041d\u0438\u0437\u043a\u0430\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p><i><a href=\"https:\/\/github.com\/nebuly-ai\/nos\/blob\/main\/docs\/en\/docs\/dynamic-gpu-partitioning\/partitioning-modes-comparison.md\">\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a<\/a><\/i><i>.<\/i><\/p>\n<p>  \u041c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0437\u043c\u0435\u0440\u044f\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043a\u0430\u0436\u0434\u043e\u0439 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0448\u0435\u0440\u0438\u043d\u0433\u0430 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044f \u043d\u0430\u0431\u043e\u0440 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0438 \u0442\u043e\u0439 \u0436\u0435 GPU. \u041a\u0430\u0436\u0434\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0430\u043a\u0442\u0438\u0432\u043d\u0443\u044e \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u043d\u0430 \u043c\u043e\u0434\u0435\u043b\u0438 YOLOS. \u0412\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441-\u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0431\u0443\u0434\u0435\u043c \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0432 Prometheus.<\/p>\n<p>  \u041c\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u044d\u0442\u043e\u0442 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437. \u041a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u2014 \u0441 \u0440\u0430\u0437\u043d\u044b\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0440\u0435\u043f\u043b\u0438\u043a, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0445 \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0438 \u0442\u043e\u043c \u0436\u0435 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435 (1, 3, 5 \u0438 7). \u0412 \u0442\u0435\u043e\u0440\u0438\u0438 \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0440\u0438\u0439\u0442\u0438 \u043a \u0442\u0430\u043a\u043e\u043c\u0443 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0443:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image13.png\" data-src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image13.png\"\/><\/div>\n<p>  \u0411\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Kubernetes, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u043b\u0438 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e MIG. \u0412\u043e\u0442 \u0435\u0433\u043e \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438:<\/p>\n<ul>\n<li>6 vCPU,<\/li>\n<li>87 \u0413\u0411 RAM,<\/li>\n<li>100 \u0413\u0411 \u0434\u0438\u0441\u043a,<\/li>\n<li>1 A100 GPU 40 \u0413\u0411 \u2014 \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0438 \u043e\u0442 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438 NOS, \u0433\u0434\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u0440\u0442\u0430 A100 \u0441 80 \u0413\u0411,<\/li>\n<li>\u0434\u0440\u0430\u0439\u0432\u0435\u0440 nvidia 525.<\/li>\n<\/ul>\n<p>  \u0421\u043a\u043b\u043e\u043d\u0438\u0440\u0443\u0435\u043c <a href=\"https:\/\/github.com\/nebuly-ai\/nos\">\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439<\/a> \u0438 \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u0432 \u043f\u0430\u043f\u043a\u0443 demos\/gpu-sharing-comparison. \u041e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043c\u0441\u044f \u0441 Readme \u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043c \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443. \u041e\u0442\u043c\u0435\u0447\u0443: \u043a\u043b\u0430\u0441\u0442\u0435\u0440 Kubernetes \u044f \u043f\u0435\u0440\u0435\u0441\u043e\u0437\u0434\u0430\u043b \u0438 \u0443\u0434\u0430\u043b\u0438\u043b \u0432\u0441\u0435 \u043f\u043e\u0434\u044b c Triton-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u044e \u0438 \u0447\u0430\u0440\u0442\u044b (\u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 GPU, NOS), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435.<\/p>\n<p>  \u0414\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432\u0441\u0435\u0445 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c kubeconfig \u043e\u0442 \u043d\u0430\u0448\u0435\u0433\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 <code>make install<\/code> \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 GPU. \u0412 values.yml \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e <code>migManager<\/code> \u0441\u0442\u043e\u0438\u0442 \u0432 <code>False<\/code> \u2014 \u044d\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f MIG \u0431\u0435\u0440\u0435\u0442 \u043d\u0430 \u0441\u0435\u0431\u044f NOS:<\/p>\n<pre><code class=\"json\">driver:  enabled: true toolkit:  enabled: true migManager:  enabled: false mig:  strategy: mixed devicePlugin:  enabled: false daemonsets:  priorityClassName: system-node-critical  tolerations:    - key: nvidia.com\/gpu      operator: Exists      effect: NoSchedule    - key: \"kubernetes.azure.com\/scalesetpriority\"      operator: \"Equal\"      value: \"spot\"      effect: \"NoSchedule\" node-feature-discovery:  worker:    tolerations:      - key: \"node-role.kubernetes.io\/master\"        operator: \"Equal\"        value: \"\"        effect: \"NoSchedule\"      - key: \"nvidia.com\/gpu\"        operator: \"Equal\"        value: \"present\"        effect: \"NoSchedule\"      - key: \"kubernetes.azure.com\/scalesetpriority\"        operator: \"Equal\"        value: \"spot\"        effect: \"NoSchedule\" <\/code><\/pre>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b NOS \u0438 nvidia-device-plugin. \u0412 values.yml \u0437\u0430\u0434\u0430\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e TimeSlicing. \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u2014 \u0441\u0435\u043c\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432:<\/p>\n<pre><code class=\"json\">affinity:  nodeAffinity:    requiredDuringSchedulingIgnoredDuringExecution:      nodeSelectorTerms:        - matchExpressions:            - key: nos.nebuly.com\/gpu-partitioning              operator: NotIn              values:                - mps            - key: nvidia.com\/gpu.present              operator: Exists selectorLabelsOverride:  app: nvidia-device-plugin-daemonset migStrategy: mixed config:  map:    default: |      version: v1      sharing:        timeSlicing:          renameByDefault: true          failRequestsGreaterThanOne: true          resources:          - name: nvidia.com\/gpu            replicas: 7 tolerations:  - key: nvidia.com\/gpu    operator: Exists    effect: NoSchedule  - key: \"kubernetes.azure.com\/scalesetpriority\"    operator: \"Equal\"    value: \"spot\"    effect: \"NoSchedule\" <\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c cert-manager \u0438 kube-prometheus. \u0412 values.yml \u0437\u0430\u0434\u0430\u0435\u043c \u0441\u043a\u043e\u0443\u043f \u043c\u0435\u0442\u0440\u0438\u043a GPU:<\/p>\n<pre><code class=\"json\">\u0441additionalScrapeConfigs: - job_name: gpu-metrics  scrape_interval: 1s  metrics_path: \/metrics  scheme: http  kubernetes_sd_configs:  - role: endpoints    namespaces:      names:      - gpu-operator  relabel_configs:  - source_labels: [__meta_kubernetes_pod_node_name]    action: replace    target_label: kubernetes_node serviceMonitorSelectorNilUsesHelmValues: false <\/code><\/pre>\n<p>  \u0412 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0442\u0435\u0441\u0442\u044b, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f Deployment \u0441 \u043e\u0434\u043d\u0438\u043c \u043f\u043e\u0434\u043e\u043c, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0437\u0430\u043f\u0443\u0449\u0435\u043d \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0439 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 <a href=\"https:\/\/github.com\/nebuly-ai\/nos\/tree\/main\/demos\/gpu-sharing-comparison\/client\">Benchmarks Client<\/a>. \u0414\u0430\u043b\u0435\u0435 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f Deployment \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0448\u0435\u0440\u0438\u043d\u0433\u0430 GPU.<\/p>\n<p>  \u0412 \u043a\u0430\u0436\u0434\u043e\u043c Deployment <a href=\"https:\/\/github.com\/nebuly-ai\/nos\/tree\/main\/demos\/gpu-sharing-comparison\/client\">Benchmarks Client<\/a> \u0432\u0441\u0435\u0433\u0434\u0430 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 GPU \u0441 5 \u0413\u0411 \u043f\u0430\u043c\u044f\u0442\u0438. \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u0430, \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u043c benchmarks, \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0448\u0435\u0440\u0438\u043d\u0433\u0430:<\/p>\n<ul>\n<li>MIG \u2014 nvidia.com\/mig-1g.5gb: 1<\/li>\n<li>MPS \u2014 nvidia.com\/gpu-6gb: 1<\/li>\n<li>TimeSlicing \u2014 nvidia.com\/gpu.shared: 1<\/li>\n<\/ul>\n<p>  \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043c\u0435\u043d\u044f\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0435\u043f\u043b\u0438\u043a \u0432 <a href=\"https:\/\/github.com\/nebuly-ai\/nos\/blob\/main\/demos\/gpu-sharing-comparison\/manifests\/base\/deployment-client.yaml\">Deployment<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0432 \u0441\u0435\u0431\u0435 <a href=\"https:\/\/huggingface.co\/hustvl\/yolos-small\">YOLOS-small<\/a> \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043d\u0430 GPU:<\/p>\n<pre><code class=\"json\">apiVersion: apps\/v1 kind: Deployment metadata:  name: benchmarks-client  namespace: nos-gpu-sharing-comparison spec:  selector:    matchLabels:      app.kubernetes.io\/component: benchmarks-client  replicas: 7  template:    metadata:      labels:        app.kubernetes.io\/component: benchmarks-client    spec:      securityContext:        runAsNonRoot: true      tolerations:        - key: \"kubernetes.azure.com\/scalesetpriority\"          operator: \"Equal\"          value: \"spot\"          effect: \"NoSchedule\"      containers:        - image: ghcr.io\/telemaco019\/demos\/gpu-sharing-comparison:latest          name: benchmarks-client          imagePullPolicy: Always          securityContext:            allowPrivilegeEscalation: false            capabilities:              drop:                - \"ALL\"          resources:            limits:              cpu: \"500m\"              memory: 4Gi          ports:            - name: prometheus              containerPort: 8000      terminationGracePeriodSeconds: 10 <\/code><\/pre>\n<p>  <b>\u041f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430<\/b><\/p>\n<ol>\n<li>\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u043c \u043e\u0434\u043d\u0443 \u0438\u0437 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u0448\u0435\u0440\u0438\u043d\u0433\u0430 GPU \u043d\u0430 \u043d\u043e\u0434\u0435.<\/li>\n<li>\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u043e\u0434 \u0441 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442 \u0440\u0435\u0441\u0443\u0440\u0441 GPU. <\/li>\n<li>\u041f\u043e\u0434\u043e\u0436\u0434\u0435\u043c \u0442\u0440\u0438 \u043c\u0438\u043d\u0443\u0442\u044b.<\/li>\n<li>\u0412\u044b\u0447\u0438\u0441\u043b\u0438\u043c \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430 \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0434\u0432\u0435 \u043c\u0438\u043d\u0443\u0442\u044b. <\/li>\n<\/ol>\n<p>  \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0438\u0437\u043c\u0435\u0440\u044f\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u043e \u043c\u0435\u0442\u0440\u0438\u043a\u0435 \u2014 \u0441\u0440\u0435\u0434\u043d\u0435\u043c\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043e\u0442\u0432\u0435\u0442\u0430 \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441\u0430 \u0437\u0430 \u0434\u0432\u0435 \u043c\u0438\u043d\u0443\u0442\u044b. \u041d\u0430\u0438\u043c\u0435\u043d\u044c\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u043d\u0430\u0438\u043b\u0443\u0447\u0448\u0443\u044e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044e.<\/p>\n<h4>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0442\u0435\u0441\u0442 \u043d\u0430 Timeslicing<\/h4>\n<p>  \u0412\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<pre><code class=\"bash\">make deploy-ts <\/code><\/pre>\n<p>  \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043c\u0435\u043d\u044f\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0435\u043f\u043b\u0438\u043a \u0432 deployment benchmarks-client, \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043e\u043f\u0438\u0441\u0430\u043d \u0432\u044b\u0448\u0435. \u041c\u0435\u043d\u044f\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 1-3-5-7.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image3.png\" data-src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image3.png\"\/><\/div>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u043e\u0432 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0444\u043e\u0440\u0432\u0430\u0440\u0434 \u043f\u043e\u0440\u0442\u0430 \u0434\u043b\u044f Prometheus:<\/p>\n<pre><code class=\"bash\">make port-forward-prometheus <\/code><\/pre>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0430\u0448\u0435\u0439 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043f\u043e \u0444\u043e\u0440\u043c\u0443\u043b\u0435 (\u0441\u043f\u0443\u0441\u0442\u044f 2 \u043c\u0438\u043d\u0443\u0442\u044b \u043f\u043e\u0441\u043b\u0435 \u0434\u0435\u043f\u043b\u043e\u044f):<\/p>\n<pre><code class=\"bash\">avg(sum(rate(inference_time_seconds_sum[2m])) \/ sum(rate(inference_time_seconds_count[2m]))) <\/code><\/pre>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image8.png\" data-src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image8.png\"\/><\/div>\n<p>  \u042d\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438 \u0434\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432.<\/p>\n<h4>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0442\u0435\u0441\u0442 \u043d\u0430 MPS<\/h4>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 nvidia-device-plugin \u043e\u0442 nebuly. \u0412 \u0446\u0435\u043b\u043e\u043c, \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 MPS \u043d\u0435 \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 TimeSlicing.<\/p>\n<p>  \u041d\u0430\u043c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0434\u043b\u044f MPS \u0438 \u0443\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u0430\u043a \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u043b\u0435\u0439\u0431\u043b \u0434\u043b\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u0430 GPU. \u0410 \u0442\u0430\u043a\u0436\u0435 \u2014 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u043f\u043b\u0438\u043a \u0438 \u043f\u0430\u043c\u044f\u0442\u0438 \u043c\u044b \u0437\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u043c \u043d\u0430 \u043e\u0434\u043d\u0443 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u044e.<\/p>\n<p>  \u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<pre><code class=\"json\">version: v1 flags:  migStrategy: none sharing:  mps:    failRequestsGreaterThanOne: true    resources:      - name: nvidia.com\/gpu        rename: nvidia.com\/gpu-6gb        memoryGB: 6        replicas: 7        devices: [\"0\"] <\/code><\/pre>\n<p>  \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043c\u044b \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u043c \u043f\u043e\u0434 \u043a\u0430\u0436\u0434\u0443\u044e \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u044e 5 \u0413\u0411 \u0432\u0438\u0434\u0435\u043e\u043f\u0430\u043c\u044f\u0442\u0438, \u0447\u0442\u043e \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441 TimesSlicing, \u0438 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u043e\u0432\u044b\u0432\u0430\u0435\u043c nvidia.com\/gpu \u0432 nvidia.com\/gpu-5gb<\/p>\n<p>  <b>\u041f\u043e\u0440\u044f\u0434\u043e\u043a \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 MPS \u043d\u0430 \u043d\u043e\u0434\u0435<\/b><\/p>\n<p>  1. \u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u043c MPS \u043d\u0430 \u043d\u043e\u0434\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043b\u0435\u0439\u0431\u043b\u0430:<\/p>\n<pre><code class=\"bash\">kubectl label nodes &lt;gpu-node> nos.nebuly.com\/gpu-partitioning=mps <\/code><\/pre>\n<p>  2. \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c Deployment \u0441 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442 \u0440\u0435\u0441\u0443\u0440\u0441 GPU:<\/p>\n<pre><code class=\"json\">spec:    template:        spec:          hostIPC: true          securityContext:            runAsUser: 1000 <\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"bash\">make deploy-mps <\/code><\/pre>\n<p>  3. \u041f\u043e\u0434\u043e\u0436\u0434\u0435\u043c \u043f\u0430\u0440\u0443 \u0441\u0435\u043a\u0443\u043d\u0434, \u043f\u043e\u043a\u0430 NOS \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435 \u0432\u044b\u0434\u0435\u043b\u0438\u0442 \u043f\u043e\u0434\u0443 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e.<\/p>\n<p>  \u041f\u0440\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 MPS-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0432 \u043b\u043e\u0433\u0430\u0445 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 nvidia-mps-server \u0434\u043e\u043b\u0436\u043d\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c\u0441\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image6.png\" data-src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image6.png\"\/><\/div>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u0432\u044b\u0432\u043e\u0434 nvidia-smi \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043e \u0441\u0435\u043c\u044c \u0440\u0435\u043f\u043b\u0438\u043a \u043d\u0430\u0448\u0435\u0433\u043e \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0430 \u2014 \u0438 \u0432\u0441\u0435 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0435. \u0415\u0449\u0435 \u043e\u0434\u0438\u043d \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u2014 nvidia-cuda-mps-server, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 CUDA:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image2.png\" data-src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image2.png\"\/><\/div>\n<p>  \u042f \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043d\u0430 5 \u0413\u0411 \u0432\u0438\u0434\u0435\u043e\u043f\u0430\u043c\u044f\u0442\u0438, \u043d\u043e \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u043e\u0442\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b\u0430. Cuda server \u043d\u0435 \u0434\u0430\u0432\u0430\u043b \u0435\u0439 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c\u0441\u044f \u0438 \u043e\u043d\u0430 \u043d\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u0443\u044e \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443. \u0422\u0430\u043a\u0436\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c 525 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 NVIDIA, \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e 470 \u0441\u0445\u0435\u043c\u0430 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430.<\/p>\n<h4>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0442\u0435\u0441\u0442 \u043d\u0430 MIG<\/h4>\n<p>  \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0442\u0435\u0441\u0442\u044b \u0434\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0439, \u0442\u0440\u0435\u0442\u044c\u0435\u0439, \u043f\u044f\u0442\u043e\u0439 \u0438 \u0441\u0435\u0434\u044c\u043c\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a \u0438 \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u0438 \u0432\u044b\u0431\u0435\u0440\u0435\u043c 1g.5gb.<\/p>\n<p>  1. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u043c MIG \u043d\u0430 \u043d\u043e\u0434\u0435:<\/p>\n<pre><code class=\"bash\"> sudo nvidia-smi -i 0 -mig 1 <\/code><\/pre>\n<p>  2. \u0410\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u043c \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 MIG:<\/p>\n<pre><code class=\"bash\">kubectl label nodes &lt;gpu-node> nos.nebuly.com\/gpu-partitioning=mig <\/code><\/pre>\n<p>  3. \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c Deployment \u0441 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u043e\u043c \u0441 \u043d\u0443\u0436\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439:<\/p>\n<pre><code class=\"bash\">make deploy-mig <\/code><\/pre>\n<p>  4. \u041f\u043e\u0434\u043e\u0436\u0434\u0435\u043c \u043f\u0430\u0440\u0443 \u0441\u0435\u043a\u0443\u043d\u0434, NOS \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u0434\u0431\u0435\u0440\u0435\u0442 \u043d\u0443\u0436\u043d\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e MIG. \u041f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u0432\u0441\u0435\u0445 \u0441\u0435\u043c\u0438 \u0440\u0435\u043f\u043b\u0438\u043a nvidia-smi \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image20.png\" data-src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image20.png\"\/><\/div>\n<p>  \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u043b\u044f \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0430 \u043d\u0435 \u0432\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u043d\u0430\u0438\u043c\u0435\u043d\u044c\u0448\u0443\u044e \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u044e MIG, \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0442\u0435\u0441\u0442\u0430\u0445 \u043c\u044b \u0432\u0438\u0434\u0435\u043b\u0438, \u0447\u0442\u043e \u043c\u043e\u0434\u0435\u043b\u044c \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 5 \u0413\u0411.<\/p>\n<p>  \u041d\u043e \u044d\u0442\u043e \u043d\u0435 \u043f\u043e\u043c\u0435\u0448\u0430\u043b\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c\u0441\u044f \u0435\u0439 \u043d\u0430 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u0438 MIG, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0442\u0435\u0441\u0442\u0430 \u0441 MPS, \u0433\u0434\u0435 \u0432 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u0445 \u043f\u043e \u043f\u0430\u043c\u044f\u0442\u0438 \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043c\u0438\u043d\u0438\u043c\u0443\u043c 6 \u0413\u0411. \u0412 TimeSlicing \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u043f\u043e \u043f\u0430\u043c\u044f\u0442\u0438 \u043d\u0435\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0430\u043c \u0440\u0435\u043f\u043b\u0438\u043a\u0438 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u044e\u0442 \u043e\u0431\u0449\u0435\u0435 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e.<\/p>\n<p>  \u0412\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u043c \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e MIG. \u0418\u0437\u043c\u0435\u043d\u0438\u043c \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c, \u0447\u0442\u043e\u0431\u044b \u043e\u0434\u043d\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0435 \u0432\u044b\u0434\u0435\u043b\u044f\u043b\u0441\u044f 2g.10gb. NOS \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0435\u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u0442 MIG \u043d\u0430 3 \u0447\u0430\u0441\u0442\u0438 2g.10gb \u0438 1 \u0447\u0430\u0441\u0442\u044c 1g.5gb.<\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043c \u0437\u0430\u043c\u0435\u0440\u044b \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0438 \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0445 (5 \u0438 7 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f, \u0442\u0430\u043a \u043a\u0430\u043a \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u043c\u0435\u0441\u0442\u0430 \u0432 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0435). \u0415\u0441\u043b\u0438 \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c nvidia-smi, \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c, \u0447\u0442\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u043c\u0430\u044f \u043f\u0430\u043c\u044f\u0442\u044c \u043d\u0435 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u043b\u0430\u0441\u044c. \u041d\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0430 \u043b\u0443\u0447\u0448\u0435 \u043f\u043e\u0447\u0442\u0438 \u0432 \u0434\u0432\u0430 \u0440\u0430\u0437\u0430. \u042d\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u043d\u0430 \u043a\u0430\u0436\u0434\u0443\u044e \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u044e \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u043e\u0441\u044c \u0435\u0449\u0435 \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 compute unit.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image14.png\" data-src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image14.png\"\/><\/div>\n<p>  <\/p>\n<h4>\u0410\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b<\/h4>\n<p>  \u041d\u0438\u0436\u0435 \u2014 \u0442\u0430\u0431\u043b\u0438\u0446\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u044b \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0444\u043e\u0440\u043c\u0443\u043b\u044b \u0438\u0437 Prometheus \u043d\u0430 \u0440\u0430\u0437\u043d\u043e\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0445 \u0440\u0435\u043f\u043b\u0438\u043a:<\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td><\/td>\n<td>1 pod  <\/td>\n<td>3 pod  <\/td>\n<td>5 pod  <\/td>\n<td>7 pod  <\/td>\n<\/tr>\n<tr>\n<td>TimeSlicing  <\/td>\n<td>0.09050836608163315  <\/td>\n<td>0.30085825146380296  <\/td>\n<td>0.4993968177888305  <\/td>\n<td>0.6004496900353387  <\/td>\n<\/tr>\n<tr>\n<td>MPS  <\/td>\n<td>0.0906609925383058  <\/td>\n<td>0.17016109033480073  <\/td>\n<td>0.2528740288475843  <\/td>\n<td>0.3348583714126451  <\/td>\n<\/tr>\n<tr>\n<td>MIG (1g.5gb)  <\/td>\n<td>0.35469598418669795  <\/td>\n<td>0.3557782260357195  <\/td>\n<td>0.35432991796849783  <\/td>\n<td>0.3674875746845398  <\/td>\n<\/tr>\n<tr>\n<td>MIG (2g.10gb)  <\/td>\n<td>0.20145802699181992  <\/td>\n<td>0.20089925431643463  <\/td>\n<td> \u2014 <\/td>\n<td> \u2014 <\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p><i>\u0424\u043e\u0440\u043c\u0443\u043b\u0430: <\/i><i>avg(sum(rate(inference_time_seconds_sum[2m])) \/ sum(rate(inference_time_seconds_count[2m])))<\/i><\/p>\n<p>  \u0414\u043b\u044f \u043b\u0443\u0447\u0448\u0435\u0439 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u043c \u0433\u0440\u0430\u0444\u0438\u043a \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u0440\u0435\u0434\u043d\u0435\u0433\u043e \u043e\u0442\u043a\u043b\u0438\u043a\u0430 \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441\u0430 \u0437\u0430 \u0434\u0432\u0435 \u043c\u0438\u043d\u0443\u0442\u044b \u043e\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0435\u043f\u043b\u0438\u043a:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image4.png\" data-src=\"https:\/\/849719.selcdn.ru\/mcloud.media\/article\/sharing_2023-11-24\/image4.png\"\/><\/div>\n<p>  <b>\u0412\u044b\u0432\u043e\u0434\u044b<\/b><\/p>\n<p>  \u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0440\u0430\u0437\u043d\u044b\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u0448\u0435\u0440\u0438\u043d\u0433\u0430 GPU \u043d\u0430 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0435 \u0430\u043b\u043b\u043e\u0446\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043c \u0432\u0438\u0434\u0435\u043e\u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n<ul>\n<li>\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 MIG \u043c\u043e\u0434\u0435\u043b\u044c \u00ab\u0441\u044a\u0435\u043b\u0430\u00bb \u043c\u0435\u043d\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u0430\u043c\u044f\u0442\u0438.<\/li>\n<li>MPS \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b \u043c\u043e\u0434\u0435\u043b\u044c, \u0435\u0441\u043b\u0438 \u0432 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u0445 \u043a \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u043c\u0435\u043d\u044c\u0448\u0435 \u043f\u0430\u043c\u044f\u0442\u0438, \u0447\u0435\u043c \u044d\u0442\u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u0442. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0434\u043b\u044f \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0433\u043e \u0434\u0435\u043f\u043b\u043e\u044f \u0432 GPU \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043e\u0431\u044a\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u0432 MIG.<\/li>\n<li>TimeSlicing \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u0432\u0438\u0434\u0435\u043e\u043f\u0430\u043c\u044f\u0442\u0438. <\/li>\n<\/ul>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u0432\u0430\u0436\u043d\u043e, \u043a\u0430\u043a\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e compute unit \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u043e \u0432 \u0432\u043e\u0440\u043a\u043b\u043e\u0430\u0434\u0435.<\/p>\n<ul>\n<li>\u041f\u0440\u0438 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0438 MIG \u0438 \u0432\u044b\u0431\u043e\u0440\u0435 \u043d\u0430\u0438\u043c\u0435\u043d\u044c\u0448\u0435\u0439 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u0438 \u0441 \u043e\u0434\u043d\u0438\u043c compute unit \u0432\u0440\u0435\u043c\u044f \u043e\u0442\u0432\u0435\u0442\u0430 \u0431\u0443\u0434\u0435\u0442 \u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u0432 MPS. \u042d\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u043d\u043e \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u043c\u044b \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d compute unit \u0434\u043b\u044f \u0432\u043e\u0440\u043a\u043b\u043e\u0430\u0434\u0430, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 MPS, \u0433\u0434\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432\u0441\u0435 \u0441\u0435\u043c\u044c \u0438 \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438 \u0447\u0435\u0440\u0435\u0437 MPS Cuda server. \u0415\u0441\u043b\u0438 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u044e \u0441 \u0434\u0432\u0443\u043c\u044f compute unit, \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043c\u044b \u0441 MPS (\u0442\u043e\u043b\u044c\u043a\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0435\u043f\u043b\u0438\u043a \u0441\u043d\u0438\u0437\u0438\u043b\u043e\u0441\u044c \u0434\u043e \u0442\u0440\u0435\u0445).<\/li>\n<li>TimeSlicing \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u043b\u043e\u0445\u0438\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b, \u0442\u0430\u043a \u043a\u0430\u043a \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0440\u0435\u043f\u043b\u0438\u043a\u0438 \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0432\u0430\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0432\u043e\u0440\u043a\u043b\u043e\u0430\u0434\u0430. <\/li>\n<li>\u041d\u0430\u0438\u043b\u0443\u0447\u0448\u0430\u044f \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u044f \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u0440\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0438 MIG, \u0442\u0430\u043a \u043a\u0430\u043a \u0434\u043b\u044f \u0432\u043e\u0440\u043a\u043b\u043e\u0430\u0434\u0430 \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0430. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0448\u0435\u0440\u0438\u043d\u0433 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e MIG \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0430\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0434\u0435\u043f\u043b\u043e\u0435\u043c \u0432\u043e\u0440\u043a\u043b\u043e\u0430\u0434\u043e\u0432 \u0431\u0435\u0437 \u043e\u043f\u0430\u0441\u0435\u043d\u0438\u0439 \u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0442\u0435\u043a\u0443\u0449\u0438\u0445 \u0432\u043e\u0440\u043a\u043b\u043e\u0430\u0434\u043e\u0432.<\/li>\n<\/ul>\n<p>  <a name=\"8\"><\/a><font color=\"#EB4247\"><\/p>\n<h2>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h2>\n<p><\/font><br \/>  \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 MIG, \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0432 \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445 \u0438 \u0432 open source, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u0440\u0430\u0432\u043d\u0438\u043b\u0438 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0448\u0435\u0440\u0438\u043d\u0433\u0430 GPU.<\/p>\n<p>  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0438\u043b\u0438 \u043d\u0435\u0442 \u2014 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0432\u0430\u0448\u0438\u0445 \u043f\u043e\u0442\u0440\u0435\u0431\u043d\u043e\u0441\u0442\u0435\u0439 \u0438 \u0437\u0430\u0434\u0430\u0447. \u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u044f \u0441\u043c\u043e\u0433 \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c, \u0432 \u0447\u0435\u043c \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0430 \u0438 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u0440\u0435\u0448\u0435\u043d\u0438\u0439. \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441\u044b, \u0437\u0430\u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0438\u0445 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445!<\/p>\n<blockquote>\n<h4><b>\u0428\u0435\u0440\u0438\u043d\u0433 GPU \u0432 <\/b><b>\u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441<\/b><b>-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435<\/b><\/h4>\n<p>  \u041d\u0435\u0434\u0430\u0432\u043d\u043e \u043c\u044b \u043e\u043a\u0443\u043d\u0443\u043b\u0438\u0441\u044c \u0432 \u0442\u0435\u043c\u0443 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441-\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c. \u041e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u044d\u0442\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u0442\u0435\u043c\u0430 \u043d\u0430 \u0440\u044b\u043d\u043a\u0435. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0432\u044b \u0437\u0430\u043c\u0435\u0442\u0438\u043b\u0438, \u0447\u0442\u043e \u0432 \u0441\u0432\u043e\u0438\u0445 \u0441\u0442\u0430\u0442\u044c\u044f\u0445 \u044f \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b NVIDIA Triton Inference Server \u2014 \u0438 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0430\u043a. \u041f\u043e\u0434\u0435\u043b\u0438\u0442\u0435\u0441\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u044c\u044e, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0430\u043c \u0431\u044b \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0443\u0437\u043d\u0430\u0442\u044c \u043e\u0431 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u0445 \u044d\u0442\u043e\u0433\u043e \u0438\u043d\u0444\u0435\u0440\u0435\u043d\u0441-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u0443\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438 GPU, \u0438 \u0442\u043e\u0433\u0434\u0430 \u043c\u044b \u043d\u0430\u043f\u0438\u0448\u0435\u043c \u043d\u043e\u0432\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e.<\/p><\/blockquote>\n<p>  <font color=\"#EB4247\"><\/p>\n<h2>\u0414\u0440\u0443\u0433\u0438\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e \u0442\u0435\u043c\u0435<\/h2>\n<p><\/font>  <\/p>\n<ul>\n<li><a href=\"https:\/\/habr.com\/ru\/companies\/selectel\/articles\/756934\/\">\u0414\u0435\u043b\u0438\u043c \u043d\u0435\u0434\u0435\u043b\u0438\u043c\u043e\u0435 \u0432 Kubernetes: \u0448\u0435\u0440\u0438\u043d\u0433 GPU \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e MIG \u0438 TimeSlicing<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/companies\/selectel\/articles\/748544\/\">\u041a\u0430\u043a \u0440\u0430\u0437\u0431\u0438\u0442\u044c GPU \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0447\u0430\u0441\u0442\u0435\u0439 \u0438 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441 \u043a\u043e\u043b\u043b\u0435\u0433\u0430\u043c\u0438: \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u043e\u0441\u043e\u0431\u0438\u0435 \u043f\u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 MIG<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/776132\/\"> https:\/\/habr.com\/ru\/articles\/776132\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/pd\/r9\/fr\/pdr9frol_ifxhwik8bkidiakgbi.png\" data-src=\"https:\/\/habrastorage.org\/webt\/pd\/r9\/fr\/pdr9frol_ifxhwik8bkidiakgbi.png\"\/><\/div>\n<p>  \u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u0421 \u0432\u0430\u043c\u0438 \u0441\u043d\u043e\u0432\u0430 \u0410\u043d\u0442\u043e\u043d, \u0432\u0441\u0435 \u0435\u0449\u0435 DevOps-\u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0432 \u043e\u0442\u0434\u0435\u043b\u0435 <a href=\"https:\/\/slc.tl\/w4syj\">Data- \u0438 ML-\u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 Selectel<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u0441\u0435 \u0435\u0449\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0442\u0435\u043c\u0443 \u0448\u0435\u0440\u0438\u043d\u0433\u0430 GPU. \u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0448\u0435\u0440\u0438\u043d\u0433 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442 \u0432 Kubernetes. <\/p>\n<p>  \u0412 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u0431\u044b\u043b\u0430 \u0437\u0430\u0442\u0440\u043e\u043d\u0443\u0442\u0430 \u0442\u0435\u043c\u0430 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f MIG. \u0412\u043e\u043f\u0440\u043e\u0441: \u043c\u043e\u0436\u043d\u043e \u043b\u0438 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0434\u0435\u043b\u0435\u043d\u0438\u0435 GPU \u043f\u0440\u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0435? \u042f \u043f\u043e\u0433\u0440\u0443\u0437\u0438\u043b\u0441\u044f \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0432 \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441 \u0438 \u043d\u0430\u0448\u0435\u043b \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432, \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c. \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e? \u0422\u043e\u0433\u0434\u0430 \u0434\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0434 \u043a\u0430\u0442!<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-361092","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/361092","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=361092"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/361092\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=361092"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=361092"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=361092"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}