Med tanke på den ökande betydelsen av storskalig grafanalys finns det ett behov av att förbättra grafanalysramarnas prestanda utan att kompromissa med produktiviteten. GraphMat är vår lösning för att överbrygga detta gap mellan en användarvänlig grafanalysram och infödd, handoptimerad kod. GraphMat funktioner genom att ta vertex program och mappa dem till hög prestanda sparse matris operationer i backend. Vi får därmed produktivitetsvinsterna av en vertex programmeringsram utan att offra prestanda. GraphMat är en single-node multicore graf ram skriven i C++ som har gjort det möjligt för oss att skriva en mängd olika graf algoritmer med samma ansträngning jämfört med andra vertex programmering ramar. GraphMat utför 1,1-7X snabbare än högpresterande ramverk som GraphLab, CombBLAS och Galois. GraphMat matchar också prestandan hos MapGraph, en GPU-baserad grafram, trots att den körs på en CPU-plattform med betydligt lägre beräknings- och bandbreddsresurser. Det uppnår bättre flerkärnig skalbarhet (13-15X på 24 kärnor) än andra ramar och är 1.2X off infödda, handoptimerad kod på en mängd olika grafalgoritmer. Eftersom GraphMat-prestanda främst beror på några skalbara och välförståeliga matrisoperationer kan GraphMat naturligtvis dra nytta av trenden med ökande parallellism i framtida hårdvara.
Samma författare föreslog GraphMat Ref, ett ramverk baserat på sparsamma matrisoperationer som matchade deras handoptimerade riktmärken.
GraphMat: High performance graph analytics made productive
{'venue': 'PVLDB', 'journal': 'PVLDB', 'mag_field_of_study': ['Computer Science']}