Такое можно устроить из эмуляторов. Звук можно провести через Virtual Audio Cable. Надо только подумать о том, как сделать так, чтобы 32 Вектора не конфликтовали друг с другом.
Видимо так: мастер соединен со входами всех воркеров. Выходы воркеров сливаются в один провод, который идет в мастер.
Каждый воркер имеет свой номер xxx. Он делает BLOAD"TASKxxx". Получает задачу с номером столбца (можно даже диапазон строк, чтобы дробить задачи на мелкие). Считает задачу. По окончании задачи делает BLOAD"READYxxx" и ждет -- это будет от сервера команда готовности принять результат от этого воркера. Затем он делает BSAVE"RESULTxxx" и переходит к началу (ждет следующую задачу).
Сервер, когда не раздает задачи, просто делает BSAVE"READYxxx", затем BLOAD"RESULTxxx". Нужен таймаут на BLOAD. Если нет ответа через 5 сек, переходим к следующему запросу.
BLOAD по-моему может бесконечно ждать требуемого имени. Вот чего я не знаю, так это как сервер сделает BLOAD с таймаутом. Наверное для этого потребуется все-таки какая-то ассемблерная хирургия.





Ответить с цитированием