Có gì thay đổi Google trân trọng giới thiệu tab tài liệu trong Google Docs,…
Cách NVIDIA GPU chia sẻ trên Google Kubernetes Engine giúp bạn tiết kiệm tiền
Các nhà phát triển và nhà khoa học dữ liệu đang ngày càng chuyển sang sử dụng Google Kubernetes Engine (GKE) để chạy các khối lượng công việc yêu cầu cao như máy học, hình ảnh hóa / kết xuất và tính toán hiệu suất cao, tận dụng sự hỗ trợ của GKE cho GPU NVIDIA. Trong bối cảnh kinh tế hiện nay, khách hàng phải chịu áp lực phải làm nhiều hơn với ít nguồn lực hơn và tiết kiệm chi phí là yếu tố quan trọng hàng đầu. Để giúp đỡ, vào tháng 7, Google đã ra mắt tính năng chia sẻ thời gian GPU trên GKE cho phép nhiều container chia sẻ một GPU vật lý duy nhất, do đó cải thiện việc sử dụng nó. Ngoài hỗ trợ hiện có của GKE dành cho multi-instance GPU dành cho GPU NVIDIA A100 Tensor Core, tính năng này mở rộng lợi ích của việc chia sẻ GPU cho tất cả các dòng GPU trên GKE.
Ngược lại điều này với Kubernetes nguồn mở, chỉ cho phép phân bổ một GPU đầy đủ cho mỗi container. Đối với khối lượng công việc chỉ yêu cầu một phần nhỏ của GPU, điều này dẫn đến việc sử dụng kém sức mạnh tính toán khổng lồ của GPU. Ví dụ về các ứng dụng như vậy bao gồm máy tính xách tay và bot trò chuyện, ở chế độ chờ trong thời gian dài và khi chúng hoạt động, chỉ tiêu thụ một phần nhỏ GPU.
GPU không được sử dụng là một vấn đề nghiêm trọng đối với nhiều khối lượng công việc suy luận, chẳng hạn như quảng cáo thời gian thực và đề xuất sản phẩm. Vì các ứng dụng này tạo ra doanh thu, quan trọng về kinh doanh và nhạy cảm với độ trễ, nên cơ sở hạ tầng bên dưới cần xử lý các đợt tăng đột biến tải một cách khéo léo. Mặc dù tính năng tự động thay đổi quy mô của GKE rất hữu ích, nhưng việc không thể chia sẻ GPU trên nhiều container thường dẫn đến việc cung cấp quá mức và vượt quá chi phí.
GPU chia sẻ thời gian trong GKE
Chia sẻ thời gian GPU hoạt động bằng cách phân bổ các lát thời gian cho các container dùng chung GPU vật lý theo kiểu vòng tròn. Ẩn sâu bên trong, tính năng cắt thời gian hoạt động bằng cách chuyển đổi ngữ cảnh giữa tất cả các quy trình dùng chung GPU. Tại bất kỳ thời điểm nào, chỉ một container có thể chiếm GPU. Tuy nhiên, tại một khoảng thời gian cố định, công tắc ngữ cảnh đảm bảo rằng mỗi container có một khoảng thời gian đồng đều.
Điều tuyệt vời về lát cắt thời gian là nếu chỉ có một container đang sử dụng GPU, nó sẽ nhận được toàn bộ công suất của GPU. Nếu một container khác được thêm vào cùng một GPU, thì mỗi container sẽ nhận được 50% thời gian tính toán của GPU. Điều này có nghĩa là chia sẻ thời gian là một cách tuyệt vời để đăng ký quá mức GPU và cải thiện việc sử dụng chúng. Bằng cách kết hợp khả năng chia sẻ GPU với khả năng tự động mở rộng quy mô và cung cấp tự động hàng đầu của GKE, bạn có thể tăng hoặc giảm tỷ lệ GPU tự động, mang lại hiệu suất vượt trội với chi phí thấp hơn.
Những người đầu tiên sử dụng các node GPU chia sẻ thời gian đang sử dụng công nghệ để tăng tốc việc sử dụng GKE của họ cho các khối lượng công việc yêu cầu. Trung tâm Siêu máy tính San Diego (SDSC) đã đánh giá hiệu suất của các GPU chia sẻ thời gian trên GKE và nhận thấy rằng ngay cả đối với các GPU T4 cấp thấp, việc chia sẻ gia tăng lưu lượng công việc lên khoảng 40%. Đối với GPU A100 cao cấp, việc chia sẻ GPU mang lại mức tăng lưu lượng gấp 4,5 lần, điều này thực sự mang tính chuyển đổi.
NVIDIA multi-instance GPU (MIG) trong GKE
Tính năng chia sẻ thời gian GPU của GKE bổ sung cho các multi-instance GPU, cho phép bạn phân chia một GPU NVIDIA A100 duy nhất thành tối đa bảy instance, do đó cải thiện việc sử dụng GPU và giảm chi phí của bạn. Mỗi instance có bộ nhớ băng thông cao, bộ nhớ đệm và lõi tính toán riêng có thể được phân bổ cho một container, tối đa là bảy container cho mỗi GPU NVIDIA A100. multi-instance GPU cung cấp sự cô lập phần cứng giữa các khối lượng công việc và QoS nhất quán và có thể dự đoán được cho tất cả các container chạy trên GPU.
GPU chia sẻ thời gian so với multi-instance GPU
Bạn có thể định cấu hình GPU chia sẻ thời gian trên bất kỳ GPU NVIDIA nào trên GKE kể cả A100. multi-instance GPU chỉ có sẵn trong bộ tăng tốc A100.
Nếu khối lượng công việc của bạn yêu cầu cách ly phần cứng khỏi các container khác trên cùng một GPU vật lý, bạn nên sử dụng multi-instance GPU. Một container sử dụng phiên bản GPU nhiều phiên bản chỉ có thể truy cập tài nguyên CPU và bộ nhớ có sẵn cho instance đó. Do đó, multi-instance GPU phù hợp hơn khi bạn cần thông lượng và độ trễ có thể dự đoán được cho các khối lượng công việc song song. Nhưng nếu có ít container chạy trên GPU nhiều phiên bản hơn các instance có sẵn thì các instance còn lại sẽ không được sử dụng.
Mặt khác, trong trường hợp chia sẻ thời gian, chuyển đổi ngữ cảnh cho phép mọi container truy cập toàn bộ sức mạnh của GPU vật lý bên dưới. Do đó, nếu chỉ có một container đang chạy, nó vẫn nhận được toàn bộ công suất của GPU. GPU chia sẻ thời gian là lý tưởng để chạy khối lượng công việc chỉ cần một phần nhỏ sức mạnh của GPU và khối lượng công việc có thể tăng cường.
Chia sẻ thời gian cho phép tối đa 48 container để chia sẻ GPU vật lý trong khi multi-instance GPU trên A100 cho phép tối đa 7 phân vùng.
Nếu bạn muốn tối đa hóa việc sử dụng GPU của mình, bạn có thể định cấu hình chia sẻ thời gian cho từng phân vùng multi-instance GPU. Sau đó, bạn có thể chạy nhiều container trên mỗi phân vùng, với các container đó chia sẻ quyền truy cập vào tài nguyên trên phân vùng đó.
Bắt đầu từ hôm nay
Sự kết hợp giữa GPU và GKE đang chứng tỏ là một người thay đổi cuộc chơi thực sự. GKE mang đến sự đơn giản cho việc tự động cung cấp, tự động mở rộng và quản lý, trong khi GPU mang lại sức mạnh xử lý vượt trội. Với sự trợ giúp của GKE, các nhà khoa học dữ liệu, nhà phát triển và nhóm cơ sở hạ tầng có thể xây dựng, đào tạo và phục vụ khối lượng công việc mà không phải lo lắng về các vấn đề cơ sở hạ tầng, tính di động, khả năng tương thích, cân bằng tải và khả năng mở rộng. Và giờ đây, với tính năng chia sẻ thời gian GPU, bạn có thể đáp ứng nhu cầu tăng tốc khối lượng công việc của mình với các tài nguyên GPU có kích thước phù hợp. Hơn nữa, bạn có thể tận dụng sức mạnh của GKE để tự động mở rộng cơ sở hạ tầng nhằm phục vụ hiệu quả nhu cầu tăng tốc của bạn đồng thời mang lại trải nghiệm người dùng tốt hơn và giảm thiểu chi phí vận hành.
Nếu doanh nghiệp của bạn đang quan tâm tới nền tảng Google Cloud thì có thể kết nối với Gimasys – đối tác cấp cao của Google tại Việt Nam để được tư vấn giải pháp xây dựng ứng dụng theo nhu cầu riêng của doanh nghiệp nhé. Liên hệ ngay:
- Gimasys – Google Cloud Premier Partner
- Hotline: Hà Nội: 0987 682 505 – Hồ Chí Minh: 0974 417 099
- Email: gcp@gimasys.com
Nguồn: Gimasys