434
M. N. Bojnordi and P. Behnam
9.1 Challenges for Data Processing in the Era of IoT
Recent years have witnessed an ever-increasing need for big data processing in
nearly all forms of computing systems from server computers and data centers
to mobile and Internet of things (IoT) devices. The huge demand for big data
processing has been mainly due to an unprecedented increase in the public use of
social networks (e.g., Twitter, Instagram, and Facebook), digital video hosts (e.g.,
YouTube that performs an average of 72 hours’ video upload per minute), smart
phone applications, and IoT systems [1]. In particular, IoT plays a significant role in
big data explosion [2] and is likely to have a profound impact on how computer
systems will be designed and used in the coming decades. For example, one
important sector of IoT-based big data processing is healthcare that builds upon the
biological and social data analytics spanning the latest achievements in data mining,
machine learning, computational intelligence, and statistical methodologies. Similar
to all other sectors of IoT, today’s healthcare applications encounter significant
challenges for storing and moving big data within their computing platforms. These
challenges have been one of the main motivations towards forming a paradigm shift
in the design of memory systems for efficient data processing.
9.1.1 IoT System Architecture
IoT systems heavily rely on hardware-software interfaces that enable various forms
of data communication among interconnected components. A typical IoT system
comprises various hardware and software components used for identification,
sensing, communication, computation, service, and semantic [3]. The IoT nodes
need to be identified by name and address in the system. The electronic product code
(EPC) and ubiquitous code (uCode) methods may be used for device identification,
while IPv4 and IPv6 are normally used for addressing within the IoT network [4,
5]. IoT nodes interact with the user and the environment through actuators and
sensors. Modern IoT systems employ smart sensors and wearable sensing devices
to collect data in various forms such as temperature, audio, image, and video [6].
The system allows heterogeneous devices to be connected within a communication
infrastructure that includes various technologies such as Wi-Fi, Bluetooth, RFID,
and Near Field Communication (NFC). The key component of the IoT system
is computation that is performed at the processing elements of the nodes and
servers. User interfacing applications, real-time operating system (RTOS), hardware
drivers and firmware, and the cloud data processing programs are executed on
the IoT computational platforms that may include one or many microprocessors,
microcontrollers, field-programmable gate array (FPGA) units, graphics processing
unit (GPU) boards, and ASIC accelerators. Unlike the IoT servers that are designed
M. N. Bojnordi and P. Behnam
9.1 Challenges for Data Processing in the Era of IoT
Recent years have witnessed an ever-increasing need for big data processing in
nearly all forms of computing systems from server computers and data centers
to mobile and Internet of things (IoT) devices. The huge demand for big data
processing has been mainly due to an unprecedented increase in the public use of
social networks (e.g., Twitter, Instagram, and Facebook), digital video hosts (e.g.,
YouTube that performs an average of 72 hours’ video upload per minute), smart
phone applications, and IoT systems [1]. In particular, IoT plays a significant role in
big data explosion [2] and is likely to have a profound impact on how computer
systems will be designed and used in the coming decades. For example, one
important sector of IoT-based big data processing is healthcare that builds upon the
biological and social data analytics spanning the latest achievements in data mining,
machine learning, computational intelligence, and statistical methodologies. Similar
to all other sectors of IoT, today’s healthcare applications encounter significant
challenges for storing and moving big data within their computing platforms. These
challenges have been one of the main motivations towards forming a paradigm shift
in the design of memory systems for efficient data processing.
9.1.1 IoT System Architecture
IoT systems heavily rely on hardware-software interfaces that enable various forms
of data communication among interconnected components. A typical IoT system
comprises various hardware and software components used for identification,
sensing, communication, computation, service, and semantic [3]. The IoT nodes
need to be identified by name and address in the system. The electronic product code
(EPC) and ubiquitous code (uCode) methods may be used for device identification,
while IPv4 and IPv6 are normally used for addressing within the IoT network [4,
5]. IoT nodes interact with the user and the environment through actuators and
sensors. Modern IoT systems employ smart sensors and wearable sensing devices
to collect data in various forms such as temperature, audio, image, and video [6].
The system allows heterogeneous devices to be connected within a communication
infrastructure that includes various technologies such as Wi-Fi, Bluetooth, RFID,
and Near Field Communication (NFC). The key component of the IoT system
is computation that is performed at the processing elements of the nodes and
servers. User interfacing applications, real-time operating system (RTOS), hardware
drivers and firmware, and the cloud data processing programs are executed on
the IoT computational platforms that may include one or many microprocessors,
microcontrollers, field-programmable gate array (FPGA) units, graphics processing
unit (GPU) boards, and ASIC accelerators. Unlike the IoT servers that are designed
