r9 - 15 Feb 2008 - 13:46:42 - KatyaSYou are here: TWiki >  TSim Web > TSimLustre

Lustre и Tsim

Lustre

Lustre представляет собой разработку Cluster File Systems, Inc предназначенную для организации кластерной файловой системы.

Зачем это нужно?

Обработка данных на ВМВС кластерного типа позволит использовать кластер не только для обработки, но и в качестве оперативного хранилища данных. Очевидно, что наиболее эффективным будет назначение задач по обработке данных на те узлы кластера – хранилища, на которых непосредственно находятся данные. В противном случае, если обрабатываемая информация будет достаточно большого объёма, накладные расходы от передачи данных по сети окажутся слишком большими и превысят выгоды от распараллеливания вычислений на несколько процессоров.

Что было сделано?

В ходе работ были выполнены следующие задачи:
1) Был реализован механизм распределения заданий на основе информации, получаемой планировщиком от прикладного программного интерфейса Lustre. Решены технические сложности, возникающие при использовании файлов в формате TIFF
2) Реализованный механизм был использован в программе обработки космических снимков по метрике Махаланобиса
3) Было проведено тестирование полученной программы, демонстрирующее прирост производительности работы программы.

Планировщик

В настоящее время реализован планировщик, который назначает выполнение задачи именно на тот узел кластерной установки, на котором хранятся обрабатываемые данные. Нами был разработан следующий способ определения узла расположения данных в кластерном хранилище, по данному смещению в файле:
1) Определяется схема расположения файла в кластере при помощи функции интерфейса Lustre llapi_file_get_stripe. Функция возвращает, помимо другой информации число и размер порций (stripes), на которые разбит файл.
2) По данному смещению, определить номер порции файла, которую обрабатывает данная задача
3) Параллельная файловая система Lustre использует барабанную (round-robin) стратегию назначения порций файлов на узлы, что позволяет по номеру порции определить номер узла в группе узлов кластерной установки, хранящих данный файл. Далее из информации, находящейся в файлах /proc/fs/lustre/osc/spfs-OST00ХХ-osc/ost_conn_uuid, где XX – номер узла в десятичном формате, можно определить IP-адрес узла.
4) По IP адресу узла среди узлов, участвующих в расчёте в T-Sim, можно найти узел с тем же IP, какой указан в конфигурации Lustre и назначить выполнение задачи на этот узел.
В ходе обращение клиента к файлу в Lustre лишь обращение за мета-данными вызовет обращение.

Данный способ был успешно реализован в программе классификации космических снимков. В связи с тем, что классификатор нацелен на обработку файлов формата tiff, смещение в файле (необходимое для реализации п.2 описанной выше схемы) легко определялось при помощи средств библиотеки libtiff. Также следует подчеркнуть, что информация о схеме расположения файла в Lustre определяется один раз, при запуске программы. Далее она добавляется в параметры шаблона и используется планировщиком. Схема расположения всех обрабатываемых файлов в одном каталоге считается идентичной, в соответствии с документацией к файловой системе.

Где можно посмотреть результаты?

Ниже прикреплены файлы с самой программой и описанием.

-- KatyaS - 08 Feb 2008

Show attachmentsHide attachments
Topic attachments
I Attachment Action Size Date Who Comment
docdoc lustre_map_manual.doc manage 104.5 K 08 Feb 2008 - 09:27 KatyaS Описание программы-классификатора
ccpp tmah_ready_lustre1.cpp manage 39.1 K 08 Feb 2008 - 09:24 KatyaS Готовая версия программы-классификатора с использованием lustre
Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r9 < r8 < r7 < r6 < r5 | More topic actions
 
Powered by TWiki

This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback