Certain aspects of the present disclosure support techniques for time synchronization of spiking neuron models that utilize multiple nodes. According to certain aspects, a neural model (e.g., of an artificial nervous system) may be implemented using a plurality of processing nodes, each processing node implementing a neuron model and communicating via the exchange of spike packets carrying information regarding spike information for artificial neurons. A mechanism may be provided for maintaining relative spike-timing between the processing nodes. In some cases, a mechanism may also be provided to alleviate deadlock conditions between the multiple nodes.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method, comprising: implementing a neural model using a plurality of processing nodes, each processing node implementing a neuron model and communicating via the exchange of spike packets carrying information regarding spike information for artificial neurons; and providing a mechanism for maintaining relative spike-timing between the processing nodes. 2. The method of claim 1, wherein the mechanism for maintaining relative spike-timing between the processing nodes comprises an asynchronous mode wherein processing nodes process spike packets as they are received. 3. The method of claim 1, wherein the mechanism for maintaining relative spike-timing between the processing nodes comprises an synchronous mode wherein receiving processing nodes process spike packets in synchronization with sending processing nodes. 4. The method of claim 1, wherein the mechanism for maintaining relative spike-timing between the processing nodes comprises a master-slave mode wherein processing of spike packets by a slave processing node is controlled by a master processing node. 5. The method of claim 1, further comprising: detecting a deadlock condition where one or more spike packets are lost; and taking one or more actions, in response to the detection, to remove the deadlock condition. 6. The method of claim 5, wherein taking one or more actions comprises sending a flush packet with timing information that matches a previously transmitted spike packet. 7. The method of claim 5, wherein taking one or more actions comprises unblocking a receiver when a node has been blocked on input for more than a threshold amount of time. 8. An apparatus, comprising: a neural model using a plurality of processing nodes, each processing node implementing a neuron model and communicating via the exchange of spike packets carrying information regarding spike information for artificial neurons; and a mechanism for maintaining relative spike-timing between the processing nodes. 9. The apparatus of claim 8, wherein the mechanism for maintaining relative spike-timing between the processing nodes comprises an asynchronous mode wherein processing nodes process spike packets as they are received. 10. The apparatus of claim 8, wherein the mechanism for maintaining relative spike-timing between the processing nodes comprises an synchronous mode wherein receiving processing nodes process spike packets in synchronization with sending processing nodes. 11. The apparatus of claim 8, wherein the mechanism for maintaining relative spike-timing between the processing nodes comprises a master-slave mode wherein processing of spike packets by a slave processing node is controlled by a master processing node. 12. The apparatus of claim 8, further comprising: means for detecting a deadlock condition where one or more spike packets are lost; and means for taking one or more actions, in response to the detection, to remove the deadlock condition. 13. The apparatus of claim 12, wherein the means for taking one or more actions comprises means for sending a flush packet with timing information that matches a previously transmitted spike packet. 14. The apparatus of claim 12, wherein the means for taking one or more actions comprises means for unblocking a receiver when a node has been blocked on input for more than a threshold amount of time. 15. A computer program product, comprising a computer readable medium having instructions stored thereon for: implementing a neural model using a plurality of processing nodes, each processing node implementing a neuron model and communicating via the exchange of spike packets carrying information regarding spike information for artificial neurons; and providing a mechanism for maintaining relative spike-timing between the processing nodes. 16. The computer program product of claim 15, wherein the mechanism for maintaining relative spike-timing between the processing nodes comprises an asynchronous mode wherein processing nodes process spike packets as they are received. 17. The computer program product of claim 15, wherein the mechanism for maintaining relative spike-timing between the processing nodes comprises an synchronous mode wherein receiving processing nodes process spike packets in synchronization with sending processing nodes. 18. The computer program product of claim 15, wherein the mechanism for maintaining relative spike-timing between the processing nodes comprises a master-slave mode wherein processing of spike packets by a slave processing node is controlled by a master processing node. 19. The computer program product of claim 15, wherein the instructions further comprise instructions for: detecting a deadlock condition where one or more spike packets are lost; and taking one or more actions, in response to the detection, to remove the deadlock condition. 20. The computer program product of claim 19, wherein taking one or more actions comprises sending a flush packet with timing information that matches a previously transmitted spike packet. 21. The computer program product of claim 19, wherein taking one or more actions comprises unblocking a receiver when a node has been blocked on input for more than a threshold amount of time.