LINUX.ORG.RU

Совместное использование ресурсов

 , ,


1

3

Есть проблема доступа к совместным ресурсам. Я вот не пойму, это реальная проблема, или она надумана?

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

Пусть есть условная ячейка памяти, которую разные процессы могут инкрементить. Как принято представлять эту модель? Процесс №1 считывает текущее значение из памяти(допустим - это 0), прибавляет к нему единицу, а затем записывает в память получившееся значение вместо предыдущего. Соответственно пока процесс №1 производит операцию сложения, процесс №2 может считать значение памяти, и начать свою операцию сложения. Затем, после того как процесс №1 записал результат(1) в память, процесс № 2 также записывает свой результат(1) в память, и результат 2-х инкрементов — 1.

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

Это все выглядит уродливо, как кровавое месиво.

Давайте посмотрим на это с другой стороны.

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

То есть, обычная инкапсуляция. И нет никакой проблемы.

Если это так просто, то зачем городить огород? Зачем решать несуществующие проблемы? Может это выгодно всякого рода горе-дезигнерам, делать вид, что существует проблема, нет проблемы — нет и хлебушка с маслицем?

Перемещено tailgunner из development

Перемещено jollheef из job

Ответ на: комментарий от mtiexpert

Чем больше абстракций в процессоре, тем больше транзисторов. А они все греются.

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

Я не про «тренд на зелённость», а про реальную проблему охлаждения. Да и количество транзисторов в одной логической цепочки ограничивает максимальную тактовую частоту. А ещё на больших частотах имеет значение размер чипа и относительные задержки сигнала на линиях.

Спорное заявление. Действительно - это может иметь смысл. Если у нас топорный пайплайн с максимальной единицей исполнения «инструкция», то чем сложнее инструкция - тем в конечном итоге больше мы можем получить.

Это реальность. Я как то уже сравнивал Celeron 900 MHz и Pentium 3 1300 MHz. Так вот, Селерон был быстрее. И в играх обеспечивал более плавную прорисовку.

В веб бума техпроцесса? Сомневаюсь.

При чём здесь web? Какое то время не могли повышать частоты. Это потом уже случился прорыв и началась гонка мегагерцев.

Выяснилось не это. Выяснилось то, что риск не масштабируемый.

Как раз таки масштабируемый. Можно много ядер в один кристал засовывать.

Хотя что тут выяснять - это ясно любому школьнику.

Уж кто бы говорил.

Ибо любой пайплайн, а в будущем и суперскалярность есть ни что иное как параллелизм. Хотя конечно - декодирование, а вернее резка на чанки есть малая часть работы ядра, но закон Амдала никто не отменял.

Ты забываешь, что супер-скаларность бывает как аппаратная, так и программная на этапе компиляции.

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

Звучит интересно, но хотелось бы доказательств вместо кокаинума.

Сложно назвать плюсы, которые даст х86 новая архитектура.

X86 - это победа маркетинга над здравым смыслом.

rezedent12 ☆☆☆
()
Ответ на: комментарий от tailgunner

Царь не всегда говорит так, как говорил на ЛОР - на Хабре он был гораздо сдержаннее.

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

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

В последнее время я уже не могу сдерживаться. Слишком невыносима для меня чья-то невменяемость. Особенно после баталий про кресты.

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

Вот и получается, что как я буду с ними говорить? Я либо их заигнорю, либо что? Что я должен писать в ответ на откровенный бред и враньё? Бред и враньё?

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

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

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

Конечно, меня сильно одалевают твои удаления моих комментов. Особенно с причинами «неверно». Я уже не раз порывался идти в раздел лор и писать разоблачения, но мне настолько лень кому-то что-то доказывать. Мне проще забить вообще на писание чего-то тут, да и где-либо ещё. Что, собственно, я и сделал.

mtiexpert
()
Ответ на: комментарий от mtiexpert

Мне проще забить вообще на писание чего-то тут, да и где-либо ещё. Что, собственно, я и сделал.

Надо было тебе держаться.

tailgunner ★★★★★
()
Ответ на: комментарий от rezedent12

Я не про «тренд на зелённость», а про реальную проблему охлаждения. Да и количество транзисторов в одной логической цепочки ограничивает максимальную тактовую частоту. А ещё на больших частотах имеет значение размер чипа и относительные задержки сигнала на линиях.

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

Это реальность. Я как то уже сравнивал Celeron 900 MHz и Pentium 3 1300 MHz. Так вот, Селерон был быстрее. И в играх обеспечивал более плавную прорисовку.

Я не понимаю какое это имеет отношение к теме? Целерон вдруг стал не х86, либо что?

При чём здесь web?

Там ясно и понятно, что описка. Там написано «В веК бума техпроцесса?»

Какое то время не могли повышать частоты. Это потом уже случился прорыв и началась гонка мегагерцев.

Ну дак это (м)архитектурные проблемы. И решили их увеличением логики на кристале. И никаких проблем с этим не было.

Как раз таки масштабируемый. Можно много ядер в один кристал засовывать.

Там описка - не риск, а циск. Это далее явно видно.

Много ядер это не та масштабируемость.

Ты забываешь, что супер-скаларность бывает как аппаратная, так и программная на этапе компиляции.

Я не понимаю. На основании чего ты сделал этот вывод и какое это имеет отношение к теме?

Какая там суперскалярность ни на что не влияет. Компилятор не декодирует инструкции за процессор и прочее - он просто сам их распределяет.

Звучит интересно, но хотелось бы доказательств вместо кокаинума.

Это банальная логика. Если ты понимаешь тему - ты понимаешь это. Но если тебе не понятно - я объясню подробнее.

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

Для решения этой проблемы любая вменяемая железяка и отделяет работу с памятью от вычислений.

Проблемы именно уровня распределения я уже описал. Спрашивать о том, как ты будешь ренеймить адреса и прочее я не буду. Попытайся решить эту проблему и будет понятно почему так сделано.

X86 - это победа маркетинга над здравым смыслом.

Нет. х86 - это жертва легаси. Тут дело не в х86 - х86 это банальная плоская архитектура, как однопоточный код. Сколько ты и чего не делай - люди как мыслили однопточно так и будут. И написание параллельного кода любого уровня параллельности будет восприниматься ими как магия. Они так мыслял - их не переделать.

В каком проценте кода сейчас люди проектируют многопоточную архитектуру? В 0.1%? Я сейчас не про наставить локов. Наставить локов - это однопоточная архитектура сколько бы потоков там не было.

Это свойства присущие текущей формации развития этого мира.

Интел рад бы выкинуть х86 нахрен. Но сложность микроархитектуры х86 это планка, планка не дающая войти кому-то на этот рынок. Это если говорить о суперскалярности уровня железяки. Ну и король легаси. Это ещё одна планка, которую преодолеть невозможно.

Делать отдельный продукт интелу надо? Он уже делал итаник. Он конечно был такой себе архитектурой накастыленной поверх х86. Это не была революция, но пацаны не оценили. Революция загнулась бы ещё быстрее.

Поэтому интел это не более чем отражение текущих реалий. Реалий как легаси так и того, что твориться в головах программистов. И гнать надо не на интел, ибо не в нём дело.

mtiexpert
()
Ответ на: комментарий от vikingfilmtracker

Да ладно. Objective-C — прямая альтернатива

Нет. Ты наверное про ООП? Типа где ООП накостылено лучше? Я не считаю, что в этом какая-то его сила.

Я считаю, что сила С++ в другом. Сила именно уровня интерфейсов. Мощь синтаксиса + мощь компилтайм логики + мощь средств генерации кода + мощь системы типов + по мелочи аля операторы и прочее. Язык настолько мощный, что я могу внутри него создать другой язык. И этот язык не будет убогим вызовом методов.

Альтернативы тому, что я хочу от языка нет. Да даже С++ для меня слишком слаб.

mtiexpert
()
Ответ на: комментарий от rezedent12

Это не важно. Он говорит абстрактно. При этом про реализацию в рамках любой модели, а не только текущей.

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

Логика работы любого современного процессора такова, что любой кешлайн является атомарной единицей. До этого доходят единицы. Чуть больше доходят до того, что считают записи одним мувом атомарными.

mtiexpert
()
Ответ на: комментарий от mtiexpert

Я не про «тренд на зелённость», а про реальную проблему охлаждения. Да и количество транзисторов в одной логической цепочки ограничивает максимальную тактовую частоту. А ещё на больших частотах имеет значение размер чипа и относительные задержки сигнала на линиях.

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

Потому что это проблема конструкторов, мешающая им повышать характеристики. А не тебя потребителя.

Про задержки я упоминал.

Я не понял.

Это реальность. Я как то уже сравнивал Celeron 900 MHz и Pentium 3 1300 MHz. Так вот, Селерон был быстрее. И в играх обеспечивал более плавную прорисовку.

Я не понимаю какое это имеет отношение к теме? Целерон вдруг стал не х86, либо что?

Celeron 900 MHz имел ещё по большей части CISC ядро, а Pentium 3 уже имел внутри RISC и обвязку-транслятор.

При чём здесь web?

Там ясно и понятно, что описка. Там написано «В веК бума техпроцесса?»

Я говорил про гонку частот.

Какое то время не могли повышать частоты. Это потом уже случился прорыв и началась гонка мегагерцев.

Ну дак это (м)архитектурные проблемы. И решили их увеличением логики на кристале. И никаких проблем с этим не было.

Их решили улучшением технологии.

Как раз таки масштабируемый. Можно много ядер в один кристал засовывать.

Там описка - не риск, а циск. Это далее явно видно.

Тебя не поймёшь...

Много ядер это не та масштабируемость.

Ты забываешь, что супер-скаларность бывает как аппаратная, так и программная на этапе компиляции.

Я не понимаю. На основании чего ты сделал этот вывод и какое это имеет отношение к теме?

Это не вывод. Это факт. Загугли про процессор Эльбрус.

Какая там суперскалярность ни на что не влияет. Компилятор не декодирует инструкции за процессор и прочее - он просто сам их распределяет.

Загугли про процессор Эльбрус. Распределение инструкций по исполнительным модулям процессора происходит на этапе компиляции.

Звучит интересно, но хотелось бы доказательств вместо кокаинума.

Это банальная логика. Если ты понимаешь тему - ты понимаешь это. Но если тебе не понятно - я объясню подробнее.

Лучше доказательства.

Для решения этой проблемы любая вменяемая железяка и отделяет работу с памятью от вычислений.

Что именно ты имеешь ввиду?

Проблемы именно уровня распределения я уже описал.

Я не понял.

Спрашивать о том, как ты будешь ренеймить адреса и прочее я не буду.

О чём ты? Как можно «переименовывать адреса»?

X86 - это победа маркетинга над здравым смыслом.

Нет. х86 - это жертва легаси. Тут дело не в х86 - х86 это банальная плоская архитектура, как однопоточный код.

И как моё утверждение противоречит твоему? Именно intel продавливала свою архитектуру на рынок, именно она не сделала попыток уйти от наследия. Хотя нет, попытка была, но неправильная.

Сколько ты и чего не делай - люди как мыслили однопточно так и будут. И написание параллельного кода любого уровня параллельности будет восприниматься ими как магия. Они так мыслял - их не переделать.

Не ровняй всех на себя, человек не способный понять теорию относительности.

В каком проценте кода сейчас люди проектируют многопоточную архитектуру? В 0.1%? Я сейчас не про наставить локов. Наставить локов - это однопоточная архитектура сколько бы потоков там не было.
Это свойства присущие текущей формации развития этого мира.

ы?

Интел рад бы выкинуть х86 нахрен. Но сложность микроархитектуры х86 это планка, планка не дающая войти кому-то на этот рынок.

Ты говоришь самопротиворечивое. Бизнес - в первую очередь делает деньги и в качестве побочного эффекта продукт. Привязка к X86 это то чего они больше всего боятся лишиться, а не то что они рады выкинуть. Точнее немного по другому. Это инженеры, рады выкинуть X86, а манагеры будут держатся за него до последнего.

Делать отдельный продукт интелу надо? Он уже делал итаник. Он конечно был такой себе архитектурой накастыленной поверх х86. Это не была революция, но пацаны не оценили. Революция загнулась бы ещё быстрее.

Это была робкая попытка немного изменить рынок, а не попытка революции.

Реалий как легаси так и того, что твориться в головах программистов. И гнать надо не на интел, ибо не в нём дело.

«Король не сдвинится - не сдвинутся и подданные». Конечно мышление всяких быдлокодеров весьма инертна, но intel потакает этому.

rezedent12 ☆☆☆
()
Ответ на: комментарий от mtiexpert

А про магические заклинания - весь мир из них состоит.

Для тебя да. Для меня нет.

rezedent12 ☆☆☆
()

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

Решение:

#include <stdio.h>

int main(void) {

  while (1) {
    printf("%d\n", 0);
  }
  
  return 0;

}

axdx
()
Ответ на: комментарий от tailgunner

А вот теперь скажи мне. Что мне отвечать персонажу выше? Вот он тотальный ноль, но уже эксперт. Спорить с ним бессмысленно - он всё игнорирует и ничего не воспринимает.

И получает как - я либо потакаю его, будем так говорить, несерьёзности, либо игнорирую. Но тогда либо он, либо пацаны могут подумать, что я слился. Обычно в таких ситуациях я говорю оппоненту, что он дурак и объясняю почему это так.

mtiexpert
()
Ответ на: комментарий от rezedent12

Потому что это проблема конструкторов, мешающая им повышать характеристики. А не тебя потребителя.

Какие-такие характеристики можно повышать. Поподробней с примерами. Почему это не мешало им их повышать? Было когда-то пару ватт, а сейчас 150. Как так произошло?

Celeron 900 MHz имел ещё по большей части CISC ядро, а Pentium 3 уже имел внутри RISC и обвязку-транслятор.

И что же из этого следует? А, я понял твоё магическое заклинание. Ты решил, что целерон был быстрее и уже на основании этого сделал вывод, что risc и обвязка замедлила что-то на 30%? Ну и 30% ты взял из головы, конечно.

Действительно. Фееричные экспертные заявления. Выводы противоречат реальности, ибо никакой риск и обвязка не помешали следующим поколениям быть быстрее целерона. Волшебство?

Я говорил про гонку частот.

Что? Ты мне утверждаешь то, что лишняя логика что-то ограничивала. Это заявление опять же противоречит реальности, ибо в момент появления этой логики частоты взмыли в космос.

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

Их решили улучшением технологии.

Какой ещё, нахрен, технологии? Технологии чего?

Тебя не поймёшь...

Всё там понятно. Другое дело, что ты ничего не понимаешь в теме и как следствие не понимаешь так же и того, о чём говорю я. Да даже в теме быть не надо - надо просто знать определения.

Это не вывод. Это факт. Загугли про процессор Эльбрус.

А можно ты меня пощадишь? Я ничего не хочу говорить про твой уровень развития, но всё же.

Давай ещё раз. Ты в ответ мне написал - «не забывай». Я тебе ответил про вывод. В данном случае вывод - это твои рассуждения про то, что я чего-то забыл.

А далее я так же спросил - какое это имеет отношения к теме. На это ты конечно же не ответил. Зачем отвечать, да?

Какая там суперскалярность ни на что не влияет. Компилятор не декодирует инструкции за процессор и прочее - он просто сам их распределяет.

Загугли про процессор Эльбрус. Распределение инструкций по исполнительным модулям процессора происходит на этапе компиляции.

Не. Я уже не могу. В ответ на моё:

Компилятор ... инструкции ... ... сам ... распределяет.

Он мне отвечает:

Распределение инструкций по исполнительным модулям процессора происходит на этапе компиляции.

Т.е. тем же самым. Это новый уровень.

И опять же - по теме не ответил. Декодировать инструкции будет кто и как? Ты вообще понимаешь о чём я говорю?

Лучше доказательства.

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

Что именно ты имеешь ввиду?

Я всё объяснил выше.

Я не понял.

Забудь.

О чём ты? Как можно «переименовывать адреса»?

У нас есть поток инструкций. Нам надо выделить из них отдельные подпотоки не связанные друг с другом. Связаны инструкции данными. Это значения в регистрах, либо в памяти. И нам надо определить с какими именно значениями работает та или иная инструкция.

Проблему видишь? Вместо 6бит адреса в х86 ты получил 64.

И как моё утверждение противоречит твоему? Именно intel продавливала свою архитектуру на рынок, именно она не сделала попыток уйти от наследия.

Как? Полностью. Ты говорил про какой-то маркетинг со стороны интела - какой маркетинг? Изначально никто особо не думал, что эта архитектура дерьмо. А уж потом это стояло ясно. Но уже поздно - все на интелах и рынок ни капли не гибкий.

Тебе что вдруг возьмут все и перепишут дискетки с досом/маздайкой? Пошлют почтой новые? Да тебя пошлют нахрен.

А как запускать вчерашние программы, игрульки, дрова? Везде бинари.

Вот и получается, что интел стал жертвой наследния. Как и всё в этом мире. Либо выпускай такое же, но лучше, либо иди нахрен.

Выпускать что-то принципиально иное, но с поддержкой х86 на том же уровне - никто не будет. Это не выгодно.

Хотя нет, попытка была, но неправильная.

Что за попытка и в чём неправильная?

Не ровняй всех на себя, человек не способный понять теорию относительности.

Что? Какая теория и чего там понимать?

И причём тут я - у меня никаких проблем нет. В мой анализ мира лишь отражает свойства мира. Люди как мыслили плоско так и мыслят. Есть, конечно, некие подвижки, но это не носит массовый характер.

Ты говоришь самопротиворечивое. Бизнес - в первую очередь делает деньги и в качестве побочного эффекта продукт.

И я так же объяснил про планки и про бизнес. Очередной игнор и уличение меня в чём-то. Я уж не буду спрашивать какие там противоречия ты нашел, ибо это бессмысленно.

Привязка к X86 это то чего они больше всего боятся лишиться, а не то что они рады выкинуть.

У интела не только х86 - у интела есть технологическая база и люди. Это не меньшая планка нежели х86.

Да и причём тут интел. Маздайку и игрульки кто перепишет?

Точнее немного по другому. Это инженеры, рады выкинуть X86, а манагеры будут держатся за него до последнего.

Выкинули - не фортануло.

Это была робкая попытка немного изменить рынок, а не попытка революции.

В каком месте я где-то говорил о том, что это была какая-то попытка революции?

И я не понимаю - это как-то освобождает тебя от необходимость написать мне внятный ответ? Была/не была революция - это ничего не меняет. Людям дали итаник - люди не оценили. С чего ты решил, что с очередным не х86 будет не то же самое?

«Король не сдвинится - не сдвинутся и подданные». Конечно мышление всяких быдлокодеров весьма инертна, но intel потакает этому.

Тут дело ни в какой-то инертности. Это не смена шила на мыло. Это другое мышление, другие подходы.

Я тебе привёл пример с многопоточностью. Король сдвинулся - кто-то сдвинулся? Нет. Всем насрать.

mtiexpert
()

Остальные процессы могут послать сообщения этому процессу

И – избыточность пустых мыслей.

znenyegvkby
()
Ответ на: комментарий от vikingfilmtracker

Но почему в вебе нет этих проблем? Почему не возникает проблемы совместного доступа к ресурсу(сайту)?

Удивляюсь, как ты умудряешься в кинотеатре смотреть фильм вместе со всеми.

znenyegvkby
()
Ответ на: комментарий от mtiexpert

Какие-такие характеристики можно повышать. Поподробней с примерами. Почему это не мешало им их повышать? Было когда-то пару ватт, а сейчас 150. Как так произошло?

Уменьшая ядро, в процессор можно засунуть дополнительные ядра и кэш.

Celeron 900 MHz имел ещё по большей части CISC ядро, а Pentium 3 уже имел внутри RISC и обвязку-транслятор.

И что же из этого следует?

Из этого следует что многие операции выполнялись за большее количество тактов.

А, я понял твоё магическое заклинание.

«Технология кажется дикарям магией»

Ты решил, что целерон был быстрее и уже на основании этого сделал вывод, что risc и обвязка замедлила что-то на 30%? Ну и 30% ты взял из головы, конечно.

Логику применил. Смотри выше.

Что? Ты мне утверждаешь то, что лишняя логика что-то ограничивала. Это заявление опять же противоречит реальности, ибо в момент появления этой логики частоты взмыли в космос.

Ты про MMX и SSE инструкции слышал?

Всё там понятно. Другое дело, что ты ничего не понимаешь в теме и как следствие не понимаешь так же и того, о чём говорю я. Да даже в теме быть не надо - надо просто знать определения.

У тебя не стройные мысли и воинствующее невежество.

Их решили улучшением технологии.

Какой ещё, нахрен, технологии? Технологии чего?

Улучшили техпроцесс и защиту чипов от радио (микроволн) помех.

И опять же - по теме не ответил. Декодировать инструкции будет кто и как? Ты вообще понимаешь о чём я говорю?

Ты не задавал такого вопроса. А вернее задавал похожий на него в контексте обсуждения суперскалярности. Из чего я сделал вывод что ты упомянул такой этап декодирования как проверка операций на возможность одновременного исполнения. (И зачем я тебе это объясняю?)

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

Твоё предположение ничуть не логичнее твоего утверждения о укрывательстве правды, о ложности теории относительности.

О чём ты? Как можно «переименовывать адреса»?

У нас есть поток инструкций. Нам надо выделить из них отдельные подпотоки не связанные друг с другом. Связаны инструкции данными. Это значения в регистрах, либо в памяти. И нам надо определить с какими именно значениями работает та или иная инструкция.
Проблему видишь? Вместо 6бит адреса в х86 ты получил 64.

Я вижу поток шизофазии. Может я ошибаюсь Но я точно не помню что бы когда либо в X86 была 6 битная шина адреса.

Тебе что вдруг возьмут все и перепишут дискетки с досом/маздайкой? Пошлют почтой новые? Да тебя пошлют нахрен.
А как запускать вчерашние программы, игрульки, дрова? Везде бинари.

Так же как поступила Apple когда меняла архитектуру, засунула в BIOS эмулятор.

Люди как мыслили плоско так и мыслят. Есть, конечно, некие подвижки, но это не носит массовый характер.

И те кто далают на этом деньги - этому потворствуют.

В каком месте я где-то говорил о том, что это была какая-то попытка революции?

Ты сам напейсал слово «революция».

Я тебе привёл пример с многопоточностью. Король сдвинулся - кто-то сдвинулся? Нет. Всем насрать.

Много кто сдвинулся.

rezedent12 ☆☆☆
()

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

И нет никакой проблемы.
Если это так просто, то зачем городить огород? Зачем решать несуществующие проблемы?

Ты же вроде собирался ассемблер учить?

Кроме упомянутых в треде TM/STM (с OCC) есть еще подход MVCC, его применяют в СУБД (Oracle, PostgreSQL). Данные копирует себе обрабатывающий процесс, мусолит их в невидимом для других процессов месте, но записывает (это все упрощенно и немного неправильно, конечно) не новые данные на старое место, а обновляет указатель на измененную копию. Указатель пишется атомарно, так что нет опасности неконсистентных данных. Плюс, так как старые данные не затираются, можно получить историю изменений. Недостаток подхода (кроме потери производительности) в том что нужно время от времени очищать исторические данные.

А почему ты не хочешь сделать proof of concepts своей идеи, пусть не в железе а в софте? Какую-нибудь удобную и быструю библиотеку lock-free контейнеров, например. Было бы интересно посмотреть. Ну, если бы получилось

Deleted
()
Ответ на: комментарий от Deleted

А почему ты не хочешь сделать proof of concepts своей идеи, пусть не в железе а в софте? Какую-нибудь удобную и быструю библиотеку lock-free контейнеров, например. Было бы интересно посмотреть. Ну, если бы получилось

Я уже просил его привести концепцию алгоритма.

rezedent12 ☆☆☆
()
Ответ на: комментарий от rezedent12

Уменьшая ядро, в процессор можно засунуть дополнительные ядра и кэш.

Зачем ты мне пишешь херню? Тебе надо ответить на вопрос. Если нечего ответить, то зачем отвечаешь? Напиши «нечего ответить» и всё.

В х86 суют и 20ядер, только толку? Да и какое отношение это имеет к теме.

Из этого следует что многие операции выполнялись за большее количество тактов.

Я не буду тебе рассказывать почему это бред, хотя уже рассказал. Доказательства в студию.

Ну и так же ты забыл одну вещь. Предположим, что это действительно так, но штука в том, что ты так и не доказал связь разницы между целероном и пеньком 3 и тем, что «интел перешел на эмуляцию циск».

Хотя в любом случае ты уже засыпался и это не имеет смысла.

Логику применил. Смотри выше.

Очередной эксперт сломался. Несите нового.

Ты про MMX и SSE инструкции слышал?

Что?... Причём тут ммх и ссе?

У тебя не стройные мысли и воинствующее невежество.

Действительно. Врёшь, пердишь в лужу и игнорируешь все вопросы ты, а виноват я? Действительно.

По поводу невежества - поподробнее. Где и почему я не прав, ну и так далее.

Улучшили техпроцесс и защиту чипов от радио (микроволн) помех.

Подожди. Я уже потерял надежду связать твои утверждение хоть во что-то более-менее внятное.

Причём тут техпроцесс? Величина ядра влияет на частоту и на кол-во логики. Частота поменялась? Нет. Ядро увеличилось? да, что снизило потенциальную частоту. При этом, как мы выяснили, отсутствие эмуляции давало +30% производительности.

Т.е. интел форфан уменьшил частоту и производительность? Или как вообще это работает?

Ты не задавал такого вопроса. А вернее задавал похожий на него в контексте обсуждения суперскалярности.

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

Из чего я сделал вывод что ты упомянул такой этап декодирования как проверка операций на возможность одновременного исполнения. (И зачем я тебе это объясняю?)

О боже. Проверка операций на возможность одновременного исполнения на этапе декодирования? Я уже ничего не удивляюсь.

Так, на эльбрусе есть этап декодирования. Нету проверки. Как мы уже выяснили её делает компилятор. Этап декодирования. Компилятор.

Твоё предположение ничуть не логичнее твоего утверждения о укрывательстве правды, о ложности теории относительности.

Чё? Аргументацию в студию. Не логично - докажи.

Я вижу поток шизофазии. Может я ошибаюсь Но я точно не помню что бы когда либо в X86 была 6 битная шина адреса.

Да нет же - ты просто некомпетентен. Попытайся сам найти ответ. Я уверен, что его может найти даже домохозяйка.

Так же как поступила Apple когда меняла архитектуру, засунула в BIOS эмулятор.

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

И те кто далают на этом деньги - этому потворствуют.

Не верно - те, кто делают на этом деньги - против этого.

Развитие процессоров уже давно определяется способностью процессора в параллелизму. Если рядовые ваятели не могут её воспользоваться - любой современный процессор превращается в тот самый целерон.

Никакому вендору это не нужно. Поэтому интел и занимается просвещением и пропагандой параллелизма/осмысленного программирования/понимания матчасти.

Ты сам напейсал слово «революция».

Действительно. Ты не идиот. Поздравляю - ты только что определил себя идиотом, ведь напейсал же слово «идиот» - значит ты идиот. Я всё правильно понял?

Много кто сдвинулся.

И что? То, что кто-то там сдвинулся - мало кого волнует пока это не носит массовый характер. Да и сдвинулись там только те, кого в жопу питух клюнул, вендоры и энтузиасты. Это даже не доля процента.

И это за овер10лет. С полной обратной совместимость и прочим.

mtiexpert
()
Ответ на: комментарий от mtiexpert

В х86 суют и 20ядер, только толку?

Толк есть.

Из этого следует что многие операции выполнялись за большее количество тактов.

Я не буду тебе рассказывать почему это бред, хотя уже рассказал. Доказательства в студию.

Если ранее сложную операцию в логике CISC транслировать в логику RISC, то получится большее количество операций.

Ну и так же ты забыл одну вещь. Предположим, что это действительно так, но штука в том, что ты так и не доказал связь разницы между целероном и пеньком 3 и тем, что «интел перешел на эмуляцию циск».

https://ru.wikipedia.org/wiki/Intel_P6 и вот Какой некро-процессор лучше? Celeron 1300 или Pentium 3 933 ?

Поначалу суперскаларное выполнение CISC инструкций при помощи RISC ядра у intel было весьма не совершенно. Поэтому имелась разница производительности и не в пользу новых процессоров.

Хотя в любом случае ты уже засыпался и это не имеет смысла.

Любой дурак может задать вопрос от которого «не дурак» «засыпется».

По поводу невежества - поподробнее. Где и почему я не прав, ну и так далее.

Как минимум по несостоятельной критике теории относительности.

Подожди. Я уже потерял надежду связать твои утверждение хоть во что-то более-менее внятное.

У меня это произошло 5 страниц назад. Я потерял понимание того о чём спор на самом деле.

Что?... Причём тут ммх и ссе?

MMX - это типичный CISC подход. Засунуть больше действий в одну инструкцию.

Т.е. интел форфан уменьшил частоту и производительность?

Что такое форфан?

Да нет же - ты просто некомпетентен. Попытайся сам найти ответ. Я уверен, что его может найти даже домохозяйка.

https://ru.wikipedia.org/wiki/8086 нигде не нашёл «6 бит», везде «16 бит».

И что? То, что кто-то там сдвинулся - мало кого волнует пока это не носит массовый характер. Да и сдвинулись там только те, кого в жопу питух клюнул, вендоры и энтузиасты. Это даже не доля процента.

А сейчас ты подменяешь то что я хотел сказать. Я хотел сказать про наследие, а ты про парралелизм.

rezedent12 ☆☆☆
()
Ответ на: комментарий от rezedent12

Таким образом каждый процесс перед тем как забрать себе буфер, будет останавливаться и ждать решения диспетчера (планировщика памяти).

Т.е. синхронизации не произошло, странички понадобилась только для реализации сискола - можно было сделать сразу через int или ~sysenter, но вместо вышло вот так извращённо. А вся «магия» с очередями и сериализацией осталась за сценой, в обработчике прерываний.

mashina ★★★★★
()
Ответ на: комментарий от mtiexpert

Эта задача не решаема, а значит решения её не существует, ибо оно просто невозможно.

Ход твоих мыслей Горбачева напоминает.

Waterlaz ★★★★★
()
Ответ на: комментарий от mashina

Т.е. синхронизации не произошло, странички понадобилась только для реализации сискола - можно было сделать сразу через int или ~sysenter, но вместо вышло вот так извращённо.

Да. В принципе это можно заменить нормальным системным вызовом.

А вся «магия» с очередями и сериализацией осталась за сценой, в обработчике прерываний.

Не магия, а диспетчер буфера.

rezedent12 ☆☆☆
()

Есть условная ячейка, к которой имеет доступ только один процесс, который умеет ее инкрементить. Остальные процессы могут послать сообщения этому процессу, с «просьбой» инкрементации.

Ты только что описал задачу-сторожа.

grimwaken
()
Ответ на: комментарий от vikingfilmtracker

Но почему в вебе нет этих проблем? Почему не возникает проблемы совместного доступа к ресурсу(сайту)?

Вместо блокировки на инкремент делаем микросервис, с которым общаемся по HTTP. Интересный подход к разработке :)

Legioner ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.