Table 3.
Characteristics of existing neuromorphic hardware platforms.
Platform |
Technology (mm) |
Electronics |
Chip Area (mm2) |
Neuron Model |
On-Chip Learning |
Neuron Number (Chip) |
Synapse Model |
Synapse Number (Chip) |
Online Learning |
Power |
TrueNorth [9] |
ASIC-CMOS 28 |
Digital |
430 |
LIF |
No |
1 Million |
Binary 4 modulators |
256 M |
No |
65 mW (per chip) |
BrainScaleS [9] |
ASIC-CMOS 180 |
Analog/Digital |
50 |
Adaptive exponential IF |
No |
512 |
Spiking 4-bit digital |
100 K |
Yes |
2 kW Per module (peak) |
NeuroGrid [9] |
ASIC-CMOS 180 |
Analog/Digital |
168 |
Adaptive Quadratic IF |
No |
65,000 |
Shared dendrite |
100 M |
Yes |
2.7 W |
Loihi [9] |
ASIC-CMOS 14 nm |
Digital |
60 |
LIF |
Yes (with plasticity rule) |
131,000 |
N/A |
126 M |
Yes |
0.45 W |
SpiNNaker [9] |
ASIC-CMOS 130 nm |
Digital |
102 |
LIF LZH HH |
Yes (synaptic plasticity rule) |
16,000 |
Programmable |
16 M |
Yes |
1 W (per chip) |
2.4. SpiNNaker
The SpiNNaker was designed by the Advanced Processor Technologies Research Group (APT), from the Department of Computer Science at the University of Manchester
[29][39]. It is composed of 57,600 processing nodes, each with 18 ARM9 processors (specifically ARM968), 128 MB of mobile DDR-SDRAMs, totaling 1,036,800 cores, and over 7 TB of RAM
[30][31][40,41]. The SpiNNaker is an SNN architecture designed to simulate large-scale SNNs. The main component of the SpiNNaker system is the SpiNNaker chip, whose main focus is to provide the required scalability and flexibility to perform experiments with neuron models. Based on brain-inspired computing, the objective of the SpiNNaker system is to design the neural architecture model of the human brain which is made up of approximately 100 billion neurons connected by trillions of synapses
[29][39]. The SpiNNaker machine is a collection of low-power processors, which can simulate/execute a small number of neurons and synapses in real time. In this case, all the processors are interconnected by a high-speed network
[32][42]. The high-speed network allows the processors to communicate with each other, while distributing the computation load for simulating a large neural network. The main advantage of the SpiNNaker system is its ability to simulate large-scale neural networks using an asynchronous scheme of communication
[30][33][40,43], which is essential for testing brain functions and developing new neural network applications in areas such as robotics, machine learning, and artificial intelligence. The SpiNNaker system is indeed an exciting creation in the field of neural networks, and it has the potential to greatly advance the understanding of the brain and the information processing of the brain
[34][35][44,45].
2.4.1. Architecture of SpiNNaker Chip
As stated in
[35][45], the SpiNNaker chip has 18 cores coupled with an external RAM controller and a Network-on-Chip (NoC). Each core comprises an ARM968 processor, a direct memory access controller, a controller for communications, a network interface controller, and other peripherals, including a timer
[35][45]. Every core in the SpiNNaker chip runs given applications by simulating/executing a group of neurons at 200 MHz. Each core also comprises 96 kB of tightly coupled memory (TCM). In order to avoid any contention issues, this TCM is split into two: 64 kB for data (DTCM), and 32 kB for instructions (ITCM). The DTCM consists of application data, including zero-initialized data, heap, stack, and read/write. Each chip in the SpiNNaker system has 128 MB of shared memory (i.e., SDRAM), which is directly accessible by all cores in the SpiNNaker chip
[35][45]. In this case, the memory access time varies significantly when accessing the different memories mentioned above. Hence, the following should be considered when designing applications for the SpiNNaker system.
-
Faster access to DTCM at ≈5 ns/word. DTCM is only limited to the local core.
-
Access to SDRAM via a bridge. Accessing SDRAM could lead to a contention issue, since more than one core in the SpiNNaker chip could attempt to access. This is a slow process with >100 ns/word.
-
As a result, each core encompasses a direct memory access (DMA) controller, which is used to enable bulk transfer of data from the SDRAM core to DTCM efficiently. Although the DMCA setup introduces a fixed overhead, the data are still transferred from the processor independently at ≈10 ns/word.
The SpiNNaker is a large-scale parallel network, comprising low-power and energy-efficient processors connected by a network. Each node in the network is responsible for simulating/executing a small number of neurons and synapses
[34][44]. Each node in the network communicates with every other node to exchange information and distribute the computation load. Each node in the network consists of processors, memory, I/O interfaces and core. Every node in the SpiNNaker architecture is constructed from one or more SpiNNaker boards, which are made up of SpiNNaker chips
[11]. Currently, two production versions called SpiNN-3 and SpiNN-5, each of which has 4 and 48 chips, respectively, are available.
2.4.2. Components of SpiNNaker System
The architecture of the SpiNNaker system consists of the following four major components
[11].
Processing nodes: are the individual processors used to simulate/execute the behavior of artificial neurons and synapses.
Interconnect fabric: is a high-speed network used to connect the processing nodes together. Interconnect fabric allows efficient communication between the nodes, as well as efficient load distribution across the network.
Host machine: is a separate master computer/processor used to configure and control the SpiNNaker system. The host machine constantly communicates with the processing nodes via the network interface. The host machine also provides a user interface to set up and run the simulations.
Software stack: consists of a variety of software components that work together to enable the simulation/execution of neural networks on the SpiNNaker system. This software stack includes the operating system running on the processing nodes, higher-level software libraries, and tools for configuring and running the simulations.
2.5. PyNN
In
[36][46], the authors introduced PyNN, which is a python interface used to define the simulations after creating the SNN model. The simulations are typically executed on the SpiNNaker machine via an event-driven operating system
[36][46]. Using a python script, PyNN allows users to specify the SNN simulations for executions. In this case, NEST, Neuron, INI, Brian, and SpiNNaker are commonly used SNN simulators.
2.6. Sentiment Analysis Using Natural Language Processing
Sentiment analysis is a natural language processing (NLP) technique that is commonly used to identify, extract, and quantify subjective information from text data
[37][47]. Sentiment analysis is mainly used to analyze the text and determine the sentiment score. The sentiment score can range from −1 (indicating very negative sentiment) to +1 (indicating very positive sentiment), with 0 representing the neutral sentiment
[38][48]. Using deep-learning-based approaches to perform sentiment analysis in NLP is a popular research area. Sentiment analysis is widely employed across various fields, such as marketing, finance, and customer service, to name a few
[39][49]. Sentiment analysis can also be used to analyze financial news and social media to predict stock prices or market trends
[40][50]. However, with the ongoing increase in data sizes, novel and efficient models (for sentiment analysis) are needed to manage and process the massive amount of data
[41][51]. Although the existing ANN models provide the required accuracy while classifying the data, the ANN models are not efficient in terms of energy consumption and speed-performance
[42][52].