Introduction

The development of data management and analysis systems largely benefits from the advancement of the hardware and software technologies. Hardware and software are the two major elements that constitute a computing system. The software performance could directly benefit from the advancement of hardware, but it is also limited by the characteristics of the hardware. Therefore, there has to be trade-offs in the design of software frameworks and systems. In the meantime, the demands for software performance also promote the advancements and innovations of hardware technologies. For data management and analysis systems, the hardware determines the performance limit of data access and query processing. To fully utilize the hardware, the software should optimize the design of algorithms and data structure according to the hardware. The traditional compute-intensive applications and recent data-intensive applications both have placed high demands on hardware performance such as access latency, capacity, bandwidth, energy consumption and cost performance. Under the various application workloads, the traditional data management and analysis techniques are facing unprecedented challenges. Essentially, the challenges posed by big data are caused by the contradiction where the existing data processing infrastructures are incapable of meeting the diverse demands in data processing.

Data processing infrastructure generally includes the underlying hardware environment and the upper software system. The design principles, architecture selection, core functions, strategy mode, and optimization techniques of the upper software system largely depend on the computer hardware. Today's hardware technologies and environments are undergoing dramatic changes. Specifically, the advent of high-performance processors and hardware accelerators, new nonvolatile memory (NVM), and a high-speed network are rapidly changing the base support for traditional data management and analysis systems. These new hardware is expected to break through the architecture of the entire computer system and convert the assumptions of the upper software. They also require that the architecture of data management and analysis software and related technologies have hardware awareness.