Добро пожаловать на домашнюю страницу языка программирования MC#! Руководство пользователя MC#.Cluster
Проект MC#
Главная страница 
Язык MC# 
Документация 
Публикации 
 Примеры 
FAQ 

 
Дистрибутивы
Система программирования MC# 

 
Ссылки
Parallel C# 
Polyphonic C# 
Проект SKIF 

 
Контакты
 Контакты 


Mono powered

Microsoft .Net powered


 
   [ English version of this page ]

========================================================
 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ MC#.CLUSTER
========================================================


В этом пакете содержится компилятор языка MC# и Runtime-система 
для платформ типа *nix (библиотека mcsharp.dll, менеджер распределения 
ресурсов и "Work Node"-сервис), а также некоторые утилиты для управления кластерами.
Также этот архив содержит несколько примеров программ на языке MC#.


ТРЕБОВАНИЯ К СИСТЕМЕ:
________________________________________________________
>= Mono 1.1.9.1
rsh (или ssh, сконфигурированный так, чтобы при запуске заданий 
на узлах не запрашивался пароль)

ОПЕРАЦИОННЫЕ СИСТЕМЫ: 
________________________________________________________
Red Hat >= 8.0, Mandrake 9.1/x86, SuSE >= 8.2

УСТАНОВКА
________________________________________________________
1. Распаковать архив в папку ~/mcsharp

2. Добавить следующие переменные окружения:

$MCSHARPPATH - расположение главной директории MC#
$MONO_PATH - Mono будет искать библиотеки в этих директориях
$PATH - нужно добавить директорию ~/mcsharp/bin

Это можно сделать добавив в файлах ~/.bashrc и ~/.bash_profile
следующие строчки:

export MCSHARPPATH=/home/yourhomedir/mcsharp
export MONO_PATH=$MCSHARPPATH/bin:$MONO_PATH
export PATH=$MCSHARPPATH/bin:$PATH

Внимание: Замените /home/yourhomedir на Вашу домашнюю директорию!
          Переменные должны быть добавлены в оба файла .bashrc и .bashrc_profile!
          Перед началом установки проверьте, что у вас правильно установлена переменная HOME
          (она должна указывать на директорию /home/yourhomedir)

3. Компиляция (Предполагается, что на системе уже установлены mono(рантайм), 
mcs (C# компилятор) и gcc(C++ компилятор).

cd ~/mcsharp
make

Примечание: 
 При инсталляции создастся файл "~/.mcsharp/.rmport" в котором 
 будет указан произвольный номер любого свободного порта в Вашей системе. 
 Этот порт будет в дальнейшем использовать менеджер распределения ресурсов.
 При желании этот порт может быть назначен вручную - для этого достаточно 
 изменить значение порта в указанном файле.

 При инсталляции также создастся файл "~/.mcsharp/.wnport" в котором
 будет указан произвольный номер любого свободного порта в Вашей системе.
 Этот порт будет в дальнейшем использоваться на узлах кластера Work Node сервисами.
 При желании этот порт может быть назначен вручную - для этого достаточно 
 изменить значение порта в указанном файле.

 Если Вы хотите использовать ssh (вместо rsh, который используется по-умолчанию) или
 какую-либо другую утилиту, предназначенную для старта приложений на других узлах, 
 создайте файл ~/.mcsharp/.accesstype и введите название команды.

________________________________________________________

Программы, скомпилированные с библиотекой mcsharp.dll могут работать 
как автономно (локальный режим), так и в распределённом варианте 
(распределённый режим) - на кластере. Во втором случае необходимо при запуске 
указать ключ '/np' и количество процессоров (или '-np').

По умолчанию пользовательские программы исполняются в локальном режиме, т.е.
как простые exe-приложения. При этом нет необходимости запускать менеджер 
распределения ресурсов и эмуляторы рабочих узлов, что оказывается очень 
удобным при написании и первоначальной отладке программ.


ИНИЦИАЛИЗАЦИЯ RUNTIME
________________________________________________________
Данная версия использует rsh для инициализации Runtime на узлах кластера.
rsh на всех узлах должен быть настроен так, чтобы при переходе с одного узла 
на другой не запрашивался пароль.
Для инициализации рантайма в распределённом режиме служит утилита mcsboot,
параметром которой является имя файла, содержащего имена узлов кластера
(каждый узел на новой строке). 
По-умолчанию загружается файл $MCSHARPPATH/bin/nodes.

Пример использования:
mcsboot $MCSHARPPATH/bin/nodes

ЗАВЕРШЕНИЕ РАБОТЫ RUNTIME
________________________________________________________
Когда Вы закончили работу с кластером, необходимо завершить работу Runtime.
Для этого существует команда mcshalt.

ДОПОЛНИТЕЛЬНЫЕ УТИЛИТЫ
________________________________________________________
Чтобы узнать какие узлы загружены рантайм-системой MC# используйте команду
'mcsnodes'.
Чтобы выполнить какую-либо команду на всех узлах используйте команду 'do-all'.
Например:
 do-all killall -9 mono

Этой командой приостанавливаются все приложения запущенные с помощью mono.

Примечание: Утилита do-all исполняет заданную команду на всех узлах, указанных
в файле $MCSHARPPATH/bin/nodes.

КОМПИЛЯЦИЯ ПОЛЬЗОВАТЕЛЬСКИХ ПРОГРАММ
________________________________________________________
Для компиляции программ на MC# служит команда mcsc.
Компиляция происходит в две стадии: сначала MC#-код транслируется в C# код, 
после чего вызывается компилятор mcs (компилятор C# из платформы Mono).

Замечение:
 все параметры, переданные компилятору mcsc будут применены 
 при компиляции оттранслированного C#-кода компилятором mcs.

Примеры использования:
 mcsc fib.mcs
 mcsc fib.mcs /o:myfib.exe
 mcsc /t:library fib.mcs

Программы на языке MC# можно скомпилировать в DLL следующим образом
 mcsc a.mcs /t:library /out:a.dll

Подключить DLL-файлы можно следующим образом
 mcsc /r:a.dll b.mcs

Можно компилитовать как .mcs, так и .cs-файлы
 mcsc a.mcs b.cs

Также можно компилировать несколько .mcs файлов
 mcsc a.mcs b.mcs

ПРИМЕРЫ ЗАПУСКА ПОЛЬЗОВАТЕЛЬСКИХ ПРОГРАММ
________________________________________________________

Локальный вариант:
 mono fib.exe 35

Распределённый вариант:
 mono fib.exe 35 -np 5


Замечания и предложения можно оставить на сайте
http://u.pereslavl.ru/~vadim/MCSharp/

Или непосредственно обратитесь к разработчикам:

Юрий П. Сердюк                        Вадим Б. Гузев
Yury@serdyuk.botik.ru                 vadim@u.pereslavl.ru
ICQ: #330402764                       ICQ: #62951762
Компиляторы                           Runtime-системы


Спасибо за внимание!
Разработчики языка MC#


 

Весь Переславль