Хакеры сновидений: Архив 1-6 - Lokky
Шрифт:
Интервал:
Закладка:
>Большинство случайных событий, происходящих в реале, не обладают эффектом последействия
потомучто это события из разных процессов (дел).
А вообще это разночтение в терминологии не так уж и принципиально, т.к. цель суперскалярности и суперконвеерности одна и таже:/]
Переходим к самом главному:
>про такие конструкции как симметр и антисимметр -- как раз пример рапаралеливаемых событий
>(параллелизм) и суперскалярных событий. Учтём ещё что отношение симметрии как правило
>присуще классу эквивалентности, а точнее там где можно отыскать непересекающиеся
>подмнжества, тогда как антисимметрия -- порядку. Между этими тенденциями должен быть
>какой-то балланс. Есть мысли?
Пример по поводу транзитивности а к с через b: запускаем на конвеер операцию вычисления относится ли а к b, а следом относится ли b к c (можно и наоборот), получается, что не ждём первого промежуточного результата, как бы убыстряя получение требуемого конечного результата, но если а к b не относится, то вычисление отношения b к c было лишнее, в это время следовало бы кинуть на конвеер _следующую_ операцию (_не_ по порядку), нормальный планировщик в данном простом случае так и сделает (потому он и называется предсказатель переходов), но в более сложных случаях это уже не так тривиально:
>Когда возникает необходимость одновременно держать две
>возможности: последовательные вычисления и параллелизм?
В случае симметрии, как раз, проблем в загрузке конвеера нет. Собственно цель предсказателя переходов и заключается в выделении внутри потока команд симметричных блоков и переходе на следующий симметричный блок. Если смысл архитектуры SMP в ускорении параллельного выполнения отдельных процессов и нитей (которые уже явно запрограммированы как отдельные), то цель суперскалярности в распараллеливании одного потока операций на разные симметричные блоки. Интуиция или логика?
>написанные мною формулы пока лишь частный сучай для предельного времени случайного
>процесса -- его асимптотика в область стационарного режима. В общем случае уравнения
Правильно ли я понял, что цель формулы, в вычислении какие состояния будут наиболее частые?
А для чего тогда нужны будут общие уравнения?
>Рассмотрю пример с одним параметром A = (a).
Просьба не о таком примере была - в абстрактных терминах математики это и так ясно, мне хотелось бы видеть пример из реальной жизни, т.е. применение этой математической модели на _практике_ к каким-нибудь событиям...
nexus (#41, 2005-06-03, 18:17:42 )
rezuq,
Насколько я понял твою аналогию с заводом, суперскалярность -- это когда имеется скажем два станка, один из которых выполняет токарные работы, а другой станок -- напыление. При этом прослеживается необратимая последовательность: запрет на обработку детали токарем после напыления. Если оба будут работать, то выход у токаря должен быть не менее чем потребность напыления, иначе второй станок встанет. Ежели первый опережает, то детали выносятся в склад -- “буфер обмена“. При этом, при суперскалярности специализация станков постоянна. Я правильно уловил?
При конвеерности специализация станков строго не фиксированна и “прораб“ (он же планировщик) в нужный момент переназначает специализацию у станков. Скажем если количество на выходе у токаря уменьшилось в сравнении с потребностью напыления, то прораб назначает второй станок токарным и они оба токарят. При выходе на проектные мощности, специализация нормализуется. Я прав или нет? если я прав, тогда вопрос: прораб -- это и есть предсказатель?
>Правильно ли я понял, что цель формулы, в вычислении какие состояния будут наиболее частые?
А для чего тогда нужны будут общие уравнения?
>
Полученные пока формулы вычисляют в общем виде, усредняя процесс по всему времени, тогда как прямая зависимость от времени позволит вычислять вероятность того или иного состояния в заданный момент времени относительно некого начального.
>Просьба не о таком примере была - в абстрактных терминах математики это и так ясно, мне хотелось бы видеть пример из реальной жизни, т.е. применение этой математической модели на _практике_ к каким-нибудь событиям...
>
Рассмотрим скажем в качестве параметра явление “осознанности“ во снах, то есть a = “осознанность“. Тогда Ф[0] -- это обычный сон, а Ф[1] -- сновидение. При этом, “I+“ -- есть количество сновидений за какой-то промежуток времени в среднем, а вот “I-“ количество обычных снов за какой-то промежуток времени в среднем. Отседово: t [0] -- среднее время (в процентах %) пребывания человека в обычных снах; t [1] -- среднее время пребывания чеовека в сновидениях. Это один параметр. Учти ещё скажем такой параметр как “наличие спрайтов“, то получим уже четыре состояния и иное распределение среди снов.
rezuq (#42, 2005-06-03, 23:01:31 )
nexus, ну аналогия с заводом не совсем полная, главное сходство именно в конвеере, и,соответсвенно, разбиении операций на более мелкие
если в кустарной мастерской мастер c помошниками полностью собирает изделие, то на конвеере есть поток
например на современном заводе: едут по конвееру пустые бутылки, в одном месте в бутылку наливается напиток, в другом закручиваются крышки, в третьем наклеиваются этикетки, в конце группы бутылок запечатываются в упаковки, когда бутылка уже на втором этапе, на первый поступает следующая итд
так и в суперскалярных процессорах (в отличии от более примитивных), есть конвеер, к примеру операция может выполниться за пять тактов процессора, тогда она разбивается на 5 более элементарных и поступает на конвеер, допустим 3ступени у конвеера, тогда за один такт операция выполняется на первой ступени, за второй такт на второй, итд, когда 3я часть вышла с конвеера, пятая часть уже на 2й ступени, а на 1ю ступень кидаем первую часть следующей команды, итд, насчёт специализации точно не знаю, но это не важно - цель в увеличении пропускной способности
а вот какую команду кидать следующей решает предсказатель переходов, который в потоке команд пытается уловить независимые части, (пример с отношением был приведён выше), чтобы не делать лишних операций (ведь код запрограммирован последовательным)
иногда этот предсказатель может ошибаться, тогда результат сбрасывается
цель суперскалярности в распараллеливании одного потока команд.
можно ещё привести в пример архитектуру явного параллелизма(epic) привести (чипы itanium и новые русские elbrus2000), тут тоже есть конвеер, только нет планировщика, а распараллеливанием занимается компилятор, что позволяет тратить все эти дорогостоящие сотни миллионов транзисторов на дополнительные ступени конвееров, дополнительные конвееры, и дополнительную кэш-память, вдобавок при совершенствовании компилятора, достачно пересобрать программу и увеличить производительность, не меняя процессора, но суть таже самая: одновременное выполнение нескольких операций _одного_ потока команд в одном процессоре (в отличии от многозадачности, когда множество разных потоков команд разделяют один процессор (или несколько) по очереди)
>При этом, при суперскалярности специализация станков постоянна. Я правильно уловил?
>При конвеерности специализация станков строго не фиксированна
вовсе нет, суперскалярность это и есть конвеерность, подразумевает наличие конвеера с предсказателем переходов, а epic это конвеерность без планировщика, подразумевается, что команды уже заранее распараллелены компилятором
суперконвеерная архитектура - это, когда несколько одинаковых конвееров (для увеличения общей производительности).
современные процессоры могут в идеале до 20 (или около того) команд одновременно выполнять (взависимости от длины конвеера, количества конвееров и характеристик поступающего потока команд) //явное сходство с вниманием человека, который может одновремено около 7 параметров отслеживать//
специализация есть на уровне блоков (как на заводе цеха), напр блок вычисления целых чисел, блок для чисел с плавающей точкой, блок mmx, блок sse, итд
к чему я это? а! вот про эту цитату:
>можно получить свободу чувствовать и приближение развилки событийных ветвей, и >способность выбирать не первый попавшийся вариант событий!
похоже на предсказатель переходов!
nexus (#43, 2005-06-05, 20:51:33 )
rezuq,
Давай несколько вернёмся к началу нашего разговора и попытаемся ещё раз более детально остановиться на понятиях, стараясь всё-таки отыскать точки соприкосновения с повседневной реальностью. Дабы мы оба, как впрочем и все остальные, имели общее представление о конвейерности и суперскалярности, я поискал в сети материал и несколько оптимизировал его. Вот что мне удалось получить в результате кройки и шитья. :)