Trong các hệ thống nhúng loại kim loại trần hoặc tối thiểu RTOS có nhiều bộ xử lý, liệu có thể có một chương trình giống hệt nhau chạy trên mỗi bộ xử lý sử dụng Giao diện chuyển thông điệp (MPI) để cung cấp cân bằng tải và dự phòng trong trường hợp lỗi bộ xử lý không? Chẳng hạn như một máy trạng thái thay đổi những hành động mà các CPU khác thực hiện dựa trên các thông báo đã truyền, ví dụ như yêu cầu bộ xử lý khác đảm nhận một phần của vòng lặp hệ thống để cân bằng tải hoặc gửi tin nhắn sống định kỳ và ghi nhớ mỗi CPU chịu trách nhiệm gì Dự phòng CPU.
Trong sơ đồ ví dụ này, các phần thực tế của vòng lặp hệ thống đầy đủ "mở" có thể là bất kỳ hệ thống riêng biệt nào. Không thể có sự hợp tác chỉ là khả năng mở và đóng các phần của vòng lặp hệ thống đầy đủ chạy trên mỗi CPU trong một loại đa xử lý không đối xứng rất nguyên thủy. "Quá trình di chuyển" sang CPU khác sẽ được kích hoạt bởi một yêu cầu cho CPU khác mở phần đó của vòng lặp hệ thống, sau đó CPU yêu cầu đóng phần của nó hoặc thiếu phản hồi từ CPU khác khi được truy vấn nếu còn tồn tại trong một khoảng thời gian .
Nó đã được đề xuất như là một giải pháp cho sự thất bại của bộ xử lý tiềm năng và giải pháp để cân bằng tải vì chúng ta không thể chuyển một hệ điều hành nhúng để thực sự xử lý đa đối xứng hoặc bất đối xứng trên bảng tùy chỉnh, và nghe có vẻ như về mặt lý thuyết là có thể, nhưng thiết kế cực kỳ kém ý tưởng. Ngoài ra, tôi không thể tìm thấy bất kỳ mẫu thiết kế hoặc thuật toán nào để sử dụng thông điệp truyền theo cách này.
Một số nền tảng quan trọng đối với các quyết định kỹ thuật phần mềm: Một dự án CubeSat của sinh viên (không được phân loại hoặc cho một lớp học), chúng tôi có một nhóm phát triển phần mềm nhỏ với hầu hết các sinh viên cơ sở ít có kiến thức về thiết kế hệ điều hành. Vì nhiều lý do, chúng tôi không thể thực hiện bất kỳ giải pháp nào trong thế giới thực mà tôi đã đọc. Điều này nghe có vẻ như có vẻ như nó sẽ gây ra quá nhiều phức tạp cho nhóm để giải quyết, và ngay cả khi nó có thể được thực hiện sẽ gây ra một thiết kế khủng khiếp sẽ dẫn đến một số vấn đề biến CubeSat thành một hòn đá quay quanh.
Tôi thậm chí không chắc chắn chúng ta có thể thực hiện chuyển tin nhắn theo cách đủ tin cậy để khai thác không gian, tôi thậm chí không thể tìm thấy bất kỳ giao thức giao tiếp sẵn sàng sản xuất nào có thể được sử dụng để truyền tin nhắn trên xe buýt với một hệ điều hành nhỏ hoặc trần kim loại như chúng ta cần. Nhưng tôi cũng tò mò muốn biết liệu giải pháp được đề xuất này cho quá trình di chuyển, dự phòng CPU và cân bằng tải thậm chí có khả thi đối với một hệ thống quan trọng an toàn hay không. Có vẻ như nó có thể dẫn đến trạng thái hai CPU đang chạy cùng một "Quá trình" hoặc một phần của vòng lặp chương trình nếu một lần thức dậy khó phát hiện.