Popcorn đang phát triển một hệ thống thực thi luồng phân tán cho nhân Linux.

Công nghệ Virginia đề nghị để các nhà phát triển nhân Linux thảo luận, một bộ bản vá có triển khai hệ thống thực thi luồng phân tán Bỏng ngô (Thực thi luồng phân tán), cho phép bạn tổ chức thực thi các ứng dụng trên một số máy tính với sự phân phối và di chuyển minh bạch các luồng giữa các máy chủ. Với Popcorn, các ứng dụng có thể được khởi chạy trên một máy chủ và sau đó được chuyển sang máy chủ khác mà không bị gián đoạn. Trong các chương trình đa luồng, việc di chuyển các luồng riêng lẻ sang các máy chủ khác được cho phép.

Khác với dự án CRIBằng cách cho phép lưu trạng thái quy trình và tiếp tục thực thi trên hệ thống khác, Popcorn cung cấp khả năng di chuyển liền mạch và linh hoạt giữa các máy chủ trong quá trình thực thi ứng dụng, không yêu cầu hành động của người dùng và đảm bảo tính nhất quán của bộ nhớ ảo trên tất cả các máy chủ chạy các luồng đồng thời.

Biểu mẫu ngăn xếp phần mềm bỏng ngô bản vá lỗi vào nhân Linux và thư viện với các thử nghiệm chứng minh cách sử dụng các lệnh gọi hệ thống Popcorn để di chuyển các luồng trong các ứng dụng phân tán. Ở cấp độ kernel, các phần mở rộng cho hệ thống con bộ nhớ ảo đã được đề xuất với việc triển khai bộ nhớ chia sẻ phân tán, cho phép các tiến trình trên các máy chủ khác nhau truy cập vào một không gian địa chỉ ảo chung và nhất quán. Sự gắn kết của trang bộ nhớ ảo được đảm bảo bởi một giao thức sao chép các trang bộ nhớ vào máy chủ khi chúng được đọc và vô hiệu hóa các trang bộ nhớ khi được ghi.

Tương tác giữa các máy chủ được thực hiện bằng cách sử dụng trình xử lý cấp hạt nhân cho các tin nhắn được truyền qua ổ cắm TCP. Cần lưu ý rằng TCP/IP được sử dụng để đơn giản hóa việc gỡ lỗi và kiểm tra trong quá trình phát triển. Các nhà phát triển hiểu rằng, từ góc độ bảo mật và hiệu suất, TCP/IP không phải là cách tốt nhất để truyền nội dung của cấu trúc hạt nhân và trang bộ nhớ giữa các máy chủ. Tất cả các máy chủ chạy ứng dụng phân tán phải có cùng mức độ tin cậy. Sau khi ổn định các thuật toán chính, một phương thức vận chuyển hiệu quả hơn sẽ được sử dụng.

Popcorn đã được phát triển từ năm 2014 như một dự án nghiên cứu nhằm nghiên cứu khả năng tạo các ứng dụng phân tán, các luồng trong đó có thể được thực thi trên các nút khác nhau trong không đồng nhất hệ thống máy tính có thể kết hợp các lõi dựa trên các kiến ​​trúc tập lệnh khác nhau (Xeon/Xeon-Phi, ARM/x86, CPU/GPU/FPGA). Bộ bản vá được đề xuất cho các nhà phát triển nhân Linux chỉ hỗ trợ thực thi trên các máy chủ có CPU x86, nhưng cũng có một phiên bản Popcorn Linux nhiều chức năng hơn, cho phép các ứng dụng chạy trên các máy chủ có kiến ​​trúc CPU khác nhau (x86 và ARM). Để sử dụng Popcorn trong môi trường không đồng nhất, bạn phải sử dụng một công cụ đặc biệt trình biên dịch dựa trên LLVM. Để thực thi phân tán trên các máy chủ có cùng kiến ​​trúc, không cần phải xây dựng lại bằng trình biên dịch riêng.

Popcorn đang phát triển một hệ thống thực thi luồng phân tán cho nhân Linux.

Ngoài ra, có thể ghi nhận sự thông báo dự án hơi giống Telefork với việc triển khai API nguyên mẫu ban đầu để khởi chạy các tiến trình con trên các máy tính khác trong cụm (như fork(), nhưng chuyển tiến trình rẽ nhánh sang một máy tính khác).
Mã được viết bằng Rust và cho đến nay chỉ cho phép sao chép các quy trình rất đơn giản không sử dụng tài nguyên hệ thống như tệp. Khi một cuộc gọi telefork được thực hiện, các cấu trúc liên quan đến bộ nhớ và quy trình sẽ được sao chép sang một máy chủ khác đang chạy trình xử lý máy chủ (telepad). Sử dụng ptrace, sự phản chiếu bộ nhớ của một tiến trình được tuần tự hóa và cùng với trạng thái của tiến trình và các thanh ghi, được chuyển sang một máy chủ khác. API cũng cho phép bạn lưu trạng thái quy trình vào một tệp và khôi phục nó thông qua nó.

Nguồn: opennet.ru

Thêm một lời nhận xét