{"title":"动态图中 PageRank 的无锁计算","authors":"Subhajit Sahu","doi":"arxiv-2407.19562","DOIUrl":null,"url":null,"abstract":"PageRank is a metric that assigns importance to the vertices of a graph based\non its neighbors and their scores. Recently, there has been increasing interest\nin computing PageRank on dynamic graphs, where the graph structure evolves due\nto edge insertions and deletions. However, traditional barrier-based approaches\nfor updating PageRanks encounter significant wait times on certain graph\nstructures, leading to high overall runtimes. Additionally, the growing trend\nof multicore architectures with increased core counts has raised concerns about\nrandom thread delays and failures. In this study, we propose a lock-free\nalgorithm for updating PageRank scores on dynamic graphs. First, we introduce\nour Dynamic Frontier (DF) approach, which identifies and processes vertices\nlikely to change PageRanks with minimal overhead. Subsequently, we integrate DF\nwith our lock-free and fault-tolerant PageRank ($DF_{LF}$), incorporating a\nhelping mechanism among threads between its two phases. Experimental results\ndemonstrate that $DF_{LF}$ not only eliminates waiting times at iteration\nbarriers but also withstands random thread delays and crashes. On average, it\nis 4.6x faster than lock-free Naive-dynamic PageRank ($ND_{LF}$).","PeriodicalId":501291,"journal":{"name":"arXiv - CS - Performance","volume":"13 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-07-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Lock-Free Computation of PageRank in Dynamic Graphs\",\"authors\":\"Subhajit Sahu\",\"doi\":\"arxiv-2407.19562\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"PageRank is a metric that assigns importance to the vertices of a graph based\\non its neighbors and their scores. Recently, there has been increasing interest\\nin computing PageRank on dynamic graphs, where the graph structure evolves due\\nto edge insertions and deletions. However, traditional barrier-based approaches\\nfor updating PageRanks encounter significant wait times on certain graph\\nstructures, leading to high overall runtimes. Additionally, the growing trend\\nof multicore architectures with increased core counts has raised concerns about\\nrandom thread delays and failures. In this study, we propose a lock-free\\nalgorithm for updating PageRank scores on dynamic graphs. First, we introduce\\nour Dynamic Frontier (DF) approach, which identifies and processes vertices\\nlikely to change PageRanks with minimal overhead. Subsequently, we integrate DF\\nwith our lock-free and fault-tolerant PageRank ($DF_{LF}$), incorporating a\\nhelping mechanism among threads between its two phases. Experimental results\\ndemonstrate that $DF_{LF}$ not only eliminates waiting times at iteration\\nbarriers but also withstands random thread delays and crashes. On average, it\\nis 4.6x faster than lock-free Naive-dynamic PageRank ($ND_{LF}$).\",\"PeriodicalId\":501291,\"journal\":{\"name\":\"arXiv - CS - Performance\",\"volume\":\"13 1\",\"pages\":\"\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-07-28\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"arXiv - CS - Performance\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/arxiv-2407.19562\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Performance","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2407.19562","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Lock-Free Computation of PageRank in Dynamic Graphs
PageRank is a metric that assigns importance to the vertices of a graph based
on its neighbors and their scores. Recently, there has been increasing interest
in computing PageRank on dynamic graphs, where the graph structure evolves due
to edge insertions and deletions. However, traditional barrier-based approaches
for updating PageRanks encounter significant wait times on certain graph
structures, leading to high overall runtimes. Additionally, the growing trend
of multicore architectures with increased core counts has raised concerns about
random thread delays and failures. In this study, we propose a lock-free
algorithm for updating PageRank scores on dynamic graphs. First, we introduce
our Dynamic Frontier (DF) approach, which identifies and processes vertices
likely to change PageRanks with minimal overhead. Subsequently, we integrate DF
with our lock-free and fault-tolerant PageRank ($DF_{LF}$), incorporating a
helping mechanism among threads between its two phases. Experimental results
demonstrate that $DF_{LF}$ not only eliminates waiting times at iteration
barriers but also withstands random thread delays and crashes. On average, it
is 4.6x faster than lock-free Naive-dynamic PageRank ($ND_{LF}$).