ヒント
分散並列の機能を追加して、さてこれでラズパイ・クラスタマシンを作る・・・という段になって問題に気が付きました。製作コストです。いくらラズパイが安いとはいえラズパイ4は1万円くらいします。これを30台となる電源やハブなどいれたら50万円くらいにはなりそうです。さて、どうしたものか?
reddit/prolog英語版に投稿しておいたらコメントをいただきました。各マシンのコアを活かす方法です。ラズパイといえども4コアをもったARMアーキテクチャーが搭載されています。インテルやAMDのデスクトップなら最低でも6コアは積んでいます。マルチスレッドあるいはマルチプロセスにすればこれらを活かすことができます。
実績
マルチスレッド、マルチプロセスについては既に拙作のEasy-ISLispで実装済です。なかなかに苦労したのですが、そのときの経験を活かすことができます。N-Prologも基本的にはEasy-ISLispと作りは似ています。応用できるはずです。マルチスレッドでスレッドセーフにすることと、L3キャッシュでうまくヒットするようにコンパイルコードを工夫することがミソです。
イメージ図
分散並列、マルチスレッド、マルチプロセスをフルに駆使すれば次のようなネットワークがわりと安価に可能になります。
富豪的プログラミング
1980年代、ICOTが活躍していた時代において並列マシンは高価でした。そのためかCSPにより並列機能を有効にしようとAND並列、OR並列に苦心していたようです。
一方で現在では汎用PCの性能は当時の専用マシンを軽く凌駕しています。それらを手あたり次第にネットワーク接続すればかなりの並列性能を出せるはずです。Prologの基本構文を維持したシンプルな並列機能を持たせます。バックトラックも有効に使えます。これで何か新しい発見がないかとワクワクしております。