|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
nedoPC-580 (SMP на 5 процессорах КР580ВМ80А)
Author |
Message |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
И делали на них распределённые вычисления???! - НЕ ВЕРЮ! (с)Станиславский.
|
25 Jun 2011 09:37 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22609 Location: Silicon Valley
|
Ну может кто и делал...
Про сеть на 8080 теперь в другом топике:
http://www.nedopc.org/forum/viewtopic.php?t=9621
|
25 Jun 2011 09:48 |
|
|
VituZz
God
Joined: 13 Nov 2010 04:06 Posts: 1345
|
С воплощением в железе вообще всегда проблема, ибо по большому счёту for fun - недостаточный стимул для многодневного труда, другие же применения сомнительны. Многозадачность же хоть и привлекательна, но влечёт за собой массу проблем, как технических, так и организационных (если делать её правильно) - усложнение схем и программного обеспечения на порядок по сравнению с однозадачным режимом. Привилегии, защита памяти, планировщик задач... И в результате (ну предположим, мы этот путь осилим) получим НедоВиндовс...
Мне нравится книжка Э.Реймонда "Искусство программирования для UNIX". Хотя программирование и разработка железа - довольно разные вещи, но всё же некоторые базовые принципы верны и там, и там. Позволю себе процитировать некоторые "философские принципы разработки" :
- правило модульности: следует писать простые части, связанные ясными интерфейсами;
- правило ясности: ясность лучше, чем мастерство;
- правило простоты: необходимо проектировать простые программы и "добавлять сложность" только там, где это необходимо;
- правило оптимизации: создайте опытные образцы, заставьте их работать, прежде чем перейти к оптимизации;
- правило разнообразия: не следует доверять утверждениям о "единственно верном пути";
- правило расширяемости: проектируйте с учётом изменений в будущем, поскольку будущее придёт скорее, чем кажется.
|
25 Jun 2011 10:02 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Правила программирования зело правильные, хотя и несколько пафосные...
А насчёт остального... можно я промолчу? - Не буду приумножать виртуальные
сущности...
|
25 Jun 2011 10:08 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А вот интересно: супер-пупер кампутер на базе одиннадцати процессоров Paralax Propeller
использует распределённые вычисления??
Или это 11 контроллеров Paralax Propeller, собраных в этажерочку?
http://dlinyj.livejournal.com/382833.html
|
04 Aug 2011 13:26 |
|
|
Shadovv13
Novelist
Joined: 06 Jul 2011 11:19 Posts: 40 Location: 95.135.142.82
|
Хотел бы я себе позволить такой супер компьютер собрать!
Насчет мультипроцессорного недоПС, он должен сохранить совместимость или это совсем новая архитектура будет?
|
05 Aug 2011 05:48 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Да вот о таких вопросах мы в этом топике дискутируем и спорим...
Возможно, у тебя есть своё оригинальное мнение или примеры готовых конструкций?
|
05 Aug 2011 06:04 |
|
|
Shadovv13
Novelist
Joined: 06 Jul 2011 11:19 Posts: 40 Location: 95.135.142.82
|
Мнение есть всегда!! Но не всегда правильное
Если совместимость на не нужна, тогда можно разогнаться на полную.
Допустим сопроцессоры будут в слоте расширения, то есть они не обязательны. У каждого есть 64к ОЗУ и оно может бить подключено к основному как страничная память. Так и основной процессор может разместить туда необходимую задачу, или взять все нужное(к примеру результат).
Как таким устройством управлять? Все просто!
Есть несколько идей и их надо обсудить.
К примеру, завершение программы на сопроцессорах, должно генерировать сигнал HALT, который будет записан в регистр состояния сопроцессоров. Таким образом основной при опросе(через порти вода- вывода) узнает о завершении вычислений. Но можно и генерировать прерывание(это кстати надо обсудить). Ну и конечно остается вопрос о старте сопроцессоров, давать им ПЗУ или делать окно в основном ОЗУ.
|
05 Aug 2011 06:52 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Давай обсудим - но серьёзно. А то тема скользкая - с разбегу кажется, "да я щазз!", а потом начинаешь видеть кучу подводных камней, особенно со стороны софта, и "энтуазизъм" улетучивается.
Что я имею в виду "со стороны софта" - Венда заманила всех, не заставляя переписывать приложения ДОС.
Хотелось бы тоже сочинить такую не шибко сложную замауху.
Полярность мнений у нас здесь от " весь софт, батенька, придётся переписать!" до " софт переписывать неохота - пусть всем руководит отдельная программа-диспетчер".
|
05 Aug 2011 07:11 |
|
|
VituZz
God
Joined: 13 Nov 2010 04:06 Posts: 1345
|
Может, устроить голосование?
Ну, все мы знаем, что помимо достоинств совместимости, это потянуло за собой огромную массу проблем. В данном случае необходимости в совместимости лично я не вижу, ибо не с чем особо "совмещаться".
|
05 Aug 2011 08:55 |
|
|
Shadovv13
Novelist
Joined: 06 Jul 2011 11:19 Posts: 40 Location: 95.135.142.82
|
Я полностью согласен! И думаю для начала нам надо обсудить направления.
1. Должно оно бить совместимым, если да то с чем?
Думаю все остальные вопросы, только после ответа на первый!
|
05 Aug 2011 08:55 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
А я лично вижу с чем совмещаться и наш пример с "новым" "Специалистом МХ" - тому подтверждение.
Голосованием решают только на митингах, а у нас случай не тот...
Но я давно уже предложил - давайте конкретно и понятно рассмотрим одну реально работающую систему с разделением.
Пусть даже самую простую.
Есть такое мнение - если ты можешь объяснить работу сложной системы на пальцах без "умных" слов и отсылки к источникам, - то ты реально понимаешь принцип её работы.
До такого уровня мы ещё ни разу не дошли ни в одном из сценариев.
|
05 Aug 2011 09:42 |
|
|
VituZz
God
Joined: 13 Nov 2010 04:06 Posts: 1345
|
Мне кажется, несимметричная схема с неравноценными (или неравноправными, или как вам угодно ещё) процессорами в реализации проще. Пусть будет один "главный" процессор и несколько подчинённых. Главный может общаться с подчинёнными посредством как общей памяти, так и с помощью обмена сообщениями через порты ввода-вывода посредством, к примеру, DMA. Второй вариант кажется мне более предпочтительным, поскольку из общей памяти всё равно нужно будет копировать в локальную, что с помощью DMA делается проще и естественней. Протокол обмена может напоминать POP/SMTP - текстовые сообщения (они обычно краткие) с "вложениями", если необходимо - собственно данные для обработки. Общая схема мне кажется довольно простой, но, как известно, "дьявол скрывается в деталях"
Если же брать в качестве цели именно распараллеливание даже одной задачи, то это кажется мне нерациональным с такими скромными ресурсами, как ВМ80. Гораздо эффективнее распараллеливать именно работу, раздавая свои задачи каждому процессору. Разумеется, если программа будет написана так, что сможет использовать несколько процессоров одновременно, она ДОЛЖНА будет так написана. Но на этом пути я вижу некоторые трудности, которые не так уж просто победить "малой кровью"... Правильный путь мне видится в том, чтобы максимально освободить главный процессор от рутины с помощью разумных периферийных процессоров, которым достаточно будет "намекнуть", что нужно сделать, и они без лишних слов всё сделают сами.
Но это, конечно, не то распараллеливание вычислений, которое обычно имеют в виду.
|
05 Aug 2011 09:53 |
|
|
Shadovv13
Novelist
Joined: 06 Jul 2011 11:19 Posts: 40 Location: 95.135.142.82
|
Зачем старому ишаку новые подковы???
Я склоняюсь к новой разработке, софт думаю можно частично переписать(самый-самый ), а остальной подтянуть.
Да симметричный вариант очень сложный и я склоняюсь к второму варианту.
VituZz
А какие сейчас легко доставаемые DMA???
|
05 Aug 2011 10:05 |
|
|
VituZz
God
Joined: 13 Nov 2010 04:06 Posts: 1345
|
Ну если речь о К580, так это К580ВТ57. К1810ВТ37 вроде бы тоже подходит, и даже вроде лучше, чем ВТ57, поскольку позволяет делать пересылки не только между ОЗУ и ВВ, но и между ОЗУ и ОЗУ. Но насчёт её совместимости с К580 нужно проверить, давно это было...
|
05 Aug 2011 10:08 |
|
|
Who is online |
Users browsing this forum: No registered users and 77 guests |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|