Форум по операционной системе GNU/Linux и свободному программному обеспечению
Текущее время: 20 сен 2019, 08:22

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 33 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: кластер PelicanHPC в VirtualBox
Непрочитанное сообщениеДобавлено: 31 окт 2012, 17:51 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 12403
Откуда: Харьков
homecluster писал(а):
Спасибо за демонстрацию.


1. Остаются тесты.

2. Вы можете начинать проделывать то же самое в реальном железе - никаких граблей там не предвидится (единственное тонкое место: если ваши сетевые карты, по модели, не предназначены для PXE загрузки ... но и это решаемо - я расскажу что делать, если такое случится ;-) ).


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: кластер PelicanHPC в VirtualBox
Непрочитанное сообщениеДобавлено: 31 окт 2012, 18:21 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 12403
Откуда: Харьков
Olej писал(а):
2. что ещё единственно осталось проделать (ни в чём большем этот проект меня не интересует), так это:
а). создать образ перманентной памяти (эквивалент HDD) на терминальном хосте;
б). загрузить туда их экзамплы (многочисленные);


Вот с этим не очень здорово у них обстоят дела (-) :

- описания противоречат друг другу, и одновременно противоречат наблюдаемому на экране...

- http://cluster.linux-ekb.info/QuickStart1.php :
Изображение
Цитата:
Здесь вы должны будете указать устройство, на котором будет располагаться пользовательский каталог. То есть ваш рабочий каталог, где будут храниться ваши программы, исходники и файлы данных. По умолчанию вам предложен раздел на виртуальном диске, расположенном в оперативной памяти. Это самый простой вариант, однако не самый удобный в том смысле, что после выключения компьютера все данные на этом диске будут уничтожены. В этом случае вам придется каждый раз перед выключением сохранять ваши данные на внешний носитель, например на флешку. Более удобным будет, если вы выделите на винчестере компьютера отдельный раздел для ваших данных. Как вариант может рассматриваться подключение внешнего носителя (флешки либо USB-винчестера). В таком случае вместо предложенного ram1 вы должны будуте указать что-то типа hda7, sda5, sdb1 и т.д. в зависимости от конфигурации вашей машины и выбранного варианта.


- http://pareto.uab.es/mcreel/PelicanHPC/Tutorial/PelicanTutorialRus.pdf :
(здесь наблюдаемая картинка инсталляции совпадает таки с описанием)
Изображение
Цитата:
На этом экране вы можете выбрать: использовать постоянное запоминающее устройство для /home (домашнего каталога) пользователя PelicanHPC. По умолчанию, если вы просто нажимаете <Enter>, жесткие диски не используются, и PelicanHPC не будет изменять какие-либо данные на компьютерах, используемых в кластере. (Информация будет хранится в оперативной памяти ) Это безопасно и просто (рекомендуется начинающим пользователям для ознакомления с работой системы ), но это имеет тот недостаток, что любая работа, у вас исчезает при завершении работы кластера. Для использования постоянного носителя информации, вы можете ввести имя устройства (раздела жесткого диска, USB-диск и т.д.), который отформатирован в ext2 или ext3 раздел, который будет смонтирован в /home. Например, можно заменить с "ram1" на "sda2" или "hdb5" (без кавычек). Если вы сделаете это, тогда каталог "user" будет создан в корневом каталоге указанного устройства, и будет
использоваться в качестве домашнего каталога кластера ( /home ) пользователя (имя пользователя "user"). Если вы выключите узлы кластера, каталог не будет удален, и он может быть повторно использованы при перезагрузке PelicanHPC. Если у вас есть какие-либо сомнения по этому поводу, просто нажмите <Enter>. Для экспериментов, вам не нужна эта функция. Эта функция представлена для удобства для продвинутых пользователей. Невозможно проверить эту функцию на всех возможных конфигурациях оборудования, так что НЕТ НИКАКИХ ГАРАНТИЙ, что она не станет причиной удаления данных с вашего жесткого диска (или иного другого устройства). Рекомендуется выполнить резервное копирование данных, прежде чем пытаться что-нибудь сделать.

ВНИМАНИЕ: есть еще один способ использования постоянного хранения, что является довольно гибким решением. Это описано в файле /home/user/pelican_config, которые вы можете увидеть, если загрузитесь с параметрами по умолчанию. Если это ваш первый опыт работы с PelicanHPC, я рекомендую делать загрузки по умолчанию, изучить pelican_config, а затем выбрать вариант для постоянного хранения, то что вы найдете наиболее подходящим для себя.


Согласитесь, указание "ram1" или "-t tmpfs -o size 400m tmpfs" - это две очень разные вещи ( ;-) как сказали бы в Одессе), и где синтаксис этих странных записей? ... не нахожу!

И файла такого /home/user/pelican_config нет на дух ... каталог /home/user/ есть, а файла - нет ;-)


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: кластер PelicanHPC в VirtualBox
Непрочитанное сообщениеДобавлено: 31 окт 2012, 19:31 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 12403
Откуда: Харьков
homecluster писал(а):
olej писал(а):
2. Вы можете начинать проделывать то же самое в реальном железе - никаких граблей там не предвидится (единственное тонкое место: если ваши сетевые карты, по модели, не предназначены для PXE загрузки ... но и это решаемо - я расскажу что делать, если такое случится ;-) ).

Есть вопрос. Сейчас на входе сети стоит роутер с DHCP. Он подключен к свичу. При включении роутер раздает адреса на свичь. Сетевые порты у нодов настроены по умолчанию на DHCP. То есть при включении всех нодов каждый получает свой доступ в интернет. При этом каждый нод пингуется с остальными нодами по полученным адресам. Что нужно изменить в этой схеме чтобы данный дистрибутив можно запустить для теста?


Возвращаемся в ему кластера на реальном железе: viewtopic.php?f=20&t=1908&start=30.
Здесь мы говорим о виртуализации.
Там продолжим (во всём должен быть порядок ;-) ).


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: кластер PelicanHPC в VirtualBox
Непрочитанное сообщениеДобавлено: 31 окт 2012, 20:15 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 12403
Откуда: Харьков
Olej писал(а):
Olej писал(а):
2. что ещё единственно осталось проделать (ни в чём большем этот проект меня не интересует), так это:
а). создать образ перманентной памяти (эквивалент HDD) на терминальном хосте;
б). загрузить туда их экзамплы (многочисленные);


Вот с этим не очень здорово у них обстоят дела (-) :


Ладно... Делать надо ;-) .

Сделаю для терминального хоста диск (виртуальный). Есть на то разные способы...

1. используя QEMU:
Код:
[Virtual@nvidia PelicanHPC]$ qemu-img --help
qemu-img version 0.14.0, Copyright (c) 2004-2008 Fabrice Bellard
usage: qemu-img command [command options]
QEMU disk image utility

Command syntax:
  check [-f fmt] filename
  create [-f fmt] [-o options] filename [size]
...
 
Supported formats: host_cdrom host_floppy host_device file blkverify sheepdog blkdebug
nbd parallels qed qcow2 vvfat vpc bochs dmg cloop vmdk vdi qcow cow raw

Код:
[Virtual@nvidia PelicanHPC]$ qemu-img create -f vmdk pelicanhpc.hdd 900M
Formatting 'pelicanhpc.hdd', fmt=vmdk size=943718400 compat6=off.
[Virtual@nvidia PelicanHPC]$ ls -l *.hdd
-rw-r--r--. 1 Virtual Virtual 131072 окт.  31 17:58 pelicanhpc.hdd

Но только, к сожалению, fdisk + mkfs для этого сжатого диска не позволит ни создать раздел /dev/sda1, ни его разметить...
Можно создать образ диска в формате -f raw ... но мне не захотелось вместо 130Kb места занимать под него 900Mb :-(
А если использовать сжатый формат, то придётся это сделать в 2 приёма:
- сначала загрузить PelicanHPC (можете любой другой Linux ;-) ) с этим не размеченным диском /dev/sda ...
- там его разметить fdisk в /dev/sda1 + форматировать mkfs в ext2 (3, 4, ... ;-) )
- а затем перезагрузить PelicanHPC, чтобы уже можно использовать /dev/sda1

2. А раз так, пошли делать в 2 этапа, то заготовку диска /dev/sda можно и непосредственно в VirtualBox сделать...
Вложение:
-Создать новый виртуальный диск.png
-Создать новый виртуальный диск.png [ 67.36 КБ | Просмотров: 6579 ]

Дальше всё так же:

- загрузка (вхолостую ;-) ) PelicanHPC ...
Код:
$ sudo fdisk /dev/sda
...

- создание нового primary раздела на весь диск ...
Код:
$ sudo mkfs /dev/sda1
...

- перезагрузка PelicanHPC


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: кластер PelicanHPC в VirtualBox
Непрочитанное сообщениеДобавлено: 31 окт 2012, 20:22 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 12403
Откуда: Харьков
Olej писал(а):
- перезагрузка PelicanHPC


А вот после перезагрузки - веселее:
Вложение:
sda1-1.png
sda1-1.png [ 17.73 КБ | Просмотров: 6596 ]

Olej писал(а):
Согласитесь, указание "ram1" или "-t tmpfs -o size 400m tmpfs" - это две очень разные вещи ( ;-) как сказали бы в Одессе), и где синтаксис этих странных записей? ... не нахожу!

;-)

Указываем копировать теперь все examples и прочее в /home/user ...
Вложение:
sda1-2.png
sda1-2.png [ 17.93 КБ | Просмотров: 6577 ]


Накопировало довольно много:
Вложение:
sda1-3.png
sda1-3.png [ 25.94 КБ | Просмотров: 6577 ]


P.S. Вот теперь и файл обещанный появился ;-) :
Olej писал(а):
И файла такого /home/user/pelican_config нет на дух ... каталог /home/user/ есть, а файла - нет ;-)


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: кластер PelicanHPC в VirtualBox
Непрочитанное сообщениеДобавлено: 31 окт 2012, 20:28 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 12403
Откуда: Харьков
Olej писал(а):
Накопировало довольно много:

Код:
user@pel1:~$ pwd
/home/user
user@pel1:~$ du -hs
291M    .
user@pel1:~$ ls -l
total 924
-rw-r--r--  1 user user 779410 Oct 31 17:23 ann_1.1.2+creelmod.tar.gz
drwxr-xr-x  2 user user     60 Oct 31 17:23 Desktop
drwxr-xr-x  2 user user     40 Oct 31 17:24 Documents
drwxr-xr-x  2 user user     40 Oct 31 17:24 Downloads
drwxr-xr-x 14 user user    600 Oct 31 17:23 dynare
drwxr-xr-x  5 user user    500 Oct 31 17:23 Econometrics
-rw-r--r--  1 user user   3349 Oct 31 17:23 flops.f
drwxr-xr-x 11 user user    480 Oct 31 17:23 hpl-2.0
-rw-r--r--  1 user user   3408 Oct 31 17:23 make_pelicanhome.sh
-rw-r--r--  1 user user   3422 Oct 31 17:23 make_pelicanhome.sh~
-rw-r--r--  1 user user  56160 Oct 31 17:23 make_pelican-v2.8
-rw-r--r--  1 user user  56160 Oct 31 17:23 make_pelican-v2.8alpha
drwxr-xr-x  2 user user     40 Oct 31 17:24 Music
-rw-r--r--  1 user user  18941 Oct 31 17:23 pelican_config
drwxr-xr-x  2 user user     40 Oct 31 17:24 Pictures
drwxr-xr-x  2 user user     40 Oct 31 17:24 Public
-rw-r--r--  1 user user      6 Oct 31 17:23 pw
-rw-r--r--  1 user user    805 Oct 31 17:23 README
drwxr-xr-x  2 user user     40 Oct 31 17:24 Templates
drwxr-xr-x  2 user user    660 Oct 31 17:23 Tutorial
drwxr-xr-x  2 user user     40 Oct 31 17:24 Videos


При этой (следующей) перезагрузке я уже говорю "No" (умолчание) на копирование в /home/user ... так что все данные (и на будущее) уже постоянны на диске /dev/sda1.


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: кластер PelicanHPC в VirtualBox
Непрочитанное сообщениеДобавлено: 01 ноя 2012, 18:39 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 12403
Откуда: Харьков
Olej писал(а):
1. Остаются тесты.


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

В каталоге /home/user ($HOME) находим такую тестовую программу flops.f (исходный код на FORTRAN-77, на специальном его диалекте под MPI). Компилируем:
Код:
user@pel1:~$ /usr/bin/mpif77 flops.f -oflops


P.S. Попутно посмотрим какие есть там программы к поддержке MPI:
Код:
ser@pel1:~$ ls /usr/bin/mp*
/usr/bin/mpartition     /usr/bin/mpic++.openmpi   /usr/bin/mpif77.openmpi
/usr/bin/mpic++         /usr/bin/mpicxx           /usr/bin/mpif90
/usr/bin/mpicc          /usr/bin/mpicxx.openmpi   /usr/bin/mpif90.openmpi
/usr/bin/mpiCC          /usr/bin/mpiexec          /usr/bin/mpirun
/usr/bin/mpicc.openmpi  /usr/bin/mpiexec.openmpi  /usr/bin/mpirun.openmpi
/usr/bin/mpiCC.openmpi  /usr/bin/mpif77

Попутно проверим компиляцию того же кода FORTRAN-90
Код:
user@pel1:~$ /usr/bin/mpif90 flops.f -oflops90


Запускаем полученный тест на одном терминальном хосте:
Код:
user@pel1:~$ ./flops
   
  HPC Test ----------------------------------------
  Quantity of processors =   1
  Calculation time       =   4.29 seconds
  Cluster speed          =    419 MFLOPS
  -------------------------------------------------
  Cluster node N00 speed =    419 MFLOPS
  -------------------------------------------------

А теперь то же самое, но на 6-ти хостах кластера (1 терминальный + 5 исполнительных):
Код:
   
user@pel1:~$ mpirun -n 6,0-5 ./flops
   
  HPC Test ----------------------------------------
  Quantity of processors =   6
  Calculation time       =   4.27 seconds
  Cluster speed          =    421 MFLOPS
  -------------------------------------------------
  Cluster node N00 speed =     70 MFLOPS
  Cluster node N01 speed =     70 MFLOPS
  Cluster node N02 speed =     70 MFLOPS
  Cluster node N03 speed =     70 MFLOPS
  Cluster node N04 speed =     70 MFLOPS
  Cluster node N05 speed =     70 MFLOPS
  -------------------------------------------------


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: кластер PelicanHPC в VirtualBox
Непрочитанное сообщениеДобавлено: 02 ноя 2012, 02:15 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 12403
Откуда: Харьков
Olej писал(а):
P.S. Попутно посмотрим какие есть там программы к поддержке MPI:
Код:
ser@pel1:~$ ls /usr/bin/mp*
/usr/bin/mpartition     /usr/bin/mpic++.openmpi   /usr/bin/mpif77.openmpi
/usr/bin/mpic++         /usr/bin/mpicxx           /usr/bin/mpif90
/usr/bin/mpicc          /usr/bin/mpicxx.openmpi   /usr/bin/mpif90.openmpi
/usr/bin/mpiCC          /usr/bin/mpiexec          /usr/bin/mpirun
/usr/bin/mpicc.openmpi  /usr/bin/mpiexec.openmpi  /usr/bin/mpirun.openmpi
/usr/bin/mpiCC.openmpi  /usr/bin/mpif77



Вот на это место просто необходимо обратить особое внимание:
- если вашу задачу и возможно удачно распараллелить для выполнения её на кластерной структуре ...
- то программировать эту задачу предстоит на специально диалекте MPI одного из языков программироания ...
- из тех, что мы видим в этом каталоге: FORTRAN-77, FORTRAN-90, C, или C++
- т.е. а). привычные программисту инструменты: GCC, Java, Tcl/Tk, ... все - они непригодны для программирования задач в такой конфигурации...
- б). программы нужно писать индивидуально под задачу, в достаточно необычном синтаксисе...
- в). всё великое множество GNU и другого открытого ПО непригодно для такого выполнения ... не нужно обольщаться в этом смысле;


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: кластер PelicanHPC в VirtualBox
Непрочитанное сообщениеДобавлено: 02 ноя 2012, 17:21 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 12403
Откуда: Харьков
Достаточно интересный тест: Тест производительности. Как я могу предполагать, не только для этого конкретного кластера PelicanHPC, а для любого, использующего стандарты и технологии MPI. Стоит того, чтобы обратить на него внимание:
Цитата:
Каждый модуль теста выполняется многократно, в соответствии с исходной статистикой Whetstone-инструкций (практически это реализуется с помощью заключения модулей в циклические конструкции с разным числом "оборотов" цикла - от 12 до 899), а производительность рассчитывается как отношение числа Whetstone-инстpукций к суммарному времени выполнения всех модулей пакета. Этот результат представляется в KWIPS (Kilo Whetstone Instructions Per Second) или в MWIPS (Mega Whetstone Instructions Per Second). В известном смысле указанные единицы аналогичны MIPS, но с одной существенной оговоркой: Whetstone-инструкции не привязаны к системе команд какого-либо компьютера, т. е. оценка производительности в MWIPS является моделенезависимой.


Там же исходный код теста, который предстоит скомпилировать.

Olej писал(а):
- то программировать эту задачу предстоит на специально диалекте MPI одного из языков программироания ...
- из тех, что мы видим в этом каталоге: FORTRAN-77, FORTRAN-90, C, или C++

Поучительно взглянуть ;-) (файл mwips.f):
Код:
...
c     Инициализация MPI и определение процессорной конфигурации
      call MPI_INIT( ierr )
      call MPI_COMM_RANK( MPI_COMM_WORLD, myid, ierr )
      call MPI_COMM_SIZE( MPI_COMM_WORLD, np, ierr )
      call MPI_GET_PROCESSOR_NAME(pname,pname_len,ierr)
...
           do 102 exc=1, BC
           call MPI_SENDRECV(
     x        f0(1), xmax, MPI_REAL8, myid+1, 1,
     x        f1(1), xmax, MPI_REAL8, myid+1, 1,
     x        MPI_COMM_WORLD, status, ierr)
  102      continue
...

Для тех кто отвык ;-) (от FORTRAN), или не привыкал ;-) - это, конечно, ужасно. :-o


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
 Заголовок сообщения: Re: кластер PelicanHPC в VirtualBox
Непрочитанное сообщениеДобавлено: 02 ноя 2012, 17:49 
Не в сети
Писатель
Аватара пользователя

Зарегистрирован: 24 сен 2011, 14:22
Сообщения: 12403
Откуда: Харьков
Olej писал(а):
1. Остаются тесты.


И не только тесты, а ещё и пару слов об управлении этим кластером, "как с ним обращаться" (если кто решит попробовать поиграться):

1. терминальный хост загружаем первым ... это естественно и понятно...

2. но загружать остальные исполнительные хосты (виртуальные или реальные) бессмысленно до тех пор, пока на терминальном хосте не выполнена каманда
Код:
user@pel1:~$ pelican_setup
...

И, более того, пока её исполнение не дойдёт до вот этого места!:
Вложение:
1.png
1.png [ 25.65 КБ | Просмотров: 6611 ]

До этого времени DHCP-сервер на терминальном хосте не запущен, и загрузка хостов по PXE просто зависнет, её придётся повторять заново.

3. ещё один такой хлопотный в работе вопрос: как перезапустить кластер, когда в нём работало, скажем 5 хостов, а хотелось бы перезапустить на 7?

Перезагружать терминальный хост при этом не нужно (что было бы сильно неприятно), достаточно (лучше именно в такой последовательности):
- дозапустить ещё желаемые 2 хоста (дождаться завершения их загрузки!)
- повторить выполнение команды
Код:
user@pel1:~$ pelican_setup
...

- перезапускать работающие ранее хосты (4 из 5-ти в условном примере) не надо, на них вообще ничего делать не надо, их терминальный хост переинициализирует сам...

4. Число активных хостов в кластере, а также IP каждого из них, смотрим в файле $HOME/tmp/bhosts:
Код:
user@pel1:~$ cat tmp/bhosts
10.11.12.22
10.11.12.37
10.11.12.68
10.11.12.72
10.11.12.83
10.11.12.1

Последний из них - это терминальный хост.


Вернуться к началу
 Профиль Отправить личное сообщение Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 33 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
[ Time : 0.198s | 17 Queries | GZIP : On ]