Algorithm 工作窃取算法
我正在读一篇关于并发运行时的文章,这篇文章中有一个名为Algorithm 工作窃取算法,algorithm,queue,work-stealing,Algorithm,Queue,Work Stealing,我正在读一篇关于并发运行时的文章,这篇文章中有一个名为工作窃取的算法。但是我不知道这个算法是什么!所以我想要一个小的解释或一些好的链接,可以帮助我做一个关于这个算法的演示 这些有帮助吗 这些有帮助吗 我最近读到了那篇文章,它描述了一个Java Fork/Join框架,并找到了窃取工作的Algroithms 从那篇论文中,我们从以下内容开始: Result solve(Problem problem) { if (problem is small) directly so
工作窃取的算法。但是我不知道这个算法是什么!所以我想要一个小的解释或一些好的链接,可以帮助我做一个关于这个算法的演示 这些有帮助吗
这些有帮助吗
我最近读到了那篇文章,它描述了一个Java Fork/Join框架,并找到了窃取工作的Algroithms
从那篇论文中,我们从以下内容开始:
Result solve(Problem problem) {
if (problem is small)
directly solve problem
else {
split problem into independent parts
fork new subtasks to solve each part
join all subtasks
compose result from subresults
}
}
这些分叉子任务(else块中的第2行)可以递归地自己创建更多的子任务,从而填充并行工作线程的工作队列。如果一个线程完成并且没有更多的事情要做,他可以从另一个线程的队列中“窃取”工作
简而言之,关于所有的细节,我建议你看看这篇文章 我最近读了那篇文章,它描述了一个Java Fork/Join框架,其中发现了窃取工作的Algroithms
从那篇论文中,我们从以下内容开始:
Result solve(Problem problem) {
if (problem is small)
directly solve problem
else {
split problem into independent parts
fork new subtasks to solve each part
join all subtasks
compose result from subresults
}
}
这些分叉子任务(else块中的第2行)可以递归地自己创建更多的子任务,从而填充并行工作线程的工作队列。如果一个线程完成并且没有更多的事情要做,他可以从另一个线程的队列中“窃取”工作
简而言之,关于所有的细节,我建议你看看这篇文章 在以下第9频道视频中可以找到工作窃取算法的非常好且易于理解的解释:,请参阅00:44:00
(by)在以下第9频道视频中可以找到工作窃取算法的非常好且易于理解的解释:,请参阅00:44:00
(by)您可以看看“英特尔任务调度器TBB算法”,它使用的是工作窃取模式。请参见您可以看看“英特尔任务调度器TBB算法”,它使用的是工作窃取模式。参见谢谢,第一个链接足够好:)但是第二个链接太长了:D第一个链接断了。谢谢,第一个链接足够好:)但是第二个链接太长了:D第一个链接断了。文章内容丰富。谢谢分享。这篇文章内容丰富。谢谢分享。非常有用的视频。谢谢分享。非常有用的视频。谢谢分享。