SASGIS - SAS.Планета
View Issue Details
0003403SAS.Планета[All Projects] Хотелкаpublic01-02-2019 09:3606-03-2019 14:03
Aveveritas 
vdemidov 
normaltweakalways
closednot fixable 
Windows7Professional
.Nightly 
 
0003403: Ускорение процесса склейки файлов ECW
Добрый день!
По работе снова пришлось вернуться к работе с ECW.
Вопрос, можно ли ускорить склейку файлов в ECW и на сколько примерно.
Ежедневно работаем с большими объемами информации и необходимо клеить листы 1/200000. 1/100000 на 19 уровне.
И на какие ресурсы компа происходит нагрузка при склейке? Процессор и оперативка? Кэш родной уже живет на SSD.
Если эту проблему возможно решить, то я готов заплатить $.
No tags attached.
related to 0003293resolved vdemidov Склейка GeoTiff в несколько потоков на одну задачу 
Issue History
01-02-2019 09:36AveveritasNew Issue
01-02-2019 18:16zedNote Added: 0018519
02-02-2019 07:18AveveritasNote Added: 0018520
02-02-2019 07:20AveveritasNote Edited: 0018520bug_revision_view_page.php?bugnote_id=18520#r7351
03-02-2019 08:01zedNote Added: 0018521
04-02-2019 06:16AveveritasNote Added: 0018523
04-02-2019 09:36vdemidovRelationship addedrelated to 0003293
04-02-2019 10:09vdemidovNote Added: 0018524
04-02-2019 10:09vdemidovStatusnew => feedback
04-02-2019 13:21AveveritasNote Added: 0018525
04-02-2019 13:21AveveritasStatusfeedback => new
04-02-2019 13:23AveveritasNote Edited: 0018525bug_revision_view_page.php?bugnote_id=18525#r7353
04-02-2019 14:04vdemidovNote Added: 0018526
04-02-2019 14:05AveveritasNote Added: 0018527
04-02-2019 14:05vdemidovNote Edited: 0018526bug_revision_view_page.php?bugnote_id=18526#r7355
06-03-2019 14:03vdemidovStatusnew => resolved
06-03-2019 14:03vdemidovResolutionopen => not fixable
06-03-2019 14:03vdemidovAssigned To => vdemidov
06-03-2019 14:03vdemidovStatusresolved => closed

Notes
(0018519)
zed   
01-02-2019 18:16   
> И на какие ресурсы компа происходит нагрузка при склейке?
А что мешает запустить диспетчер задач и посмотреть?
(0018520)
Aveveritas   
02-02-2019 07:18   
(edited on: 02-02-2019 07:20)
Ничто не мешает. Процессор выбирается процентов на 30 Правда нагрузка на все ядра. Оперативка вроде как используется неплохо. Последний раз склейка 4х листов съела 30 гигов. Диск незначительно грузится при записи. И на процессор и на диск нагрузка идёт волнами.пики каждые 2-3 секунды.

(0018521)
zed   
03-02-2019 08:01   
> Последний раз склейка 4х листов съела 30 гигов
32-х битное приложение не может адресовать более 4Гб ОЗУ.

И ещё, в SAS мы не клеим "листы", так же, мне не очень понятно сокращение 1/200000, 1/100000. Наверное, вам стоит выражаться в терминах той программы о которой идёт речь и меньше использовать проф. жаргон. Т.е. если бы вы сказали, что интересует склейка области разрешением в столько-то пикселей по ширине и высоте, то всем было бы понятней.
(0018523)
Aveveritas   
04-02-2019 06:16   
Сокращение- это лист масштаба 1:200000 в бланковке ГШ. Эквивалентно области разрешением ~ 186414*241304 .
(0018524)
vdemidov   
04-02-2019 10:09   
Вряд ли получится сильно ускорить. Сжатие ECW весьма процессороемкая операция. Для простой склейки 4000 тайлов спутника (немного, но уже достаточно репрезентативно), у меня вышло из 35 секунд склейки подготовка тайлов только 5 секунд. Так что подготовка тайлов в несколько потоков сколько-нибудь заметную пользу даст, только если у вас склейка с кучей слоев, сеток и меток.

Лучше всего будет, если вы сами зупустите дебажную версию САС, выполните одну склейку в ecw с вашими обычными настройками, а потом в Debug Info посмотрите показатели "Total time" счетчиков /RegionProcess/Combine/ECW/PrepareData и
/RegionProcess/Combine/ECW/SaveRect
(0018525)
Aveveritas   
04-02-2019 13:21   
(edited on: 04-02-2019 13:23)
ECW/PrepareData = 01:59.612
ECW/SaveRect = 48:14.019
Количество тайлов 483990
А сам процесс склейки, не считая подготовки тайлов нельзя ли оптимизировать? Или за это отвечает сторонняя библиотека в которую не влезть?
На моей машине склейка одной такой области напрягает процессор максимум на 10-15 процентов.
Конфиг у меня:
 Intel(R) Xeon(R) CPU E5-2665 8 ядер 16 потоков.
64 Gb оперативки
AMD Radeon HD 5450
Кэш родной от планеты живет на ссд. Клею на обычный HDD.

(0018526)
vdemidov   
04-02-2019 14:04   
(edited on: 04-02-2019 14:05)
>А сам процесс склейки, не считая подготовки тайлов нельзя ли оптимизировать? Или за это отвечает сторонняя библиотека в которую не влезть?
Да это сторонняя dll, которая для нас почти как черный ящик.
Исходники, правда, есть. https://bitbucket.org/sas_team/libecwj2/

> ECW/PrepareData = 01:59.612
> ECW/SaveRect = 48:14.019
Шикарно. Для вашего юзкейса, мы можем в идеальном случае сэкономить 2 минуты из 48, и это с предварительной подготовкой тайлов, которой пока нет, а при текущем наивном подходе, скорее всего только 1 из этих двух минут получится сэкономить.


Итого, овчинка выделки не стоит.

(0018527)
Aveveritas   
04-02-2019 14:05   
ОК, всё понял, спасибо! Можно закрыть хотелку.