Interface SpiNNakerControl
- All Known Implementing Classes:
SpiNNakerControlDummy
public interface SpiNNakerControl
How to tell a SpiNNaker BMP (specifically one that manages a frame) to turn
on boards, turn them off, and to turn off links on the perimeter of an
allocation.
Implementations of this are expected to be prototype beans that have
a constructor that takes two arguments:
TheCls(SpallocAPI.Machinemachine,BMPCoordsbmp)
Note that SpiNNaker-2 will have a different concrete implementation of this, and functionality implemented by this might eventually move into the transceiver.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceA guide for how to make a BMP controller. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Close the controller and release any resources it holds.voidPing the given boards.voidpowerOff(Collection<BMPBoard> boards) Turn off boards managed by a BMP.voidpowerOnAndCheck(List<BMPBoard> boards) Switch on a collection of boards managed by a BMP on a machine and check that they've come up correctly.readBlacklist(BMPBoard board) Read a blacklist from the given board.readSerial(BMPBoard board) Read a BMP serial number from the given board.Read the temperature data from the given board.voidsetLinkOff(Link link) Turns a link off.voidwriteBlacklist(BMPBoard board, Blacklist blacklist) Write a blacklist to the given board.
-
Method Details
-
powerOnAndCheck
void powerOnAndCheck(List<BMPBoard> boards) throws ProcessException, InterruptedException, IOException Switch on a collection of boards managed by a BMP on a machine and check that they've come up correctly.Note that this operation can take some time.
- Parameters:
boards- The local-relative boards to switch on.- Throws:
ProcessException- If a BMP sends a failure message.IOException- If network I/O fails or we reach the limit on retries.InterruptedException- If we're interrupted.
-
setLinkOff
Turns a link off. (We never need to explicitly switch a link on; that's implicit in switching on its board.)- Parameters:
link- The link to turn off.- Throws:
ProcessException- If a BMP rejects a message.IOException- If network I/O fails.InterruptedException- If the communications were interrupted.
-
powerOff
void powerOff(Collection<BMPBoard> boards) throws ProcessException, InterruptedException, IOException Turn off boards managed by a BMP. Turning off a board also turns off its links.- Parameters:
boards- The local-relative ids of the boards to turn off.- Throws:
ProcessException- If a BMP sends a failure message.IOException- If network I/O fails or we reach the limit on retries.InterruptedException- If we're interrupted.
-
readSerial
Read a BMP serial number from the given board.- Parameters:
board- The board to read from.- Returns:
- The serial number.
- Throws:
ProcessException- If a BMP sends a failure message.IOException- If network I/O fails or we reach the limit on retries.InterruptedException- If we're interrupted.
-
readTemp
Read the temperature data from the given board.- Parameters:
board- The board to read from.- Returns:
- The temperature (and fan speed and voltage) data.
- Throws:
ProcessException- If a BMP sends a failure message.IOException- If network I/O fails or we reach the limit on retries.InterruptedException- If we're interrupted.
-
readBlacklist
Read a blacklist from the given board.- Parameters:
board- The board to read the blacklist from.- Returns:
- The blacklist.
- Throws:
ProcessException- If a BMP sends a failure message.IOException- If network I/O fails or we reach the limit on retries.InterruptedException- If we're interrupted.
-
writeBlacklist
void writeBlacklist(BMPBoard board, Blacklist blacklist) throws ProcessException, InterruptedException, IOException Write a blacklist to the given board.- Parameters:
board- The board to write the blacklist to.blacklist- The blacklist to write.- Throws:
ProcessException- If a BMP sends a failure message.IOException- If network I/O fails or we reach the limit on retries.InterruptedException- If we're interrupted.
-
ping
Ping the given boards.- Parameters:
boards- The boards to ping.
-
close
void close()Close the controller and release any resources it holds.
-