GPU Algorithm for Earliest Arrival Time Problem in Public Transport Networks

12/02/2019
by   Chirayu Anant Haryan, et al.
0

Given a temporal graph G, a source vertex s, and a departure time at source vertex t_s, the earliest arrival time problem EAT is to start from s on or after t_s and reach all the vertices in G as early as possible. Ni et al. have proposed a parallel algorithm for EAT and obtained a speedup up to 9.5 times on real-world graphs with respect to the connection-scan serial algorithm by using multi-core processors. We propose a topology-driven parallel algorithm for EAT on public transport networks and implement using general-purpose programming on the graphics processing unit GPU. A temporal edge or connection in a temporal graph for a public transport network is associated with a departure time and a duration time, and many connections exist from u to v for an edge (u,v). We propose two pruning techniques connection-type and clustering, and use arithmetic progression technique appropriately to process many connections of an edge, without scanning all of them. In the connection-type technique, the connections of an edge with the same duration are grouped together. In the clustering technique, we follow 24-hour format and the connections of an edge are partitioned into 24 clusters so that the departure time of connections in the i^th cluster is at least i-hour and at most i+1-hour. The arithmetic progression technique helps to store a sequence of departure times of various connections in a compact way. We propose a hybrid approach to combine the three techniques connection-type, clustering and arithmetic progression in an appropriate way. Our techniques achieve an average speedup up to 59.09 times when compared to the existing connection-scan serial algorithm running on CPU. Also, the average speedup of our algorithm is 12.48 times against the parallel edge-scan-dependency graph algorithm running on GPU.

READ FULL TEXT
research
10/20/2020

A Faster Parameterized Algorithm for Temporal Matching

A temporal graph is a sequence of graphs (called layers) over the same v...
research
12/21/2020

Parallel Index-Based Structural Graph Clustering and Its Approximation

SCAN (Structural Clustering Algorithm for Networks) is a well-studied, w...
research
11/22/2021

Theoretically and Practically Efficient Parallel Nucleus Decomposition

This paper studies the nucleus decomposition problem, which has been sho...
research
07/01/2022

Time-aware Dynamic Graph Embedding for Asynchronous Structural Evolution

Dynamic graphs refer to graphs whose structure dynamically changes over ...
research
10/22/2015

ZNN - A Fast and Scalable Algorithm for Training 3D Convolutional Networks on Multi-Core and Many-Core Shared Memory Machines

Convolutional networks (ConvNets) have become a popular approach to comp...
research
07/21/2019

Combining the Connection Scan Algorithm with Contraction Hierarchies

Since the first solutions finding minimally weighted routes in weighted ...
research
12/29/2021

KRCORE: a microsecond-scale RDMA control plane for elastic computing

This paper presents KRCORE, an RDMA library with a microsecond-scale con...

Please sign up or login with your details

Forgot password? Click here to reset