1. A method, comprising: allocating a plurality of hardware accelerators to a corresponding plurality of bolts of a distributed stream in a network, wherein the distributed stream comprises a topology of at least one spout and the plurality of bolts; facilitating a handshake between the hardware accelerators and the corresponding bolts, wherein the hardware accelerators execute respective processing logic on data elements of the distributed stream according to the corresponding bolts, wherein the hardware accelerators comprise dedicated processors that perform specialized computations faster than general purpose processors of the corresponding bolts, wherein facilitating the handshake comprises executing a shadow process to interface between the hardware accelerators and the corresponding bolts, wherein the shadow process extracts data from the distributed stream, communicates the extracted data to the hardware accelerators, and communicates results from the hardware accelerators to the corresponding bolts, facilitating transition to and from hardware of the hardware accelerators and software of the corresponding bolts; and performing elastic allocation of the hardware accelerators and load balancing of stream processing in the network.