ENG |  РУС

Мы можем заставить Ваш ProMAX
работать
в 10 раз быстрее

Главная

Как это работает?  

Как это выглядит?

 

О компании

Контакты

с нашим новым программным решением SeisJet Data Server .

Не надо верить наслово  - свяжитесь с нами и получите БЕСПЛАТНО пробную версию!

Как это работает?

Увеличение скорости достигается за счет следующих двух факторов:

  • Быстрое чтение данных и быстрая их сортировка при чтении.
  • Оптимизированное распределение данных между параллельно запущенными копиями потока. 

Быстрое чтение и быстрая сортировка:

Обычно, когда выясняется что недостаточная скорость сортировки является тем “узким местом”, которое замедляет всю обработку, то покупают новый более дорогой RAID-массив. Как правило, использование в несколько раз более дорогого RAID-массива приводит к увеличению производительности в 2 раза. Использование программы SeisJet Seismic Data Server на том же аппаратном обеспечении приводит к увеличению производительности в 10 раз. Как? Потому что SeisJet читает данные оптимальным образом, наиболее эффективно используя огромные объемы оперативной памяти (гигабайты), доступные на современных компьютерах.

Хорошо известно, что чтение данных с жесткого диска (RAID-массива) в произвольном порядке (так называемый “произвольный доступ”) это существенно более медленная процедура, чем если бы данные читались последовательно, в том порядке, в котором они записаны (так называемый “последовательный доступ”). Однако после того, как данные считаны с диска и загружены в оперативную память, доступ к ним может осуществляется очень быстро в любом порядке.

Таким образом, для существенного ускорения ввода данных необходимо (1) последовательно считывать максимально большие порции данных с диска в оперативную память и (2) затем производить операции, требующие произвольного доступа к данным (например,  сортировку) уже в оперативной памяти.

Конечно, когда при чтении требуется производить пересортировку больших объемов данных, доступ к диску не может быть действительно последовательным (кроме случая, когда данные целиком умещаются в оперативной памяти). Однако если проанализировать порядок, в котором данные хранятся на диске, и тот порядок, в котором они должны быть поданы на вход потока, то размер фрагментов данных, которые считываются с диска последовательно, можно максимально увеличить. Программа SeisJet Seismic Data Server строит оптимальную стратегию чтения и, в результате, обращается к диску гораздо более последовательно, чем это бывает возможно при использовании более простых и прямолинейных подходов к чтению сейсмических данных. 

Оптимизированное распределение данных между параллельно запущенными копиями потока:

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

Как правило, эту проблему пытаются решить за счет покупки дорогостоящего аппаратного обеспечения: сетевого оборудования с минимальной задержкой (low-latency network) и дорогих дисковых массивов. Это действительно приводит к некоторому увеличению производительности системы, однако ускорение оказывается не пропорционально затратам. Программа SeisJet Seismic Data Server позволяет полностью решить проблемы задержек сети программными средствами.

Плохая масштабируемость параллельной обработки, как правило, вызывается следующими причинами:
- В то время как копии потока выполняются параллельно, чтение данных и распределение данных между потоками все-равно происходит по очереди. Если задействовано большое количество процессоров, получается, что каждая копия параллелизованного потока заканчивает обрабатывать текущую порцию данных раньше, чем до нее доходит очередь для получения следующей. В результате, запущенные параллельно копии потока обработки значительную часть времени просто ожидают ввода данных и ничего не делают.
- Когда данные читаются параллельно несколькими процессорами из одного и того же общего хранилища, степень “произвольности” доступа к дискам увеличивается, и вся операция замедляется. Когда доступ к общему хранилищу осуществляются при помощи системных решений общего назначения (напр.  NFS, cluster FS, и т.п.) эти системные решения приводят к дополнительным затратам ресурсов по сравнению с прямой передачей данных от сервера данных к клиентам.

Очевидно проблемы такого рода могут быть решены на уровне программного обеспечения. Программа  SeisJet Seismic Data Server читает данные только один раз и обеспечивает действительное параллельное распределение данных между различными процессорами настолько быстро, насколько это возможно.

_____________
*ProMAX - зарегистрированная торговая марка  Landmark Graphics Corporation.
** Декларируемое увеличение скорости было оценено на основании наших собственных тестов и тестов наших клиентов, выполняющих стандартные потоки обработки на компьютерах с кластерной архитектурой. Реальное увеличение скорости может отличаться от заявленного, в зависимости от конфигурации оборудования и настроек программного обеспечения.