Создание потоков в кластере - PullRequest
       27

Создание потоков в кластере

1 голос
/ 17 сентября 2009

Я хотел бы знать, есть ли способ создать потоки на других узлах, не запуская процесс на узлах. Например: - допустим, у меня есть кластер из 5 узлов. Я запускаю приложение на узле 1. Это создает 5 потоков. Я хочу, чтобы потоки создавались не в одной и той же системе, а в кластере, скажем, 1 узел 1 тип потока. Есть ли способ, которым это можно сделать, или это больше зависит от планировщика нагрузки и делает ли openMP что-то подобное?

если в вопросе есть двусмысленность, пожалуйста, дайте мне знать, я уточню.

Ответы [ 2 ]

2 голосов
/ 09 ноября 2009

Краткий ответ - не просто. Потоки совместно используют адресное пространство процессов, поэтому их крайне трудно переместить по узлам кластера. И, если это возможно (существуют системы, которые поддерживают это), то получение их для поддержания согласованного состояния приводит к большим накладным расходам синхронизации и связи, которые влияют на производительность.

Короче говоря, если вы распределяете приложение по кластеру, используйте несколько процессов и выберите подходящий механизм связи.

0 голосов
/ 17 сентября 2009

обычно оставляйте потоки для виртуальной машины или движка, чтобы избежать очень инертных блокировок, фокусировки приложения или транспорта, если он есть, время создания (200 гц = 5 мс эвристики), если 2, перерисовка, хороший шаблон: eventdrive

...