Отправка и опрос данных между клиентом и работниками
PollableDataQueue
позволяет синхронную отправку и опрос данных или сообщений между работниками и клиентом в параллельном пуле во время выполнения расчета. Можно получить промежуточные значения и прогресс расчетов.
Чтобы отправить данные от работника параллельного пула обратно клиенту, сначала создайте PollableDataQueue
в клиенте. Передайте это PollableDataQueue
в parfor
-цикл или другая параллельная конструкция языка, такая как parfeval
. От работников звоните send
отправлять данные обратно клиенту. В клиенте используйте poll
для извлечения результатов сообщения или данных, отправленных от работника.
Вы можете позвонить send
от работника или клиента, который создает PollableDataQueue
, при необходимости.
Можно создать очередь работников и отправить ее обратно клиенту, чтобы включить коммуникацию в обратном направлении. Однако вы не можете отправить очередь от одного работника другому. Использование spmd
, labSend
, или labReceive
вместо этого.
В отличие от всех других указателей объектов, PollableDataQueue
и DataQueue
образцы остаются подключенными, когда их отправляют работникам.
создает объект, который может использоваться для отправки и опроса сообщений (или данных) от различных работников. Создайте p
=
parallel.pool.PollableDataQueuePollableDataQueue
на работнике или клиенте, где необходимо получить данные.
gcp
| labReceive
| labSend
| parallel.pool.DataQueue
| parfeval
| parfevalOnAll
| parfor
| poll
| send