Cách để tự động thay đổi tỷ lệ các cụm với Ray

Huong
1088
15-10-2021
Cách để tự động thay đổi tỷ lệ các cụm với Ray

Trong vài thập kỷ qua, nhu cầu tính toán của các ứng dụng đã tăng lên theo cấp số nhân. Điều này đã được kích hoạt bởi định luật Moore cho thấy rằng công suất tính toán của phần cứng tăng gấp đôi sau mỗi hai năm.

Tuy nhiên, trong những năm gần đây, tốc độ tăng trưởng về khả năng này đã chậm lại đáng kể đến mức định luật Moore giờ đây được coi là đã chết. Mặt khác, với sự gia tăng của dữ liệu lớn và máy học thì các ứng dụng cần nhiều tài nguyên hơn bao giờ hết. Vì mở rộng quy mô theo chiều dọc không còn là một lựa chọn, các hệ thống dữ liệu hiện đại dựa vào quy mô theo chiều ngang để đáp ứng nhu cầu và tính toán phân tán đang trở thành tiêu chuẩn hơn. Hãy cùng theo dõi với Bizfly Cloud để biết được cách tự động thay đổi tỷ lệ các cụm với Ray nhanh nhất.

Xây dựng ứng dụng phân tán

Việc viết và triển khai một ứng dụng phân tán trong một cụm tự quản là rất khó. Do vậy, để giải quyết vấn đề này, Ray cung cấp một API phổ biến, đơn giản để xây dựng các ứng dụng phân tán. Các ứng dụng sử dụng Ray cũng có thể được hưởng lợi từ Ray Clusters cung cấp cho người dùng trải nghiệm không máy chủ. Các cụm có thể tự động tăng và giảm quy mô dựa trên nhu cầu tài nguyên của ứng dụng trong khi tối đa hóa việc sử dụng và giảm thiểu chi phí. Điều này cho phép phân bổ tài nguyên hiệu quả - khả năng tính toán trong Ray được cung cấp để phù hợp với nhu cầu tài nguyên chính xác của ứng dụng của người dùng. 

Không giống như các dịch vụ không máy chủ độc quyền của các nhà cung cấp dịch vụ đám mây, Ray là nguồn mở và tương thích với tất cả các nhà cung cấp đám mây thường được sử dụng. Ray cũng chỉ phụ thuộc vào các phiên bản máy tính cơ bản, điều này giúp cho việc sử dụng Ray rẻ hơn so với các dịch vụ không máy chủ đóng gói được bán dưới dạng dịch vụ.

Tại sao sử dụng The Ray Cluster?

Để sử dụng Ray Autoscaler, một loạt các loại nút phải được cấu hình. Đây là các loại cá thể sẽ được lên lịch khi nhu cầu phát sinh. Ray Autoscaler sau đó sẽ theo dõi các nhu cầu tài nguyên của ứng dụng và biết chính xác khi nào nó cần bắt đầu hoặc dừng các nút mới sẽ đáp ứng các yêu cầu của ứng dụng. Bằng cách sử dụng Ray Autoscaler, độ phức tạp của ứng dụng giảm đáng kể - ứng dụng không còn phải kết hợp bất kỳ logic nào liên quan đến việc khởi động và dừng máy ảo, sao chép dữ liệu, khôi phục sau lỗi, v.v. Đồng thời, ứng dụng có thể mở rộng quy mô và giảm một cách chính xác đồng thời giảm thiểu chi phí cơ sở hạ tầng liên quan đến việc vận hành nó.

The Ray Cluster hoạt động như thế nào?

Cách dễ nhất để bắt đầu một cụm Ray là sử dụng Ray CLI kết hợp với một định nghĩa cụm được gọi là cụm YAML.

Đầu tiên, từ CLI, Ray sẽ sử dụng Ray Cluster Launcher để khởi chạy nút đầu của cụm. Để thực hiện việc này, Trình khởi chạy cụm sẽ xem xét định nghĩa cụm, định nghĩa này chỉ định cấu hình cung cấp r để xác định vị trí khởi chạy cụm. Các YAML cũng bao gồm tất cả các available_node_types cho cluster và đặc biệt, một head_node_type trong số đó. Cấu hình này sẽ xác định loại máy ảo sẽ được cung cấp cho nút đầu.

Nút đầu đặc biệt vì nó sẽ quản lý cụm thông qua Ray Autoscaler: nó sẽ chịu trách nhiệm đồng bộ hóa các tệp và khởi động các nút khác - được gọi là worker - khi ứng dụng yêu cầu tài nguyên và dừng các nút này khi chúng không hoạt động. 

Cách để tự động thay đổi tỷ lệ các cụm với Ray - Ảnh 1.

Với sự hiểu biết chính xác về các tài nguyên được cung cấp bởi mỗi nút và với các nhu cầu đến từ ứng dụng, Ray Autoscaler có thể xác định khi nào nó cần thêm các nút. Ngược lại, nếu tài nguyên có sẵn vượt quá yêu cầu của ứng dụng khiến một số nút không hoạt động, Autoscaler sẽ đóng các nút đó. Để tránh tắt các nút quá nhanh, Ray Autoscaler đợi một id_timeout_minutes như được thiết lập trong cụm YAML trước khi các nút tắt.

Ngoài độ co giãn từ 0 đến vô cùng được cung cấp bởi bộ lập lịch tài nguyên của Autoscaler, đôi khi bạn nên thay đổi ranh giới và xác định một số min_workers và max_workers cho mỗi loại nút.

Đối với một loại nút nhất định, nút trước sẽ yêu cầu Autoscaler luôn duy trì số lượng công nhân tối thiểu của loại này và sau này sẽ giới hạn số lượng nút thuộc loại này mà Autoscaler có thể khởi động. Theo mặc định, chúng được đặt thành 0 và max_workers toàn cầu, tương ứng. Các max_workers toàn cầu phải được đặt để giới hạn tổng số nút thuộc bất kỳ loại nào.

Phần kết luận

Trong bài viết này, chúng tôi đã chỉ ra cách The Ray Cluster cho phép bạn mở rộng các ứng dụng phân tán theo chiều ngang. Cũng như tại sao sử dụng The Ray Cluster và cách thức hoạt động của nó. Như vậy có thể thấy rằng nhờ có Ray mà chúng ta có thể xem qua một tập dữ liệu lớn trong 4 phút thay vì 12 - 18 giờ mà không cần xây dựng cơ sở hạ tầng phức tạp.

Hãy theo dõi những bài viết tiếp theo của Bizfly Cloud để cập nhật tin tức mới nhất mỗi ngày.

Bizfly Cloud hiện đang là nhà cung cấp các dịch vụ máy chủ đám mây tốt nhất Việt Nam. Hiện nay có rất nhiều doanh nghiệp lớn đang sử dụng dịch vụ máy chủ đám mây của chúng tôi như:  Vingroup, VTV, Thu Cúc, Ahamove, VNtrip, Sapo, SSI... Quý khách hàng quan tâm hãy liên hệ ngay với công ty để nhận được hỗ trợ và tư vấn sớm nhất nhé. Cảm ơn bạn đã theo dõi bài viết.

SHARE
Hỗ trợ kỹ thuật
Kinh doanh, CSKH