Computer Science
Computer Science-2021.gz:143164
Computer Science
387446fc9b0f36384b522c728d04aac44c2ad593
Scalable Traffic Predictive Analysis using GPU in Big Data

The paper adopts parallel computing systems for predictive analysis in both CPU and GPU leveraging Spark Big Data platform. The traffic dataset is adopted to predict the traffic jams in Los Angeles County. It is collected from a popular platform in the USA for tracking information on the road using the device information and reports shared by the users. Large-scale traffic data set can be stored and processed using both GPU and CPU in this Scalable Big Data systems. The major contribution of this paper is to improve the performance of machine learning in distributed parallel computing systems with GPU to predict the traffic congestion. We show that the parallel computing can be achieve using both GPU and CPU with the existing Apache Spark platform. Our method can be applicable to other large scale datasets in different domains. The process modeling, as well as results, are interpreted using computing time and metrics: AUC, Precision and Recall. It should help the traffic management in Smart City.


Introduction
GPU supports parallel computing with deep learning libraries. Big Data solution provides distributed file and computing systems. We can achieve better high performance computing by integrating GPUs to Big Data platform. It can reduce the gap between the big data and deep learning communities as well because the deep learning models can read large scale data more efficiently and easily from the distributed file systems of Big Data platform.
Traffic data collection and analysis is significant for Smart City. US Governments turn to Advanced Traffic Management Systems in order to solve traffic congestions and adopt new transport management plans and resources [2].
Juniper Research finds that smart traffic management systems could save cities US$277 billion by 2025 through reducing emissions and congestion [14]. INRIX estimates that traffic congestion cost U.S. commuters $305 billion in 2017 due to wasted fuel, lost time and the increased cost of transporting goods through congested areas [15]. As governments started adopting smart cities' concept for the past decades, traffic prediction attracts more attention.
Our paper presents traffic jam prediction using Spark and Rapids, which is Big Data machine learning engine and GPU parallel computing libraries, respectively. The paper is composed of Section 2. Related Work, Section 3. Big Data and GPU, Section 4. Dataset and Specifications, Section 5. Prediction with Machine Learning, and Section 6. Conclusion.

Related Work
There is a growing interest in traffic prediction systems to support traffic operators in city's decision-making tasks.
Waze is an app for those who are interested and willing to connect with it for better community. As a crowd sourcing, the users of Waze can exchange data to drive easier with more information and to make data-driven infrastructure decisions and increase the efficiency of incident response [5]. One of the works that is based on traffic data of Waze is available in the form of slides from Summit on Data-Smart Government at Harvard [6]. This study focuses on collaboration of Waze and Louisville City and points out major insights from such partnership. The outcome of this work is analysis of data in the form of animated maps and Excel tables of hot spot traffic [7,8].
Another study was conducted in New Haven County, Connecticut. In this research GPS data set was gathered from MapMyRun traffic website and further processed and analyzed using R [9]. The author used sampled small data set for analysis, whereas we present a framework with bigger data sets. Also, this work concentrates on clustering the hot areas of traffic, however, our work gives prediction of jams using classification model with Big Data platform utilizing GPU.
Dalya et al. explained the flow of big data files management and further prediction of traffic jams using machine learning with Hadoop Spark Big Data platform [16]. But, in this paper, we leverage Big Data platform utilizing GPU to get much better performance for traffic prediction.

Big Data and GPU
Apache Spark has been one of popular solutions for Big Data. It supports in-memory processing as a distributed parallel computing systems with machine learning libraries. It is integrated into Hadoop Big Data systems as a computing engine. Hadoop cluster is composed of HDFS file systems, computing engines with MapReduce and Spark, and YARN resource management. YARN helps the platform linearly scalable.

Gap in Big Data and Deep Learning
The traditional data science develops machine learning models in Python and R for the small dataset. It has the data size of up to Mega-Bytes and generates memory issues when to process Giga-Bytes of data set. Figure 1 shows the gap between the traditional and Big Data. Legacy data projects needs more Big Data Engineers, Analysts, and Scientists while the data grows exponentially. Even the deep learning system with a single server has the similar issue when to read and process massive dataset, greater than Giga-bytes.  [11]. NVIDIA CUDA is a parallel computing architecture supporting parallel operations. NVDIA has created Rapids for Spark 3.0, which drastically improves the performance of ETL, data engineering, data analysis, and data prediction [12]. Thus, Spark 3.0 in GPU supports deep learning and legacy machine learning as shown in Figure 2. It also resolves the issue of the gap presented in Figure 1 by transferring large scale dataset for GPU to process as illustrated in Figure 2. Classifications are commonly used to detect Ad Click and credit card Fraud. Decision Trees is one of the algorithm for classification [11]. In the paper, three machine learning algorithms are compared for classifying and detecting the traffic jams: Random Forests, Gradient Booting Tree, and XGBoosting.

GPU in Big Data
Random Forest is ensembles of decision trees by combining many decision trees with being expressed as a set of de-correlated decision trees. Thus, it reduces the risk of overfitting. The example of Random Forest can be a data set that contains different random values and their class. Then the data set is divided into a lot of subsets with random values and random classes. After the division, the algorithm decides and allocates different classes to each of the independent forests. Similarly, Gradient Boosting Tree uses Decision trees as a group of machine learning algorithms. It also combines many weak learning models together to create a strong predictive model.
XGBoost is a distributed gradient boosting library also called GBDT (Gradient Boosting Decision Tree) and GBM (Gradient Boosting Machine). It provides parallel tree boosting, which allows parallel distributed computing possible in Hadoop/Spark cluster [13]. In the paper, we use XGBoostClassifier in Spark for classification.

Dataset and Specifications
The traffic dataset was provided by Information   Table 3 lists the additional attributes and metadata filtered for jams, which is generated passively from device's GPS: level jam level, where 1 -almost no jam and 5 -standstill jam speed driver's captured speed in mph length length of the traffic ahead in the route of user in meters delay time deviation from the original time in seconds Table 3. Jams attributes

Machine Learning Flow
We aim to predict the traffic jam with classification model.
Prior to model training we chose to split dataset into 75% of training set and 25% of model performance testing set. After several iterations of model training/testing and by calculating the weight of the columns, we excluded columns that have no value for traffic jams prediction. We used TrainSplitValidation and evaluation set of xgbClassifier, which helps build general model.
There are several metrics to validate performance of the multiclass classification model as follows: AUC (Area Under ROC Curve) -area of total records classified correctly; Precision -ratio of correctly identified records as positive out of total records identified as positive; Recall -ratio of correctly identified records as positive out of total actual positives [15].
Our model is built with 2 worker nodes and 2 GPUs shown in Table 1. The number of executor cores are set to 4 and spark.task.cpus to 1, so it runs 4 concurrent tasks per executor. XGBoost's NUM_WORKERS and nthreads are set for 2 and 1, respectively.
In the range of 5 traffic levels presented in Table  3, we regard that the traffic jam label is true when level is greater than 2. Table 4 shows the confusion matrix of XGBoost in which GPU accelerates the computation to build the traffic prediction model.

Conclusion
We present Big Data platform and architecture that provides distributed file systems with parallel computing of CPUs utilizing GPUs. It leverages the Big Data platform for storing and analyzing giga-bytes of data set in parallel computing with both CPUs and GPUs. Furthermore, the architecture is linearly scalable with possibly more data set.
We compare three algorithms to predict traffics jams in Los Angeles: Random Forrest, Gradient Booting Tree, and XGBoosting. Our experimental result shows that XGBoosting has the highest performance with the perfect accuracy for predicting traffic jam. Moreover, it is accelerated by GPU and achieves highest processing time in seconds.
Further work can be done with more servers, bigger dataset, and other classification models using deep learning algorithms in order to find more insights and create a data driven conclusions on LA County traffic situation by using this framework to reach the goal of smart city.