nedoPC-580 (SMP на 5 процессорах КР580ВМ80А)

Публичный форум для http://www.nedopc.org/nedopc

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

MC68k wrote:
Lavr wrote:А хотя бы с двумя (или с четырьмя) процессорами К580 (или пусть Z80) реальное
железо где-либо существовало? Ну, естественно, не так, как в ZX_NEXT, а чтобы
задача действительно распараллеливалась.
ща полезу в коробку, достану аркаду на двух Z80 сделанную и запощу фото :)
И задача действительно распараллеливалась?
Если "да", то с удовольствием ознакомился бы как со схемой, так и с ОСью.
iLavr
User avatar
MC68k
Retired
Posts: 1328
Joined: 25 Jul 2011 00:14
Location: WWW

Post by MC68k »

Lavr wrote:
MC68k wrote:
Lavr wrote:А хотя бы с двумя (или с четырьмя) процессорами К580 (или пусть Z80) реальное
железо где-либо существовало? Ну, естественно, не так, как в ZX_NEXT, а чтобы
задача действительно распараллеливалась.
ща полезу в коробку, достану аркаду на двух Z80 сделанную и запощу фото :)
И задача действительно распараллеливалась?
Если "да", то с удовольствием ознакомился бы как со схемой, так и с ОСью.
хз, в аркадах часто такое встречается. один проц занимается звуком а второй разруливает все остальное. спрайты аппаратно делаются. схемы нет, ибо досталась голая плата даже без описания, только таблица, что на слот выводится. подозреваю, что подобие ОСи там есть ибо некоторые ПЗУшки маркированы иначе. в сеге подобно сделано,но там процессоры разные. ну и более близкий к задаче "тяни-толкай" в SNES/SFC - там дополнительный процессор на карике может дергать основной и наоборот.
ntil
Novelist
Posts: 42
Joined: 09 Aug 2012 04:05
Location: 91.213.33.6

Post by ntil »

Распараллеливание задая на треды - это не прерогатива ОС. ОС только обеспечивает механизм управления многими задачами - многозадачность, многотредовость.

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

б) оптимизирующего компилятора, который сам параллелит все, что можно. Поддержка распарралеливания в ОС "на лету" - не оптимально - выгоднее это сделать один раз компилятором, чем делать при каждом запуске приложения.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

ntil wrote:Распараллеливание задая на треды - это не прерогатива ОС. ОС только обеспечивает механизм управления многими задачами - многозадачность, многотредовость.

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

б) оптимизирующего компилятора, который сам параллелит все, что можно. ...
Ну ты красиво подытожил всё, что мы в топике уже выяснили... :kruto:

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

Поэтому мне бы хоть глазком хотелось бы глянуть, как в принципе реализуется
ntil wrote:Поддержка распарралеливания в ОС "на лету" - не оптимально - выгоднее это
сделать один раз компилятором, чем делать при каждом запуске приложения.
Впрочем... теории мы здесь понаписали аж 17 страниц, и выяснили, что в теории
мы все худо-бедно проблему осознаём примерно одинаково верно...

Но вот с практическими примерами туговато...

Я поэтому и обратился вот здесь к автору хоть какого, но всё-же практического,
доступного многозадачного, хотя и не многопроцессорного проекта.

Но у нас в достатке специалистов "эпично и тонко" покритиковать всё,
что под руку попадётся, а вот специалистов сделать что-то путное своё - негусто...

Надеюсь, хотя бы твои идеи дойдут до примеров практического воплощения...
iLavr
User avatar
VituZz
God
Posts: 1343
Joined: 13 Nov 2010 04:06

Re: NedoPC-580-M

Post by VituZz »

cr0acker wrote:Задумали мы тут с тов. Шаосом, многопроцессурную систем на NedoPC-580-M.
Многопроцессорная система ещё не означает "многозадачная", а тем более автоматически не подразумевает распараллеливание процессов. Мне кажется, цели наши неясны, и с ними нужно конкретно определиться. Если многопроцессорность нужна именно для распараллеливания процессов, то "есть мнение" :), что это зло. К примеру, при создании X-Window предпринимались попытки распараллеливания, но ничего хорошего из этого не вышло, и разработчики вернулись к традиционным методам. Лично я воспринимаю обсуждаемую многопроцессорную систему не более чем как совокупность процессоров, каждый из которых может выполнять свою задачу, имея своё изолированное адресное пространство. Общая память при программировании приведёт к полному хаосу и невозможности вести отладку. Есть и другие серьёзные трудности. Не зря в современном программировании и "железе" распараллеливание процессов приживается с большим трудом и лишь серьёзными усилиями людей, которые видят в этом деле перспективу, для иных весьма туманную.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: NedoPC-580-M

Post by Lavr »

VituZz wrote:Многопроцессорная система ещё не означает "многозадачная", а тем более автоматически не подразумевает распараллеливание процессов. Мне кажется, цели наши неясны, и с ними нужно конкретно определиться.
А мне кажется за 17 страниц цели наши определились, просто каждый хочет немного своего...

А цель, если кратко:"мультипроцессорная система с возможностью распараллеливания задачи".

А вот в деталях этой цели каждому видится свой "дьявол".

Мой "дьявол" - да пусть она хоть двухпроцессорная будет, только задачу пусть
"распараллелит" сама
...

Но в силу того что из пустого в порожнее мы льём уже долго, я бы любое работающее
решение с интересом посмотрел. :wink:
iLavr
User avatar
Shaos
Admin
Posts: 24001
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

> да пусть она хоть двухпроцессорная будет, только задачу пусть "распараллелит" сама...

может система ещё и кодить сама за тебя должна? ;)

обычно программист кодит алгоритм и программист же его распараллеливает

P.S. распараллеливать сами могут только относительно новые версии больших компиляторов для современных процессоров (т.е. не Z80 и тем более не 8080) и то как правило самостоятельно они это делают плохо и им надо показывать пальцем где желательно параллелить и как (гугли OpenMP - не путать с OpenMPI)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Shaos wrote:> да пусть она хоть двухпроцессорная будет, только задачу пусть "распараллелит" сама...
может система ещё и кодить сама за тебя должна? ;)
А ты в окно выгляни - год 2012! :roll: Почему бы системе немножко не покодить за меня? :o
Я бы честно - не возражал! :lol:

Ну ладно - так и быть... я сам "покодю"... но пусть что я уже накодил -
"распараллелит" сама... да!

Делает же что-то похожее "Эльбрус"?

И вот
ntil wrote:Поддержка распарралеливания в ОС "на лету" - не оптимально - выгоднее это
сделать один раз компилятором, чем делать при каждом запуске приложения.
А я не гордый - я готов её неоптимальную многопроцессорную и невыгодную
подождать всякий раз при каждом запуске приложения.
Но пусть - явит чудо! :D
iLavr
ntil
Novelist
Posts: 42
Joined: 09 Aug 2012 04:05
Location: 91.213.33.6

Post by ntil »

эльбрус он вообще с явным паралеллизмом - там или очень толковый программер или очень толстый компилер.
ntil
Novelist
Posts: 42
Joined: 09 Aug 2012 04:05
Location: 91.213.33.6

Post by ntil »

я не гордый - я готов её неоптимальную многопроцессорную и невыгодную
подождать всякий раз при каждом запуске приложения.
Но пусть - явит чудо!
динамический рекомпилинг при старте - довольно ресурсоемкая задача. и сложная в добавку.

из того что я знаю - динамическая рекомпиляция с конвееризацией кода, чтото сходное происходит в процах "старших братьев" Х86. в нашем случае следует под конвееризацией понимать распараллеливание на разные прцессоры\ядра. чтото чуйкой чую что в случае максимум 64К программы накладные расходы на реализацию и взаимодействие между потоками будут сильно, на порядки превышать выигрыш.

нужно проводить моделирование с реальными числами, но для потешить самолюбие я не готов.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

ntil wrote:эльбрус он вообще с явным паралеллизмом - там или очень толковый программер или очень толстый компилер.
Я как-то отвлёкся от этого эльбруса, когда понял, что чуда в сжатые сроки бабаянцы не явят...
Но насколько я помню, он делал аппаратную перекомпиляцию чужого кода в нативный,
умудряясь сделать код эффективнее оригинала при прочих равных условиях...

Что-то в таком ракурсе...

А насчет распараллеливания на 2 процессора - я уже тут много раз говорил,
ну хочется, чтобы один проц расчет делал, а второй - перехватывал операции
с графикой у него... не более...

Ничего супер-нового мы не сконструируем - потому как некогда всем в жизни...
А вот попробовать реализовать мою идею из двух "Орионов" или двух "Спецтрумов"
(у кого что есть) может полегче будет?...
iLavr
ntil
Novelist
Posts: 42
Joined: 09 Aug 2012 04:05
Location: 91.213.33.6

Post by ntil »

Lavr wrote:
ntil wrote:эльбрус он вообще с явным паралеллизмом - там или очень толковый программер или очень толстый компилер.
Я как-то отвлёкся от этого эльбруса, когда понял, что чуда в сжатые сроки бабаянцы не явят...
Но насколько я помню, он делал аппаратную перекомпиляцию чужого кода в нативный,
умудряясь сделать код эффективнее оригинала при прочих равных условиях...

Что-то в таком ракурсе...

А насчет распараллеливания на 2 процессора - я уже тут много раз говорил,
ну хочется, чтобы один проц расчет делал, а второй - перехватывал операции
с графикой у него... не более...

Ничего супер-нового мы не сконструируем - потому как некогда всем в жизни...
А вот попробовать реализовать мою идею из двух "Орионов" или двух "Спецтрумов"
(у кого что есть) может полегче будет?...
эт уже ближе к акселерации аппаратеой :)

еще о эльбрусе - так он эмулирует Х86 для совместимости или выполняет свой нативный но явно прооптимизированный...
кстати с 486 проца и старше микроапрграмма на риск ядре эмулирует х86 инструкции... такие дела :) и все эти десятки конвееров относятся к риск ядру..
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

ntil wrote:еще о эльбрусе - так он эмулирует Х86 для совместимости или выполняет свой нативный но явно прооптимизированный...
Насколько я помню, он ничего не эмулирует, а перекомпилирует "на лету".

Причем не обязательно Х86... Х86 - просто взяли для примера - сравнить,
уделает ли Эльбрус Мерсед или который там Итаниум что-ли...

А так он может и чего другое перекомпилировать "на лету".
iLavr
ntil
Novelist
Posts: 42
Joined: 09 Aug 2012 04:05
Location: 91.213.33.6

Post by ntil »

скорее всего тут Вы правы - таки рекомпилинг, хотя думаю там банальный микрокод тоже может иметь место.
User avatar
MC68k
Retired
Posts: 1328
Joined: 25 Jul 2011 00:14
Location: WWW

Post by MC68k »

Shaos wrote:> да пусть она хоть двухпроцессорная будет, только задачу пусть "распараллелит" сама...

может система ещё и кодить сама за тебя должна? ;)

обычно программист кодит алгоритм и программист же его распараллеливает

P.S. распараллеливать сами могут только относительно новые версии больших компиляторов для современных процессоров (т.е. не Z80 и тем более не 8080) и то как правило самостоятельно они это делают плохо и им надо показывать пальцем где желательно параллелить и как (гугли OpenMP - не путать с OpenMPI)
угу, сама кодит, сама деньги получает.