Re: FPGA supercomputer
Posted: Sun Mar 07, 2010 7:23 am
"As for the huge executables. Back in the day there was a WORM program for the Transputer that would boot up a network of nodes with the same code. The size and topology of the network was discovered as it booted. Seems like the XMOS needs such a WORM for arrays like this."
Yeah, but the transputer could receive its programming through a Link. If I remember correctly you just had to reset it and then it would be listening on one of its Links. I don't think this is possible with Xcores, internally cores 1,2 and 3 get booted over channel 0, but core 0 has to be booted from SPI or JTAG. JTAG is not such a bad idea because it makes debugging easier, especially in the case of malfunctioning XLinks. Unfortunately this makes it impossible for a WORM to selectively reboot nodes and 'worm' its way through a topology.
What is more serious at this point is that it doesn't seem to be possible to reboot individual nodes when they start misbehaving. I could be wrong but I think that the topology gets defined when all interconnected XCores boot up simultaneously. There is some magic going on that requires an XLink physically be available to both XCores it is connected to at the SAME (well, few seconds actually) time when both XCores are booting. This means booting of one XCore on its own will make it impossible to establish XLink connections to already running XCores.
Yeah, but the transputer could receive its programming through a Link. If I remember correctly you just had to reset it and then it would be listening on one of its Links. I don't think this is possible with Xcores, internally cores 1,2 and 3 get booted over channel 0, but core 0 has to be booted from SPI or JTAG. JTAG is not such a bad idea because it makes debugging easier, especially in the case of malfunctioning XLinks. Unfortunately this makes it impossible for a WORM to selectively reboot nodes and 'worm' its way through a topology.
What is more serious at this point is that it doesn't seem to be possible to reboot individual nodes when they start misbehaving. I could be wrong but I think that the topology gets defined when all interconnected XCores boot up simultaneously. There is some magic going on that requires an XLink physically be available to both XCores it is connected to at the SAME (well, few seconds actually) time when both XCores are booting. This means booting of one XCore on its own will make it impossible to establish XLink connections to already running XCores.