1. A method to select program instructions for a hardware finite automaton on a multi-core processor that includes two or more cores, the method comprising, by a hardware finite automata manager: identifying executable instructions associated with a particular one of the cores of the multi-core processor; determining that the hardware finite automaton is available to be used, wherein the hardware finite automaton is configured to perform a first computing task; in response to the determination that the hardware finite automaton is available, selecting at least one program instruction based on the executable instructions, wherein the at least one program instruction is configured to modify the hardware finite automaton to perform a second computing task different from the first computing task, wherein the second computing task is related to pre-fetching data; and transmitting the at least one program instruction to the hardware finite automaton.