Abstract:
Neuromorphic hardware is a specialized computer system designed for running spiking neural network (SNN) applications. With the increasing scale of hardware resources and the challenge of concurrent execution of numerous SNN applications, efficiently allocating neuromorphic hardware resources to SNN applications has become highly challenging. We propose a resource allocation process for a neural computer operating system that maximizes the decoupling of resource allocation from compiler. We allocate hardware resources and corresponding input-output routing for SNN applications only when loading them onto the neuromorphic hardware. Furthermore, we introduce the innovative maximum empty rectangle (MER) algorithm to address the management and dynamic allocation of neuromorphic hardware resources. Additionally, we present a resource allocation algorithm that minimizes the communication cost of spiking-based input-output in SNNs, aiming to reduce energy consumption, latency, and resource fragmentation. Experimental results demonstrate that our algorithm outperforms existing approaches in terms of energy consumption, latency, and fragmentation rate.