Содержание

LSF

IBM Platform LSF - мощная платформа управления нагрузкой для требовательных распределенных сред высокопроизводительных вычислений. Она предоставляет исчерпывающий набор интеллектуальных компонентов на основе стратегий, которые позволяют воспользоваться всеми ресурсами вычислительной инфраструктуры и обеспечить оптимальную производительность приложений.

Разработка скрипта задания

Задание LSF представляет собой абстрактную сущность, состоящую из набора команд и параметров. Оно представляется пользователю в виде скрипта для оболочки (shell), содержащего требования к ресурсам, атрибуты задания и набор команд, которые необходимо выполнить. Единожды создав скрипт задания, им можно пользоваться столько раз, сколько необходимо. Также возможна его модификация.

Запуск задания осуществляется командой bsub.

Пример скрипта запуска последовательной задачи

#!/bin/bash

#BSUB -J MyJob
#BSUB -P MyProject
#BSUB -W 00:20
#BSUB -n 2                  
#BSUB -oo output.log
#BSUB -eo error.log

./my_program
Ключ bsub Значение Описание
#!/bin/bash оболочка, использующаяся при выполнении скрипта
-J MyJob название задачи
-P MyProject название проекта, в рамках которого запускается задача
W 00:20 время на выполнение задачи (часы:минуты)
-n 2 количество ядер CPU, необходимое для задачи
-o output.log имя файла вывода
-e error.log имя файла ошибок
./my_program программа для запуска

Пример скрипта запуска OpenMP-задачи

#!/bin/bash
#
#BSUB -J MyJob
#BSUB -P MyProject                   
#BSUB -W 00:10                          
#BSUB -n 1                                       
#BSUB -e error.log
#BSUB -o output.log 

./my_openmp_program 
export OMP_NUM_THREADS 4 Регулирует кол-во создаваемых потоков для OpenMP-задачи

Пример скрипта запуска MPI-задачи

#!/bin/bash
#
#BSUB -J MyMPIJob          
#BSUB -W 00:20             
#BSUB -n 2                       
#BSUB -R "span[ptile=1]"  
#BSUB -oo output.out          
#BSUB -eo error.err           

module load mpi/openmpi-x86_64
mpirun ./my_mpi_program
#BSUB -n 2 Количество процессов MPI
#BSUB -R «span[ptile= ]1 Директива для задания кол-ва MPI процессов на одном узле
mpirun ./my_mpi_program Программа для запуска MPI-задачи

Пример скрипта запуска .NET-приложения

#!/bin/bash
#
#BSUB -J dotnet         
#BSUB -W 00:20             
#BSUB -n 2                       
#BSUB -oo output.out          
#BSUB -eo error.err           

dotnet run
#BSUB -n 2 Количество используемых ядер процессора

Команды LSF

bsub

Запуск задачи

bsub < MyJob.lsf 
MyJob.lsf скрипт запуска задачи

bjobs

Информация о текущих задачах

bjobs

bhist

Информация обо всех когда-либо запущенных задачах

bhist -a

bkill

Завершение задачи

bkill 12345 
12345 номер задачи