  Neuromorphic computing systems are embracing memristors to implement high
density and low power synaptic storage as crossbar arrays in hardware. These
systems are energy efficient in executing Spiking Neural Networks (SNNs). We
observe that long bitlines and wordlines in a memristive crossbar are a major
source of parasitic voltage drops, which create current asymmetry. Through
circuit simulations, we show the significant endurance variation that results
from this asymmetry. Therefore, if the critical memristors (ones with lower
endurance) are overutilized, they may lead to a reduction of the crossbar's
lifetime. We propose eSpine, a novel technique to improve lifetime by
incorporating the endurance variation within each crossbar in mapping machine
learning workloads, ensuring that synapses with higher activation are always
implemented on memristors with higher endurance, and vice versa. eSpine works
in two steps. First, it uses the Kernighan-Lin Graph Partitioning algorithm to
partition a workload into clusters of neurons and synapses, where each cluster
can fit in a crossbar. Second, it uses an instance of Particle Swarm
Optimization (PSO) to map clusters to tiles, where the placement of synapses of
a cluster to memristors of a crossbar is performed by analyzing their
activation within the workload. We evaluate eSpine for a state-of-the-art
neuromorphic hardware model with phase-change memory (PCM)-based memristors.
Using 10 SNN workloads, we demonstrate a significant improvement in the
effective lifetime.
