Unified Platform for AI and Big Data Analytics

This paper describes an integrated platform for machine learning and big data analysis. The integrated platform is configured in a way that builds a large distributed data processing environment in the computing environment that makes up the NVIDIA AI platform. In addition, this paper describes the background of this idea selection and the use of the software to build the unified platform. The technical details are shown in terms of how to create the proposed platform. In the anlaysis section, the methodology is provided and also the steps are explained as to how to use this integration platform. Finally, the expected effects are elaborated in the conclusion section.


Introduction
In general, artificial intelligence modeling requires a high-end computing environment.In particular, the modeling of AI, this is based on graphic processing capabilities such as NVIDIA, and requires the combination of high-end GPUs as well as CPUs [1] [2].The inefficiency exists, however, in this high-end computing environment, if the computing power is only used for machine learning purposes.The valuable computing power can be better utilized, if a virtual server is made within the computer and used for the analysis of big data.In recent years, we have witnessed the massive increase of data streams generated by the unmanned systems, such as drones and autonomous vehicles.Those systems are increasingly integrated with machine learning algorithms, while generating and transmitting a large amount of data (i.e.image data, system parameter data, text data, and so on) in real-time.The onboard computers are conducting the processing for machine learning algorithms.However, the big data streams generated by the system itself also needs to be processed and analyzed simulta-neously.In this regards, an integrated platform is proposed in this study that can efficiently and simultaneously perform the big data analysis as well as the machine learning processing (this function is our research purpose).This is achieved by creating distributed computing environment with the use of Hadoop EcoSystem [3] [4].The details are explained in the following sections.

Idea Generation
When data storing of information gathered from drones or autonomous driving cars is made, the artificial intelligence modeling (that is, machine learning algorithms) and the big data processing have been performed on different platforms.This concept is illustrated in Figure 1.
This process depicts the inefficiency because the processing of big data is performed on a different computing platform.On the other hand, Figure 2 is depicting the unified platform that runs both machine learning algorithms and big data processing within a single PC.

Why Should Build a Distributed Computing Environment?
Figure 3 illustrates the performance between RDBMS and Distributed Computing Environment (Node 3 -Node 5).As one can see, the distributed computing environment is faster than RDBMS.Also, if there are more nodes, the data processing time becomes shorter.
Figure 4 illustrates the comparison of performance when using the Hadoop (distributed computing environment) and the SPARK, a more advanced technology that is called "in-memory" system.
As one can see from the figure, the Hadoop's Map Reduce performs better    than RDBMS.The SPARK also performs better than the Hadoop's Map Reduce.This comparison shows the importance of using a distributed computing environment to handle big data.

NVIDIA AI Platform-Host Server (Physical HW)
The host server is made up of HW equipment for AI machine learning such as NVIDIA's DevBox or Jetson TX1.These devices use the Linux Ubuntu 14.04 as the OS.The virtual server for the distributed environment also uses the same OS to enhance the compatibility.Overall, the distributed environment is made by using the host server and virtual server (built by using Oracle VirtualBox) [5] [6].

Configuration of Network between Host and Slave Servers
After building the slave servers, we used the SSH network configuration to make it possible to access the slave server from the host server without sharing the information through the network configuration between the servers.

SSH Key Generation and Share
SSH network configuration allows access from a host server to a virtual server (slave).However, a password is required to access another server in its current state.Therefore, it is necessary to create an SSH shared key and share it between the servers so that communication can be smoothly performed without a password.In other words, setting up SSH network allows the autonomous communication between the servers without a password.The Linux command code is given in Table 1 and Table 2.

After Network Configuration between Host and Slave
Figure 8 shows that the SSH key is generated.The SSH key acts as the connection identity of the platform that needs to be connected.For example, one system is given a specific key structure and this key is only unique to this system.By examining the SSH key, one can identify the each individual system.Once the key is created and given to each system (i.e., server) and the connection is established, the host server and the slave server can freely access each other's resources.Then, the computing of bid data can be performed on each other's platform.Figure 9 shows the remote connection between the host server and the Table 1.Linux command code for SSH network configuration in host server.

Creation of Hadoop Cluster on NVIDIA AI Platform
This section explains the building of a Hadoop cluster (distributed environment) on the AI platform.The framework called "Apache Ambari" has been used to build a Hadoop cluster.

Creation of Hadoop Cluster
Asone can see in Figure 10, Apache Ambari UI can be easily installed in Linux environment.After that, the NVIDIAAI platform (Client.com) is connected and the slave server (Slave.com) to the Hadoop cluster using the Ambari framework is constructed.In this way, we have created an environment for analyzing not only machine learning algorithms but also big data on the same platform.The Ambari allows you to install SPARK-like SWs in Hadoop clusters.You can also install and uninstall the SW after the Hadoop cluster is completed.
Figure 11 shows the completion of Hadoop Cluster and the completed inte-

Conclusions
In Figure 12, one can see the finished unified platform for AI and big data analytics.The UI represents the Digits SW accessed from the slave server (NVIDIA AI platform).The Digits SW is mainly for image training and machine learning purposes.The UI also represents the R-studio connected to the host server.The R-studio mainly processes the statistical analysis of big data.By creating this platform, the performance of the computing speed and the processing time can be significantly improved, as opposed to the conventional system that has been explained in Figure 1.Therefore, in this integrated platform, it is possible to process the big data as well as the artificial intelligence algorithms using the same GPU accelerator.The development of this platform maximizes the utilization of the AI platform.Then a high-performance computing environment will improve efficiency.Therefore, it is not necessary to add additional computers for the big data analysis for the information gathering devices, such as drones and autonomous vehicles.This kind of technology will be very useful in the near future, where we expect the introduction of huge amount of autonomous devices.

Figure 1 .
Figure 1.Previous AI modeling and big data processing.

Figure 3 .
Figure 3.Comparison between distributed computing environment and existing RDBMS.
Training SW) NVIDIA's representative image training software, Digits, is the SW that can be integrated with the autonomous vehicles and drones.It is basically SW that supports CUDA development environment developed by NVIDIA and is optimized for image training.The details are shown in Figures 5-7[7] [8] [9].

Figure 9 .
Figure 9. Remote access to virtual server.

Figure 12 .
Figure 12.Unified platform for AI and big-data processing.