Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Pro] распределенное приложение на Fortran... имеет ли смысл... ? 
:(
    Опции темы
Cross
Дата 4.12.2008, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


информатик-аналитик
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 2.6.2006
Где: Москва

Репутация: нет
Всего: 1



Здравствуйте!
Столкнулась со следующей проблемой: есть научный проект, требующий высокопроизводительных вычислений.
Они собственно уже реализованы на С++ с помощью распределения на CORBA.
Но разработчики потерялись, код на С++ не работает, и копаться в нем нет желания.
Нашла нечто похожее на Fortran. Но без распределения.
Подскажите, имеет ли смысл сейчас применять Fortran???
Можно ли его использовать с CORBA?

Также меня интересует, платные ли для него компиляторы? 
(т.к. разрабатываемый проект должен использовать только бесплатное ПО)

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

Но важна скорость... 

Что посоветуете? В Интернете много информации о том, что Fortran - лидер 
в области высокопроизв. вычислений, но с другой стороны - у нас почему-то он не распространён...

Заранее спасибо за любый ответы и советы )






PM MAIL ICQ Skype MSN   Вверх
Иванофф
Дата 5.12.2008, 02:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 8.9.2006

Репутация: нет
Всего: нет



у вас как в сказке "приди не одетой и не раздетой, с подарком и без подарка"
CORBA и высопроизводительные вычисления - это вроде несколько разное.
проект написан, но разбираться не хотите.
бесплатное ПО и высокопроизводительные вычисления - тоже не совсем совпадает.
вы знаете Java, но ищете сторонних разработчиков, тогда причем ваше знание Java.
Fortran - лидер в области высокопроизв. вычислений если возьмете правильный компилятор и правильных программистов (которых вроде негде взять)

Это сообщение отредактировал(а) Иванофф - 5.12.2008, 02:50
PM MAIL   Вверх
Cross
Дата 5.12.2008, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


информатик-аналитик
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 2.6.2006
Где: Москва

Репутация: нет
Всего: 1



Дело в том, что вычислительное приложение, работающее на С++, как говорят, работало очень и очень медленно.
Поэтому и не хотят его восстанавливать. 

Цитата

бесплатное ПО и высокопроизводительные вычисления - тоже не совсем совпадает.


Почему бесплатное ПО "не совпадает" с высокопроизводительными вычислениями?
Нет бесплатных компиляторов? или что? 

Цитата

вы знаете Java, но ищете сторонних разработчиков, тогда причем ваше знание Java.


Я не хочу искать сторонних разработчиков, если бы знала, что Java даст приемлемую скорость,
использовала бы только ее.

CORBA или RMI используется для распределения, но разве это не относится к высокопроизводительным вычислениям.
Это же частный случай параллельных вычислений...

PM MAIL ICQ Skype MSN   Вверх
kemiisto
  Дата 5.12.2008, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: нет
Всего: 160



Цитата(Cross @  5.12.2008,  10:07 Найти цитируемый пост)
Дело в том, что вычислительное приложение, работающее на С++, как говорят, работало очень и очень медленно.

А что с ним случилось? Разработали новый (более быстрый) алгоритм?

Цитата(Cross @  5.12.2008,  10:07 Найти цитируемый пост)
Почему бесплатное ПО "не совпадает" с высокопроизводительными вычислениями?

Потому, что бесплатные FORTRAN-компиляторы на выходе дают более медленные исполняемые файлы, нежели платные. Это пожно погуглит: "FORTRAN Benchmarks". Вот, например.

Цитата(Cross @  5.12.2008,  10:07 Найти цитируемый пост)
Я не хочу искать сторонних разработчиков, если бы знала, что Java даст приемлемую скорость, использовала бы только ее.

Сначала хотел просто высказаться по поводу скорости Java, но потом решил зайти на старый-добрый http://shootout.alioth.debian.org/Я в шоке, господа. smile 

Это сообщение отредактировал(а) kemiisto - 5.12.2008, 12:54


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Cross
Дата 5.12.2008, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


информатик-аналитик
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 2.6.2006
Где: Москва

Репутация: нет
Всего: 1



Цитата

А что с ним случилось? Разработали новый (более быстрый) алгоритм?


изначально была программа на Fortran, и работала достаточно быстро. 
Но т.к. дело касается молекулярной динамики, потребовалось моделировать
все большее количество точек, потому решили переписать алгоритм на С++
и сделать его распределенным в локальной сети. 
Ну после запуска остались сильно недовольны скоростью... 
потому проект забросили, оставив код на С++ без комментариев.
Конечно можно в нем разобраться, но стоит ли? 

Цитата

Сначала хотел просто высказаться по поводу скорости Java...


В гугле столько разноречивой информации про Java... даже не знаю чему верить...
А что вы хотели сказать по поводу скорости Java???  smile 

Цитата

Потому, что бесплатные FORTRAN-компиляторы на выходе дают более медленные исполняемые файлы, нежели платные. 


Можете посоветовать выход из положения? 
И вообще, где найти информацию о том, насколько платные хорошие компиляторы для Фортран?
А можно ли обычную вычислительную программу на Фортране сделать распределенной? 
Или проще написать новую??? 
PM MAIL ICQ Skype MSN   Вверх
kemiisto
Дата 5.12.2008, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: нет
Всего: 160



Цитата(Cross @  5.12.2008,  11:26 Найти цитируемый пост)
дело касается молекулярной динамики

 smile 

Цитата(Cross @  5.12.2008,  11:26 Найти цитируемый пост)
А можно ли обычную вычислительную программу на Фортране сделать распределенной?

Если я правильно понимаю распределённость:
Цитата(Википедия)
Распределённые вычисле́ния (distributed computing, grid computing, volunteer computing) — способ решения трудоёмких вычислительных задач с использованием двух и более компьютеров, объединённых в сеть.

то конечно можно. Например, GAMESS, GAUSSIAN, DALTON (это из тех QC считалок, которые я точно знаю, что написаны на FORTRAN) вроде бы распараллеливаются (с разным успехом). А иначе какой смысл их ставить на кластеры? Наверное, будет полезным почитать про MPI.

Цитата(Cross @  5.12.2008,  11:26 Найти цитируемый пост)
А что вы хотели сказать по поводу скорости Java???

А что обычно говорят? smile Теперь вот и я неуверен...




--------------------
PM MAIL WWW GTalk Jabber   Вверх
Cross
Дата 5.12.2008, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


информатик-аналитик
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 2.6.2006
Где: Москва

Репутация: нет
Всего: 1



Цитата

Наверное, будет полезным почитать про MPI.


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

Вообще я находила в гугле Java-апплеты, выполняющие вычисления, касающиеся молекулярной динамики. 
Работают быстро )))

А насчет скорости Java я конечно читала в основном только отрицательные отзывы... 
Но сейчас все больше пишут, что Java почти сравнялась по производительности с С++.
Не знаю, верить этому, или это просто рекламная кампания  smile 
Но факт в том, что программы, написанные на Java меня лично еще никогда не подводили...
А с С++ все сложнее... вот вроде есть у меня программа рабочая, но никто не может её запустить )))

Это сообщение отредактировал(а) Cross - 5.12.2008, 18:53
PM MAIL ICQ Skype MSN   Вверх
Иванофф
Дата 6.12.2008, 02:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 8.9.2006

Репутация: нет
Всего: нет



а зачем вам сеть из средних компьютеров. дешевле поставить один нормальный двухпроцессорный четырехядерный компьютер и получить нормальную скорость. непонятно на каком этапе вы хотите съэкономить.
PM MAIL   Вверх
Cross
Дата 6.12.2008, 03:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


информатик-аналитик
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 2.6.2006
Где: Москва

Репутация: нет
Всего: 1



понимаете... это научный проект при университете. 
все сразу сделать все равно не получится, т.к. никто у нас не умеет программировать в стиле HPC.
Учиться уже нет времени, т.к. кандидатская на носу - а этот проект и будет защитой )))

Каждый аспирант делает что-то свое, какую-то часть...
Моя задача - сделать распределение. 
Все что касается многопроцессорных машин, это уже будет делаться после...
Если у института будут деньги на такие компьютеры ) 
А пока есть только аудитория с ЛВС ))) на том и надо работать 

Вот так собственно обстоит дело  smile 
PM MAIL ICQ Skype MSN   Вверх
kemiisto
Дата 6.12.2008, 03:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: нет
Всего: 160



Цитата(Cross @  5.12.2008,  16:41 Найти цитируемый пост)
Насколько я понимаю, MPI - это метод распараллеливания на разные процессоры, находящиеся на одной машине (т.е. на суперкомпьютере)

Нет, точнее, не только:
Цитата
Message Passing Interface (MPI) is a specification for an API that allows many computers to communicate with one another. It is used in computer clusters and supercomputers
.

Цитата(Cross @  5.12.2008,  16:41 Найти цитируемый пост)
А насчет скорости Java я конечно читала в основном только отрицательные отзывы... 

Я вот что думаю по этому поводу: хватит ли у Вас опыта писать "быстрый" код на FORTRAN. Там ведь тоже не всё так просто. Помните, лучший ЯП - тот, который программист знает лучше всего.

Цитата(Cross @  5.12.2008,  16:41 Найти цитируемый пост)
Но сейчас все больше пишут, что Java почти сравнялась по производительности с С++.

Думаю, имеется ввиду, что существенного опережения по скорости работы приложений C++ уже не даёт. В 2 раза, но это не так уж и критично.

Цитата(Cross @  5.12.2008,  16:41 Найти цитируемый пост)
Но факт в том, что программы, написанные на Java меня лично еще никогда не подводили...
А с С++ все сложнее... вот вроде есть у меня программа рабочая, но никто не может её запустить )))

Что значит: не может запустить? Есть программа в исходных кодах?


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Иванофф
Дата 6.12.2008, 04:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 8.9.2006

Репутация: нет
Всего: нет



так бы сразу и написали. личный совет. разрабатывайте и отлаживайте отдельные части на разных машинах, а считайте на одной самой быстрой. добавьте ей памяти, если есть обмен поставьте диски в райд 0, иначе просто потеряете время на отладку в ЛВС.
PM MAIL   Вверх
Cross
Дата 6.12.2008, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


информатик-аналитик
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 2.6.2006
Где: Москва

Репутация: нет
Всего: 1



Цитата

Что значит: не может запустить? Есть программа в исходных кодах?


Есть исходные коды, она компилируется... но ничего не делает...

Но если все равно научная руководительница недовольна скоростью и хочет переделывать...


PM MAIL ICQ Skype MSN   Вверх
popovda
Дата 6.12.2008, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 9.6.2006
Где: Москва

Репутация: нет
Всего: 6



Что касается MPI - та библиотека имеет 2 глобальных приемущества для создания распределенных интерфейсов:
1. Она кроссплатформенна (то есть не придеться сильно изменять код для др. ОС)
2 позволяет контролировать вычислительную нагрузку и создавать виртуальные топологии ЛВС, что может быть очень полезно для некоторых задач.

Но есть недостатки - слабая поддержка и современных стандартов Фортран и C++. 

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


--------------------
С уважением, Попов Д.А.
PM MAIL   Вверх
Cross
Дата 6.12.2008, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


информатик-аналитик
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 2.6.2006
Где: Москва

Репутация: нет
Всего: 1



Цитата

Поэтому, поскольку Вам так или иначе надо получить высокопроизводительный код, а значит понадобится коммерческий качественный компилятор.


Моя задача - использовать только бесплатное ПО, и компиляторы в том числе.
Как решить эту проблему?
PM MAIL ICQ Skype MSN   Вверх
kemiisto
  Дата 6.12.2008, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: нет
Всего: 160



Цитата(Cross @  6.12.2008,  20:57 Найти цитируемый пост)
Как решить эту проблему?

А чем Вас существующие "велосипеды" не устраивают?


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Fortran | Следующая тема »


 




[ Время генерации скрипта: 0.0911 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.