Ja vot tolko iz statji tak i ne pon'al, kak mezhdu soboi uzelki vzaimodeistvujut. Cherez set, chto-li? Jesli tak, to na figa ih togda v odin korpus pihat? Iz-za energopotreblenija? Bred kakoi-to.
Почему бред? "Все в одном" хорошая идея. Не надо возиться с каждым по отдельности. Вот только зря теста никакого нету, хотя бы то что по ссылке zipCrackera запустили бы и сравнили с новейшими процессорами.
to zelo:
да нет же, изза экономии пространства
а также чтобы можна было все это куда унести
to Sandy:
дак ведь цель "performance" и не ставилась - конечно можне собрать на Dual Athlon MP x N и будет заметно производительней
а цель была попытаться "поднять" на условно бесплатном железе
так сказать для проверки собственных возможностей, для отработки
принципов построения таких систем ну и т.д.
PVM - eto biblioteka dlya rasparallelivaniya processov, kotorye eto umeyut...
MOSIX - sistema avtomaticheskoj balansirovki nagruzki, kotoraya prakticheski emuliruet SMP
>на какую сумму потянет "трах с такойто матерью" ? :)
А смысл очень простой - пошукать по бухгалтериям старые компы и на деле убедиться, что все работает (правда, предложение запихать все в один корпус я считаю глупостью) и продемонстрировать начальству. После этого можно аргументированно убеждать лиц, принимающих решения о покупках, что кластер на PC/Linux (под вашим чутким управлением) это в дофига раз дешевле майнфреймов, а скорость можно набрать любую.
>PVM - eto biblioteka dlya rasparallelivaniya processov, kotorye eto umeyut... MOSIX - sistema avtomaticheskoj balansirovki nagruzki, kotoraya prakticheski emuliruet SMP
Ну PVM это не только библиотека но и соответствующий демон
который отвечает за координацию узлов Parallel Virtual Machine
в этом они с MOSIX функционально перекрывают свои возможности
Главное и самое интересное в MOSIX это миграция процессов с
узла на узел и как было замечено - их балансировка
MOSIX действительно чем то напоминает SMP при форке процессов но есть
существенное отличае - MOSIX в отличае от SMP не поддерживает (пока)
никакие виды shared memory - то есть получить параллелизм на pthread
не получится. Зато поверх MOSIX прекрасно работает PVM ;)
Причем для коммуникации не нужно pvmd - PVM проуессам кажется что
они работают на одной машине и в этом случае работвает механизм
process2process message passing - которому достаточно только наличия библиотеки
PVM
BTW: Кстати основная (ImHO) фишка PVM это платформонезависимость
так что товарисч мог собрать суПеркомпутер и на Windows
или на Windows+Linux+... и все бы это работало как одна PVM
Насчет протестировать на какой нибудь задаче:
Влоб не получится - нужно будет переписывать задачу под PVM
В принципе и без PVM можно написать приложение, которое бы состояло из нескольких взаимодействующих процессов, которые бы распределялись по узлам с помощью MOSIX.
>В принципе и без PVM можно написать приложение, которое бы состояло из нескольких взаимодействующих процессов, которые бы распределялись по узлам с
>помощью MOSIX.
Можно конечно - только PVM и MPI это как бы уже стандарт
вообще конечно хотелось бы иметь минимум телодвижений
например как при исполmзовании OpenMP
#pragma omp .... и вперед - а какая там под этим лежит
архитектура и как оно отрабатывает всяку-разну параллельну фигню
прикладнику знать не положено :)
>Можноли к примеру использовать ORACLE в нечто подобном?
1) Сильно пнуть авторов MOSIX (большим чемоданом с деньгами ;))
чтобы они скорей дописали network shared memory
2) Сильно пнуть ORACLE (не знаю уж чем) чтобы они переписали
ORACLE под PVM/MPI/Beowulf/MOSIX/Condor ;)
PS: А разве у Oracle нет поддержки кластеризации ?
PVM - это просто message passing прослойка. Под неё требуется писать специально. А Mosix - это просто миграция процессов. Функциональный аналог batch pool-а, только малость посерьёзнее. Для параллельных вычислений не предназначен - его цель - балансировка нагрузки. Кстати, я его вполне успешно употребляю совместно с PVM.
Но тогда пришлось бы повторять функциональность PVM, дабы гонять сообщения через пайпы или сокеты. Разве что воспользоваться средствами сериализации, предоставляемыми используемым языком...
>Erlang
- ну тут как минимум достаточно большое телодвижение
по изучению нового (довольно гадкого) синтаксиса
и переписывание всего барахла что скопилось за годы на
ето чудо природы (кстати навскидку не заметил МЕНЬШЕГО количества телодвижений нежели
с OpenMP)
>Mozart Oz
-ну у этого чуда по крайней мере есть интерфейсы к C/C++
Но опять же время на изучение интерфейса
Ну и вдобавок оба чуда ImHO по смыслу таки ближе к PVM
нежели к OpenMP
А ты что, хотел поиметь параллелизьм на уровне синтаксического сахара поверх семантики ублюдочного языка, от рождения к тому не предназначенного? Для C/C++ ничего лучше OpenMP принципиально сделать нельзя, так что, кто хочет параллелизьма прозрачного да легко автоматизируемого, тому по любому языки менять придётся... И, кстати, не ближе они к PVM - поскольку тут параллелизьм автоматический, то болт забить на способ реализации - всякие там потоки с блокировками и шаренной памятью, или же пересылка сообщений и всякая невнятная асинхронность...
>И, кстати, не ближе они к PVM - поскольку тут параллелизьм автоматический, то болт забить на способ реализации - всякие там потоки с
>блокировками и шаренной памятью, или же пересылка сообщений и всякая невнятная асинхронность...
Erlang:
The Erlang primitive spawn(Module,Fun,Args) creates a parallel process...
PVM:
pvm_spawn(...)
И до кучи ... к вопросу насколько глубоко спрятана реализация для разных
стандартов
OpenMP:
#pragma omp parallel
{
#pragma omp for lastprivate(i)
for(i=0; i<n-1; i++)
{
a[i] = b[i] + b[i+1];
}
a[i]=b[i];
и ничего я не знаю ни о каких процессах/нитях/узлах (хорошо бы :))
Не пойму в чем прикол такого суперкомпьютера. Rак не распараллеливай сколько-нибудь серьезные задачи, каждая отдельно взятая задача намного быстрее работать вряд ли станет.
Годится только для обслуживания большого количества запросов.
В качестве примера, будет ли на кластере из нескольких Пеньков200 просчитываться ДивИкс поток в нормальном режиме?
Можно ли на кластере из четверок проиграть МП3 ?
Короче для такого кластера все равно нужны более менее приличные машины.
А если использовать в качестве транспорта USB 2.0 ?
Понятно - что машинки понадобятся не детские - зато скорость на уровне - и самое интересное - не нужны сетевые и хаб! просто делаем соединение каждый к каждому - 6 проводов на 4 компа - лично я хочу так попробовать
да, USB неплохо, если всё получится -- зашибись.
А то старые пентюхи без интегрированной сети имеют плохой конструктив -- плоская (X-Y) мама и под углом в 90 градусов к ней по оси Z сетевая карта. И всё (видеоадаптер ведь не нужен). Как такое плотно упаковывать?
Упаковка - интересный вопрос - по идее проц бы хорошо охлаждать - и нормально
можно паковать по 2 безкомпонентными сторонами друг к другу - но лучше наверное самодельное подобие стойки - оно лучше будет - и всеми выходами вперед/ Загорелся я. блин. этой идеей - надо все таки попробовать /
>А если использовать в качестве транспорта USB 2.0 ? Понятно - что машинки понадобятся не детские - зато скорость на уровне - и самое интересное - не
>нужны сетевые и хаб! просто делаем соединение каждый к каждому - 6 проводов на 4 компа - лично я хочу так попробовать
>anonymous (*) (2002-09-03 09:58:31.101)
Ну во первых мамок с USB2 сейчас не так уж и много во вторых
USB в таком случае будет делить полосу пропускания на число USB устройств
(да и реально выигрыш USB2 перед 100TX в fullduplex сомнителен)
вот если воткнуть 4 половинных 1000TX и поднять bonding вот это интересно
:) правда гигабитка (как и любой eth) как траспорт имеет хреновую latency
А что, можно сделать сеть на USB? Есть ли вообще что-нибудь типа IP-OVER-USB-HOWTO? Я в свое время искал такого типа доку - не нашел. Если кто знает, как сделать сеть на USB, поделитесь ссылками на документацию, pls.
2anonymous (*) (2002-09-03 17:20:27.219): чтоб делать сеть на USB для начала нужны специальные кабели, стоимостью ~50$ за штуку... Дальше я думаю продолжать не надо? :) Это пр учете стоимости Ethernet или FireWire...
2Irsi. За информацию - спасибо. Только зачем спец.кабель и почему такой дорогой? Ведь для связи периферийного устройства с компом этого не надо. Насколько я понимаю, нужна всего лишь программная поддержка равнозначного соединения (типа PPP), а не обычного host/device. От кабеля это зависеть никак не может. Можно, конечно, встроить в него какую-нибудь приблуду, имитирующую последовательный порт для обоих концов (читал об этом). Но это уже не просто кабель, а девайс. Нужно-то всего-навсего соединить две машины дома по более быстрому интерфейсу, нежели RS-232C. При этом жалко выкидывать $20, когда есть USB на обоих машинах. Даже USB hub есть (в монитор встроен). Irsi, если невозможно (по аппаратным причинам) соединить две машины напрямую (или через хаб) по USB, то, может быть, объяснишь, почему? Что это за причины?