Юзали...
Работало всё нормально с версией Mono 0.28.
Начиная с версии 0.29 начались проблемы с Mono — они попытались там добавить сборку мусора и разгрузку AppDomain'ов, но получилось как всегда... Runtime стал грохаться при попытке разгрузки областей приложений (именно в них исполняются приложения на других узлах) и до сих пор в Mono эта проблема не решена... В итоге, пришлось отказаться от AppDomain'ов и начать переделывать всё на базе процессов (они вроде как работают в Mono железно)...
В июне должна выйти новая версия рантайма для MC# (на базе процессов) — советую начать знакомство с неё...
а пока... сами понимаете — экспериментальная разработка
Эта версия будет заточена под Unix-подобные платформы (т.к. большинство кластеров работают именно под ним).
Если появится у кого интерес к Windows-платформам (нужна ли?), возможно, появится версия и для них...
Здравствуйте, vguzev, Вы писали:
A>>Доброе время суток! A>>Кто-нибудь юзал MC# ? поделитесь впечатлениями.
A>>http://u.pereslavl.ru/~vadim/MCSharp/index.ru.php
V>Юзали... V>Работало всё нормально с версией Mono 0.28. V>Начиная с версии 0.29 начались проблемы с Mono — они попытались там добавить сборку мусора и разгрузку AppDomain'ов, но получилось как всегда... Runtime стал грохаться при попытке разгрузки областей приложений (именно в них исполняются приложения на других узлах) и до сих пор в Mono эта проблема не решена... В итоге, пришлось отказаться от AppDomain'ов и начать переделывать всё на базе процессов (они вроде как работают в Mono железно)... V>В июне должна выйти новая версия рантайма для MC# (на базе процессов) — советую начать знакомство с неё... V>а пока... сами понимаете — экспериментальная разработка V>Эта версия будет заточена под Unix-подобные платформы (т.к. большинство кластеров работают именно под ним). V>Если появится у кого интерес к Windows-платформам (нужна ли?), возможно, появится версия и для них...
я поставил с mono-30.2-1, пока на одной машине (Debian 3.0), запускается.
у меня возник вопрос по поводу примеров из руководства, а именно с нахождением частичных сумм,
мне кажет эта задаче не очень хорошо подхолит для распараллеливания, т.к. и один процессор с ней
неплохо справляется, вот щас попробую на нескольких машинах запустить ...
A>я поставил с mono-30.2-1, пока на одной машине (Debian 3.0), запускается.
Странно... у меня под RedHat'ом всё валится при завершении работы какого-либо пользовательского приложения.
Кстати, режим какой — распределённый или локальный? Локальный по идее должен работать железно даже в текущем Mono (но опять-таки могут выдаваться ошибки при завершении программ).
A>у меня возник вопрос по поводу примеров из руководства, а именно с нахождением частичных сумм, A>мне кажет эта задаче не очень хорошо подхолит для распараллеливания, т.к. и один процессор с ней A>неплохо справляется, вот щас попробую на нескольких машинах запустить ...
Да, действительно, этот пример был один из самых первых на MC# и служил только лишь демонстрацией синтаксиса MC#.
Там врядли ускорения получишь в текущей версии MC# — слишком уж велики накладные расходы на сериализацию, пересылку и т.д. Хотя, теоретически, алгоритм должен давать ускорение (при условии, что время на распределение задач по процессорам [читай, "узлам"] равно ~ 0, т.е. я хочу сказать, что этот алгоритм предназначен для многопроцессорных SMP-шных машин).
Ускорение реально получить, если пересылка по сети минимальная, а расчётов на узлах много, например, расчёт множества Мандельброта, построение реалистичных изображений методом трассировки лучей (на днях выложу пример на сайт) и т.д.
P.S. Получилось ли запустить хотя бы Фибоначчи в распределённом режиме? Могу помочь, если что
Здравствуйте, vguzev, Вы писали:
A>>я поставил с mono-30.2-1, пока на одной машине (Debian 3.0), запускается.
V>Странно... у меня под RedHat'ом всё валится при завершении работы какого-либо пользовательского приложения. V>Кстати, режим какой — распределённый или локальный? Локальный по идее должен работать железно даже в текущем Mono (но опять-таки могут выдаваться ошибки при завершении программ).
A>>у меня возник вопрос по поводу примеров из руководства, а именно с нахождением частичных сумм, A>>мне кажет эта задаче не очень хорошо подхолит для распараллеливания, т.к. и один процессор с ней A>>неплохо справляется, вот щас попробую на нескольких машинах запустить ...
V>Да, действительно, этот пример был один из самых первых на MC# и служил только лишь демонстрацией синтаксиса MC#. V>Там врядли ускорения получишь в текущей версии MC# — слишком уж велики накладные расходы на сериализацию, пересылку и т.д. Хотя, теоретически, алгоритм должен давать ускорение (при условии, что время на распределение задач по процессорам [читай, "узлам"] равно ~ 0, т.е. я хочу сказать, что этот алгоритм предназначен для многопроцессорных SMP-шных машин). V>Ускорение реально получить, если пересылка по сети минимальная, а расчётов на узлах много, например, расчёт множества Мандельброта, построение реалистичных изображений методом трассировки лучей (на днях выложу пример на сайт) и т.д.
V>P.S. Получилось ли запустить хотя бы Фибоначчи в распределённом режиме? Могу помочь, если что
mono-30.2-1 я поставил только потому что небыло mono-29 (под рукой дебиановский сайт, щас качаю 29), в распределенном
режиме не работает ничего, даже Фиббоначи, они просто виснут, в дебаге выдает эксцепшены всякие про AppDomainProcessor,
щас попробую с mono-29 ...
Re[3]: MCSharp
От:
Аноним
Дата:
25.05.04 09:38
Оценка:
A>у меня возник вопрос по поводу примеров из руководства, а именно с нахождением частичных сумм, A>мне кажет эта задаче не очень хорошо подхолит для распараллеливания, т.к. и один процессор с ней A>неплохо справляется
Вы правы.
Но этот пример — довольно нетривиальный с точки зрения самого алгоритма
( он взят из журнала Science of Computer Programming ),
и в нем используются двунаправленные каналы.
Таким образом, на этой задаче проверялось —
удобен ли MC# для записи такого рода параллельных алгоритмов.
Получен ответ — очень удобен.
Здравствуйте, achmed, Вы писали:
A>Здравствуйте, vguzev, Вы писали:
A>>>я поставил с mono-30.2-1, пока на одной машине (Debian 3.0), запускается.
A>mono-30.2-1 я поставил только потому что небыло mono-29 (под рукой дебиановский сайт, щас качаю 29), в распределенном A>режиме не работает ничего, даже Фиббоначи, они просто виснут, в дебаге выдает эксцепшены всякие про AppDomainProcessor, A>щас попробую с mono-29 ...
не могу скомпилить mono-0.29 на Debian, пробовал gcc-2.59,-3.0,-3.3, не хочет, хоть RH не ставь ...
A>не могу скомпилить mono-0.29 на Debian, пробовал gcc-2.59,-3.0,-3.3, не хочет, хоть RH не ставь ...
Тогда уж 0.28 нужно... Баги начались с 0.29-й версии.
Насчёт Debian'а — не пробовал, но вроде как Mono поддерживает эту платформу.
P.S. Сейчас могу посоветовать только одно — писать и отлаживать свои программы в локальном режиме и дождаться выхода новой версии MC#. Либо поставить старую версию Mono...
Здравствуйте, vguzev, Вы писали:
A>>не могу скомпилить mono-0.29 на Debian, пробовал gcc-2.59,-3.0,-3.3, не хочет, хоть RH не ставь ...
V>Тогда уж 0.28 нужно... Баги начались с 0.29-й версии. V>Насчёт Debian'а — не пробовал, но вроде как Mono поддерживает эту платформу.
V>P.S. Сейчас могу посоветовать только одно — писать и отлаживать свои программы в локальном режиме и дождаться выхода новой версии MC#. Либо поставить старую версию Mono...
всетаки собрал mono-0.29, запускал фиббоначи и линейную сумму, работает.
Еще возникли вопросы, Вы для чего используете mcsharp, для расчетов, может кластерные сервисы создаете ?
Какие-то реальные задачи решались с помощью этого инструмента ?
Что с лицензией и исходным кодом компилятора ?
В Удмуртском госунивеситете при кафедре вычислительной математики сделеа кластер
на базе ОС Линукс (6 2-х процессорных машин), там пробовали работать с PVM, MPI, OpenMP,DVM и т.д.
После завтра защита курсовых, думаю рассказать про mcsharp.
A>всетаки собрал mono-0.29, запускал фиббоначи и линейную сумму, работает.
Похвально
A>Еще возникли вопросы, Вы для чего используете mcsharp, для расчетов, может кластерные сервисы создаете ?
Пока что наша цель — сделать язык, который бы железно работал и мог бы в будущем стать высокоуровневой заменой MPI... стандартом высокоуровневого распределённого параллельного программирования, если хотите... Если видели презентации на сайте, то наверно заметили, что в качестве основы для MC# был взят язык Polyphonic C#. Этот язык тогда тоже был лишь экспериментальной разработкой — сегодня он "мутировал" в язык COmega, который появится вместе с дистрибутивом Longhorn (если не ошибаюсь).
Идея создания MC# родилась после неудачных попыток реализовать некоторые параллельные программы на T-системе — системе, поддерживающей динамическое распараллеливание (на языке C++). К тому времени там было проблематично перетащить с узла на узел обычный массив целых чисел, к тому же программы на C++ с MPI-ными вставками выглядели просто ужасно... Тогда и появилась идея создания языка на базе C#, при использовании которого программист смог бы абстрагироваться от всех технических деталей: распределения нагрузки между узлами, перетаскивания сложных данных с узла на узел, синхронизации потоков и т.д.
A>Какие-то реальные задачи решались с помощью этого инструмента?
Разработка пока ещё не доведена до более-менее рабочей версии (но уже близится к этому).
Из реальных задач была сделана, например, задача Жуковского (см. презентации на сайте). Правда на Windows платформах ожидаемого ускорения получить не удалось (оно должно было быть линейным)... после чего и задумался перенос системы на Linux-платформу.
Сейчас на MC# переписывается система для построения планов RedKite
[http://u-pereslavl.botik.ru/~vadim/RedKite2/presentations/presentation.html].
A>Что с лицензией и исходным кодом компилятора ?
OpenSource. По крайней мере исходники для Runtime. Компилятор написан на Jav'е + C# с использовием библиотеки построения компиляторов ANTLR. Исходники для него не идут в комплекте в целях уменьшения размера дистрибутивов. К тому же, в ближайшем будущем он также будет переделан на базе C# (в ANTLR это можно сделать автоматом, если есть версия на Jav'е).
A>В Удмуртском госунивеситете при кафедре вычислительной математики сделеа кластер A>на базе ОС Линукс (6 2-х процессорных машин), там пробовали работать с PVM, MPI, OpenMP,DVM и т.д.
Это радует! Россия вспрянет ото сна...
Хотя, кластеры сегодня это не проблема... их по-моему уже имеют почти все нормальные универы и добыть аккаунты на них — не очень большая проблема
A>После завтра защита курсовых, думаю рассказать про mcsharp.
Хех... у меня завтра защита дипломной по MC#
Если нужно, могу прислать или выложить куда-нить... там есть некоторые вещи, которых нет в документации на сайте.
Здравствуйте, vguzev, Вы писали:
V>Хех... у меня завтра защита дипломной по MC#
ни пуха, ни пера! V>Если нужно, могу прислать или выложить куда-нить... там есть некоторые вещи, которых нет в документации на сайте.
да, был бы весьма признателен : achmed(dog)parc(point)uni(point)udm(point)ru
A>ни пуха, ни пера!
К чёрту...
Тебе того же
V>>Если нужно, могу прислать или выложить куда-нить... там есть некоторые вещи, которых нет в документации на сайте. A>да, был бы весьма признателен : achmed(dog)parc(point)uni(point)udm(point)ru
V>Если нужно, могу прислать или выложить куда-нить... там есть некоторые вещи, которых нет в документации на сайте.
Здравствуйте!
Я сейчас пытаюсь задействовать MCSharp для курсового проекта по параллельным вычислениям (распараллеливание задачи кластеризации слегка модифицированным методом формального элемента).
Буду благодарен, если Вы пришлете эти материалы также и мне.
sasha@zigzag.lvk.cs.msu.su
S>Я сейчас пытаюсь задействовать MCSharp для курсового проекта по параллельным вычислениям (распараллеливание задачи кластеризации слегка модифицированным методом формального элемента). S>Буду благодарен, если Вы пришлете эти материалы также и мне. S>sasha@zigzag.lvk.cs.msu.su
V>Эта версия будет заточена под Unix-подобные платформы (т.к. большинство кластеров работают именно под ним). V>Если появится у кого интерес к Windows-платформам (нужна ли?), возможно, появится версия и для них...
Я как раз пытался применить ее на Windows.
Нашел на сайте для Windows только какую-то совсем древнюю версию (чуть ли не прошлогоднюю). Возможно, все остальные проблемы были именно отсюда. Например, не парсились (и не попадали в результирующий код) буквально никакие конструкции языка, даже for.
Есть ли более свежая версия для windows? Или эти jar-ники от более свежей версии для Linux можно смело применять и для винды?
P.S. Пишу сюда, так как не нашел других контактов. Буду рад ответу на e-mail.