Как сделать библиотеку Python Ray разделяемой памятью доступной для записи? - PullRequest
1 голос
/ 07 августа 2020

Немного контекста: я пишу программу тестирования акций, которая подписывается на веб-канал, который передает данные для более чем 100 акций за 1 минуту. Поскольку это программа обратного тестирования, она фактически получает данные от меня. , например, A, B, C .... A, B, C ... непрерывно до конца периода времени. В настоящее время моя установка с Ray - это асинхронный вызов handleStock.remote() для каждого из данных акций. По соображениям производительности, каждый раз, когда он обрабатывает один и тот же запас, но в разное время, должен быть некоторый кеш, чтобы ускорить процесс. Но из-за того, что каждый из складских запасов за раз работает в Ray как совершенно новый процесс / рабочий, у меня нет места для совместного использования памяти и записи в нее. Я попробовал метод Ray put, но он только для чтения.

Есть ли способ разрешить этот или другой инструмент для запуска этого бэк-теста?

1 Ответ

2 голосов
/ 11 августа 2020

Значения хранилища объектов Ray должны быть первыми. Одним из возможных вариантов здесь является сохранение данных в акторе, а не в хранилище объектов.

Если вам действительно нужно вернуть объект и производительность важна, возможно, разбейте операцию на 2 операции asyn c .

  1. Выполнить расчет
  2. Вернуть результат
...