====== LSF ====== IBM Platform LSF - мощная платформа управления нагрузкой для требовательных распределенных сред высокопроизводительных вычислений. Она предоставляет исчерпывающий набор интеллектуальных компонентов на основе стратегий, которые позволяют воспользоваться всеми ресурсами вычислительной инфраструктуры и обеспечить оптимальную производительность приложений. ===== Разработка скрипта задания ===== Задание LSF представляет собой абстрактную сущность, состоящую из набора команд и параметров. Оно представляется пользователю в виде скрипта для оболочки (shell), содержащего требования к ресурсам, атрибуты задания и набор команд, которые необходимо выполнить. Единожды создав скрипт задания, им можно пользоваться столько раз, сколько необходимо. Также возможна его модификация. Запуск задания осуществляется командой **[[ :man:lsf#bsub | 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'' | номер задачи |