LINUX.ORG.RU

Сообщения pivanov

 

параллельные и распределённые вычисления: нужны советы по выбору инструментов

Доброго времени суток,

я тут начинаю новый проект и нахожусь на первоначальной стадии выбора инструментов для научно-исследовательских вычислений в своей области. Т.е. несмотря на то, что шефы советуют пользоваться мак-компьютерами, взял старенький компьютер, поставил туда Линукс и спокойно работаю на этом резвом товарище, т.к. основые расчеты всё равно будут проводиться на суперкомпьютерах, кластерах и в сети EGEE (возможно, но не уверен). А там всё равно линкус стоит.

Шефы изначально не хотят чтобы все расчёты были завязанны на коммерческие продукты вроде Matlab, поэтому буду идти в сторону использования бесплатных языков программирования и скриптов. Что само по себе мне нравится.

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

Пока читаю и смотрю в сторону использования MPI, openMP, openMPI, Erlang (слышал, но ещё не добрался до него).

Можете посоветовать еще варианты и в какую сторону посмотреть? Какие могут быть подводные камни? Что почитать? До библиотеки по этой теме не добрался еще, т.к. читаю пока другое. Так что если посоветуете что почитать, то это будет как раз вовремя.

спасибо :)

 , , ,

pivanov
()

сервер mediawiki не «виден» по имени для клиентов с windows

модераторы, если тема не в том разделе, то прошу перенести в правильный. я не линукс-администратор, но mediawiki нужно заставить нормально работать.

Суть проблемы: поставил mediawiki 1.19 c Apache, mySQL и php на локальный сервер на работе с Scientific Linux 6.4. Вроде бы всё нормально работает когда смотрю сайт через Firefox со своего компьютера с Ubuntu. Т.е. набираю http://server и вижу сайт mediawiki установленный на этом компьютере, набираю http://ip_адрес_сервера - так же вижу сайт. Во время загрузки сайта даже если я обратился по имени server, то оно подменяется его ip адресом. Но, вероятно, это не проблема.

Но когда пытаюсь посмотреть этот сайт через Firefox или Internet Explorer с компьютера с Windows 7, то браузер не может его найти если набираю адрес как http://server, но при этом он нормально видит если набираю http://ip_адрес_сервера

В случае если я меняю ip адрес сервера на его имя в переменной wgServer, определённой в LocalSettings.php (один из конфигурационных файлов mediawiki), то сайт становится вообще недоступен для просмотра из браузеров на компе с Windows 7, но нормально просматривается с Ubuntu.

В чём может быть проблема и в каком направлении копать, что проверять?

а то я по ключевым словам пока ничего в поисковиках найти не смог, но ещё продолжаю искать. Если нужна дополнительная информация, то готов её предоставить. Единственная проблема - сайт не доступен для просмотра из интернета и потому «пощупать» его у вас не получится...

В любом случае, заранее спасибо если кто откликнется.

 , , , ,

pivanov
()

GNU parallel в bash скрипте, что делаю не так?

есть некий bash скрипт transenergy.x, который я запускаю из другого bash скрипта и коммандной строки как ./transenergy.x параметр1 параметр2 всё вроде бы работает нормально на этом этапе.

Но когда я попытался задействовать несколько ядер для расчёта я начал с такого кода:

count=0
# Compute energies of transitions for this wavevector
for i in `seq 0 $index`;
do
	for j in `seq 0 $index`;
        do
		./transenergy.x ${kxi[$i]} ${kyi[$j]} &
		let "count = $count + 1"
		if [ ${count} -eq $noJobs ] ; then
			wait
			count=0;
		fi
	done
done 

где index - переменная с числом элементов в массивах kxi и kyi, noJobs - максимальное число параллельных процессов.

Код который привёл выше вполне неплохо работает, но хотелось бы добиться запуска параллельных процессов при помощи GNU parallel.

Пробовал заменить вышенаписанный код хотя бы так:

echo "${kxi[@]} ${kyi[@]}" | parallel -j$noJobs ./transenergy.x {}
но при использовании такого кода ${kyi[@]} не передаётся в /transenergy.x и всё равно используется только одно ядро.

что делаю не так?

спасибо :)

pivanov
()

bash: длина массива

есть некий текстовый файл с колонкой в которой записанны численные значения (не целые числа).

если я загружаю файл как rh=$(cat z.tmp), то как найти длину массива чисел, записанного в файл? Перебирать по одному элементу? Или есть решения попроще?

спасибо :)

pivanov
()

RSS подписка на новые темы