LINUX.ORG.RU

Я хотел бы притащить на ЛОР вот это видео про lock-free алгоритмы

 ,


0

4

https://www.youtube.com/watch?v=UdKqfQ3a_sY

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

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

Посмотреть видео стоит, потому что полезно для души и тела.

Честно скажу, первой моей реакцией было «удалить этот спам нахрен». Но всё же я передумал…

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

Поверил в это…

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

Это не битва, это симбиоз.

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

Молодец, красививо! А можешь привести хоть один пример, когда именно это хоть что-то решало бы? Ну или в твоих терминах, было «самой большой проблемой»?

Посмотреть видео стоит, потому что полезно для души и тела.

Смотрю на 4x уже пять минут (сответственно, уже около 20 минут от начала, по таймеру так исть). Можно таймстампы того, что полезно хотя бы для души? Я уж не говорю про тело.

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

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

ckotctvo
() автор топика

The hardware has changed. Modern CPUs are very, very good at locks. Specifically, they are highly optimized for the operations that make locks fast: cache line transfers, memory ordering, and speculative execution through lock acquisitions. So good, in fact, that the old advice requires a serious reckoning.

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

yorshka
()

Хотелось бы услышать от эксперта в каком месте ненышний спинлок медленный. Ато пахнет полным непониманием как он на самом деле работает, а не в учебнике 50 летней давности.

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

давай я тебе подкину мануалов:

https://rdmsr.github.io/writing/qspinlocks/

может что-то новое для себя откроешь.

у интела спинлок приводит к тырению линеек кэша через MESI, у арма и risc-v к сосалову в цикле с LR/SC. это все давно известно.

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

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

Выдумывание костылей к костылям для костылей - это тупиковый путь.

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

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

s-warus ★★★★★
()
Ответ на: комментарий от Stanson

выкинуть тормозную DRAM

а чем ты её заменять собрался? из альтернатив только такая же динамическая память но на IGZO. 3Т ячейка занимает ~20 F^2, но зато можно стекать слои до усрачки. Но опять же, это про емкость а задержку это не уменьшит

ckotctvo
() автор топика
Ответ на: комментарий от Stanson

и заменить её намного более шустрой статикой

И втыкать её прямо в процессор/сокет? А то пока сигнал по дорожкам дойдёт до чипа памяти, вся шустрость и закончится. Да и, разве на однопроцессорной многоядерной системе спинлок на тормознутость DRAM завязан? Он же в L3 кеше будет, который, почему-то, не делают на частоте процессора.

это тупиковый путь

Точно, к костылям нужно подпорки выдумывать :)

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

И втыкать её прямо в процессор/сокет? А то пока сигнал по дорожкам дойдёт до чипа памяти, вся шустрость и закончится.

Apple так и делает, яббловоды жрут за обе щеки и требуют добавки.

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

Ну и AMD там выпустила Версаль, хотя не знаю, сколько штук купили. Только не понятно, каких габаритов будет такой «процессор», если его для сервера делать, и там, допустим, 1 Тб памяти на нём нужно...

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

Только не понятно, каких габаритов будет такой «процессор», если его для сервера делать, и там, допустим, 1 Тб памяти на нём нужно…

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

yorshka
()

не могу описать что я придумал до того как это опубликую в журнале который входит в ВАК

ты, конечно, после публикации апнешь эту тему и добавишь ссылку на бубликацию? страна должна знать своих героев!

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

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

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

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

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

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

вообще-то мешает. нельзя на плате развести только длинных линий бесплатно без смс сохранив равную длину, выдержав импеданс. У HBM вообще-то 1024-2048бит шина.

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

Это всё так, но если от твоего процессора уже уходит столько линий в сокет, то что мешает пустить те же самые линии на соседний чип на той же подложке?

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

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

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

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

Шустрость статики в отсутствии необходимости пердолится с RAS и CAS чтобы адрес выставить и прочитать данные. Статика асинхронная - адрес выставил - данные на шине. С минимально возможной задержкой. Поэтому любой процессорный кэш - исключительно статика.

Он же в L3 кеше будет, который, почему-то, не делают на частоте процессора.

Смысла нет делать L3 кэш как L1 потому что скорость DRAM намного меньше. Все эти многоуровневые кэши нужны исключительно потому что скорость DRAM намного ниже скорости процессора и можно ступеньками до неё опускаться экономя на потреблении путём снижения рабочей частоты от кэша к кэшу.

Скорость статики из-за дорожек будет чуть меньше чем у кэша L1 на доли наносекунд (наносекунда = 1ГГц = 30см), зато не будет всех проблем с кэшем связанных, потому что этот костыль можно будет выкинуть.

Кстати, статику делать технически проще - там не надо особо пердолится с конденсаторами DRAM, поэтому её и пихают прямо в процессоры. Да, кристалл SRAM той же ёмкости что и DRAM чуть больше будет (вместо 1 транзистора и конденсатора размером с 2-3 транзистора - 6 транзисторов, зато одинаковых), но техпроцесс проще.

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

Статика шеститранзисторная рулит.

А уж 8T ваще! ) Вот только считай в тыщу раз меньше её выходит, если рассматривать как пример x3d у AMD (

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

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

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

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

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

Вот только считай в тыщу раз меньше её выходит

Куда выходит?

Чтобы сравнивать DRAM и SRAM на предмет производства, надо чтобы кто-то делал SRAM аналогичных объемов. Но её таких объёмов никто не делает.

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

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

экономя на потреблении путём снижения рабочей частоты от кэша к кэшу.

А если всю память делать на частоте L1, то там что будет с потреблением энергии?

у кэша L1 на доли наносекунд

Там, вроде как, в формулу входит корень из диэлектрической проницаемости, пишут для, что для стеклотекстолита 15 см/нс. А 15 см по длине дорожки набрать легко. Пока у вас DRAM, 1 нс фигня, а как вместо DRAM станет что-то скоростное, а кеша не будет, 1 нс будет душить.

Плюс, память, даже статика, остаётся однопортовой, нельзя же одновременно читать/писать в разные адреса, персональный (каждому ядру) L1 кэш как-то помогает разрулить одновременное чтение.

ЕМНИП, во времена 8086 память работала на частоте процессора или рядом, никаких безумных 24T не было, но уже тогда была предвыборка команд на 6 байт. L1 кеш можно считать такой сильно разросшейся очередью команд :)

но техпроцесс проще

А кто его знает, данных по себестоимость микросхем нет. Но, как-то, если делить на 6 имеющиеся данные по числу транзиторов в ЦП, то получается дороговато за 1 Гбайт.

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

Apple в M7

Ну пока же ещё не сделали. А как сделают, может выясниться, что сервера хотят 10 TБ на процессор...

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

Ну я как раз про размер подложки. Если она будет размером с ноутбучный НЖМД

Дядя, с разморозкой тебя. Ты видел, что AMD сейчас делает? У сокета sTR5, в который свежие тредрипперы суют, измерения 58.5мм x 75.4мм. Это уже сравнимо с 2.5" дисками по размеру.

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

размер подложки

У сокета

Норкоман? Какое отношение размер сокета имеет к размеру чипа?

sTR5

Там вообще рассыпуха до дюжины чипов, вместо одного камешка.

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

Норкоман? Какое отношение размер сокета имеет к размеру чипа?

Сорян, я весь проц имел ввиду, не один чип.

Там вообще рассыпуха до дюжины чипов, вместо одного камешка.

Ага. Как и у яббла. HBM на одном кристалле с CPU/GPU они не выращивают.

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

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

Потери L3 компенсируются же из DRAM. Да, чуть быстрее будет, но всё равно тут тормоз DRAM,

А если всю память делать на частоте L1, то там что будет с потреблением энергии?

Будет ужор, да. Но не думаю что сильно существеннее ужора DRAM которая тратит энергию на подхарядку конденсаторов. Суммарная ёмкость затворов этих 6 транзивторов SRAM по-любому существенно меньше ёмкости конденсаторов DRAM.

Ну и на мелком уровне - 64Мб DRAM жрёт существенно больше 64Мб SRAM при намного меньшей скорости. Возможно при масштабировании разница уменьшится, но не думаю что заметно. DRAM надо рефрешить всю целиком по-любому, а SRAM тратит энергию только на изменяемые ячейки. Дешифрация адреса и выходной буфер и там и там есть, только в DRAM вдобавок ещё и эти дурацкие регистры строк и колонок и соответствующая логика RAS и CAS.

Там, вроде как, в формулу входит корень из диэлектрической проницаемости, пишут для, что для стеклотекстолита 15 см/нс

Да, примерно так. 30 - это в вакууме.

А 15 см по длине дорожки набрать легко. Пока у вас DRAM, 1 нс фигня, а как вместо DRAM станет что-то скоростное, а кеша не будет, 1 нс будет душить.

А зачем SRAM размещать на другом конце платы? DRAM же стаявят поближе, SRAM тоже можно ставить рядом.

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

Сейчас объёмы таскаемые из/в внешнней RAM всё равно не влезают в кэш. «DDR диШоВая!!!»(была :)) На микроскопических задачах может с кэшем на кристалле будет быстрее, а на обычных - кэш будет только вносить дополнительнуж задежку при общении с внешней RAM.

А кто его знает, данных по себестоимость микросхем нет.

Ну тут чисто по наличию в техпроцессе DRAM доп. операций по созданию конденсаторов.

Но, как-то, если делить на 6 имеющиеся данные по числу транзиторов в ЦП, то получается дороговато за 1 Гбайт.

Цена ЦП практически никак не связана со стоимостью изготовления транзистора. Если сравнивать с DRAM, то прикидочно в 2-4 раза SRAM будет дороже DRAM. Только не надо забывать что сейчас цена DRAM тоже не связана с себестоимостью. :)

Если учесть что из ЦП можно будет выкинуть кэши, что кусок связанный с рефрешем вообще не нужен будет а скорость будет в несколько раз (если не на порядок) выше, плюс отсутствие неизлечимых vulnerabilites связанных с кэшем, то увеличение цены, даже если и будет, то не такое уже и значимое.

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

Я про 3D кеш у AMD, это как раз 6T SRAM, а её объём всего лишь 64МБ. А гигабайтных объёмов не делают по вполне очевидным причинам, даже эта память размером в кристалл процессора, а это 6T на плотном техпроцессе.

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

Не делают, потому что, во-первых, это убъёт многотриллионный бизнес DRAM, а во-вторых, процессоров без кэша и рефреша рассчитанных на подключение SRAM толком нет, потому и спроса нет.

Что до рамера 6T - оно не сильно больше 1T+кондёр по площади. Раза в 4 если не меньше. Кэш, ЕМНИП многопортовый - это дополнительные линии данных по всей площади, ну и всякие прочие нюансы.

ЗЫ: Я вот вообще ни разу бы не отказался даже от чего-то типа ARM/RISC-V вообще без кэша и конвейера с 64Мб SRAM на борту но на несколько ГГц, а не как сейчас. Ну и GPIO чтобы не через жопу к ALU подключались. Раньше выпускали отличные микроконтроллеры - Scenix SX18/20/28 которые в отличии от аналогичных PIC/AVR с их жалкими 4МГц работали на частотах «больших» CPU тех времён типа i486 - 50-100МГц. Сейчас это должен быть как раз что-то типа STM32 с частотой около 3ГГц. Но нынче такого уже не делают.

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

Тут мешанина терминологии. С точки зрения продавца/потребителя, чип/микросхема — то, что можно купить, процессор целиком, а если смотреть под крышкой этого процессора, то там отдельные кристаллы, каждый из которых опять чип/микросхема. У процессора подложка — это то, из чего торчат ноги/контактные площадки, а у полевого транзистора подложка — кристалл полупроводника, в котором области другой проводимости создаются. И что у большого кристалла могут быть сложности с тепловым расширением, что у кучи кристаллов, слепленых на одном основание. Весь вопрос в размере. Материнка тонкая, там тепловые напряжения могут изгибом сниматься, а процессору изгибаться не положено.

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

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

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

Он же в L3 кеше будет

если быть точным то L2.

вместо 1 транзистора и конденсатора размером с 2-3 транзистора - 6 транзисторов

Размер DRAM-ячейки 5.8 - 6 F^2. Это меньше 1 «обычного транзистора».

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

А для чего тогда все эти 3-4 нанометра делали?

Если начнут выпускать большую SRAM массово - и топологию покомпактнее придумают, и техпроцесс поменьше, вот плотность и уменьшится. 3D, опять же.

А если не делать нихера, то нихера и не будет. Сейчас фактически нет на рынке современной SRAM как таковой - либо весьма специфическая многопортовая (и потому жирная) для кэша, либо технология 80-х времён 61CXXX

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

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

я в душе не угу почему ты думаешь что SRAM может приблизиться по плотности к DRAM. у DRAM есть ограничение по току утечки, которое кстати ломается IGZO-транзистором влёт. во вторых есть уже вертикальные транзисторы. то есть есть куда ползти в плане эффективности и плотности.

И если численно оценить плотность: 0.021µm2 - это SRAM на 5нм, и 0.002µm2 - это DRAM на 16нм. Разница на порядок и это без учета токов утечек: на всяких 2-3-5 нм эти токи очень велики. надо нарезать массивы на 16-32 ячеек с буфером на более жирную шину. То есть еще сильнее уменьшать плотность. И это мы еще не учитываем карающий фактор правил плотности DRC.

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

Так делали для маленьких объемов.

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

Да и если кондёр под транзистор запихивать - значительно увеличивается количество масок, что для старой мелочи типа 4164 с крупным процессом может и пофиг, а для больших современных объемов резко удорожает процесс. Чем больше масок - тем больше вероятность косяков в микрухе. Чем меньше техпроцесс - тем больше вероятность косяка на каждой маске.

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

Что за спор у вас такой?

Несите, блин, пруфы) фотки кристаллов, например, с размерами

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

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

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

Да и если кондёр под транзистор запихивать

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

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

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

DRAM - говно. Кэш не нужен. Всякие костыли для кэша тоже придумывать не нужно. Мы до сих пор сидим на этом говне с костылями исключительно потому что «уважаемые люди» вбухали в это говно миллиарды и хотят профита, а не по каким-то там техническим причинам.

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 1)
Ответ на: комментарий от PPP328

Не знаю какая разница, но IBM году в 2006-2008 писала что у неё есть многослойный процессор с трубочками охлаждения внутри кристалла. Но, вроде, не взлетело. Потом AMD стала двигать чиплетные процессоры (несколько кристаллов на одном основании). Вроде, проблемы бракованых кристаллов этим решала, но задержки в передаче сигнала побольше. А потом появились процессоры WSE-1, -2, -3, чудовищных размеров, но не кубом, и, судя по всему, без сокетов, раз продаётся только в виде 16U сервера. Посмотрим, взлетит это чудо или там какие-то проблемы всплывут. При этом даже этому чуду (WSE-3), вроде как, навешивают блок DDR5, а не супербыстрый SRAM на кристалле аналогичных размеров.

mky ★★★★★
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария