Dalam bare metal atau sistem tertanam jenis RTOS minimal dengan beberapa prosesor, mungkinkah menjalankan program yang identik pada setiap prosesor yang menggunakan Message Passing Interface (MPI) untuk memberikan keseimbangan beban dan juga redundansi jika terjadi kegagalan prosesor? Seperti mesin negara yang mengubah tindakan apa yang dilakukan CPU lain berdasarkan pesan yang dikirimkan, misalnya meminta prosesor lain untuk mengambil alih beberapa bagian dari loop sistem untuk menyeimbangkan beban atau mengirim pesan hidup berkala dan mengingat apa yang bertanggung jawab masing-masing CPU sejauh Redundansi CPU.
Dalam diagram contoh ini, bagian sebenarnya dari perulangan sistem penuh yang "terbuka" dapat berupa sistem yang berbeda. Tidak mungkin ada kerja sama hanya kemampuan untuk membuka dan atau menutup bagian-bagian dari loop sistem penuh yang berjalan pada setiap CPU dalam jenis multiprosesor asimetris yang sangat primitif. "Proses migrasi" ke CPU lain akan dipicu oleh permintaan CPU lain untuk membuka bagian dari loop sistem setelah CPU yang meminta menutup bagiannya, atau kurangnya respons dari CPU lain ketika ditanya apakah masih hidup untuk beberapa waktu .
Telah diusulkan sebagai solusi untuk kegagalan prosesor potensial dan solusi untuk load balancing karena kita tidak dapat port OS tertanam untuk benar-benar melakukan multiprocessing simetris atau asimetris pada papan kustom, dan sepertinya itu secara teori mungkin, tetapi desain yang sangat buruk ide. Juga, saya belum dapat menemukan pola desain atau algoritma untuk menggunakan pesan yang lewat dengan cara ini.
Beberapa latar belakang penting untuk keputusan rekayasa perangkat lunak: Sebuah proyek CubeSat siswa (tidak dinilai atau untuk kelas), kami memiliki tim pengembangan perangkat lunak kecil dengan sebagian besar siswa junior dengan sedikit atau tanpa pengetahuan tentang desain sistem operasi. Karena berbagai alasan kita tidak dapat melakukan salah satu dari banyak solusi dunia nyata yang telah saya baca. Ini kedengarannya seperti itu mungkin terdengar seperti itu akan memperkenalkan terlalu banyak kompleksitas untuk tim untuk berurusan dengan, dan bahkan jika itu dapat dilakukan akan menyebabkan desain yang mengerikan yang akan menyebabkan beberapa masalah yang mengubah CubeSat menjadi batu yang mengorbit.
Saya bahkan tidak yakin kita dapat mengimplementasikan pesan yang lewat dengan cara yang cukup andal untuk spacefairing, saya bahkan belum dapat menemukan protokol komunikasi siap produksi yang dapat digunakan untuk mengirim pesan di bus dengan OS kecil atau telanjang. logam seperti yang kita butuhkan. Tetapi saya juga ingin tahu apakah solusi yang diusulkan untuk migrasi proses, redundansi CPU, dan load balancing ini bahkan layak untuk sistem yang kritis terhadap keselamatan. Sepertinya itu bisa mengarah ke keadaan di mana dua CPU menjalankan "Proses" yang sama atau bagian dari loop program jika salah satu bangun itu akan sulit dideteksi.