4 research outputs found
Evaluating multi-core graph algorithm frameworks
Multi-core and GPU-based systems offer unprecedented computational power. They are, however, challenging to utilize effectively, especially when processing irregular data such as graphs. Graphs are of great interest, as they are now used to model geographic-, social- andneural networks. Several interesting programming frameworks for graph processing have therefore been developed these past few years.
In this work, we highlight the strengths and weaknesses of the Galois, GraphBLAST, Gunrock and Ligra graph frameworks through benchmarking their single source shortest path (SSSP) implementations using the SuiteSparse Matrix Collection. Tests were done on an Nvidia DGX2 system, except for Ligra, which only provides a multi-core framework. D-IrGL, built on Galois, also provided a multi-GPU option for SSSP. We also look at program size, documentation and overall ease of use.
High performance generally comes at the price of high complexity. D-IrGL shows its strength on the very largest graphs, where it achieved the best run-time, while Gunrock processed most other large sets the fastest. However, GraphBLAST, with a relatively low-complexity interface, achieves the greatest median throughput across all our test cases. This despite that its SSSP implementation size is only 1/10th of Gunrock, which for our tests has the highest peak throughput and the fastest run-time in most cases. Ligra had less computational resources available, and consequently performed worse in most cases, but it is also a very compact and easy to use framework. Futher analyses and some suggestions for future work are also included
Multicore Max-Flow using GraphBLAS: A Usability Study
Optimizing linear algebra operations has been a research topic for decades. The compact language of mathematics also produce lean, maintainable code. Using linear algebra as a high-level abstraction for graph operations is therefore very attractive. In this work, we will explore the usability of the GraphBLAS framework, currently the leading standard for graph operations that uses linear algebra as an abstraction. We analyze the usability of GraphBLAS by using it to implement the Edmonds-Karp algorithm for s-t maximum-flow/minimum-cut. To our knowledge, this work represents the first published results of Max-Flow in GraphBLAS. The result of our novel implementation was an algorithm that achieved a speedup of up to 11 over its own baseline, and is surprisingly compact and easy to reason about
Usability Study of GraphBLAS Through MulticoreMax-Flow
Grafer er blant de mest generelle og fleksible abstraksjonene i datavitenskap. Men, etter hvert som størrelsen på datasett vokser trenger vi stadig mer datakraft for å behandle dem, som betyr at vi må ta ibruk grafalgoritmer som kan dra nytte av paralle flerkjernemaskiner. Dette kan være en stor utfordring, da grafalgoritmer ofte har stor grad av irregularitet, som gjør det vanskelig å konstruere slike algoritmer fra bunnen av. Det har derfor blitt utvilket mange bibliotek og rammeverk for å gjøre denne prossessen enklere.
I flere tiår har forskere optimalisert operasjoner for lineær algebra. På grunn av det ekspressive og komptakte språket fra matematikk, kan programmer skrevet som en serie av linear algebra-operasjoner gi kode som er lettere å lese og vedlikeholde. Lineær algebra er derfor en veldig attraktiv abstraksjon å ta ibruk for utrykke grafoperasjoner.
I dette arbeidet skal vi utforske brukbarheten til rammeverket GraphBLAS, den ledende standarden for grafopereasjoner utrykt som lineær algebra. Vi analyserer brukbarheten til GraphBLAS ved å implementere Edmonds-Karps algoritme for s-t maksimal flyt/minimalt kutt. Så vidt oss bekjent er dette arbeidet det første publiserte resultatet av maks-flyt implementert i GraphBLAS. Vår implementasjon ga et program som oppnådde opptil ~11 økt hastighet over egen grunnlinje.
Vi inkluderer også en grundig diskusjon med eksempler for å presentere ulike brukervennlighetsaspekter ved GraphBLAS, med utgangspunkt i vår egen maks-flyt-implementasjon. Våre funn indikerer at GraphBLAS gir en interessant og nyttig måte å se på grafalgoritmer, og vi observerte at å bruke lineær algebra som astraksjon gjorde at vi kunne ta ibruk kunnskap og verktøy både fra dette feltet og grafteori. Vi viser at mange operasjoner på grafer faktisk er enklere å utrykke i lineær algebra, men også at noen er vanskelige og andre igjen umulige. Dette illustrerer at abstraksjonen og rammeverket har noen klare begrensninger. Vi beskriver også mulige retninger for fremtidig arbeid
Multicore Max-Flow using GraphBLAS: A Usability Study
Optimizing linear algebra operations has been a research topic for decades. The compact language of mathematics also produce lean, maintainable code. Using linear algebra as a high-level abstraction for graph operations is therefore very attractive. In this work, we will explore the usability of the GraphBLAS framework, currently the leading standard for graph operations that uses linear algebra as an abstraction. We analyze the usability of GraphBLAS by using it to implement the Edmonds-Karp algorithm for s-t maximum-flow/minimum-cut. To our knowledge, this work represents the first published results of Max-Flow in GraphBLAS. The result of our novel implementation was an algorithm that achieved a speedup of up to 11 over its own baseline, and is surprisingly compact and easy to reason about