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.Machine
machine,
BMPCoords
bmp)
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 interface
A guide for how to make a BMP controller. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Ping the given boards.void
powerOff
(Collection<BMPBoard> boards) Turn off boards managed by a BMP.void
powerOnAndCheck
(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.void
setLinkOff
(Link link) Turns a link off.void
writeBlacklist
(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.
-