Recommendation to abort ongoing DRAGEN analysis
DRAGEN catches all signals sent to the application. However, in Linux certain signals are not caught by applications. Specifically, SIGKILL can’t be caught by the application.
The issue is that many DRAGEN FPGA operations are a series of instructions, or series of register writes through the PCIe bus. If a series of instructions are interrupted, this can lead to a state where the FPGA and/or bus needs to be reset. We do not have a controllable power line on the bus to execute a power reset of the PCIe bus (and FPGA). Subsequent jobs fail, and server has to be power cycled to effect the PCIe bus reset.
For that reason, we strongly advise to not use SIGKILL at all. SIGKILL is sent via the Linux “kill -9” option.
SIGINT and SIGTERM are handled gracefully.
We recommend using and scripting SIGINT (Ctrl-C), when user or script decides to abort an ongoing run.
For a hanging process that does not respond to SIGINT or SIGTERM, users may have no choice but to resort to SIGKILL, however that would be a last resort and the chances of interrupting a transaction is lower in a hang state.
For any feedback or questions regarding this article (Illumina Knowledge Article #8557), contact Illumina Technical Support techsupport@illumina.com.
Last updated