У меня есть вопрос о распараллеливании:Вопрос о распараллеливании задачи
У меня есть два набора данных. Dataset1 имеет m строк и k столбцов, Dataset2 имеет n строк и k столбцов. (M> n) Моя программа считывает эти наборы данных из файлов и сохраняет их в памяти. Задача состоит в том, чтобы взять каждый экземпляр Dataset1 (назовем этот экземпляр запроса) и сравнить со всеми экземплярами Dataset2.
Теперь мой вопрос заключается в том, что:
- (Option1) Должен ли я разделить Dataset2 в й количество разделов и назначить эти разделы к й количеству рабочих потоков в каждом запросе (это означает, что, в сравнение с экземпляр запроса в Dataset2) Dataset1 или
- (Option2) Должен ли я взять x количество экземпляров из набора данных 1, назначьте x число рабочих потоков для запроса Dataset2 одновременно.
Какой из них был бы более эффективным? // Кстати, я использую библиотеку PThreads на данный момент.
Чтобы быть понятным, вы в основном спрашиваете, следует ли разделить больший или меньший набор данных? – phoebus
Нет, не совсем. Мой вопрос состоит в том, чтобы либо разбить Dataset2 (малый), либо работать над этими разделами одновременно, либо просто запрашивать небольшой набор данных одновременно с каждым экземпляром большого массива данных одновременно. Просто разбить или не разбить. – systemsfault