Re: PPL или Boost
От: chaotic-good  
Дата: 28.01.15 13:44
Оценка: +2
Здравствуйте, AlexCasual, Вы писали:

AC>Доброго времени!

AC>Стоит задача разработки библиотеки параллельных вычислений, примитив пока что такой — каждое вычисление оборачивается в задачу, которая запускается в определённое время и на выполнение которой отводится определённое время (после чего она отменяется/приостанавливается). Какой лучше избрать механизм (скорость/гибкость работы и быстрота разработки + КРОССПЛАТФОРМЕННОСТЬ) — Boost.Asio или PPL?
AC>В PPL меня привлекает красивый механизм отмены задач, но напрягает то, что "за кулисами", а Boost.Asio кажется громоздкой для такой задачи. Быть может есть вообще что-то готовое, чтобы не городить велосипедов?

ищи task stealing thread pool какой-нибудь
ограничение по времени невозможно организовать нормально нигде, ты не можешь просто взять и остановить задачу, можешь только попросить ее остановиться, а задача должна периодически проверять, просят ли ее остановиться или нет, все остальное работать не будет
PPL или Boost
От: AlexCasual  
Дата: 28.01.15 13:29
Оценка:
Доброго времени!
Стоит задача разработки библиотеки параллельных вычислений, примитив пока что такой — каждое вычисление оборачивается в задачу, которая запускается в определённое время и на выполнение которой отводится определённое время (после чего она отменяется/приостанавливается). Какой лучше избрать механизм (скорость/гибкость работы и быстрота разработки + КРОССПЛАТФОРМЕННОСТЬ) — Boost.Asio или PPL?
В PPL меня привлекает красивый механизм отмены задач, но напрягает то, что "за кулисами", а Boost.Asio кажется громоздкой для такой задачи. Быть может есть вообще что-то готовое, чтобы не городить велосипедов?
Спасибо!
Re: PPL или Boost
От: niXman Ниоткуда https://github.com/niXman
Дата: 28.01.15 13:34
Оценка:
https://github.com/Reactive-Extensions/RxCpp
https://www.cilkplus.org/
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[2]: PPL или Boost
От: niXman Ниоткуда https://github.com/niXman
Дата: 28.01.15 13:36
Оценка:
ну и Disruptor, конечно:
https://github.com/fsaintjacques/disruptor--
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Отредактировано 28.01.2015 13:49 niXman . Предыдущая версия .
Re: PPL или Boost
От: niXman Ниоткуда https://github.com/niXman
Дата: 28.01.15 13:41
Оценка:
Здравствуйте, AlexCasual, Вы писали:

AC>... каждое вычисление оборачивается в задачу, которая запускается в определённое время и на выполнение которой отводится определённое время (после чего она отменяется/приостанавливается).

а эти ваши вычисления, имеют точки выхода? и как вы их собираетесь отменять/приостанавливать?
между собой вычисления общаются?
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[2]: PPL или Boost
От: AlexCasual  
Дата: 28.01.15 16:25
Оценка:
Здравствуйте, niXman, Вы писали:

X>Здравствуйте, AlexCasual, Вы писали:


AC>>... каждое вычисление оборачивается в задачу, которая запускается в определённое время и на выполнение которой отводится определённое время (после чего она отменяется/приостанавливается).

X>а эти ваши вычисления, имеют точки выхода? и как вы их собираетесь отменять/приостанавливать?
X>между собой вычисления общаются?

Вычисления,конечно,имеют точки выхода,а останавливать- передавать объект в задачу,на котором устанавливается/опрашивается состояние.
Re: PPL или Boost
От: TarasKo Голландия  
Дата: 28.01.15 20:56
Оценка:
Мы используем PPL, но правда задача немного другая. У нас сложный граф вычислений, задачи использую результаты других задач, и нет ограничений по времени. futures из буста не понравились, потому что
— нельзя было к futures прицепить несколько continuations
— под капотом нет пула потоков, async порождал новый поток
— нет кооперативной многозадачности, позвав future::get и дожидаясь результатов другой задачи, вызывающий поток не используется для вычисления других задач

А ppl проще и удобнее, хотя и в нём вылезают косяки в самых неожиданных места. Про PPL сложно что либо нагуглить. Кроссплатформенности тоже нет, хотя есть якобы кроссплатформенный проект C++ Rest SDK, но не пробовал его
Re: PPL или Boost
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 29.01.15 05:13
Оценка:
Здравствуйте, AlexCasual, Вы писали:

AC>Стоит задача разработки библиотеки параллельных вычислений

MPI? Вроде на даже амазоне есть концы под него.
Sic luceat lux!
Re: PPL или Boost
От: nshmakov Беларусь  
Дата: 29.01.15 06:09
Оценка:
Здравствуйте, AlexCasual, Вы писали:

AC>Доброго времени!

AC>Стоит задача разработки библиотеки параллельных вычислений, примитив пока что такой — каждое вычисление оборачивается в задачу, которая запускается в определённое время и на выполнение которой отводится определённое время (после чего она отменяется/приостанавливается). Какой лучше избрать механизм (скорость/гибкость работы и быстрота разработки + КРОССПЛАТФОРМЕННОСТЬ) — Boost.Asio или PPL?
AC>В PPL меня привлекает красивый механизм отмены задач, но напрягает то, что "за кулисами", а Boost.Asio кажется громоздкой для такой задачи. Быть может есть вообще что-то готовое, чтобы не городить велосипедов?
AC>Спасибо!

Также Вы можете обратить внимание на SObjectizer. А небольшой пример работы с ним можно посмотреть в этой статье.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.