Chapter 3. New Possibilities

The benefit from the performance boost afforded by GPU acceleration is different for different applications. In general, the more processing-intensive the application, the greater the benefit, as shown in Figure 3-1

Figure 3-1. Although most data analytics applications stand to benefit from the GPU’s price/performance advantage, those requiring the most processing stand to benefit the most

This chapter describes how you can use GPU acceleration to improve both the performance and price of a wide variety of database, data analytics, and business intelligence (BI) applications. The next three chapters focus on the three applications or use cases that stand to benefit the most:

  • Machine learning and deep learning (Chapter 4)

  • Internet of Things (IoT) and real-time data analytics (Chapter 5)

  • Interactive location-based intelligence (Chapter 6)

Designed for Interoperability and Integration

Although different GPU-based database and data analytics solutions offer different capabilities, all are designed to be complementary to or integrated with existing applications and platforms. Some of the more common techniques are outlined here.

Beginning with the hardware, virtually all GPU-based solutions operate on commonly used industry-standard servers equipped with x86 CPUs, enabling the configuration to be scaled cost-effectively both up and out to achieve the desired performance.

Scaling up usually involves adding more or faster GPUs or VRAM. Performance in servers containing multiple GPU cards can be scaled-up even further using NVLink (described in Chapter 2), which offers five times the bandwidth available in a 16-lane PCIe bus.

Scaling out involves simply adding more servers in a cluster, which you can also do in a distributed configuration to enhance reliability.

For flexibility, you can deploy GPU solutions on-premise or in public cloud.

For the software, most GPU-based solutions employ open architectures to facilitate integration with virtually any application that stands to benefit from higher and/or more cost-effective performance (see Figure 3-2). Potential applications range from traditional relational databases and artificial intelligence, including machine learning and deep learning, to those requiring real-time analysis of streaming data or complex event processing—increasingly common with the Internet of Things.

Figure 3-2. GPU databases have open architectures, enabling them to be integrated easily into a wide variety of analytical and BI applications

GPU databases can also serve in a complementary role; for example, as a fast query layer for Hadoop. The ultra-low-latency performance makes GPU-accelerated solutions ideal for those applications that require simultaneous ingestion and analysis of a high volume and velocity of streaming or large, complex data.

Recognizing that GPUs are certain to be utilized in mission-critical applications, many solutions are now designed for both high availability and robust security. High-availability capabilities can include data replication with automatic failover in clusters of two or more servers, with data integrity being provided by saving the data to hard disks or solid-state storage on individual servers.

For security, support for user authentication, as well as role- and group-based authorization, help make GPU acceleration suitable for applications that must comply with government regulations, including those requiring personal privacy protections. These enhanced capabilities virtually eliminate any risk of adoption for organizations in both public and private cloud infrastructures.

Some GPU-based solutions are implemented as in-memory databases, making them similar in functionality to other databases that operate in memory. What makes the GPU-accelerated database different is how it manages the storage and processing of data for peak performance in a massively parallel configuration.

As Figure 3-3 shows, in GPU databases, data is usually stored in system memory in vectorized columns to optimize processing across all available GPUs. Data is then moved as needed to GPU VRAM for all calculations, both mathematical and spatial, and the results are returned to system memory. For smaller datasets and live streams, the data can be stored directly in the GPU’s VRAM to enable faster processing. Whether stored in system memory or VRAM, all data can be saved to hard disks or solid-state drives to ensure no data loss.

Figure 3-3. The GPU-accelerated in-memory database becomes a “speed layer” capable of providing higher performance for many data analytics and business intelligence applications
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.91.254