Patent ID: 8005773

Claim:
A distributed computing system with N processors modeling a neuronal network including simulated neurons and synapses, the processors executing logic stored on at least one computer-readable medium, the logic comprising: when first neurons hosted on respective source processors are simulated to fire to activate synapses to respective second neurons hosted on respective destination processors, sending from each source processor a message indicative thereof to the respective destination processor; executing synchronization using two communication steps including: sending, from each source processor, a message to a single predetermined processor 0 indicating how many messages the source processor sends to each of its respective destination processors; and sending, from the single predetermined processor 0 , respective messages to the destination processors indicating the total number of messages the respective destination processor receives from the source processors, wherein each respective destination processor, based on the message it receives from the single predetermined processor 0 , retrieves messages intended for the destination processor; and further wherein for at least some simulated neurons, at every computational increment, the logic includes updating a respective neuronal state; for each of at least some simulated excitatory neurons, establishing a list of input synapses of the neuron that were activated since the most recent simulated firing of the neuron; when an excitatory neuron is simulated to fire, for each input synapse of the list, increasing a respective synaptic weight; for each of at least some simulated neurons, establishing an ordered list of output synapse classes associated with the neuron, a synapse class being defined by a respective simulated axonal delay, when a neuron is simulated to fire, storing in an event queue only a first synapse class that is activated by the simulated firing of the neuron in a nearest future; and when the first class is simulated to be activated, clearing the event queue and storing in the event queue a next synapse class.