Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Распределённые вычисления, Какое железо выбрать?  
:(
    Опции темы
KaraKum
  Дата 13.12.2010, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: 1
Всего: 1



Доброе время суток.
Пишу программу на С++ где есть поле для ускорения вычислений (которые сейчас длятся сутками (по 24 часа которые)) в разбиении выполнения на потоки, при этом потоков может быть очень много (найдётся работа для тысяч потоков).
Специфика программы в следующем:
    - используемых данных довольно-таки мало (100 килобайт от-силы (на несколько часов работы)) - то есть их можно передать по сети
    - каскадное разбиение на подзадачи (потоки) - разбив задачу на какие-то части, получившиеся части (подзадачи) можно также разбить на другие
    - процесс вычисления проходит практически без использования оперативной памяти (меньше одного мегабайта)
Так вот вопрос в следующем: какое железо лучше всего подойдёт для осуществления параллельных вычислений для этой задачи?
Гипер-современные (и соответственно дорогие) якобы 8-ми ядерные Core-i7; старые дешёвые (1000 рублей за штуку) однопоточные Celeron'ы с 4ГГц тактовой частоты?; видеокарты от NVidia (GeForce, Tesla) - придётся использовать чуждую мне "CUDA"; ...
Что посоветуете?
PM MAIL WWW   Вверх
Sartorius
Дата 13.12.2010, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: 8
Всего: 37



 Если памяти много на каждую подзадачу не требуется, то ИМХО нет смысла использовать кластеры и т.п. GPU вполне подходит для подобной задачи.

PM MAIL ICQ   Вверх
KaraKum
  Дата 13.12.2010, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: 1
Всего: 1



GPU от NVidia с использованием CUDA?
PM MAIL WWW   Вверх
Artemon
Дата 13.12.2010, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: 1
Всего: 20



Если обработка твоих данных не зависит от передыдующих данных, то CUDA, думаю справится быстрее всех предложенных тобой решений.

Поясню: например есть задача размыть изображение. Данная задача заключается в том, чтобы каждый пиксель обработать определенным алгоритмом. Так вот CUDA может каждый пиксель обработать одновременно (к сожалению забыл, сколько параллельных операций может сделать CUDA, но что-то в районе нескольких тысяч).


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
Sartorius
Дата 13.12.2010, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: 8
Всего: 37



Цитата(KaraKum @  13.12.2010,  14:14 Найти цитируемый пост)
GPU от NVidia с использованием CUDA? 

CUDA или OpenCL на выбор. Или XBox/ PlayStation. Один товарищь на 10 PS терафлопсный кластер дома собрал )) 
PM MAIL ICQ   Вверх
borisbn
Дата 13.12.2010, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 22
Всего: 135



Цитата(KaraKum @  13.12.2010,  13:14 Найти цитируемый пост)
GPU от NVidia с использованием CUDA?

CUDA - привязка к nVidia (не худшая, конечно, но всё-таки привязка). Советую посмотреть на OpenCL, т.к. он поддерживается и nVidia и ATI и, если не ошибаюсь, Intel. Т.е. ты сможешь спокойно (почти) менять видеокарточки и даже выполнять вычисления без оных.
А что за вычисления, если не секрет ? Может можно их оптимизировать и на ЦП ? Например при помощи Intel® Integrated Performance Primitives или Intel® Threading Building Blocks


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
KaraKum
  Дата 13.12.2010, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: 1
Всего: 1



Цитата(borisbn @  13.12.2010,  16:27 Найти цитируемый пост)
А что за вычисления?

Универское задание по симулированию молекулярных (межатомных) взаимодействий в жидкости, упругих и аморфных телах и так далее... Целью задачи является сбор статистики нестандартных явлений (гравитационный резонанс, испускание нейтрона...), поэтому эту задачу можно разбить на потоки вот так: каждый элемент проявляет воздействие (гравитационное, сильное/слабое ядерное, электромагнитное) на каждый другой, изменяя состояние оного, а тот, впоследствии, также проявляется воздействие на каждый другой и так далее - воздействие каждого элемента на все другие можно разбить по потокам и выполнять параллельно, лишь периодически синхронизируя. Один элемент - это 4-10 float-овых значений - не проблема передать даже по Dial-Up модему. Вот мой компьютер (2-х ядерный Интел) 10 элементов симулирует за 2 секунды, 56 элементов за 250 секунд, а 1021 элемент симулирует уже вторые сутки smile
Проблема в том что для совершения последующего шага требует знания состояния предыдущего шага и так далее (то есть, например, конечное состояние системы (мира) нельзя вычислить по формуле как это делается, к примеру, в уравнении координаты точки s=v*t + a*t^2 )

А что можете сказать по поводу распределения вычислений по сети? Клиенты подключаются к серверу и "предлагают" ему свою вычислительную помощь - сервер передаёт какую-то порцию работы. Есть какие-то библиотеки в этой области? Чтобы не решать заново уже решённое - ожидание ответа (торможение всех остальных) от отключившихся клиентов; подхватывание только что подключившихся на-лету и так далее...
PM MAIL WWW   Вверх
boostcoder
Дата 13.12.2010, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(KaraKum @  13.12.2010,  16:32 Найти цитируемый пост)
Есть какие-то библиотеки в этой области?

ага. зовется discoly. пока в процессе написания. обсуждение тут.
PM WWW   Вверх
Sartorius
Дата 13.12.2010, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: 8
Всего: 37



Цитата(KaraKum @  13.12.2010,  17:32 Найти цитируемый пост)
симулированию молекулярных (межатомных) взаимодействий в жидкости, 


Цитата(KaraKum @  13.12.2010,  17:32 Найти цитируемый пост)
каждый элемент проявляет воздействие (гравитационное, сильное/слабое ядерное, электромагнитное) на каждый другой, изменяя состояние оного, а тот,

 В мол. динамике учитывают только электромагнитные взаимодействия. Остальные не имеет смысла обсчитывать в этом маштабе.

PS
 Посмотрите исходники громакса www.gromacs.org. Там грамотно параллелится такой счет.  AFAIK для счета GPU там тоже есть порт.


Это сообщение отредактировал(а) Sartorius - 13.12.2010, 18:50
PM MAIL ICQ   Вверх
W4FhLF
Дата 17.12.2010, 17:42 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 20
Всего: 121



KaraKum, насколько я понял твоя задача похожа на пресловутую n-body problem, которая очень хорошо распараллеливается в целом и в рамках подходов связанных с вычислениями на GPU тоже, тем более ты используешь вычисления одинарной точности. В СДК ещё с самых первых версий лежит пример решения этой задачи.

Вот производительность при решении этой задачи для 107520 объектов. Но тут двойная точность, для одинарной разрыв с обычным процессором был бы гораздо больше, на порядок.

user posted image

Цитата(borisbn @  13.12.2010,  15:27 Найти цитируемый пост)
CUDA - привязка к nVidia (не худшая, конечно, но всё-таки привязка). Советую посмотреть на OpenCL, т.к. он поддерживается и nVidia и ATI и, если не ошибаюсь, Intel. Т.е. ты сможешь спокойно (почти) менять видеокарточки и даже выполнять вычисления без оных.


Вот так может говорить только человек, который никогда ни с одной из этих библиотек не работал. smile Без обид.
Если кратко, то если не хочешь лишнего секса с дровами/совместимостью/пробелами в стандарте/отсутствием норм. доков и кода, то выбирай CUDA. Плюс OpenCL из-за своей универсальности всегда будет медленнее CUDA. Хотя если интерес чисто академический, то почему бы и нет.



--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
KaraKum
  Дата 17.12.2010, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: 1
Всего: 1



О, спасибо за столь развёрнутый ответ!
Тогда такой немного отстранённый от основной темы вопрос про CUDA в контексте моей задачи:
       - будет ли работать CUDA-код на одноядерном процессоре вообще без видеокарт?
       - CUDA - это хоть немного похоже на "pthread" - то есть код примерно следующего (если говорить в-общем) типа не придётся полностью принципиально переписывать?:
Код

//данные, которые используются одновременно во всех потоках:
void* IAmVeryUnsafe[];
void ComputationalFunction(void*)
{
      //безопасно берём какие-нибудь данные из общей памяти:
      pthread_mutex_lock();
      void* someOverallData = IAmVeryUnsage[45];
      pthread_mutex_unlock();
      //вычисляем принцип мироздания...
}
//давайте разобьём на 100 потоков:
int main(int argc, int** argv)
{
      for(int i = 0; i < 100; i++)
      {
           pthread_create(..., computationalFunction, ...);
      }
      //ждём когда все выполнят работу...
      pthread_join(...);
}


      - будет ли CUDA-код хотя бы компилироваться для Линукса? (кроссплатформенность бывает узкой, вот, например, в случае с PhysX (тоже от NVidia) в Линуксе не поддерживает мягкие ткани (удивительно!) и полностью отсутствует 64-битная версия)


PM MAIL WWW   Вверх
W4FhLF
Дата 17.12.2010, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 20
Всего: 121



KaraKum, CUDA это библиотека. А код написанный под GPU на обычном процессоре работать не будет. Там свой компилятор и свой машинный код. Но программу ты пишешь на С/С++. Лучше то конечно почитать что-нибудь, я же тут не стану тебе цитировать документацию. 


Цитата(KaraKum @  17.12.2010,  17:59 Найти цитируемый пост)
будет ли CUDA-код хотя бы компилироваться для Линукса?


да спокойно вообще, CUDA есть под линукс, вин, макось. Просто ставишь дрова, рантайм и поехало.

Добавлено @ 18:17
Цитата(KaraKum @  17.12.2010,  17:59 Найти цитируемый пост)
CUDA - это хоть немного похоже на "pthread" - то есть код примерно следующего (если говорить в-общем) типа не придётся полностью принципиально переписывать?:


Концептуально идея таже, но там масса своих деталей. 

переписывать думаю придётся smile

Это сообщение отредактировал(а) W4FhLF - 17.12.2010, 18:17


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Фантом
Дата 17.12.2010, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Цитата(W4FhLF @  17.12.2010,  17:42 Найти цитируемый пост)

Вот производительность при решении этой задачи для 107520 объектов.

А это прямое суммирование или tree-code?
PM   Вверх
W4FhLF
Дата 17.12.2010, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 20
Всего: 121



Фантом, полагаю, что прямое суммирования раз оно эффективно работает на ГПУ smile Но я не уверен. 

Это сообщение отредактировал(а) W4FhLF - 17.12.2010, 19:23


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
KaraKum
  Дата 17.12.2010, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: 1
Всего: 1



 smile Пока ждал первого ответа на свой вопрос решил делать упор на распределённые вычисления, организованные через WWW на компьютерах друзей и знакомых - набралось уже 20 компьютеров (разношёрстной "публики" - от Pentium III до Xeon-сервера и от DOS до Linux - ужас). (DOS, кстати, в интернет-то выйти может?).
Ещё сделал не всё но что-то запускаемое есть: прога на клиенте добавляется в автозапуск; при старте компа подключается ко мне (в "центр"), получает задание, выполняет его и отправляет результат мне; потребляет на клиенте не всю мощность процессора (чтобы пользователь не жаловался на то что у него мышка по экрану еле ползает) (правда не научился как сделать зависимость от мощности процессора); и так далее...
Что рассказываю-то: вот и не знаю как сюда впишется CUDA - конечно можно забыть про CUDA вообще и развивать всё уже по намеченной траектории, но всё-таки обидно "махнуть рукой" на ЭВМ, у которых есть GPU от NVidia, но  не работает на меня  smile 

Это сообщение отредактировал(а) KaraKum - 17.12.2010, 19:56
PM MAIL WWW   Вверх
Фантом
Дата 17.12.2010, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Цитата(W4FhLF @  17.12.2010,  19:20 Найти цитируемый пост)
Фантом, полагаю, что прямое суммирования раз оно эффективно работает на ГПУ

Э, нет, так я и сам могу.  smile Собственно, мне именно это и хочется узнать, поскольку, если это прямое суммирование, то такой результат понятен, но (по крайней мере для меня) неинтересен. А вот если на GPU удалось выжать такой прирост производительности для tree-кода, то это уже совсем другое дело.
PM   Вверх
W4FhLF
Дата 17.12.2010, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 20
Всего: 121



Фантом, здесь подробно расписана реализация.




--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Фантом
Дата 17.12.2010, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Цитата(W4FhLF @  17.12.2010,  21:22 Найти цитируемый пост)
здесь подробно расписана реализация.

Спасибо, посмотрел. Увы, но пока это лишь прямое суммирование, причем предельно простое - с интегрированием методом Эйлера и регуляризацией путем обрезки потенциала. Все остальное только "в будущем мы предполагаем рассмотреть...". А жаль.
PM   Вверх
W4FhLF
Дата 17.12.2010, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 20
Всего: 121



Цитата(Фантом @  17.12.2010,  21:50 Найти цитируемый пост)
и регуляризацией путем обрезки потенциала


Это где?

Цитата(Фантом @  17.12.2010,  21:50 Найти цитируемый пост)
Все остальное только "в будущем мы предполагаем рассмотреть...". А жаль.


Дык примеру то сколько лет?) Я немного поискал, уже кое-что сделано. Погугли:

Toward efficient GPU-accelerated N-body simulations
A novel multiple-walk parallel algorithm for the Barnes–Hut treecode on GPUs – towards cost effective, high performance N-body simulation
Accelerating astrophysical particle simulations with programmable hardware (FPGA and GPU)
High Performance Direct Gravitational N-body Simulations on Graphics Processing Units
The Chamomile Scheme: An Optimized Algorithm for N-body simulations on Programmable GPUs


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Фантом
Дата 17.12.2010, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Цитата(W4FhLF @  17.12.2010,  22:11 Найти цитируемый пост)

Это где?

П.31.2, две последние формулы (с приближенными равенствами).


Цитата(W4FhLF @  17.12.2010,  22:11 Найти цитируемый пост)

Дык примеру то сколько лет?) Я немного поискал, уже кое-что сделано.

Да я знаю. Проблема в том, как это сделано - эти вещи почти всегда эффективны на синтетических тестах, а в реальных задачах производительность очень серьезно падает. Именно поэтому первый вопрос и возник - "а вдруг"? Либо я все-таки что-то пропустил, либо кто-то все-таки что-то хорошее придумал.
PM   Вверх
W4FhLF
Дата 17.12.2010, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 20
Всего: 121



Цитата(Фантом @  17.12.2010,  23:13 Найти цитируемый пост)
П.31.2, две последние формулы (с приближенными равенствами).


А, это ты про защиту от деления на ноль...


Цитата(Фантом @  17.12.2010,  23:13 Найти цитируемый пост)
Проблема в том, как это сделано - эти вещи почти всегда эффективны на синтетических тестах, а в реальных задачах производительность очень серьезно падает.


А чем эти тесты от реальных задач отличаются?


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Фантом
Дата 17.12.2010, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: нет
Всего: 49



Цитата(W4FhLF @  17.12.2010,  23:43 Найти цитируемый пост)

А, это ты про защиту от деления на ноль...

Не совсем. Точнее, про это, но это не защита от деления на ноль. Вероятность точно попасть одним телом в другое ничтожно мала, так что формально ничего никуда не выпадет... только результат будет неправильным - из-за очень быстрого изменения скоростей при тесных сближениях, при котором достаточный в обычных случаях шаг интегрирования будет слишком большим.

Цитата(W4FhLF @  17.12.2010,  23:43 Найти цитируемый пост)

А чем эти тесты от реальных задач отличаются? 

Параметрами тел, их распределением, характерными интервалами времени, на которых надо считать... Ну вот те же тесные сближения: если сначала расположить все точки равномерно и считать все на временах, меньших времени пересечения, то код получится очень эффективным  - из-за практически постоянного распределения точек по дереву поиска.
PM   Вверх
W4FhLF
Дата 18.12.2010, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 20
Всего: 121



Фантом, ясно, спасибо за небольшой экскурс. ;)


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
KaraKum
  Дата 20.12.2010, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: 1
Всего: 1



Насколько я знаю, нет стандартного метода потреблять только определённый процент производительности процессора, правильно ли я предполагаю что следует в коде расставить вызовы "sleep()", в которые передавать время, зависящее от мощности компа чем слабее комп, тем больше время "отдыха". Однако как можно определить такую абстрактную характеристику как "мощность"? Может есть уже какие-то реализованные средства? Или писать что-то типа?:
Код

int power = -1;
switch(pcType)
{
     case pentium_III: power = 5; break;
     case pentium_IV: power = 8; break;
     ....
     case Core_i7: power = 16; break;
     ....
}

бррр....
Что по этому поводу можете посоветовать? Ато даже не знаю с чего начать поиски...
PM MAIL WWW   Вверх
xvr
Дата 20.12.2010, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



Цитата(KaraKum @  20.12.2010,  00:57 Найти цитируемый пост)
Насколько я знаю, нет стандартного метода потреблять только определённый процент производительности процессора,
А зачем? Что бы дать поработать Idle процессу ОС? Если надо обеспечить равномерную загрузку процессора в том числе и другими процессами, то надо играться приоритетом задачи.
А вызов sleep в произвольные моменты времени может только ухудшить общую производительность системы, т.к. большую часть времени процессор будет занять переключениями задач (на вашу задачу и обратно), а не полезной работой



PM MAIL   Вверх
KaraKum
  Дата 20.12.2010, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: 1
Всего: 1



Цитата(xvr @  20.12.2010,  15:52 Найти цитируемый пост)
надо играться приоритетом задачи

Да - это вроде подходит...
А что по поводу общих характеристик о производительности компьютера? Это всё-равно нужно для того чтобы выделять задачи с размером в зависимости от мощности компьютера.
PM MAIL WWW   Вверх
xvr
Дата 20.12.2010, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



Цитата(KaraKum @  20.12.2010,  17:27 Найти цитируемый пост)
А что по поводу общих характеристик о производительности компьютера?
Смотрите на количество процессоров и тактовую частоту. Конкретная платформа - это уже очень тонкая настройка  smile 

PM MAIL   Вверх
KaraKum
Дата 22.12.2010, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 640
Регистрация: 3.12.2007

Репутация: 1
Всего: 1



Цитата(xvr @  21.12.2010,  00:19 Найти цитируемый пост)
Смотрите на количество процессоров и тактовую частоту.

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


P.S. Спрашиваю потому что иногда при поиске решения мозг как-то зацикливается на одном и том же и перестаёт видеть порой простые и красивые решения...
PM MAIL WWW   Вверх
xvr
Дата 22.12.2010, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



В принципе нормально ...
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0764 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.