powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Архитектура вычислительных систем
21 сообщений из 21, страница 1 из 1
Архитектура вычислительных систем
    #39647651
arkashashev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Современная концепция архитектуры компьютеров сформировалась в середине прошлого века и с тех пор применяется практически повсеместно. Действительно, сейчас считается само собой разумеющимся, что любая вычислительная система - это ни что иное, как комбинация активного вычислительного модуля (процессора, контроллера) и пассивной памяти, в которой обычно в одной куче навалены и программы и данные. К этому нерушимому единству контролера и памяти добавляются различные внешние устройства, с помощью которых система общается с внешним миром. По такому принципу сегодня устроено практически все - от контролера кофеварки до системы управления космическими кораблями. Подобная архитектура кажется абсолютно естественной и даже трудно помыслить, что она могла бы быть совершенно другой.

Однако, если вдуматься, становится понятно, что это - самая противоестественная архитектура, какую только можно было придумать. Например, почему процессор должен быть именно один? Собственно, очень быстро человечество пришло к тому, что он и не должен быть один - стали появляться системы с несколькими процессорами. Однако, тут и начались проблемы. Дело в том, что эта архитектура принципиально однопоточная - один процессор - одна память. Попытки сначала запустить несколько потоков на одном процессоре, а потом еще и на нескольких процессорах одновременно, но с общей памятью, быстро стали приводить к сильному усложнению всей вычислительной системы - и железа и программного обеспечения - тут и механизмы переключения потоков и процессов, и необходимость обеспечения согласованного доступа к общей памяти и другим ресурсам. Однако, никто и не подумал, что основная проблема здесь именно в принципиальном ограничении архитектуры. Но сложившаяся концепция к тому времени уже завладела умами и ломать ее никто не решился.

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

Главным элементом новой системы является вычислительная матрица - многомерная решетка, состоящая из огромного количества, десятков и сотен миллионов, соединенных друг с другом примитивных элементов. Каждый из этих элементов состоит из двух частей: элементарной ячейки памяти, способной хранить одно число и элементарного логического модуля (сумматора, мультипликатора, инвертора и т.д.). Каждый примитивный элемент может читать число из ячейки памяти соседних элементов - эти числа являются входами элемента. Один из входов - управляющий, другие - входы данных. На каждом шаге элемент может выполнить одно из двух действий в зависимости от состояния управляющего входа - он может либо выполнить свою логическую операцию над операндами, полученными с входов данных и сохранить результат в своей ячейке памяти. Либо может ничего не делать.

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

Легко видеть, что такая система изначально параллельна - даже само понятие шага программы для нее не настолько очевидно, как для традиционной архитектуры. Кроме того, понятие потока исполнения для нее бессмысленно - появляется новое понятие активного подграфа матрицы, ассоциированного с программой. А раз нет никаких потоков и процессов, то нет и проблемы синхронизации и других проблем многопоточности.
...
Рейтинг: 0 / 0
Архитектура вычислительных систем
    #39647658
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arkashashevА раз нет никаких потоков и процессов, то нет и проблемы синхронизации и других проблем многопоточности.
Осталось где-то взять распараллеливающиеся алгоритмы. Большинство используемых алгоритмов однопоточны, хотя бы частично, поэтому требуют синхронизации и т.д.
...
Рейтинг: 0 / 0
Архитектура вычислительных систем
    #39647659
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я к тому что проблемы с синхронизацией возникают не из-за особенностей устройства процов, а из-за особенностей решаемых задач, т.е. алгоритм задачи требует синхронизации, а не проц.
...
Рейтинг: 0 / 0
Архитектура вычислительных систем
    #39647699
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arkashashevА раз нет никаких потоков и процессов, то нет и проблемы синхронизации и других проблем многопоточности.

«Проблема многопоточности» никак не связана именно с компьютерами. Эта проблема окружает нас везде и повсюду. Попытки устранить эту «проблему» в корне, типа полностью сменив архитектуру, подход и прочие галлюциногенные идеи, всегда меня смешили. Решать надо саму задачу, а не бороться с ветряными мельницами.

arkashashevВо первых она задает конфигурацию подграфа
arkashashevначальные значения ячейка памяти всех примитивных элементов
arkashashevдля каждой ячейки задает внешние условия модификации
arkashashevзагрузчик должен будет найти изоморфный требуемому программой графу свободный подграф матрицы

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


arkashashevА раз нет никаких потоков и процессов, то нет и проблемы синхронизации и других проблем многопоточности.

Навыдумывали всяких потоков и процессов. Вот дурачки ))
...
Рейтинг: 0 / 0
Архитектура вычислительных систем
    #39647702
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TЯ к тому что проблемы с синхронизацией возникают не из-за особенностей устройства процов, а из-за особенностей решаемых задач, т.е. алгоритм задачи требует синхронизации, а не проц.

Нет, это дубовый проц и деревянная архитектура виноваты, задачи тут неупричом
...
Рейтинг: 0 / 0
Архитектура вычислительных систем
    #39647739
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
...
Рейтинг: 0 / 0
Архитектура вычислительных систем
    #39647748
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

ох ё... 20% хоть сколько-нибудь полезной усвояемой инфы в расчёте на потребляемую площадь. Десктоп разработка имеет свои последствая.
...
Рейтинг: 0 / 0
Архитектура вычислительных систем
    #39647749
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или это специально так слабал, чтобы показать максимум? ))
...
Рейтинг: 0 / 0
Архитектура вычислительных систем
    #39647753
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще, идеальных универсальных визуальных средств для проектирования логики я не видел. Обычно под каждый процесс, если вообще требуется, нужен свой UI.
...
Рейтинг: 0 / 0
Архитектура вычислительных систем
    #39647756
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смешались в кучу кони, люди ... (с)
ТС про железо, а тут какие-то фото бизнес-логики. ViPRos, ваш интим с hVostt понятен только вам. Или расшифровывай или занимайтесь этим в другом месте.
...
Рейтинг: 0 / 0
Архитектура вычислительных систем
    #39647766
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

никакой кучи
ТС пишет про матрицу процессоров (корпус многоэтажный набитый станками) и граф работ (нормативный гант - проект), который надо скармливать матрице.
Это обычное планирование производства.
Так как компьютер можно рассматривать (и всегда рассматриваю) как цех по переработке мягкого ганта (только отношение предшествования) - программы, то все тут при чем.
...
Рейтинг: 0 / 0
Архитектура вычислительных систем
    #39647774
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosЭто обычное планирование производства.
Я заметил схожесть, но ТС упустил значительный нюанс процессоростроения - условный переход. У тебя он есть?
...
Рейтинг: 0 / 0
Архитектура вычислительных систем
    #39647776
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Компьютерный мир и мир производства ТМЦ полностью совпадают, вплоть до структур и алгоритмов.
Но, мало кто этого замечает и потому в производственном мире строят детские теории типа - JIT (ленивое исполнение), оптимальные сети дистрибьюции (могоуровневые кеши с хорошим попаданием), вплоть то дебильных веревок и барабанов (диспетчеров узких мест).,..., и т.д. фигни.
Я решил, что надо этому положить конец и все достижения компьютерных наук сделать доступными в производстве ТМЦ.

ТС (возможно не осознанно) открыл для себя обратный процесс (хоть этот подход и был выбран как базовый в свое время).
...
Рейтинг: 0 / 0
Архитектура вычислительных систем
    #39647777
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

Есть "обусловленные процессы" - они запускаются в зависимости от состояния контекста (состояние процессоров, предыдущих процессов серверов, прогнозируемых процессов клиентов,...).
(Например, процесс переналадки станка зависит от состояния процессоров (наличие/отсутствие инструмента в нужной кондиции, оснастки, параметров станка и т.д.) этого процесса)
Даже есть процессы "синглтоны" - это когда единственный экземпляр процесса обслуживает все запросы :)
Т.е. полные аналоги.
Дык почему бы не пользоваться?
А то всякие деминги, голдраты, вумеки и другая шушера забил мозги производственникам фигней типа "бережливого производства" и т.д.
...
Рейтинг: 0 / 0
Архитектура вычислительных систем
    #39647847
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Многомерную вычислительную матрицу я бы предложил убрать из топика и вообще не обсуждать. В ней не больше смысла чем в эвристической машине старикашки Эдельвейса.

А для позитивного примера взять биологические системы и искусственные НС.
...
Рейтинг: 0 / 0
Архитектура вычислительных систем
    #39647850
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arkashashevГлавным элементом новой системы является вычислительная матрица - многомерная решетка, состоящая из огромного количества, десятков и сотен миллионов, соединенных друг с другом примитивных элементов.Вы, случаем, не транспьютер изобрели?
...
Рейтинг: 0 / 0
Архитектура вычислительных систем
    #39648303
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если еще упростить то будет похоже на клеточный автомат.
...
Рейтинг: 0 / 0
Архитектура вычислительных систем
    #39648325
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arkashashev,

Вы просто промоделируйте предложенную схему - модель из нескольких тысяч/десятков тысяч элементов можно обсчитать на практически любом компьютере (возможно, не в реальном времени). Реализуйте несколько простых алгоритмов - а там и видно будет.
...
Рейтинг: 0 / 0
Архитектура вычислительных систем
    #39648329
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы упустили главное...

arkashashevА раз нет никаких потоков и процессов, то нет и проблемы синхронизации и других проблем многопоточности.

тут вопрос, а что же тогда такое программа, какие задачи она решает, конкретно и в каких условиях существует
...
Рейтинг: 0 / 0
Архитектура вычислительных систем
    #39648389
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кулибины :)

"— Можно взглянуть?

— Помилуйте! За счастье...

Он подвел нас к колесу, потом обвел кругом. Оказалось, что и спереди и сзади — колесо.

— Вертится?

— Должно бы, кажется, вертеться. Капризится будто...

— Можно отнять запорку? — Презентов вынул палку — колесо не шелохнулось.

— Капризится! — повторил он, — надо импет дать. Он обеими руками схватился за обод, несколько раз повернул его вверх и вниз и, наконец, с силой раскачал и пустил, — колесо завертелось. Несколько оборотов оно сделало довольно быстро и плавно, — -слышно было, однако ж, как внутри обода мешки с песком то напирают на перегородки, то отваливаются от них; потом начало вертеться тише, тише; послышался треск, скрип, и. наконец, колесо совсем остановилось.

— Зацепочка, стало быть, — сконфуженно объяснил изобретатель и опять напрягся и размахал колесо. Но во второй раз повторилось то же самое.

— Трения, может быть, в расчет не приняли?

— И трение в расчете было... Что трение? Не от трения это, а так... Иной раз словно порадует, а потом вдруг... закапризничает, заупрямится — и шабаш. Кабы колесо из настоящего материалу было сделано, а то так, обрезки кой-какие”."
...
Рейтинг: 0 / 0
Архитектура вычислительных систем
    #39648710
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
arkashashevСовременная концепция архитектуры компьютеров сформировалась в середине прошлого века и с тех пор применяется практически повсеместно. Действительно, сейчас считается само собой разумеющимся, что любая вычислительная система - это ни что иное, как комбинация активного вычислительного модуля (процессора, контроллера) и пассивной памяти, в которой обычно в одной куче навалены и программы и данные. К этому нерушимому единству контролера и памяти добавляются различные внешние устройства, с помощью которых система общается с внешним миром. По такому принципу сегодня устроено практически все - от контролера кофеварки до системы управления космическими кораблями. Подобная архитектура кажется абсолютно естественной и даже трудно помыслить, что она могла бы быть совершенно другой.

Однако, если вдуматься, становится понятно, что это - самая противоестественная архитектура, какую только можно было придумать. Например, почему процессор должен быть именно один? Собственно, очень быстро человечество пришло к тому, что он и не должен быть один - стали появляться системы с несколькими процессорами. Однако, тут и начались проблемы. Дело в том, что эта архитектура принципиально однопоточная - один процессор - одна память. Попытки сначала запустить несколько потоков на одном процессоре, а потом еще и на нескольких процессорах одновременно, но с общей памятью, быстро стали приводить к сильному усложнению всей вычислительной системы - и железа и программного обеспечения - тут и механизмы переключения потоков и процессов, и необходимость обеспечения согласованного доступа к общей памяти и другим ресурсам. Однако, никто и не подумал, что основная проблема здесь именно в принципиальном ограничении архитектуры. Но сложившаяся концепция к тому времени уже завладела умами и ломать ее никто не решился.



Так уже достаточно давно у современных компьютеров нет общей памяти для всех процессоров.
То, что есть -- это такая фикция. Эмулятор. Отсюда и 1000 проблем оптимизации и распараллеливания.

arkashashevНа мой взгляд, большинство описанных могут быть решены созданием новой архитектуры вычислительной системы, изначально параллельной. Набросок такой архитектуры я сейчас и покажу.

Так было уже, 20 лет назад, транспьютеры назвалось...
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Архитектура вычислительных систем
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]