Search engine for discovering works of Art, research articles, and books related to Art and Culture
ShareThis
Javascript must be enabled to continue!

High-Performance and Balanced Parallel Graph Coloring on Multicore Platforms

View through CrossRef
Abstract Graph coloring is widely used to parallelize scientific applications by identifying subsets of independent tasks that can be executed simultaneously. Graph coloring assigns colors the vertices of a graph, such that no adjacent vertices have the same color. The number of colors used corresponds to the number of parallel steps in a real-world end-application. Therefore, the total runtime of the graph coloring kernel adds to the overall parallel overhead of the real-world end-application, whereas the number of the vertices of each color class determines the number of the independent concurrent tasks of each parallel step, thus affecting the amount of parallelism and hardware resource utilization in the execution of the real-world end-application.In this work, we propose a high-performance graph coloring algorithm, named ColorTM, that leverages Hardware Transactional Memory (HTM) to detect coloring inconsistencies between adjacent vertices. ColorTM detects and resolves coloring inconsistencies between adjacent vertices with an eager approach to minimize data access costs, and implements a speculative synchronization scheme to minimize synchronization costs and increase parallelism. We extend our proposed algorithmic design to propose a balanced graph coloring algorithm, named BalColorTM, with which all color classes include almost the same number of vertices to achieve high parallelism and resource utilization in the execution of the real-world end-applications.We evaluate ColorTM and BalColorTM using a wide variety of large real-world graphs with diverse characteristics. ColorTM and BalColorTM improve performance by 12.98x and 1.91x on average using 56 parallel threads compared to prior state-of-the-art approaches. Moreover, we study the impact of our proposed graph coloring algorithmic designs on a popular end-application, i.e., Community Detection, and demonstrate the ColorTM and BalColorTM can provide high performance improvements in real-world end-applications across various input data given.
Title: High-Performance and Balanced Parallel Graph Coloring on Multicore Platforms
Description:
Abstract Graph coloring is widely used to parallelize scientific applications by identifying subsets of independent tasks that can be executed simultaneously.
Graph coloring assigns colors the vertices of a graph, such that no adjacent vertices have the same color.
The number of colors used corresponds to the number of parallel steps in a real-world end-application.
Therefore, the total runtime of the graph coloring kernel adds to the overall parallel overhead of the real-world end-application, whereas the number of the vertices of each color class determines the number of the independent concurrent tasks of each parallel step, thus affecting the amount of parallelism and hardware resource utilization in the execution of the real-world end-application.
In this work, we propose a high-performance graph coloring algorithm, named ColorTM, that leverages Hardware Transactional Memory (HTM) to detect coloring inconsistencies between adjacent vertices.
ColorTM detects and resolves coloring inconsistencies between adjacent vertices with an eager approach to minimize data access costs, and implements a speculative synchronization scheme to minimize synchronization costs and increase parallelism.
We extend our proposed algorithmic design to propose a balanced graph coloring algorithm, named BalColorTM, with which all color classes include almost the same number of vertices to achieve high parallelism and resource utilization in the execution of the real-world end-applications.
We evaluate ColorTM and BalColorTM using a wide variety of large real-world graphs with diverse characteristics.
ColorTM and BalColorTM improve performance by 12.
98x and 1.
91x on average using 56 parallel threads compared to prior state-of-the-art approaches.
Moreover, we study the impact of our proposed graph coloring algorithmic designs on a popular end-application, i.
e.
, Community Detection, and demonstrate the ColorTM and BalColorTM can provide high performance improvements in real-world end-applications across various input data given.

Related Results

Innovations in Multicore Network Processor Design for Enhanced Performance
Innovations in Multicore Network Processor Design for Enhanced Performance
The rapid expansion of network traffic, driven by the proliferation of internet-connected devices and the growing demand for high-speed data transmission, has intensified the need ...
BILANGAN KROMATIK EQUITABLE PADA GRAF BINTANG, GRAF LOLIPOP, DAN GRAF PERSAHABATAN
BILANGAN KROMATIK EQUITABLE PADA GRAF BINTANG, GRAF LOLIPOP, DAN GRAF PERSAHABATAN
Let G be a connected and undirected graph. Vertex coloring in a graph G is a mapping from the set of vertices in G to the set of colors such that every two adjacent vertices have d...
Graph Coloring
Graph Coloring
In this chapter a particular type of graph labeling, called graph coloring, is introduced and discussed. In the first part, the simple type of coloring, vertex coloring, is focused...
Graph convolutional neural networks for 3D data analysis
Graph convolutional neural networks for 3D data analysis
(English) Deep Learning allows the extraction of complex features directly from raw input data, eliminating the need for hand-crafted features from the classical Machine Learning p...
Exact 2-Distance b-Coloring and Exact 2-Distance b-Continuity of Helm Graph ????????
Exact 2-Distance b-Coloring and Exact 2-Distance b-Continuity of Helm Graph ????????
An exact 2-distance coloring of a graph ???? is a coloring of vertices of ???? such that any two vertices which are at distance exactly 2 receive distinct colors. An exact 2-distan...
Graph data warehousing
Graph data warehousing
Over the last decade, we have witnessed the emergence of networks in a wide spectrum of application domains, ranging from social and information networks to biological and transpor...
University Course Timetabling Problem merupakan proses penjadwalan mata kuliah di sebuah universitas yang hasilnya diusahakan seoptimal mungkin untuk tidak saling berbenturan denga...

Back to Top