我会为每个主板使用debian,并且可能只是每个卡的atmega128,并带有几条用于互连的带状电缆。
pci基本上只是一个io总线,所以我不明白为什么这不可能(但这会很难)。
有没有人有任何建议或者以前做过这类事情?
谢谢马丁。你所说的是有道理的,如果有可能它之前就已经完成了,那似乎也是如此。
相反,是否可以通过使用“假装”可启动存储设备(硬盘,USB棒等)启动它来间接控制从CPU?只要从属主机认为它是由真实设备上的操作系统操作它就可以工作。
这可能会扩展到任何接口(sata,ide,usb等);如果你用sata / ide / usb线连接两个pc(将ide功能区的一端插入一个主板,另一个插入另一个主板),这将是你需要的所有硬件。关键是在主PC上为该接口创建一个新的驱动程序,因此,不是主PC将该接口视为具有存储设备,它将被驱动为从属计算机的虚拟可引导硬盘。这对我来说仍然是一项相当困难的工作,因为我之前从未做过设备驱动程序,但至少我不需要烙铁(这将远远超出我的范围)。我可能能够为linux开发一个开源的ide驱动程序,研究它,然后用它来创建一些反向行为的东西(而不是从中获取数据,应用程序将数据放到它上面以供从机访问一个硬盘)。然后,我可以使用基本的Linux内核并尝试从主计算机上的应用程序启动从属计算机(通过butchered master pc ide / sata / usb设备驱动程序)。为了安全起见,我可能会尝试尽可能地隔离我的自定义驱动程序,目标是不使用主机上的任何其他东西的接口(主机可能会使用通常未使用的ide总线的所有SATA硬盘,所以如果我创建了一个自定义的ide驱动程序,它可能会减少主机系统的问题 - 因为它是由sata驱动的。)
有没有人知道这样的事情(从另一台电脑上伪装可启动硬盘)之前曾经尝试过吗?它会在youtube上做一个非常酷的hackaday,但也认真地说它可以为并行计算增加一个新的维度,如果它被证明是有希望的。
答案 0 :(得分:1)
PCI总线无法接管其他CPU。
您可以创建一个可以将数据从一台计算机上的程序传输到另一台计算机的互连。以太网卡是最常见的实现,但对于高性能群集,有更快的直接连接,如infiband。
不幸的是,PCI比旧的ISA总线更难以构建卡,您需要表面贴装控制器芯片和特定的轨道布局来匹配PCI的阻抗要求。 速度超过几兆比特/秒需要了解传输线和连接电缆的特性。
答案 1 :(得分:1)
每个主板都会使用debian,每张卡上只需要一个atmega128,并带有几根带状线缆用于互连。
pci基本上只是一个io总线,所以我不明白为什么这不可能(但这会很难)。
LOL。 PCI至少是一个32位33MHz总线。所以简直无法接触到ATMEGA。
但你的想法是:
一对带有互连线的pci接头卡,并写一些软件来驱动互连卡,以便其中一个主板可以访问另一个主机上的cpu和ram [...]
只需使用一对PCI Firewire(IEEE 1394)卡(和Firewire线缆),这是很便宜的。甚至还有一个Linux驱动程序允许通过firewire进行远程调试。