среда, 11 марта 2009 г.

mpd_md5_bf 0.0.2 релиз

За день существования на sourceforge.net нашлись люди - которые заинтересовались проектом. За сегоднешний день я немного улучшил код, добавил генератор паролей, и небольшоой text-based UI. Программой заинтересовались в каком то учебном заведении как примером для изучения кластерных программ и тестирования. И любезно согласились быть альфа тестерами. Так же к проекту присоединился Eric Fode:


I am working with a group of collage students in a testing
class and we would like to use you project as our project
for testing...
Eric Fode


Приятно что сообщество opensource так быстро реагирует на появление новых проектов.

вторник, 10 марта 2009 г.

FreeBSD 7.1

Удалось решить проблемы совместимости клстерных программ для линукса во FreeBSD. Теперь головной узел переведен под FreeBSD 7.1. Возможно сегодня-завтра переведу еще главный сервер и еще несколько нодов. Спасибо LUG мифи за помошь в освоении тонкостей фряхи

P.S Программа для перебора паролей была одобрена на sourceforge. Теперь буду развивать тему и писать более менее серьезный брутфорс. в данный момент мой код гордо лежит по названием mpi_md5_bf-0.0.1 alpha вот тут

понедельник, 9 марта 2009 г.

MPI Md5 Bruteforce



Долго думая как бы еще опробовать кластер я решил написать md5 переборщик паролей для компьютеров с кластерной архитектурой MPI. Чтобы не парится с криптографией, я взял классический алгоритм вычисления md5 хеша (by Benjamin Grüdelbach 2005) и начал писать брутфорс: при переборе распараллелить программу, тем более что алгоритм хеширования у нас хороший(т.е. быстрый), достаточно просто. в нашем случае данные для перебора(а точнее словарь) загружаются в память всех узлов кластера и далее программа будет работать по циклу:

for(int i=myid+1;i меньше listp.size()&&!done;i+=n){
string hash = md5.getHashFromString(listp[i]);
if(hash==x_hash){
done=1;
Print("password is [" + listp[i]+ "]");
MPI_Bcast(&done,1,MPI_INT, myid,MPI_COMM_WORLD);
}
}
смысл в том что весь словарь разбивается на n участков, которые соответсвуют количеству узлов в кластере и далее идет паралельный цикл, вместо обычного i++ мы просто прибавляем количество узлов в кластере чтобы каждый узел обсчитал только отведенне ему данные. так же если вдруг перебор был успешным нужно разослоать всем узлам единицу в переменную done чтобы они прекратили считать хеши. вобщем то и все. вот так можно ускорить перебор паролей. Было бы интересно ускорить генерацию отдельного хеша, но об этом я еще буду думать. скоро программа будет доступна для скачивания тут.
а пока на sourceforge утверждают проект можно скачать вот тут
P.S все еще рассматривается идея о переводе на freebsd

пятница, 6 марта 2009 г.

Перевод системы


Рассматривается идея о переводе всего кластера на FreeBSD 7.1. На данный момент объективных причин нет, но некоторые капают на мозги, мол ubuntu - это убого и попсово. Какая разница какой это дистрибутив если вся настройка все равно делается вручную? Если что и надо переводить на FreeBSD - то это только главный обслуживающий сервер: он же шлюз, файл сервер и принт-сервер. поскольку кроме 9 кластерных машин к нему еще обращаются из сети, тут есть о чем подумать для снижения нагрузки. Но с другой стороны во время проведения экспериментов все равно все внешние сервисы отключаются. В итоге я в раздумьях. Всетаки склоняюсь к переводу сервера на фряху

четверг, 26 февраля 2009 г.

Пиковая производительность


Вдесятером они даже Intel i7 уделают
Home Cluster Pick Performance:
9 cpu:

Mflops:
ub-server: 5993.39 x 2 = 11986,78
slv-laptop: 1607.25 x 2 = 3214,5
cl2: 3800.22
cl3: 3588.33
cl4: 3608.14
cl5: 5099.39
cl7: 6018.61
cl8: 3399.86
cl9: 6029.87

Total Performance: 46745,7 Mflops=46,74GFlops

Cash Size:

ub-server: 2048 x 2 = 4096
slv-laptop: 512 x 2 = 1024
cl2: 256
cl3: 512
cl4: 512
cl5: 1024
cl7: 2048
cl8: 256
cl9: 2048

Total cash size: 11776 KB = 11,5 MB

Network: 100 Mbps Ethernet

А теперь сравним производительность кластера с процессорамии из топовой линейки Intel i7

Кластер.



























Вот свершилось уже неделю мы строили у меня дома кластер. Строили строили и наконец построили) Скоро о нем можно будет почитать в журнале upgrade. Всего в нем 10 узлов. Хостится под Ubuntu 8.10 Server+mpich2
на ядре 2.6.27-7-generic. Сейчас ведем эксперименты на вычисление производительности