Люди из высоких кабинетов едва ли знают какой у них на рабочем компе процессор стоит. Для них "лунгсон" или "рискфайв" это просто какие-то названия как лисян или фольксваген. Им самим эти лунгсоны с эльбрусами и байкалами нафиг не нужны, они нужны в "каких-то там важных инфраструктурах" с которыми работают специалисты. Интерес высоких людей к этим темам просыпается только тогда, когда есть полностью готовое и проверенное решение типа оборудования от хуавей и экосистемы интел/амд, и под это можно организовать предприятие по продаже этого оборудования в госсектор. Если какой то закон встает на пути на него кладут болт или меняют/обходят, если он мешает важным людям делать важное дело.
С лунгсоном явно другая история, это сырой продукт с плохо развитой экосистемой которое в высоких кабинетах врядли кого-то мог заинтересовать, поэтому китайцы нашли мелкую компанию которая работала с госами и предложила им свой хитрый план. Чем это кончится я думаю очевидно, ведь то что можно юпитеру обычно непростительно быку.
С иртышом то все понятно, но вот этот Лунгсон подозрительно похож на AMD Threadripper первых поколений. Я помню какой-то обзор на LA 3A4000 это был еще обычный MIPS доработанный китайцами, который свободно продавался на алиэкспрессе в составе всяких китайских устройств. А тут на 3A5000-3A6000 вдруг произошел резкий рывок в какую-то свою архитектуру, причем у нее 2 треда на ядро, операции над 128/256 векторами ну и конечно шина HyperTransport с AMD-шным южным мостом.
По первым абзацам примерно понимаю к чему все это клонит. Предлагаю от слов перейти к делу, вот здесь https://git.kolibrios.org/ лежат исходники ОС аля Win98 от российских разработчиков. Поскольку авторы не шибко думали о будущем и перспективах, данная ОС прибита гвоздями к i386 ассемблеру и не может быть портирована ни на мипс/риск-5 ни на эльбрус. На каком то форуме разработчик божился что перепишет таки код на си но видимо былого задора уже нет. Предлагаю ему/им помочь и воплотить задуманное в жизнь. Пока ты сам не возьмешь и не сделаешь, никто не сделает. Хоть весь интернет ахренительными идеями испиши.
Насколько я помню AMD продал китайцам ядра Zen первого поколения. Похоже что китайцы написали свой микрокод, перелопатили подсистему памяти, ну и разработали интерконнект.
Но особенно на это намекает десктопная версия: LS3A6000: 2.0–2.5GHz, 4/8 cores/threads, 16MB L3, 2xDDR4-3200, HyperTransport 3.0 (64-bit superscalar LA664 cores; supporting LoongArch instruction set architecture; supporting 128/256-bit vector instructions; 6-issue out-of-order execution; 4 fixed-point units, 4 vector units, and 4 memory access units )
Реально отличия только в немного измененной подсистеме памяти.
ОТО базируется на математических уравнениях, которые какие-то эффекты и поведение на больших объектах и больших расстояниях предсказывают с очень даже отличной точностью. Это так, но это не дает оснований приносить геометрического гомункула (ака пространство-время) в область естественно-научных знаний и пытаться его там прописать. Природа у всех этих явлений иная (квантовая) и она не обязана соответствовать чьим-либо ожиданиям, а предсказать свойства атомов на зная их состав и марку тот же Менделеев умудрился. И что теперь, бегать теорию эфира пропагандировать что-ли.
Проблема в том что ученые разные, например тот же Сурдин в одном из первых эфиров с Семихатовым вообще удивился узнав что ОТО оказывается чисто математическая модель и с современной физикой не состыкуется. Пусть он и астроном и ему это знать по большому счету не нужно, но тем не менее это показывает что картины мира у ученых разные. Астрофизики которые были у дройдера на эфире один за другим вещали про не квантовую природу гравитации, и данная статья тоже показывает что есть пласт ученых которые будут отстаивать ОТО как теорию до конца.
В калифорнии уже детектор гравитонов сооружают, если все подтвердится, про ОТО как теорию можно будет говорить только в холеварах на форумах, нобелевки за её отстаивание уже не дадут. А ролики где дяди на батуте шарики запускают, придется переносить в категорию #юмор.
Перечитал на проспавшуюся голову, да вы правы "какой наш следующий шаг?" имелось в виду его и разработчиков из МЦСТ. А вот маинтейнер ответил по сути что МЦСТ в этом участвовать нельзя. Короче надо просто исключить упоминания этой и других подсанкционных компаний из разговоров и кода. Ну и россии наверное тоже, таковы современные реалии.
Тоже особо не понял по поводу чего визги. Как я понял из скриншота, некий энтузиаст (не из МЦСТ) написал кому то из маинтейнеров что мол вот там у них в репозитории лежит код, давайте его заапстримим, я мол готов тащить в одно лицо, с чего начнем? Ну и скучающий седой вахтер ему посоветовал начать с поиска опытных людей в команду, а так же с выяснения юридических вопросов можно ли вообще брать тот код и просто так заливать в апстрим. По большому счету отмахнулся да, но мне тоже показалась что энтузиаст не совсем понимает что это не тот проект где добавил пару правил и вот тебе поддержка, нужен кто то кто будет сопровождать архитектуру (тем более такую) постоянно, в идеале это должен быть штатный разработчик из МЦСТ, а не вася седня есть, завтра нету и мне пофиг
Спектр доступного интернета с течением времени будет только сужаться, инструменты обхода блокировок рано или поздно тоже перестанут работать. За попытку обхода блокировок будут штрафовать, за мыслепреступления поиском информации - привлекать.
Слишком много эмоций, надо быть объективнее. Чем сильней правительства разных стран будут ограничивать интернет, тем активней он будет развиваться в сторону более защищенных от внешнего вмешательства протоколов. Запретить прогресс в сфере интернет-безопасности будет равносильно запрету интернета вообще, поэтому как раз штрафы за какую нибудь взлом/разблокировку роутера с зашитым белым списком и станут последней крайней мерой ограничения.
Да, это мы. Р7-Офис - наш отдельный проект для России. ONLYOFFICE участвовать в импортозамещении не будет.
У десктопов ONLYOFFICE - лицензия AGPLv3, у Р7 - коммерческая, там будет принципиально другая бизнес-модель. Платными будут десктопы, а серверы для совместного редактирования мы будем раздавать к ним «условно бесплатно».
Регистры это не абстрактные переменные, а физические операнды устройств. В данном случае разговор идет про бранч-юнит и его специальные управляющие регистры, через которые он переключает бранчи, передает управление в вызываемые или возвращаемые процедуры.
В эльбрусе 4 параллельных пайплайна В одном исполняется наш основной код, а регистры %ctpr1-3 содержат косвенный адрес трех дополнительных. Поэтому когда ты запускаешь return%ctpr3 ты приказываешь бранч-юниту "готовить" возврат в пайплайн на который указывает регистр переданный в виде аргумента. То есть инструкции возвращаемой процедуры будут параллельно загружаться и проходить через первые стадии пока у нас что-то считается в основном пайплайне. На стадии запуска непосредственно команд, подготавливаемый возврат разумеется встанет и будет ждать пока основной конвеер не прикажет передать на него управление командой ct%ctpr3
Значит наверное так и есть, компилятор видит что данные можно пустить в обход кэша и даже не пытается подгружать что-то из массива заранее. А то просадки как-то с кэшами вообще не бъются
сбоку прикручивают SIMD-расширения, чтобы предсказуемо дробить числа - и где разница?
Здесь разницы нет, вы правы. Тот же самый ручной параллелизм на уровне операций как он есть. Тем не менее своеобразное преимущество широкой команды в том что в нее можно внедрять что угодно и реализовывать в процессоре какие то интересные механизмы управляемые программно. В обычном потоке команд как у ARM ничего особо не сделать, можно только изобретать специальные команды раздувая ISA но и как бы все. Показательна история с предикатами в armv7 - каждая команда работающая с ними занимает целую в потоке и руинит вообще смысл этих предикатов, в итоге в aarch64 просто сделали условные команды с внутренними флагами как в интеле.
Не надо смешивать понятия "архитектура", "VLIW" и "процессор". Как "процессоры" эльбрусы именно что общезадачные и по компоновке и наполнению похожи на процессоры интел поколения Санди бридж. Архитектура ядер в процессорах эльбрус, да, vliw-like но не такая простая как в dsp, а с навешенными на нее динамическими хреновинами типа как в итаниуме. Но самое главное отличие в подсистеме памяти - в процессоре общего назначения кэши и MMU, тогда как у DSP просто набортная память без контроллеров и интерфейсов, поэтому так вот просто сравнить кто быстрей будет некорректно.
почему после return есть еще вычитание и сложение?
потому что return, после его исполнения, происходит в %ctpr3, тогда как текущий код исполняется в %ctpr0. То есть на эльбрусе в дополнении к основному конвееру дается три дополнительных %ctpr1-3 в которые можно загружать бранчи, вызовы функций, итд что бы на них быстро переключиться. Короче выход запускается асинхронно как корутина, а командой ct%ctpr3 совершается непосредственный await и переход.
До сих пор это был единственный способ вызова и возврата из процедур, в новой системе команд все таки добавили классический icallfn_name iret Из за того что в коде довольно част о происходят подобные ситуации, и асинхронная система становится избыточна: { disp fn_name, %ctpr1 } { call%ctpr1 } { return%ctpr3 } { ct%ctpr3 } мало того что просирает такты, еще и забивает кэш инструкций
Первая качественная статья по эльбрусу. Начинается с самой базовой базы - с подкачки данных в цикле, а потом уже поднимает вопрос об уплотнении комманд. Причем очень наглядно видно что векторизация позволяет выжимать максимум, но код при этом будет уродливый и архитектурно зависимый. В большинстве случаев подкачка массива и легкая раскрутка из первой половины статьи дают хороший результат и углубляться в симды на vliw-е необязательно.
По поводу кэшей, везде на лекциях по эльбрусу рассказывали что APB может прокачивать данные минуя кэш, можно ли этим как то управлять нигде не уточняется. Думаю если перед входом в цикл не делать предварительных загрузок элементов массива на регистры (через обычный лоад), а просто взвеcти APB подождать и прыгнуть в цикл, то произойдет та самая подкачка данных минуя кэш.
По поводу написание на ассемблере, аллокацию регистров вы врядли вывезете, лучше все таки писать на ассемблернизированном Си используя беззнаковые типы для переменных и заменив сишные операции на вызов макросов вставляющих ассемблерные операции. Компилятору выставить только -O1 чтоб он ничем кроме аллокации регистров и упаковки ШК не заморачивался. Сама МЦСТ похоже применяет именно такой способ написания на ассемблере (если судить по заголовочным файлам типа e2kintrin.h)
Люди из высоких кабинетов едва ли знают какой у них на рабочем компе процессор стоит. Для них "лунгсон" или "рискфайв" это просто какие-то названия как лисян или фольксваген. Им самим эти лунгсоны с эльбрусами и байкалами нафиг не нужны, они нужны в "каких-то там важных инфраструктурах" с которыми работают специалисты. Интерес высоких людей к этим темам просыпается только тогда, когда есть полностью готовое и проверенное решение типа оборудования от хуавей и экосистемы интел/амд, и под это можно организовать предприятие по продаже этого оборудования в госсектор. Если какой то закон встает на пути на него кладут болт или меняют/обходят, если он мешает важным людям делать важное дело.
С лунгсоном явно другая история, это сырой продукт с плохо развитой экосистемой которое в высоких кабинетах врядли кого-то мог заинтересовать, поэтому китайцы нашли мелкую компанию которая работала с госами и предложила им свой хитрый план. Чем это кончится я думаю очевидно, ведь то что можно юпитеру обычно непростительно быку.
С иртышом то все понятно, но вот этот Лунгсон подозрительно похож на AMD Threadripper первых поколений. Я помню какой-то обзор на LA 3A4000 это был еще обычный MIPS доработанный китайцами, который свободно продавался на алиэкспрессе в составе всяких китайских устройств.
А тут на 3A5000-3A6000 вдруг произошел резкий рывок в какую-то свою архитектуру, причем у нее 2 треда на ядро, операции над 128/256 векторами ну и конечно шина HyperTransport с AMD-шным южным мостом.
По первым абзацам примерно понимаю к чему все это клонит.
Предлагаю от слов перейти к делу, вот здесь https://git.kolibrios.org/ лежат исходники ОС аля Win98 от российских разработчиков. Поскольку авторы не шибко думали о будущем и перспективах, данная ОС прибита гвоздями к i386 ассемблеру и не может быть портирована ни на мипс/риск-5 ни на эльбрус. На каком то форуме разработчик божился что перепишет таки код на си но видимо былого задора уже нет. Предлагаю ему/им помочь и воплотить задуманное в жизнь. Пока ты сам не возьмешь и не сделаешь, никто не сделает. Хоть весь интернет ахренительными идеями испиши.
Эльбрус-2 это машина с 10ю процессорами, Cray-2 тоже не процессор.
Что тут с чем сравнивается непонятно, впрочем статью писал чатжпт походу
Этот лунгсон-иртыш очень похож на AMD EPYC первых итераций:
LS3C6000 SpecificationCores : 16(S) 32(D) 64(Q)
Threads : 32(S) 64(D) 128(Q)
Frequency : 844.8GFlops@2.2GHz (S)
1612.8GFlops@2.1GHz (D)
3072.0GFlops@2.0GHz (Q)
L1 Cache : 64KB (instructions) + 64KB (data)
L2 Cache : 256KB (privarate) ~ 4MB(S) 8MB(D) 16MB(Q)
L3 Cache : 32MB (shared)
Memory : 4×72-bit DDR4-3200 controller(S),
8×72-bit DDR4-3200 controller(D/Q)
PCIe : 64 lanes total(S)
128 lanes total(D/Q)
Power : 100W-120W (S)
180W-200W (D)
250W-300W (Q)
Насколько я помню AMD продал китайцам ядра Zen первого поколения.
Похоже что китайцы написали свой микрокод, перелопатили подсистему памяти, ну и разработали интерконнект.
Но особенно на это намекает десктопная версия:
LS3A6000: 2.0–2.5GHz, 4/8 cores/threads, 16MB L3, 2xDDR4-3200, HyperTransport 3.0(64-bit superscalar LA664 cores; supporting LoongArch instruction set architecture; supporting 128/256-bit vector instructions; 6-issue out-of-order execution; 4 fixed-point units, 4 vector units, and 4 memory access units )
Реально отличия только в немного измененной подсистеме памяти.
ОТО базируется на математических уравнениях, которые какие-то эффекты и поведение на больших объектах и больших расстояниях предсказывают с очень даже отличной точностью. Это так, но это не дает оснований приносить геометрического гомункула (ака пространство-время) в область естественно-научных знаний и пытаться его там прописать. Природа у всех этих явлений иная (квантовая) и она не обязана соответствовать чьим-либо ожиданиям, а предсказать свойства атомов на зная их состав и марку тот же Менделеев умудрился. И что теперь, бегать теорию эфира пропагандировать что-ли.
Проблема в том что ученые разные, например тот же Сурдин в одном из первых эфиров с Семихатовым вообще удивился узнав что ОТО оказывается чисто математическая модель и с современной физикой не состыкуется. Пусть он и астроном и ему это знать по большому счету не нужно, но тем не менее это показывает что картины мира у ученых разные.
Астрофизики которые были у дройдера на эфире один за другим вещали про не квантовую природу гравитации, и данная статья тоже показывает что есть пласт ученых которые будут отстаивать ОТО как теорию до конца.
В калифорнии уже детектор гравитонов сооружают, если все подтвердится, про ОТО как теорию можно будет говорить только в холеварах на форумах, нобелевки за её отстаивание уже не дадут. А ролики где дяди на батуте шарики запускают, придется переносить в категорию #юмор.
Перечитал на проспавшуюся голову, да вы правы "какой наш следующий шаг?" имелось в виду его и разработчиков из МЦСТ. А вот маинтейнер ответил по сути что МЦСТ в этом участвовать нельзя. Короче надо просто исключить упоминания этой и других подсанкционных компаний из разговоров и кода. Ну и россии наверное тоже, таковы современные реалии.
Тоже особо не понял по поводу чего визги.
Как я понял из скриншота, некий энтузиаст (не из МЦСТ) написал кому то из маинтейнеров что мол вот там у них в репозитории лежит код, давайте его заапстримим, я мол готов тащить в одно лицо, с чего начнем?
Ну и скучающий седой вахтер ему посоветовал начать с поиска опытных людей в команду, а так же с выяснения юридических вопросов можно ли вообще брать тот код и просто так заливать в апстрим. По большому счету отмахнулся да, но мне тоже показалась что энтузиаст не совсем понимает что это не тот проект где добавил пару правил и вот тебе поддержка, нужен кто то кто будет сопровождать архитектуру (тем более такую) постоянно, в идеале это должен быть штатный разработчик из МЦСТ, а не вася седня есть, завтра нету и мне пофиг
Слишком много эмоций, надо быть объективнее. Чем сильней правительства разных стран будут ограничивать интернет, тем активней он будет развиваться в сторону более защищенных от внешнего вмешательства протоколов. Запретить прогресс в сфере интернет-безопасности будет равносильно запрету интернета вообще, поэтому как раз штрафы за какую нибудь взлом/разблокировку роутера с зашитым белым списком и станут последней крайней мерой ограничения.
Есть комментарии их пиар-отдела на ЛОРе
Регистры это не абстрактные переменные, а физические операнды устройств. В данном случае разговор идет про бранч-юнит и его специальные управляющие регистры, через которые он переключает бранчи, передает управление в вызываемые или возвращаемые процедуры.
В эльбрусе 4 параллельных пайплайна
В одном исполняется наш основной код, а регистры
%ctpr1-3содержат косвенный адрес трех дополнительных. Поэтому когда ты запускаешьreturn%ctpr3ты приказываешь бранч-юниту "готовить" возврат в пайплайн на который указывает регистр переданный в виде аргумента. То есть инструкции возвращаемой процедуры будут параллельно загружаться и проходить через первые стадии пока у нас что-то считается в основном пайплайне. На стадии запуска непосредственно команд, подготавливаемый возврат разумеется встанет и будет ждать пока основной конвеер не прикажет передать на него управление командойct%ctpr3Как то так.
Роса это бывшая Russian Mandriva
Астра это сворованные патчи и DE из МСВС прикрученные к дебиану.
Значит наверное так и есть, компилятор видит что данные можно пустить в обход кэша и даже не пытается подгружать что-то из массива заранее. А то просадки как-то с кэшами вообще не бъются
Здесь разницы нет, вы правы. Тот же самый ручной параллелизм на уровне операций как он есть.
Тем не менее своеобразное преимущество широкой команды в том что в нее можно внедрять что угодно и реализовывать в процессоре какие то интересные механизмы управляемые программно. В обычном потоке команд как у ARM ничего особо не сделать, можно только изобретать специальные команды раздувая ISA но и как бы все. Показательна история с предикатами в armv7 - каждая команда работающая с ними занимает целую в потоке и руинит вообще смысл этих предикатов, в итоге в aarch64 просто сделали условные команды с внутренними флагами как в интеле.
Не надо смешивать понятия "архитектура", "VLIW" и "процессор".
Как "процессоры" эльбрусы именно что общезадачные и по компоновке и наполнению похожи на процессоры интел поколения Санди бридж.
Архитектура ядер в процессорах эльбрус, да, vliw-like но не такая простая как в dsp, а с навешенными на нее динамическими хреновинами типа как в итаниуме. Но самое главное отличие в подсистеме памяти - в процессоре общего назначения кэши и MMU, тогда как у DSP просто набортная память без контроллеров и интерфейсов, поэтому так вот просто сравнить кто быстрей будет некорректно.
потому что return, после его исполнения, происходит в %ctpr3, тогда как текущий код исполняется в %ctpr0. То есть на эльбрусе в дополнении к основному конвееру дается три дополнительных %ctpr1-3 в которые можно загружать бранчи, вызовы функций, итд что бы на них быстро переключиться. Короче выход запускается асинхронно как корутина, а командой ct %ctpr3 совершается непосредственный await и переход.
До сих пор это был единственный способ вызова и возврата из процедур, в новой системе команд все таки добавили классический
icallfn_nameiretИз за того что в коде довольно част о происходят подобные ситуации, и асинхронная система становится избыточна:
{dispfn_name,%ctpr1 }{
call%ctpr1 }{
return%ctpr3 }{
ct%ctpr3 }мало того что просирает такты, еще и забивает кэш инструкций
Первая качественная статья по эльбрусу. Начинается с самой базовой базы - с подкачки данных в цикле, а потом уже поднимает вопрос об уплотнении комманд. Причем очень наглядно видно что векторизация позволяет выжимать максимум, но код при этом будет уродливый и архитектурно зависимый. В большинстве случаев подкачка массива и легкая раскрутка из первой половины статьи дают хороший результат и углубляться в симды на vliw-е необязательно.
По поводу кэшей, везде на лекциях по эльбрусу рассказывали что APB может прокачивать данные минуя кэш, можно ли этим как то управлять нигде не уточняется. Думаю если перед входом в цикл не делать предварительных загрузок элементов массива на регистры (через обычный лоад), а просто взвеcти APB подождать и прыгнуть в цикл, то произойдет та самая подкачка данных минуя кэш.
По поводу написание на ассемблере, аллокацию регистров вы врядли вывезете, лучше все таки писать на ассемблернизированном Си используя беззнаковые типы для переменных и заменив сишные операции на вызов макросов вставляющих ассемблерные операции. Компилятору выставить только -O1 чтоб он ничем кроме аллокации регистров и упаковки ШК не заморачивался.
Сама МЦСТ похоже применяет именно такой способ написания на ассемблере (если судить по заголовочным файлам типа e2kintrin.h)
А в каком году купили? До покупки аэродиска аквариусом или после?