work-stealing相关内容

在 C/C++ 中实现工作窃取队列?

我正在寻找在 C/CPP 中正确实现工作窃取队列的方法.我环顾了谷歌,但没有发现任何有用的东西. 也许有人熟悉一个好的开源实现?(我不喜欢实现取自原始学术论文的伪代码). 解决方案 没有免费的午餐. 请看盗纸原作.这篇论文很难理解.我知道那篇论文包含理论证明而不是伪代码.但是,根本没有比 TBB 更简单的版本更多.如果有的话,它不会提供最佳性能.工作窃取本身会产生一些开销,因此 ..
发布时间:2022-01-21 12:10:31 C/C++开发

Java ForkJoinPool具有非递归任务,是否可以正常工作?

我想通过以下方法将 Runnable 任务提交到ForkJoinPool: forkJoinPool.submit(Runnable task) 注意,我使用的是JDK 7. 在引擎盖下,它们被转换为ForkJoinTask对象。 我知道ForkJoinPool在递归分割成较小的任务时效率很高。 问题: 如果没有递归,工作窃取是否仍然在 ..
发布时间:2018-12-10 23:55:58 Java开发

如何在不将指针声明为volatile的情况下实现CUDA全局内存一致性?

我会先做一些情境化。我试图在CUDA中使用deques实现非阻塞工作窃取方法。 deques(aDeques)在全局存储器中的块分段数组中,并且popWork()设备函数具有弹出工作以进给线程的目的。除了全局deques,每个块在共享内存(aLocalStack)有一个堆栈,它可以在本地工作。流行发生在3个级别。第一次尝试是在共享堆栈中,第二次尝试是在deque拥有的块和第三次尝试是工作窃取其他d ..
发布时间:2017-03-05 19:27:21 其它硬件开发

就是工作窃取总是最合适的用户级线程调度算法?

我一直在研究不同的调度算法,我在执行一个线程池。由于问题的性质,我解决我可以假设正在并行运行的任务是独立的,不衍生任何新的任务。该任务可以是不同大小的。 我就立即最受欢迎的调度算法“的工作窃取”使用无锁双端本地作业队列,而我是比较满意这种方法。但是我不知道是否有任何共同的情况下,工作窃取是不是最好的方法。 有关这个特定的问题,我各个任务的大小的良好估计。工作窃取并没有使用这些信息,我不知道是否 ..

工作窃取算法

我在阅​​读有关并发运行时的文章,并有算法名为工作窃取这篇文章。但我不知道这是什么算法!所以我想解释一下,或者可以帮助我做出这个算法presentation一些很好的链接。 解决方案 是任何这些有用吗? 调度多线程计算中通过工作窃取 ..
发布时间:2015-11-30 16:04:29 C/C++

工作窃取队列中的C / C实现++?

我在寻找一个合适的实施C / CPP工作窃取队列。我环顾四周,谷歌,但没有发现任何有用的。 也许有人熟悉一个很好的开放源代码实现? (我preFER不执行从原来的学术论文采取伪code)。 解决方案 没有免费的午餐。 请看看原来的工作窃取纸。本文是很难理解的。我知道,纸中含有的理论依据,而不是伪code。然而,根本就没有这样的更多的简单版本比TBB。如果有的话,它不会给最佳性能。工作窃取本 ..
发布时间:2015-11-30 15:52:44 C/C++开发