WCF. Распаралеливание.
От: vizgl  
Дата: 04.10.09 10:25
Оценка:
Привет всем. Я новенький на форуме (раньше не нуждался в помощи), но не новенький в программировании
Вообщем задача такая:
Есть двухмерная область, она разбивается, пускай, на 4 ( в реалной задаче больше ) квадрата. На одном компьютере запускается сервис ( если использовать WCF ), дальше запускаются 4 клиента на 4-ёх разных компьютерах, для которых назначается свой квадрат, для расчетов.
В этой дхумерной области размещены частицы, общее количество которых — 1 600 000 ( снова же, в реальной задаче их больше . Так вот, в каждом квадрате есть частицы, и компьютер который закреплен за этим квадратом, вычисляет их перемещения, и отправляет состояния частиц на сервис. Сервис в свою очередь, принимает данные о каждом квадрате, и рисует положение частиц в области. Если частица вылетает из одного кдвадрата, то сервис заботится о том, что бы она влетела в другой, т.е. передает ее другому компьютеру.

Вопрос:
— Подходит ли для этих целей WCF? Если нет, то что подходит?
— Как можно уменьшить нагрузку на сеть, т.к. 1 600 000 * 8 (x — 4 байта, y — 4 байта) / 1024 / 1024 = 12 мб. Это должен обрабатывать ( получать из сети ) сервис, где-то через каждую 1 сек.

P.S надеюсь доходчиво обьяснил
Re: WCF. Распаралеливание.
От: vizgl  
Дата: 04.10.09 20:52
Оценка:
Что никто не знает?
Re: WCF. Распаралеливание.
От: Lloyd Россия  
Дата: 04.10.09 20:59
Оценка: +1
Здравствуйте, vizgl, Вы писали:

V>Вопрос:

V>- Подходит ли для этих целей WCF? Если нет, то что подходит?
V>- Как можно уменьшить нагрузку на сеть, т.к. 1 600 000 * 8 (x — 4 байта, y — 4 байта) / 1024 / 1024 = 12 мб. Это должен обрабатывать ( получать из сети ) сервис, где-то через каждую 1 сек.

А вы померьте, не будут ли затраты на предачу по сети выше, чем преимущества, получаемые за счет дополительных машин в вычислении.
Re: WCF. Распаралеливание.
От: samius Япония http://sams-tricks.blogspot.com
Дата: 04.10.09 21:14
Оценка:
Здравствуйте, vizgl, Вы писали:

V>В этой дхумерной области размещены частицы, общее количество которых — 1 600 000 ( снова же, в реальной задаче их больше . Так вот, в каждом квадрате есть частицы, и компьютер который закреплен за этим квадратом, вычисляет их перемещения, и отправляет состояния частиц на сервис. Сервис в свою очередь, принимает данные о каждом квадрате, и рисует положение частиц в области. Если частица вылетает из одного кдвадрата, то сервис заботится о том, что бы она влетела в другой, т.е. передает ее другому компьютеру.


V>- Как можно уменьшить нагрузку на сеть, т.к. 1 600 000 * 8 (x — 4 байта, y — 4 байта) / 1024 / 1024 = 12 мб. Это должен обрабатывать ( получать из сети ) сервис, где-то через каждую 1 сек.


Если предположить что кол-во частиц, покидающих пределы текущего квадрата сильно меньше общего колива, то передавать полные координаты можно лишь для частиц-перебежчиков. Ну а чтобы нарисовать на экране все частицы, 8 байт на частицу не нужно. Для экрана среднего разрешения 3 байта на частицу будет вполне достаточно.

З.Ы. Разве кроме координат частиц ничего не надо передавать? Хотя бы скорость, направление движения?
Re: WCF. Распаралеливание.
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 04.10.09 21:53
Оценка:
Здравствуйте, vizgl, Вы писали:

V>- Подходит ли для этих целей WCF? Если нет, то что подходит?


Если вообще подходят "гражданские" сетевые технологии (ethernet, ip), то подходит.

V>- Как можно уменьшить нагрузку на сеть, т.к. 1 600 000 * 8 (x — 4 байта, y — 4 байта) / 1024 / 1024 = 12 мб. Это должен обрабатывать ( получать из сети ) сервис, где-то через каждую 1 сек.


Только менять алгоритм. Если менять алгоритм не выходит, то никак.
... << RSDN@Home 1.2.0 alpha 4 rev. 1237 on Windows 7 6.1.7100.0>>
AVK Blog
Re: WCF. Распаралеливание.
От: vizgl  
Дата: 05.10.09 07:05
Оценка:
Вообщем это тема на диплом. По сути будет моделироватся газ, состоящий из молекул, какбы "физический движок" — событийное программирование "Модель твердых сфер".
Мне предложили 2 темы:
— расчеты с помощью видеокарты, но т.к. видеокарта у меня старая, и соответственно шейдеры не держит ( ну держит но HLSL 2.0, а GLSL вообще не держит ).
— распаралеливание, с помощью чего либо

Впринципе, для начала попробую использовать алгоритм "dt" для движения частиц, т.к. реализвация в несколько строчек, для тестирования сети, если не покатит, буду с преподом разговаривать
Re[2]: WCF. Распаралеливание.
От: samius Япония http://sams-tricks.blogspot.com
Дата: 05.10.09 08:30
Оценка:
Здравствуйте, vizgl, Вы писали:

V>Впринципе, для начала попробую использовать алгоритм "dt" для движения частиц, т.к. реализвация в несколько строчек, для тестирования сети, если не покатит, буду с преподом разговаривать


А под многоядерность уже распараллелено?
Re[3]: WCF. Распаралеливание.
От: vizgl  
Дата: 05.10.09 11:34
Оценка: :)
Здравствуйте, samius, Вы писали:

S>А под многоядерность уже распараллелено?


нет, такой задачи не давали
Re[4]: WCF. Распаралеливание.
От: samius Япония http://sams-tricks.blogspot.com
Дата: 05.10.09 11:44
Оценка:
Здравствуйте, vizgl, Вы писали:

V>Здравствуйте, samius, Вы писали:


S>>А под многоядерность уже распараллелено?


V>нет, такой задачи не давали


Разве она не входит в

— распаралеливание, с помощью чего либо


Имхо, начать надо с нее. Будет довольно нелепо если 4 четырехъядерника за счет сетевого взаимодействия будут решать задачу медленнее чем один двухъядерник.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.