Предложение по увеличению производительности и скорости расчётов экологических программ

В этом форуме вы можете задать любые вопросы по программным продуктам серии "Эколог" (расчет рассеивания, расчет шума, ПДВ, НДС и т.д.), высказать ваши мнения, обсудить с нами и друг с другом любые связанные с темой форума проблемы. Приветствуются любые идеи, предложения, пожелания, критические замечания.
Аватара пользователя

Вадим Зыков
Интеграл
Сообщения: 5631
Зарегистрирован: 27 июн 2005, 13:41
Откуда: Санкт-Петербург
Благодарил (а): 248 раз
Поблагодарили: 2786 раз
Контактная информация:

Re: Предложение по увеличению производительности и скорости расчётов экологических программ

Сообщение Вадим Зыков »

hawkress писал(а): было бы действительно интересно получить. Сейчас получается делаю несколько черновых расчетов на "критичные" вещества, точки, потом все удаляю и делаю начисто.
http://forum.integral.ru/viewtopic.php?f=29&t=19175
16. Прерывание расчета рассеивания.
17. Расчет "по частям".
Интегрируй форум в Яндекс
P.S. Вопросы по работе с программами или выбору программ прошу писать либо на форуме в соответствующих темах, либо по электронной почте. В ЛС на такие вопросы не отвечаю. Прошу понять правильно.

Yasva

Медаль за развитие Медаль за помощь
Эколог
Сообщения: 231
Зарегистрирован: 08 окт 2013, 22:00
Награды: 2
Откуда: Санкт-Петербург
Благодарил (а): 17 раз
Поблагодарили: 92 раза

Re: Предложение по увеличению производительности и скорости расчётов экологических программ

Сообщение Yasva »

Вадим Зыков, мне кажется, или она на одном ядре считает?
Спойлер
Изображение
Аватара пользователя

Вадим Зыков
Интеграл
Сообщения: 5631
Зарегистрирован: 27 июн 2005, 13:41
Откуда: Санкт-Петербург
Благодарил (а): 248 раз
Поблагодарили: 2786 раз
Контактная информация:

Re: Предложение по увеличению производительности и скорости расчётов экологических программ

Сообщение Вадим Зыков »

Yasva, на одном. Полностью кушает ресурсы одного ядра. Распаралелить расчет довольно трудно, поскольку подготовку данных и запись не распараллелить. В случае параллельного расчета данные должны уже быть загружены и подготовлены к началу цикла, как правило это тянет кучу накладных расходов, например если данные не влезают в память, нужен механизм синхронизации.

Наглядный пример с двумя потоками.

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

Для УПРЗА "Эколог" значительный прирост скорости мы наблюдаем после оптимизации самого алгоритма расчета.

Cuda и OpenCL более перспективны.

Сейчас очень хорошо выглядит распределенный расчет. Все необходимые данные, рассылаются по сети на разные компьютеры со своими подсистемами и дерутся только когда надо собрать результаты, правда требуют нескольких компьютеров. Заделы в этом направлении есть для Системы Эколог-Город.
Интегрируй форум в Яндекс
P.S. Вопросы по работе с программами или выбору программ прошу писать либо на форуме в соответствующих темах, либо по электронной почте. В ЛС на такие вопросы не отвечаю. Прошу понять правильно.

nightroad

Медаль за помощь
Эколог
Сообщения: 396
Зарегистрирован: 21 май 2010, 10:16
Награды: 2
Откуда: Далеко
Благодарил (а): 42 раза
Поблагодарили: 144 раза

Re: Предложение по увеличению производительности и скорости расчётов экологических программ

Сообщение nightroad »

VadimV писал(а): А зачем такой шаг при такой площадке?
При расчёте с учётом застройки, да и без него шаг имеет значение и размер площадки. Естественно для обозначенного размера площадки 2,5 на 2,5 км использую шаг не менее 50 на 50 м - относительно качественный результат, получаемый за приемлемое время. При этом увеличение шага сетки сказывается на точности расчёта.

Автор темы
timofeev
Новичок
Сообщения: 11
Зарегистрирован: 26 июл 2012, 15:43

Re: Предложение по увеличению производительности и скорости расчётов экологических программ

Сообщение timofeev »

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


Yasva

Медаль за развитие Медаль за помощь
Эколог
Сообщения: 231
Зарегистрирован: 08 окт 2013, 22:00
Награды: 2
Откуда: Санкт-Петербург
Благодарил (а): 17 раз
Поблагодарили: 92 раза

Re: Предложение по увеличению производительности и скорости расчётов экологических программ

Сообщение Yasva »

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

Автор темы
timofeev
Новичок
Сообщения: 11
Зарегистрирован: 26 июл 2012, 15:43

Re: Предложение по увеличению производительности и скорости расчётов экологических программ

Сообщение timofeev »

Сейчас с применением различных ускоряющих технологий считается много научных расчетов.
Например: http://cyberleninka.ru/article/n/reshen ... v-zadachah
Имеет смысл собрать такие публикации - те из них, которые по своему вычислительному характеру похожи на расчёты УПРЗА и программы для шумовых расчетов и разобраться, какие методы дадут лучший эффект - например работы по расчету диффузии или, для шума: рендеринг оптических лучей, волновые расчёты:
https://ru.wikipedia.org/wiki/%D0%A3%D1 ... 0%B8%D0%B8
http://omega.sp.susu.ru/books/conferenc ... rt/098.pdf
http://forum.ixbt.com/topic.cgi?id=10:54960-25
При этом не следует слишком замыкаться только в вычислительной математике (нужно смотреть комплексно на проблему) - например задача задействования компьютерного парка проектной организации, которая может дать хороший эффект, лежит вне её.
Анализ стоит сделать и для организации параллельных вычислений - например, не очень понятно, что мешает например сделать тот же справочник УПРЗА доступным только на чтение и при этом блокировок быть не должно, разбить расчетную сетку на отдельные части, обсчет которых поручить различным ядрам процессора а в итоге свести все результаты.
http://scjournal.ru/articles/issn_1993- ... 2_6_60.pdf
http://www.ssau.ru/files/education/meto ... %D1%85.pdf

VadimV

Звезда за помощь Медаль за помощь
Заслуженный эколог
Сообщения: 2283
Зарегистрирован: 09 июн 2008, 04:20
Награды: 2
Благодарил (а): 312 раз
Поблагодарили: 319 раз

Re: Предложение по увеличению производительности и скорости расчётов экологических программ

Сообщение VadimV »

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

Wespe

Медаль за развитие Звезда за помощь Медаль за помощь
Заслуженный эколог
Сообщения: 3543
Зарегистрирован: 09 апр 2010, 19:01
Награды: 6
Откуда: Каракас
Благодарил (а): 659 раз
Поблагодарили: 689 раз

Re: Предложение по увеличению производительности и скорости расчётов экологических программ

Сообщение Wespe »

VadimV писал(а): А есть какие-то данные о падении точности расчета с увеличением размерности сетки? Насколько оно существенно?
И еще - складывается впечатление что Тимофеев не работает реально. Он может какой-то руководитель, которому работники наплели про страшные тормоза программ и все такое)). Потому что реально, как уже было сказано, основное время уходит на получение данных и их внесение в программу. По сравнению с этим даже сутки машинного расчета - ничто.
Я менял шаг по площадке с 50 до 500 метров через 50 м, разбежки минимальные, 0,01-0,02 до 0,05 д.ПДК и то не везде.
"Трудно стало работать. Развелось много идиотов, говорящих правильные слова." (с)

VadimV

Звезда за помощь Медаль за помощь
Заслуженный эколог
Сообщения: 2283
Зарегистрирован: 09 июн 2008, 04:20
Награды: 2
Благодарил (а): 312 раз
Поблагодарили: 319 раз

Re: Предложение по увеличению производительности и скорости расчётов экологических программ

Сообщение VadimV »

Я почему-то так и думал. Но может там различия ощутимы когда шаг в несколько метров? Для практики, кмк, десятые доли ПДК еще имеют значение, а уж сотые практически не несут никаких ограничений.

Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Программные продукты серии "Эколог" - программы для экологов»

Форум для экологов : Отказ от ответственности