大规模图计算:并行最短路径算法研究

版权申诉
0 下载量 19 浏览量 更新于2024-07-01 收藏 861KB PDF 举报
“Parallel Shortest Path Algorithms:最短路径并行算法.pdf” 这篇文档是一份关于大规模图中非负权重单源最短路径问题(NSSP)的并行算法实验研究。作者包括Kamesh Madduri、David A. Bader、Jonathan W. Berry和Joseph R. Crobak,撰写日期为2006年11月8日。他们探讨了如何使用∆-步进并行算法来解决大规模图的问题,并在Cray MTA-2多线程并行计算机上进行了性能测试。 Cray MTA-2是一款高端共享内存系统,其特性包括对细粒度并行性的利用能力以及低开销的同步原语,这些特性对于不规则算法的高效并行实现非常有利。报告中指出,他们的实施在与竞争性的顺序算法比较时显示出了显著的并行加速效果,尤其是在低直径稀疏图的情况下。 具体来说,论文提到了一个示例,即在一个包含1亿条边的1亿个顶点的有向无标度网络上运行∆-步进算法,该操作能在十秒钟内完成。这展示了该并行算法在处理大规模数据集时的高效性能。在大规模图中,计算最短路径通常是一个计算密集型任务,而这种并行算法的出现能够极大地减少计算时间,提高计算效率。 在 NSSP 问题中,目标是从一个源节点出发找到到达所有其他节点的最短路径。非负权重意味着图中的每条边都有正或零的权值,这简化了问题,因为不存在负权重循环导致的路径长度无限减小的情况。传统的单源最短路径算法如Dijkstra's算法在大规模图上可能会遇到效率瓶颈,而并行算法如∆-步进则旨在通过并行化处理来解决这一问题。 ∆-步进算法是一种迭代方法,它通过在每个步骤中更新一定数量的边(通常是那些权重增加不超过某个固定增量∆的边)来逐步逼近最短路径。这种方法的一个关键优点是它能够有效地处理稀疏图,即那些边的数量远小于顶点数量平方的图。 这份文档深入探讨了在大规模图中如何利用并行计算来解决单源最短路径问题,特别是针对非负权重图的高效算法——∆-步进算法。通过实验证明,这种方法在特定硬件平台上展现了极高的并行加速比,为大规模图数据处理提供了新的解决方案。
2023-03-11 上传

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: WorkflowScript: 14: Invalid parameter "failFast", did you mean "unit"? @ line 14, column 50. eout(time: 48, unit: 'HOURS', failFast: ^ WorkflowScript: 16: Invalid step "parallel" used - not allowed in this context - The parallel step can only be used as the only top-level step in a stages step block @ line 16, column 6. parallel { ^ WorkflowScript: 18: Invalid step "stage" used - not allowed in this context - The stage step cannot be used in Declarative Pipelines @ line 18, column 7. stage('version-A35-2290000204') { ^ 3 errors at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:309) at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1107) at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:624) at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:602) at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:579) at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:323) at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:293) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox$Scope.parse(GroovySandbox.java:163) at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.doParse(CpsGroovyShell.java:190) at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:175) at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:568) at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(CpsFlowExecution.java:518) at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:336) at hudson.model.ResourceController.execute(ResourceController.java:101) at hudson.model.Executor.run(Executor.java:442) Finished: FAILURE

2023-07-13 上传

Started by user paxAutoTest org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: WorkflowScript: 14: Invalid parameter "failFast", did you mean "unit"? @ line 14, column 50. eout(time: 48, unit: 'HOURS', failFast: ^ WorkflowScript: 15: Invalid step "parallel" used - not allowed in this context - The parallel step can only be used as the only top-level step in a stages step block @ line 15, column 21. parallel { ^ WorkflowScript: 16: Invalid step "stage" used - not allowed in this context - The stage step cannot be used in Declarative Pipelines @ line 16, column 25. stage('version-A80S-1240249707') { ^ WorkflowScript: 30: Invalid step "stage" used - not allowed in this context - The stage step cannot be used in Declarative Pipelines @ line 30, column 25. stage('version-A80S-1240249703') { ^ 4 errors at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:309) at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1107) at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:624) at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:602) at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:579) at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:323) at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:293) at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox$Scope.parse(GroovySandbox.java:163) at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.doParse(CpsGroovyShell.java:190) at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:175) at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:568) at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(CpsFlowExecution.java:518) at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:336) at hudson.model.ResourceController.execute(ResourceController.java:101) at hudson.model.Executor.run(Executor.java:442) Finished: FAILURE

2023-07-13 上传