Описание тега work-stealing
A task scheduling algorithm, well suited for shared memory environments, where parallel processors can easily access each other's pending tasks.
1
ответ
Диспетчер WPF и кража работы?
У меня есть приложение, которое использует WPF для своего графического интерфейса, но по команде запускает очень большую нагрузку обработки. Я заметил, что мой GUI был довольно вялым, когда работал движок (интенсивная обработка), и при использовании…
29 июн '16 в 21:46
1
ответ
Кража работы и поток на уровне ядра
Воровство работы - распространенная стратегия для пользовательского потока. Каждый процесс имеет рабочую очередь для приема на работу и будет воровать из очереди других, когда у них нет работы. Есть ли ядро, которое реализует такую стратегию для п…
21 фев '15 в 16:59
1
ответ
Когда использовать схему разрушения, а когда локальное хранилище с кражей работы?
Правильно ли следующее? Шаблон разрушения имеет лучшую производительность и масштабируемость при параллельном обработке, если каждая запись должна обрабатываться несколькими способами (операции или аннотации), поскольку она может быть распараллелена…
11 мар '13 в 14:28
2
ответа
Как я могу обеспечить согласованность глобальной памяти CUDA без объявления указателя как изменчивого?
Я сначала сделаю некоторую контекстуализацию. Я пытаюсь реализовать неблокирующий метод кражи работы с использованием deques в CUDA. Deques (aDeques) находятся в массиве с сегментированными блоками в глобальной памяти, а функция устройства popWork()…
23 янв '13 в 16:39
2
ответа
Методы децентрализованного планирования задач в.NET
Я пытался узнать больше деталей о CLR 4.0. и ThreadPool и различные стратегии, рекомендованные Microsoft. Я считаю себя достаточно современным по многим из этих тем и ежедневно использую многопоточность и параллельный код. Недавно я снова прошел чер…
09 авг '13 в 15:11
1
ответ
Можно ли написать решение для рекурсивного объединения вил, используя Executors.newWorkStealingPool()?
Приведенный ниже код предназначен для демонстрации простого использования рекурсивного объединения вил (найти макс.). Я знаю, что Java JIT может добиться этого быстрее в простом однопоточном цикле, но это только для демонстрации. Первоначально я реа…
13 янв '17 в 12:07
1
ответ
Контекст основного потока, возвращающийся в другом аппаратном потоке, неопределенное поведение?
В настоящее время я работаю над библиотекой параллелизма для C++ с зелеными потоками, использующей кражу работы для балансировки нагрузки между планировщиками на нескольких аппаратных потоках. Я прикрепил основной контекст к его аппаратному потоку, …
14 май '17 в 13:07
1
ответ
Производительность кражи Cilk работы
Я читаю статьи, в которых описывается работа Килка по краже графиков. 1) Насколько я понимаю, планировщик не знает задач критического пути, а просто пытается поддерживать его выполнение в любом случае, крадя задачи, которые не являются "глубокими" в…
22 авг '16 в 13:57
0
ответов
Как реализовать запланированный рабочий процесс (низкий приоритет) ExecutorService?
Мой проект требует, чтобы две задачи с низким приоритетом выполнялись регулярно. Простое решение - назначить исполнителя с двумя заданиями, запланированными с фиксированной ставкой. Теперь проблема в том, что могут быть другие задачи с более высоким…
14 сен '17 в 07:10
2
ответа
Всегда ли Work Stealing является наиболее подходящим алгоритмом планирования потоков на уровне пользователя?
Я исследовал различные алгоритмы планирования для пула потоков, которые я реализую. Из-за характера проблемы, которую я решаю, я могу предположить, что задачи, выполняемые параллельно, независимы и не порождают никаких новых задач. Задачи могут быть…
05 апр '10 в 08:03
1
ответ
Использование cilk++ воровство работы
Я новичок в cilk++, и я хочу использовать планировщик кражи работы cilk. Я не мог найти много информации об этом. Кто-нибудь может мне помочь в этом? Благодарю.
09 апр '13 в 05:09
3
ответа
Выполняет многопоточную загрузку тысяч изображений, вызывая IOException
У меня проблема с загрузкой большого количества изображений через ForkJoinPool, я тестирую на 4-х ядерном Intel с гипер-продвижением так 8 логических потоков. Тем не менее, я ограничиваю пул только 4 потоками. И я получаю ошибки от ImageIO, не в сос…
11 дек '14 в 20:12
1
ответ
Похищение параллельной работы, кажется, не крадет много работы
Идея состоит в том, чтобы запустить параллельную работу на 96-ядерном компьютере с кражей работы. ForkJoinPool, Ниже приведен код, который я использую до сих пор: import scala.collection.parallel.ForkJoinTaskSupport import scala.concurrent.forkjoin.…
01 фев '18 в 16:43
1
ответ
Java ForkJoinPool с нерекурсивными задачами, работает ли воровство?
Я хочу представить Runnable задачи в ForkJoinPool с помощью метода: forkJoinPool.submit(Runnable task) Обратите внимание, я использую JDK 7. Под капотом они превращаются в объекты ForkJoinTask. Я знаю, что ForkJoinPool эффективен, когда задача рекур…
05 май '15 в 07:52
0
ответов
Реализация алгоритма взаимного исключения Дейкстры
Я пытаюсь реализовать алгоритм Дейкстры в пуле потоков форка / соединения (состоит из основного пула потоков с глобальной очередью задач и N потоков с собственной очередью задач) на основе решения Дейкстры проблемы в управлении параллельным программ…
20 окт '18 в 07:37
13
ответов
Реализация очереди кражи работы в C/C++?
Я ищу правильную реализацию очереди кражи работы в C/CPP. Я посмотрел вокруг Google, но не нашел ничего полезного. Возможно, кто-то знаком с хорошей реализацией с открытым исходным кодом? (Я предпочитаю не реализовывать псевдокод, взятый из оригинал…
20 янв '10 в 13:57
4
ответа
Алгоритм кражи работы
Я читаю статью о Concurrency Runtime, и есть алгоритм с именем work stealing в этой статье. но я понятия не имею, что это за алгоритм! поэтому я хочу небольшое объяснение или какую-нибудь хорошую ссылку, которая могла бы помочь мне сделать презентац…
31 янв '12 в 14:40
1
ответ
Как я могу показать, что в Java Fork/Join Framework происходит кража работы?
Я хотел бы улучшить мой небольшой пример fork/join, чтобы показать, что во время выполнения платформы Java Fork/Join происходит кража работы. Какие изменения мне нужно сделать, чтобы следующий код? Цель примера: просто провести линейное исследование…
28 дек '12 в 23:04
2
ответа
Используйте CompletableFuture на ForkJoinpool и избегайте ожидания потока
Здравствуйте, я думал с CompletableFuture и по умолчанию ForkJoinPool Я мог бы оптимизировать выполнение задачи больше, чем классический ExecutorService но я что-то упустил С этим кодом выполнение занимает 1 секунду, у меня есть 3 рабочих потока: fo…
26 авг '16 в 15:09
2
ответа
В Java 8 Executors.newWorkStealingPool() также обеспечивает очередь задач?
Есть ли очередь ожидающих выполнения задач, используемых в сочетании с Java 8? Executors.newWorkStealingPool()? Например, предположим, что число # доступных ядер равно 2, и Executors.newWorkStealingPool() пусто, потому что 2 задачи уже запущены. Что…
24 фев '16 в 00:46