WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!

Pages:     | 1 |   ...   | 62 | 63 || 65 | 66 |   ...   | 82 |

• At that width of bus of memory plenty of addresses is required twice to main memory, that gives falling to productivity.

• It is required increases twice the size of node main memory.

Power consumption of the processor. The selected power of processor can non-obvious influence on general productivity of all system – at the overheat of one of processors to it the automatic lowering of frequency will be applied, that will result in the common falling of productivity of all system on the whole.

Main memory. Clusters have 1-2 GByte on every processor core of node:

• More than 2 Gbyte on a processor core expediently either at the use of clean 64-bit architecture or after clarification of specificity of the basic applied tasks of cluster, otherwise memory will be essential to idle, however there are situations, when than the more maximal capacity of main memory of node is anymore, so much the better for a task (main memory modelling of SMP-architecture);

• Frequency on which main memory works should be maximal of all supported the chosen processor architecture;

• The used chipset should be able to support the necessary amount of memory.

Interconnect. As the cost of interconnect lies in a very wide range from the zero of to a few thousand dollars on a site, the choice of interconnect is determined by the basic purpose of the cluster system:

Latency of interconnect is one of major indexes, influencing on the real productivity of the cluster system, this time expended by the operating system and device on the transmission of single package to other cluster node.

Because a data exchange between nodes takes place by such transmissions, the latency can be described as the time lost by a process. For tasks with a large data exchange between nodes the large latency can give the catastrophic falling of productivity, at the same time for tasks with a small data exchange between nodes the small latency will give nothing in the plan of winning of productivity, but will result in the enormous increase of budget of project.

The throughput of interconnect practically does not tell on general productivity of the system. There are some minimum scopes, but throughput of any device used today as interconnect, is higher than these scopes, i.e. as yet we did not meet a task to the necessity of which in the throughput of interconnect there would be compared with the necessities of ping-pong benchmark.

Conclusion Presently productivity of existent cluster systems SCIT suffices only for the simultaneous calculation of a few tasks, therefore for satisfaction of present queries from the side of Institutes of NAN of Ukraine, that the decision of large tasks left off to be a bottleneck, it is necessary to heave up productivity of supercomputer systems on an order (to a few teraflops).

Evaluation the characteristics of the cluster system which would on nearest a few years to answer the vital queries of the mentioned directions in physics, biology, technique and etc, are the following:

1. Quantity of dual-core processors with frequency at (2,2 – 2,8) GHz – 300.

2. Main memory (total) — 1,0 ТByte.

3. Bulk storage on local HDD — 2.5 ТByte.

4. Global storehouse system — 10 ТByte.

5. Highest possible productivity — (4,5 –5.5) Тflops.

274 Intelligent Systems Bibliography 1. www.lustre.org/ 2. http://www.netlib.org/atlas/ 3. http://www.netlib.org/blacs/ 4. http://www.netlib.org/scalapack/ 5. http://www.intel.com/cd/software/products/asmo-na/eng/perflib/mkl/index.htm 6. http://www.gromacs.org/ 7. http://www.wien2k.at/ 8. www.msg.ameslab.gov/GAMESS/GAMESS.html 9. http://www.scali.com/ 10. http://www.open-mpi.org/ 11. www.t-platforms.ru/english/about/dnd.html 12. www.intel.com/design/servers/ipmi/spec.htm 13. www.redhat.com/software/rha/gfs/ 14. oss.oracle.com/projects/ocfs2/ Authors' Information Ahdrey L. Golovinskiy – Institute of Cybernetics NAS Ukraine; Prospekt Academika Glushkova,40, Kiev, MCP, Ukraine; e-mail: tikus@ukr.net Sergey G. Ryabchun – nstitute of Cybernetics NAS Ukraine; Prospekt Academika Glushkova,40, Kiev, MCP, Ukraine; e-mail: sr@emt.com.ua Anatoliy A. Yakuba – Institute of Cybernetics NAS Ukraine; Prospekt Academika Glushkova,40, Kiev, MCP, Ukraine; e-mail: ayacuba@gmail.com ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ КЛАСТЕРНОГО КОМПЬЮТЕРА С ПОМОЩЬЮ УДАЛЕННОГО ТЕРМИНАЛА С ОПЕРАЦИОННОЙ СИСТЕМОЙ WINDOWS Дмитрий Черемисинов, Людмила Черемисинова Резюме. Рассматривается проблема подготовки программы к выполнению на мультипроцессорной системе кластерного типа. При разработке программ для кластерного компьютера применяется технология, основанная на использовании удаленного терминала. Рассматривается ситуация, когда таким удаленным терминалом является компьютер с операционной системой Windows. Предлагается набор инструментальных средств, позволяющий выполнять задачи редактирования текста, компиляции программы и запуска программы на кластере. Достоинством предлагаемого способа подготовки программы к выполнению является возможность максимального использования опыта работы программиста в Windows.

Ключевые слова: параллельные вычисления, кластерный компьютер, технология программирования.

Введение Под кластером понимают совокупность процессоров, объединенных компьютерной сетью и предназначенных для решения одной задачи, как правило, большой вычислительной сложности. На абсолютном большинстве кластеров в качестве операционной системы используется Linux.

XII-th International Conference "Knowledge - Dialogue - Solution" Кластер – довольно сложный объект и для работы на нем нужно иметь знания по сетям, устройству компьютеров, операционным системам, специальному программному обеспечению. При разработке программы для кластера хотелось бы изучать как можно меньше технических деталей, связанных с управлением операционной системой при редактировании программы, компиляции, запуске на выполнение, и сосредоточиться на разработке параллельного алгоритма. Этого можно достичь, если использовать компьютер с Windows как удаленный терминал кластерного компьютера. Однако минимальные сведения об устройстве операционных систем на основе UNIX все же необходимы. Цель этой статьи состоит в том, чтобы описать самые основные действия, которые приходится выполнять в ходе процесса разработки программы, и особенности процесса подготовки программы с точки зрения программиста, работающего в среде OC Windows.

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

Компьютер с ОС Windows должен быть подключен к той же сети, что и головная машина кластера. Для интерактивной работы с кластером и обмена файлами требуется использовать протокол с шифрованием информации – SSH (Secure SHell). Если использовать протокол telnet, в котором пароли и команды передаются в открытом виде, пароль пользователя может быть перехвачен при передаче по сети и использован для несанкционированного доступа (посторонних) к кластеру. Для подключения пользователей Windows потребуется терминальная программа доступа к кластеру, использующая протокол SSH. Ее необходимо установить и настроить. Для этого удобно использовать свободно доступную программу PuTTY, которую можно найти в Интернет по следующему адресу:

ftp://linux4u.jinr.ru/pub/win9x/crypt/putty-0.53b/x86/putty.exe Программа PuTTY представляет собой сервис терминала, т. е. дает возможность вводить информацию через клавиатуру и выводить ее на экран дисплея. Если тексты разрабатываемой программы уже находятся на кластере, PuTTY достаточно для дальнейшей работы. Если же они находятся на вашем компьютере, что более удобно, то необходима программа, обеспечивающая транспортировку данных с вашего компьютера на кластер и наоборот. В принципе для этого предназначена имеющаяся в Windows программа ftp. Однако использовать для транспортировки данных незащищенный протокол FTP, в котором данные передаются в открытом виде, нельзя по соображениям безопасности.

Для организации транспортировки данных с использованием защищенного канала передачи удобно использовать программу SecureFX. SecureFX – это клиентская программа протокола SHH для зашифрованной передачи файлов с широкими возможностями настройки конфигурации и протоколов передачи. SecureFX поддерживает режим докачки и восстановления связи в случае ее обрыва. Эта программа распространяется за плату. Программа SecureFX – это клиент сервиса транспорта данных, который может передавать данные как посредством традиционного протокола FTP, так и через шифрующий протокол SSH2.

Использование Midnight Commander В стандартном состоянии для выполнения сеанса отладки программы для кластера тексты этой программы находятся в одном из каталогов головной машины кластера. Процедура подключения к кластеру после запуска программы PuTTY выполнена, и на ее экране, на клиентской машине с Windows, имеется приглашение для набора командной строки для командного интерпретатора головной машины кластера (рис. 1).

276 Intelligent Systems Рис.1. Образец содержимого экрана программы PuTTY после завершения процедуры подключения О языке командной строки можно прочитать в любом руководстве по Linux. Обычно руководство по системам типа UNIX представляет собой толстую книгу, в которой описание команд командной строки и их параметров составляет основную часть. Для пользователя Windows удобнее для управления системой через консоль использовать программу mc (midnight commander). В Linux последних версий она входит в комплект поставки. Для ее запуска в приглашении командной строки набираем mc. После этого экран PuTTY принимает вид экрана известной оболочки «Нортон командер» (рис. 2). Большинство кнопок управления работают также, как в Нортоне [1] для DOS. Для тех, кто использует Нортон (Windows commander) или FAR, отличия в использовании mc связаны только с учетом особенностей файловой системы Linux. Теперь задачи поиска и просмотра файлов на кластере можно выполнять тем же способом, что и в ОС Windows.

В тех случаях, когда требуется немного подправить текст отлаживаемой программы, можно использовать встроенный редактор программы mc (функциональная клавиша F4) и редактировать текст прямо на кластере. В случае больших изменений удобнее редактировать тексты на своей машине, используя привычный редактор. Основные неудобства при редактировании на кластере связаны с невозможностью выполнения коррекций с помощью привычных операций copy-paste, трудностью переключения языка (русский/латинский) и т. п.

Рис. 2. Образец содержимого экрана программы PuTTY после запуска mc XII-th International Conference "Knowledge - Dialogue - Solution" Запуск программы на выполнение выполняется теми же способами, что и в «Нортоне». Нужно учитывать, что исполняемые файлы программ в двоичном виде в Linux не имеют расширения. Признаком того, что файл имеет права на выполнение, является звездочка перед именем файла (рис. 2). Для установки прав доступа используется команда chmod, которая выбирается через меню «команды» (функциональная клавиша F9 – как в Нортоне – для доступа к главному меню).

Некоторую проблему представляет собой аварийное прекращение работы запущенной программы по инициативе пользователя. В большинстве случаев прекращение работы вызывается сочетанием клавиш Ctrl-C. Перед этим нужно перейти в режим экрана командного интерпретатора, т. е. закрыть панели программы mc. Закрытие консоли на удаленной машине – выход из программы PuTTY – вообще говоря, программу не останавливает.

Режимы запуска программ Для запуска программы можно просто в поле командной строки программы mc набрать ее имя, нужные параметры и нажать ввод. Пока так запущенная программа работает, пользователь ничего делать не может, должен ждать ее завершения. Кроме обычного режима запуска существует еще режим фонового запуска, который позволяет освободить консоль для выполнения других работ. Что запустить программу в фоновом режиме, надо после имени файла поставить символ «&». Посмотреть список фоновых программ, которые уже запущены, можно командой jobs. В полученном списке все команды будут пронумерованы, и если какую-то из них нужно перевести в обычный режим выполнения, то нужно выполнить команду, например, “fg 1” (сокращение от foreground). Для того чтобы перевести в фон запущенную программу можно использовать команду bg (сокращение от background). Но если программа уже работает, то команду bg ввести не получится. Но выход есть, сначала надо будет нажать сочетание клавиш Ctrl-Z (после чего программа приостановится), а потом уже воспользоваться командами jobs и bg.

Режим запуска программ через поле командной строки mc зависит от настройки mc (обычно в фоновом режиме).

Подготовка к компиляции программы В операционной системе Linux имеются среды для разработки программ на С++, которые предоставляют программисту удобства, аналогичные возможностям среды MSVC в Windows, однако работа в этих системах значительно отличается от работы в среде MSVC. Один из крупных недостатков использования для доступа к кластеру компьютера с Windows состоит в том, что в этом случае приходиться ограничиваться теми ресурсами Linux, которые доступны через консоль. Поэтому через удаленный терминал программы PuTTY в принципе нельзя использовать программы Linux с графическим интерфейсом. С другой стороны, использование среды для разработки программ из Linux означает девальвацию навыков, приобретенных в MSVC.

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

Pages:     | 1 |   ...   | 62 | 63 || 65 | 66 |   ...   | 82 |



© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.