Обнаружил интересный баг американской системы образования:

У многих студентов в резюме стоит "делал курсовой проект по алгоритму Томасуло, out-of-order суперскаляру, многопоточному процессору итд".

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

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

На это я машу руками и говорю "стоп-стоп-стоп. Я не просил вас объяснить мне что такое RaW (read-after-write), WaR и WaW зависимости. Я вообще не спрашивал у вас "почему?" Я спросил у вас "сколько?" Я просил вас грубо оценить пользу от вашей разработки.

Вот вы вместе с другими студентами, под руководством профессора проектировали процессор, делали довольно сложную, продвинутую оптимизацию. Теперь возьмем написанный вами верилог, запустим его в симуляторе и пропустим через него бенчмарку, скажем Dhrystone или CoreMark. Допустим у процессора со статическим конвейером сколько-то итераций бенчмарки прошли за сто тысяч тактов. За сколько тактов пройдет эта же бенчмарка на вашем процессоре - за сто тактов или за миллион? Или за что-то посередине? Сколько вы покупаете вашей оптимизацией - 1%, 10%, 100%? Какой ценой в размере логики? Может такты изменятся мало, но повысится максимальная тактовая частота? На сколько?"

И представляете, что они мне отвечают? "Мы не запускали бенчмарки".

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

  1. Давать обзорную картину с высоты птичьего полета сколько покупают различные оптимизации и какой ценой.

  2. Подкреплять это знание измерением бенчмарков и статического анализа тайминга во время курсовых проектов. Также - если у университета есть доступ к Synopsys PTPX или Cadence Joules, то измерять динамическое энергопотребление. Но если нет - мерять такты и STA можно бесплатными тулами - Icarus Verilog и Open Lane.

Впрочем, в России и Украине проблем больше, чем у американских вузов: мне говорили несколько лет назад, что в МФТИ вообще обучали конвейерным процессорам с помощью cycle-accurate модели на C++, при этом без измерения статического анализа тайминга для разных вариантов микроархитектуры. Ну это как учить электричеству без магнетизма. Хотя с тех пор прошло время, и я надеюсь, что они это исправили.

Комментарии (172)


  1. volchenkodmitriy
    14.11.2022 09:24
    -20

    Здравствуйте! Это классика, пару раз спрашивали еще в далекие 80-90е у иностранцев, демонстрирующих различные фичи на компьютерах, какой там процессор, а они не могли ответить. Там другой менталитет.


    1. YuriPanchul Автор
      14.11.2022 09:29
      +22

      Это на другую тему и зависит от фичи. И коню понятно, что если человек показывает на компьютере скажем работу команды grep, то ему не нужно знать, какой там процессор. Тем более что демонстраторы как правило не разработчики.

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


      1. Ru6aKa
        14.11.2022 14:20
        +5

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


        1. SpiderEkb
          14.11.2022 16:18
          +1

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

          Есть стандартные бенчмарки, в программировании есть профайлеры и различные анализаторы производительности. И нормальный разработчик всегда сначала прогонит результат через анализатор, а только потом отдаст его в тестирование.

          Иначе катастрофически увеличивается time-to-market - по каждой мелочи разворачивать поставку с теста на доработку очень затратно по времени.


          1. Ru6aKa
            14.11.2022 16:46
            +4

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


            1. thevlad
              14.11.2022 17:03

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


            1. YuriPanchul Автор
              14.11.2022 18:28
              +3

              Разумеется во всех процессорных компаниях есть специальные люди, которые занимаются бенчмарками. Для такой позиции есть даже специальное название - Performance Scientist. Но какое-то базовое понимание общей картины долно быть. Может вы предлагаете чтобы и архитектор всего процессора нафантазировал там чего-то без интуиции что потребует та или иная оптимизация, и обнаружил что половина из них просто не оптимизируют или вносят вред когда уже вся разработка выполнена?

              Студентам нужно нарастить интуицию, что работает, а что нет. И для этого нужно все, что они делают - мерять.

              Более того, это есть у них в учебниках. Только почему-то профессор не сообщил что нужно связать главу 2 с главой 6.


              1. Ru6aKa
                14.11.2022 22:37

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

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

                Студентам нужно нарастить интуицию, что работает, а что нет. И для этого нужно все, что они делают - мерять.

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

                Более того, это есть у них в учебниках. Только почему-то профессор не сообщил что нужно связать главу 2 с главой 6.

                А почему это должен был сделать он, а не учебное пособие? Не лабораторная работа по теме? И если этого нету в учебном плане, то должен ли он вообще вмешиваться в этот план? Если что-то в учебном плане не так, то компании которым надо влиять на этот процесс открывают свои r&d отделы на кафедре или через профильные комитеты влияют на министерство образования и учебные планы для нужных специальностей.


                1. anka007
                  15.11.2022 19:18

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


              1. wormball
                15.11.2022 01:48
                +2

                > Только почему-то профессор не сообщил что нужно связать главу 2 с главой 6.

                Помнится, нас классе во втором на «математике» учили магическому ритуалу под названием «проверка». Когда ты решаешь пример, получаешь ответ, но просто так записать ответ не положено, а надо непременно подставить его в исходный пример:

                Дано:
                2 + ъ = 5
                Решение задачи:
                ъ = 5 — 2
                ъ = 3
                Проверка:
                2 + 3 = 5
                5 = 5
                Ответ: ъ = 3.

                В общем, вместо двух строчек девять. И ещё в графу «ответ» надо вписать 3 из середины решения, а не 5, которое так туда просится. В силу очевидной абсурдности происходящего я записал сие действо в список Магических Ритуалов, Чтобы Ублажить Учительницу, наряду с черчением полей ровно на 4 клетки от края, выписыванием буков как в прописи, колонками «Дано:» и «Решение задачи:» (ну или как оно там) и т. п. И как и со всеми Магическими Ритуалами, Чтобы Ублажить Учительницу, я дичайше не любил их исполнять. Благо означенный ритуал, в отличие от полей и т. п., забыли эдак через месяц и потом не вспоминали никогда.

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


                1. Ru6aKa
                  15.11.2022 12:56

                  Помнится, нас классе во втором на «математике» учили магическому ритуалу под названием «проверка».

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

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


                  1. anka007
                    15.11.2022 13:10
                    +1

                    Именно проверка, да еще и в точном виде трудозатратна и не слишком полезна. А вот быстрая оценка правдивости результа полезна по жизни в целом. Ну хотя бы чтобы замечать пусть не точно 146% голосов, но хотябы "здесь что-то не то с цифрами". Только в каждой жизненой ситуации быстрый способ свой.


                  1. wormball
                    15.11.2022 17:56

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


              1. anka007
                15.11.2022 11:57

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

                Вот за этим всем и нужна общая эрудиция.


      1. Wesha
        14.11.2022 23:43
        +1

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

        Тоже мне, Америку открыли. Почти 100 лет назад её открыл Маяковский (кстати, В.В.):

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


      1. melissa533879
        15.11.2022 09:25

        а у нас разве производят современные процессоры ? Или вы о байкалах и микронах ?


        1. YuriPanchul Автор
          15.11.2022 09:38

          Байкал процессоры не производит, они проектируют системы на кристалле на основе лицензированных процесорных ядер. В этом деле они вполне современны. Например Байкал-S (48 ARM Cortex-A75 cores) - это явно не 20ый век.

          Из числа спроектированных в России процессорных ядер можно вспомнить https://syntacore.com/ - в чем там несовременность? Пишут на таком же верилоге, что и в Apple и NVidia.

          Что касается зеленоградского Микрона, то он конечно 3-нанометровые микросхемы делать не может, но их RISC-V-based микроконтоллер является в том же смысле современным микроконтроллером как и скажем STM32F0 которые тоже не выпускаются на последнем нанометре - в мире микроконтроллеров современность меряется не последним фабричным процессом.


          1. Gryphon88
            15.11.2022 11:35

            их RISC-V-based микроконтоллер является
            >Юрий, Вы гораздо известнее в сообществе, не подскажете, как этот таинственный МК можно купить в штуках и с ожиданием не до 23-24го? По новостям пока ни одной коммерческой партии выпущено не было.


  1. OldFisher
    14.11.2022 09:25
    +18

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

    К примеру, вспоминается одна студёная былина. Доклад о работе, в которой команда молодых специалистов пытается заменить график из старой советской материаловедческой брошюрки модной современной программой на C#. Эти замечательные ребята на глазок набрали точек со скана бумажного графика, интерполировали, по ходу дела приближая логарифмические шкалы кубическим полиномом, и затем героически выдавали результат с десятком знаков после запятой. Когда я спросил докладчика, имеют ли они хотя бы приблизительное представление о реальных значениях погрешности их метода, он ответил, что может быть действительно многовато цифр и надо чуть урезать. Это, заметим, не студенческая курсовая, а работа, представленная на конкурс лучших работ в ведущем предприятии космической отрасли.


    1. YuriPanchul Автор
      14.11.2022 09:33
      +8

      Кстати, насчет знаков после запятой американских студентов учат в начале последовательности например химии. Семь базовых курсов (введение, три общей и три органической, в конце довольно сложно), но вот про знаки после запятой - все первое занятие.


    1. konst90
      14.11.2022 10:37
      +6

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


      1. ksbes
        14.11.2022 12:22
        +2

        Хорший преподаватель: учит выбирать оптимальные системы расчётов и наглядно демонстрирует как обращатся с точностю вычислений. Чтоб потом не выстрелить себе в ногу в самом неожиданном месте, расчитывая, что double вывезет всё (… как я однажды сделал)


        1. konst90
          14.11.2022 14:25
          +3

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


          1. releyshic
            15.11.2022 00:21

            существуют Правила приближенных вычислений, спросите у препода можно ли делать по ним?


            1. vladimirad
              15.11.2022 07:27

              Знает ли препод эти правила сам? Вот вопрос. Мои студенты 1996 - 2006 года уже в деканате работают, уже не молодые преподаватели, а как вспомню, как они мне довольно простые курсовки на Паскале сдавали, так вздрогну. Теория погрешностей и правила приближенных вычислений читаю каждый год, но правило двойного отрицания работает (в одно ухо влетело, в другое вылетело).


        1. snuk182
          14.11.2022 21:18

          Надеюсь, финансам, и особенно вычислению банковских процентов, этот преподаватель обучать никогда не будет.


      1. wormball
        15.11.2022 01:54

        > Ладно хоть студенты.

        Какие студенты? В исходном каменте никаких студентов, хотя выражение «студен*» там и встречается ажно два раза. Двойка вам за невнимательность.


        1. konst90
          15.11.2022 08:46

          Молодой специалист от студента отличается не сильно, как правило)


  1. anonymous
    00.00.0000 00:00

    НЛО прилетело и опубликовало эту надпись здесь


    1. avacha
      14.11.2022 09:35
      +70

      Судите не по словам, но по делам их.

      Результат "плохой системы образования" у англо-саксов выглядит в виде ARM и Intel.

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


      1. rezedent12
        14.11.2022 09:38
        +13

        Это скорее результат импорта дешёвых научных кадров.


        1. circuitbreaker
          14.11.2022 19:27
          +4

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

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


          1. releyshic
            15.11.2022 00:26
            -3

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


      1. YuriPanchul Автор
        14.11.2022 09:41
        +13

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

        Плюс есть индивидуалы, которые это и без профессора понимают. Вот они и составляют костяк эффективных разработчиков в ARM и Intel. У меня более частный вопрос - почему профессор не потребовал это от остальных?


        1. avacha
          14.11.2022 10:01
          +12

          Юрий, прошу прощения, но отвечал я на конкретную реплику комментатора выше. Я также не говорил, что система "У" в сравнении с системой "Х" идеальна. Это лишь саркастический ответ на комментарий, в котором есть жидомасоны-рептилоиды "англосаксы".


          1. YuriPanchul Автор
            14.11.2022 10:15
            +1

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


            1. woozle
              14.11.2022 10:45
              +16

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


              1. wormball
                15.11.2022 01:57

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


            1. suslovas
              14.11.2022 11:12
              +17

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


          1. RedPandaHere
            14.11.2022 18:38
            -1

            Тут же очевидно, что профессор не хочет конкурентов себе плодить, поэтому хард скиллы ученикам прокачивает, софт нет. Такое много где встречается. Учат многому, но вовсе не всему (с) Тай Лунг.


      1. ElvenSailor
        14.11.2022 10:46
        -13

        это результат не системы образования вовсе, а системы воспитания.

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


        1. unclejocker
          14.11.2022 11:04
          +13

          У номенклатурщиков ништяки и так были, дело в чем то другом...


        1. avacha
          14.11.2022 11:06
          +21

          Простите, каким боком "система воспитания" и кликушество "дорвавшиеся до забугорных ништяков номенклатурщики решили сломать союз целиком " относится к знаниям людей, сидевших с банками перед телеэкранами? Сидела перед экранами с банками не молодежь (у молодежи был "Ласковый Май" и Женя Белоусов) - а их родители. Получившие "лучшее образование" во времена, когда никакими "дорвавшимися номенклатурщиками, решившими сломать союз целиком " и не пахло.


          1. MixaSg
            14.11.2022 13:30
            +2

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


          1. Paul_Arakelyan
            14.11.2022 14:30
            +4

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

            Да и нередко вышка была просто средством "откосить" от армии.


      1. Vsevo10d
        14.11.2022 11:17
        +18

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


        1. avacha
          14.11.2022 11:48
          +8

          Разумеется. Однако прошу все-таки учитывать две вещи. Первое - то, что комментарий вы несколько вырвали из контекста и он был написан в ответ на - опять же - конкретный комментарий, написан с изрядной долей сарказма, а не "вообще".

          Второе наверное стоит пояснить подробнее, хотя заранее прошу извинить - не знаю как донести свою мысль доходчиво. У них - есть условные ARM и Intel. Причем я говорю не о конкретных компаниях даже. Даже если завтра не станет условных ARM или Intel как корпораций-владельцев технологий- способность условного "Запада" сделать их аналоги самостоятельно не вызывает сомнений. Компетенции наработаны, в том числе и в практической сфере. Фабрики - сегодня в Израиле и на Тайване, завтра в Малайзии и США - это для них рутинный процесс, давно освоенный. Просто ставят "где удобно и выгодно на текущий момент". А вот у нас - нет. Опять же, прошу прощения, если несколько коряво объясняю.

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


          1. Vsevo10d
            14.11.2022 12:13
            +2

            Разумеется. Однако прошу все-таки учитывать две вещи. Первое - то, что комментарий вы несколько вырвали из контекста и он был написан в ответ на - опять же - конкретный комментарий, написан с изрядной долей сарказма, а не "вообще".

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

            Про условные фабрики - увы, если развивать эту тему, то не соблюдены две вещи: преемственность самих высоких технологий (как кадров-мозгов, так и поступательного развития разработки) и преемственность производственного (тех самых станков). Это все и в СССР страдало, а перерыв в стаже на 10-15 лет таскания клетчатых сумок добил многие отрасли.


        1. vconst
          14.11.2022 13:51
          +1

          Далеко ходить не надо, один Фоменко чего стоит


      1. Paul_Arakelyan
        14.11.2022 14:17
        +6

        Вы, очевидно, не понимаете - что происходило в тот период. "Вода перед зомбоящиком" - это выдернутое из контекста событие, происходившее среди прочего различного трэша в стране. А результат системы описывался "Работаешь - 120, не работаешь - тоже 120. Зачем работать?".

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

        "Почему профессор не потребовал"? А оно ему надо? Он читает эти лекции н-ный год подряд, и у него единственный результат - студенты не посылают и ноги не ломают, может даже любят и с радостью ходят на лекции. Его благополучие не зависит от "ваш студент заработал 1,000,000,000". Нет обратной связи в системах - ни медицины, ни образования. Поэтому имеем увлечение процессами - одни "лечат до смерти", другие - учат до диплома :).


        1. Hlad
          14.11.2022 15:42
          +7

          Результат системы был ещё забавнее. "После армии пошёл на завод работягой - получаешь 180. Отучился в университете - стал инженером за 120, и в работяги больше вернуться не сможешь"


          1. ksbes
            14.11.2022 16:31
            +3

            Почему не сможешь? Ещё как сможешь. А за счёт инженерной подготовки выбится в передовики производства можно довольно быстро. Это реальная история в моей семье: нужны были деньги (много кто сразу повис на шее из-за несчастного случая), ушёл с инженеров в рабочие. Причём в довольно «тупые» рабочие: болванки на ковеер ставить. Через два года стал мастером участка, ещё через пару купил автомобиль («советская мечта» :) )
            Просто для людей статус и сравнительно комфортная работа была важнее денег. К рабочим инженеры всё-таки относятся с пренебрежением и физически напрягаться от звонка до звонка не стремятся.
            Даже сейчас у нас на заводе похожая ситуация имеется: инженер может «подработать» оператором ЧПУ станка за неплохую прибавку. Соглашаются единицы, всё равно не хватает. Пытались заставить — так пошли в прокуратуру.
            Это всё к вопросу о мотивации людей при равенстве зарплат.


            1. Hlad
              14.11.2022 16:49
              -2

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


              1. ksbes
                14.11.2022 17:14

                Просто пришёл даже не к директору завода где работал, а просто в отдел кадров и к нач. цеха и попросил перевод. Там только спросили о наличии специального образования. За неимением такового — отправили на «непрофессиональную работу».
                Скрыть что-либо не получилось бы — он уже там в констркуторском бюро работал.


            1. DMGarikk
              14.11.2022 16:55
              +1

              инженер может «подработать» оператором ЧПУ станка за неплохую прибавку

              что такое 'неплохая прибавка'? мож там прибавка на 10тыр, а геморроя на все 50
              Пытались заставить — так пошли в прокуратуру.

              как у вас там весело
              Это всё к вопросу о мотивации людей при равенстве зарплат.

              вот уж реально, если меня будут таким образом заставлять, я работу поменяю, а не буду рассуждать о том что мне лень физически работать. мне например хватило в свое время, я два года в цеху ремонтном отработал (даже при том что у меня свой кабинет был), зимой как ворота откроют в -25, так и ходи весь день в валенках и тулупе… а потом еще надо и под вагоны лезть… рабочие больше меня получали, да, я бригадиром был. нуегонахрен почки морозить — валяясь на полу цеха когда сквозняк дует из ворот таких

              Также работа рабочим для инженера, это совершенно другие условия, там не бывает «ты немного поработай, не в напряг», это будет как 'выполняй работу инженера, а паралельно на станке паши'… и если инженер это всётаки мозгами скрипеть что трудно нормируемо то у работяги на станке железный КПИ, и если завалишь план то останешься без премии. и ты будешь работягой, а уже потом инженером.

              А за счёт инженерной подготовки выбится в передовики производства можно довольно быстро

              и тебя будут все ненавидеть, эффект Стаханова он такой
              Вообще такие люди очень недолго работают рабочими уходя в управленцев, им просто скучно на такой работе


              1. ksbes
                14.11.2022 17:40

                что такое 'неплохая прибавка'? мож там прибавка на 10тыр, а геморроя на все 50

                Если очень напрячся — зарплату можно больше чем удвоить. Один «стахановец» так сделал к неудовольствию начальства — стал получать больше них. Начальству по рогам настучали через ещё большее начальство, чтоб не лезло (человек ипотеку досрочно выплачивал)
                А так с 50-60 поднимают до 80-100. Нагрузка более-менне свободная (основная работа в приоритете): одна деталь — так одна, пару сотен — так пару сотен. Зависимость не пропорциональная, но линейная (есть доплата просто за совмещение — но хитрые быстро вычисляются)

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

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

                и тебя будут все ненавидеть, эффект Стаханова он такой

                Это да! Это было и есть. «Тёмная сторона» «профсоюзов». Тут надо уметь, конечно, себя ставить и начальство должно быть грамотным и не предоставлять коллектив сам себе, а управлять им.


                1. DMGarikk
                  14.11.2022 18:30

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


                  начальству на самом деле плевать кто там сколько получает (больше/меньше), оно измеряет это несколько иными категориями
                  на зарплату работников есть некий ФОТ, и этот ФОТ нельзя превышать просто потому что он согласован экономистами и годовым бюджетом, об этом рядовые работники обычно не догадываются
                  Это только кажется что если ты получаешь по сделке 1000р за деталь, то если сделаешь 1000 деталей то получишь миллион рублей, на самом деле ты упрешь в потолок этого самого месячного ФОТ, зарплату выдадут как оклад+внебюджетная премия (работник этого не увидит), начальство огребет по хребту за то что улетело из бюжетных показателей и профукало премиальный фонд, и придет к работнику срезать план/менять расценки
                  потому что план выпуска согласован с планом реализации и местами хранения, и никому не нужны 1000 лишних болванок на складе раньше срока

                  А так с 50-60 поднимают до 80-100. Нагрузка более-менне свободная (основная работа в приоритете): одна деталь — так одна, пару сотен — так пару сотен.

                  Этож когда производственный процесс стал свободным графиком, у вас нет планов выпуска? сегодня делают — завтра сплю?
                  на сделке, даже если кажется что 'платят за сделанную работу' — всеравно есть план на выработку который надо выполнить.

                  Начальству по рогам настучали через ещё большее начальство, чтоб не лезло (человек ипотеку досрочно выплачивал)

                  ааа, вот и самое главное, 'как я заработал миллион, посадил семечко и т.п… а потом дедуля оставил мне наследство' (с)
                  Большое начальство никогда не будет вмешиваться в дела какихто работяг которым не закрывают наряды. потому что это не его дело. а если это вдруг его дело — то это не простой работяга, а со связями и вся эта история автоматически становится нетиповой.
                  У нас в депо был такой инцидент, соседний цех перевыполнил план по ремонту тележек в два раза и !!!1… ничего не было, пришло начальство и сказало что сделанное вами невозможно по техпроцессу и платить вам никто ничего не будет. после долгих приперательств, бабки размазали премией на 12 последующих месяцев и пригрозили чтобы такого больше не было


                  1. ksbes
                    15.11.2022 09:00
                    +1

                    ачальству на самом деле плевать кто там сколько получает (больше/меньше)

                    Не поверите, наверное, но очень много людей свято верят, что подчинённый не имеет права получать больше начальника. Там конфликт был именно в этом. ФОТ на выплаты был и есть. С лихвой. За счёт «дыр» от отсутсвующих операторов.

                    Этож когда производственный процесс стал свободным графиком, у вас нет планов выпуска? сегодня делают — завтра сплю?

                    «Свободный график» (точнее «свободное сменное задание») планов выпуска не отменяет. Если, конечно, ПДО понимает как вообще производство работает и управляется (что в 90% случаев не так). Станок либо чинится, либо настраивается, либо точит. Иные состояния запрещены — в этом смысл. Если это условие выполняется (и есть ЗИП), то по станкам идёт усреднение и средний поток производства — довольно точно держится и все планы выполняются (пока какой-нибудь самодур не начнёт по совковски управлять в «ручном режиме»).

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

                    Это «большие эффективные менеджеры». Большие руководители из цеха не вылазят пока проблемы не решаться (т.е. никогда). Как говорил про цех наш зам.ген. по производству «это моя корова, она моих детей кормит!».

                    Но да. Не всем так везёт.


                    1. DMGarikk
                      15.11.2022 12:34

                      ФОТ на выплаты был и есть. С лихвой. За счёт «дыр» от отсутсвующих операторов.

                      Это вы бюджет видели или сами так считаете?
                      Я вот просто работал 'одинесником" довольно долго и в достаточно крупных конторах и принимал участие в бюджетном планировании, и бывает что бюджет строится уже с учетом того что 'операторов не хватает'

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


                      1. ksbes
                        15.11.2022 13:05
                        +1

                        Это вы бюджет видели или сами так считаете
                        И видел и сам считал в BI дашборде… ITшники они как сантехники — много чего всякого знают :)
                        ну спорить бессмысленно конечно

                        Согласен. Я и не спорю. Просто рассказываю как бывает. То о чём вы пишете — я тоже насмотрелся.


      1. sshemol
        14.11.2022 18:39

        Где то воду заряжали, а где то Джонстаун.


    1. YuriPanchul Автор
      14.11.2022 09:37
      +1

      Не совсем. Студенты EE и CS с курсами по архитектуре компьютера и микроархитектуре с курсовыми по верилогу часто сначала учатся в Индии или Китае (на степень бакалавра), а потом, на магистратуре, в штатах. И вот такое у них тоже есть - сначала думал, случайная флуктуация, потом понял, что высокий процент.


    1. DreamingKitten
      14.11.2022 10:00
      +23

      "Англо-сакской" вместо "американской" звучало бы очевидней и убедительней.

      Но неверно. Англосаксы как отдельная этноязыковая группа закончились около 12 века н.э.


      1. maikuss
        14.11.2022 12:25

        .


      1. PanDubls
        14.11.2022 14:50

        Ну кстати слово Anglo-saxon вполне себе бодро используется в, простите, англо-саксонской среде. Как там аббревиатура WASP расшифровывается? Не понимаю, почему именно оно такое неприятие у всех вызывает.


        1. ksbes
          14.11.2022 15:39

          .


        1. DreamingKitten
          14.11.2022 17:51
          +6

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

          Вот и WASP придумали и используют такие же грамотеи. Туда кого угодно подставь, хоть гуннов, хоть сарматов, выйдет глупость того же класса.

          Не понимаю, почему именно оно такое неприятие у всех вызывает.

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


        1. lorc
          14.11.2022 19:15
          +1

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


          1. DonAgosto
            16.11.2022 11:40
            +1

            Caucasian race. Не менее потешный термин, а у них вполне еще в ходу


            1. DMGarikk
              16.11.2022 11:45
              -1

              у них, он и в РФ в ходу, так то


              1. DonAgosto
                16.11.2022 11:53

                ну если вы про, извините, «лицо кавказской национальности», то это совсем не аналог и не калька с caucasoid )


  1. Sdima1357
    14.11.2022 09:40
    +2

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


    1. YuriPanchul Автор
      14.11.2022 09:49
      +8

      Если говорить вообще, то OoO по сравнению с процессором со статическим конвейером сравнимой сложности дает повышение производительности в десятки процентов - с повышением как IPC (instructions per cycle) так и тактовой частоты, но ценой повышения энергопотребления типа вдвое.

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


      1. Zhbert
        14.11.2022 10:42

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

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


        1. kh0
          14.11.2022 11:37
          +10

          Да, но главнейшую метрику вашего диплома вы бы наверное запомнили?
          Представьте, что ваш диплом "гибридный автомобиль", и вас спрашивают:
          -Ну и как?
          -Получилось офигенно!
          -А насколько экономичнее-то?
          -Я не мерил!
          -НАсколько изменилась динамика?
          -Я не мерил!
          -Насколько изменились выборсы?
          -Я не мерил!
          -Насколько изменился экологический след?
          -А?
          -Насколько изменилась бы приблизительно технологичность производтва, насколько изменилась трудоемкость, материалоемкость, безопасность вождения, экономичность на коротких поездках, экономичность на дальних, эргономичность, возможности переработки?
          -Ну вы прям таки вопросы задаете, мне сказали добавить в тачку электромотор и аккумулятор, я добавил! Если вы такой любопытный, прототип находится в соседней папке, скачайте и измерьте.

          Я не знаю как в Вашем ВУЗЕ, а в нашем, тему диплома надо было еще утвердить, проведя патентный поиск и доказав, что в радиусе 1005000 км готовых аналогичных проектов не наблюдается, и что ваш проект будет лучше известных по таким-то параметрам. Понимаете, да? Диплома нет, а вот метрики и планочка по которым его будут оценивать - уже есть. И потом всю записку вы эти метрики склоняете и в хвост и в гриву. Как такое можно забыть? Особенно планочку.
          Я бы с удовольствие узнал бы статистку: сколько рф-выпускников по цифровой электроники при подготовке диплома использовали какое профильное ПО.
          Субъективно, за год, если 100 выпускников запилило проект на "Xilinx ISE WebPACK" или "Quartus Prime" итп, то это уже прорыв. Причем половина - это чисто личная образовательная инициатива: "хочешь изучить что-то - напиши на нем диплом", а половина "инициатива безумно одаренного и идейного препода".
          Т.е. Господин ТС нашел багу в американском образовании, прекрасно, а сколько сферических в вакууме 2+ядерок запили наши выпускники за время обучения? А сколько из них запустили проект в железе на фпга-дев-борде и убедились, что оно работает?
          Я все к чему: у них там, если чуваку череп жмет, есть возможность слопать столько инфы и попробовать столько материальной базы, - сколько заботаешь. А у нас студням, если что и доверяют, так что-то типа "Микролаб кр580ик80 907".
          А это я все к чему: баг РФ-системы образования, что для целого ряда электронных специальностей учебные планы подготовлены еще во времена СССР и незначительно доработаны. На моем горизонте примерно 100-200 выпускников 220100: разрабатывают хоть какое-то железо примерно 10, еще трое в аспирантуре - будущие преподы, остальные, ну примерно в ИТ: кто в ПО, кто сисадминствует, кто флешки продает. И даже, если врата разверзнутся и внезапно появится 10500 мест "давайте тюнить RISC-V", давайте пилить суперпроекты на них. 99% скажут, а че, мы не знаем как и чо, у нас экспертизы не хватает, там ассемблер странный, кросскомпиляция это где на мотоциклах ездят?
          А это я все к чему: пылинка в глазу у кого-то там, ну ок, но как бы нам от своих бревен избавиться?
          Царь Иван Грозный думу думает. жпг


      1. thevlad
        14.11.2022 11:50

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


        1. YuriPanchul Автор
          14.11.2022 18:46

          Имхо не стоит валить в кучу OoO и вообще всю микроархитектуру - конвейерность, кэши итд. Может есть сравнить однотактовый процессор или там последовательный процессор без конвейерности с OoO суперскаляром с двойной выборкой и кэшем , то 10 раз и получится, но если чисто статический конвейер против динамического (с тем же кэшем итд) то нет.

          В таких курсовых нужно оптимизацию вычленить и сравнивать похожие устройства и одним отличием имхо.


          1. thevlad
            14.11.2022 19:08

            Ну 10 раз как я понял шел разговор в сравнении с тем, что я бы назвал процессор с одним исполнительным устройством. Если посмотреть микроархитектуру высоко производительных OoO процессоров(intel/zen2/arm neoverse-n1/apple m1) , то они могут долбить до 8 микроинструкций параллельно, плюсом идет маскировка задержек длительных инструкций, которые в классических суперскалярах(статических?) давали бы stall. При прочих равных, как мне кажется больше 2-3 инструкций параллельно "в среднем по больнице" в классическом суперскаляре не сделать. То есть OoO дизайн в любом случаи будет давать в 2-3 раза большую производительность, и это точно не десятки процентов. Плюсом идет то что компилятору не надо правильно разбрасывать инструкции по коду, чтобы не было stall. Вопрос в том, что это раньше выливалось в серьезный дополнительный транзисторный бюджет, но сейчас это стало минорной проблемой, до того что продают обычные потребительские процессоры с современным OoO дизайном до 8 ядер на чиплете. Естественно это сегмент высоко производительных вычислений, и соответсвующего энерго потребления (не мобилки).


            1. YuriPanchul Автор
              14.11.2022 19:25

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

              Далее, при OoO, даже если есть много вычислительных устройств (ALU, умножители итд) производительность может упираться в производительность LSU (load-store unit) / подсистемы памяти. Латентность доступа к памяти при промахе многоуровневого кэша может быть сто тактов и выше. Чтобы этого избежать, нужно иметь двойной конвейер в LSU.

              Вообще для таких вопросов удобно исследовать вебсайт https://www.eembc.org/coremark/scores.php

              Например вы можете сравнить MIPS interAptiv 3.54 CoreMark / MHz с MIPS proAptiv 5.11 CoreMark / MHz - по тактам повышение не очень, но из-за того, что у последнего более высокая максимальная тактовая частота, то общая производительность может быть больше и вдвое. Такой ответ бы меня удовлетворил.

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


              1. thevlad
                14.11.2022 21:16

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

                Так то современные процессоры для конкретики zen 2 могут декодировать до 4 инструкций за такт(несмотря на x86 адок с переменной длиной и сложностью декодирования), складывать их в кэш микроинструкций и получать до 8 микроинструкций на исполнение в back-end. Arm neoverse-n1 - 4 way decode, то есть 4 инструкции за такт.

                Далее, при OoO, даже если есть много вычислительных устройств (ALU,
                умножители итд) производительность может упираться в производительность LSU (load-store unit) / подсистемы памяти. Латентность доступа к памяти при промахе многоуровневого кэша может быть сто тактов и выше. Чтобы этого избежать, нужно иметь двойной конвейер в LSU.

                Могут, но load-store обычно является отдельным исполнительным юнитом, и возможно не одним. Поэтому в OoO дизайне он может "зависнуть", в то время пока будет молотиться параллельный "instruction path". А с значительными задержками памяти ничего не сделать, это просто данность. (если мы говорим про высоко производительные CPU общего назначения) Плюсом OoO не идет один, он идет с register renaming, который развязывает зависимости по архитектурным регистрам, и обеспечивает бОльший параллелизм. Широкий front-end и back-end дают значительный прирост IPC, при сопоставимой или бОльшей частоте. А OoO позволяет все это хозяйство "связать", сглаживая возможные stall в исполнении(и доступе к памяти) и декодировании, уравнивая общий темп работы системы и обеспечивая максимальный instruction-level parallelism.

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

                Один из вариантов, что учебный-наивный OoO давал значительно худшую производительность и это было очевидно, поэтому учеников было решено не расстраивать.

                Вообще для таких вопросов удобно исследовать вебсайт https://www.eembc.org/coremark/scores.php

                ARM:

                neoverse-n1, 4-decode 8-issue OoO, "20 000" на ядро 2500 Mhz

                Raspberry Pi 4B/ARM Cortex A72, 3-decode 3-issue OoO, "12 000" на ядро 2145 Mhz

                То есть если даже сравнивать с 2-decode 2-issue(методом интерполяции, сферического коня в ваккуме), будет те самые 2 раза. Для супер скалярного дизайна без OoO разрыв будет еще больше. Поэтому считаю что оценка в 2-3 раза боле чем валидна.


                1. YuriPanchul Автор
                  14.11.2022 21:47

                  Да, я в целом со всем согласен кроме нерасстраивания учеников. 2 может 3 раза был бы нормальный ответ для данного вопроса вообще.

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


                  1. thevlad
                    14.11.2022 22:32
                    +1

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

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

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

                    3) Если что-то знает из дискретной математике, теории графов. Или понимании принципов хорошего объектно-ориентированного дизайна.

                    Так вот в этой воронке до уровня 3), мало кто доходит, хотя они это все учили в ВУЗе по специальности, даже в самом посредственном. И объяснений тут может быть несколько, типичные: плохо учили или студенты раздолбаи не учились. Но я больше склоняюсь к концепции, что теория без практики мертва, и пока условные 10 000 часов не оттарабанишь, глубокого системного понимания и мышления не будет. И главное подспорье на этом пути, это не поддельный, настоящий интерес к своей профессии, все остальное придет с опытом.


                    1. YuriPanchul Автор
                      14.11.2022 22:48

                      Я понимаю, о чем вы говорите, но:

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

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

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


                      1. thevlad
                        14.11.2022 23:30

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

                        Так они вообще не измеряют или не измеряют только на курсе ОоО? Если первое то да, совсем плохо. Если второе, ну можно понять, как профессору еще согласовать "когнитивный диссонанс" типичного студента - "мы трудились, разбирались, реализовывали это ОоО, а повышение производительности в рамках курса повышения производительности получилось глубоко отрицательное" ? Надо еще один разъяснительный курс читать, почему получилось, так как получилось. Но я бы на месте преподавателя на последнем занятии, собрался с духом и написал бы на слайде, что-то в духе "Товарищи студенты, разработанный в рамках нашего курса проект, имеет большое теоретическое значение, так как раскрывает принципы построения высоко производительных OoO процессоров общего назначения. Несмотря на это учебная реализация на которой мы рассматривали эти принципы, в рамках данного курса не может показать прироста производительности на практике, в чем вы можете убедиться произведя соответствующие измерения. Потому что (дальше идет список потенциальных причин). Несмотря на это данные знания вам обязательно пригодятся на практике при строительстве следующего Большого Андронного Коллайдера (tm). Спасибо за внимание!"


                1. Brak0del
                  14.11.2022 23:15

                  (методом интерполяции, сферического коня в ваккуме), будет те самые 2 раза. Для супер скалярного дизайна без OoO разрыв будет еще больше. Поэтому считаю что оценка в 2-3 раза боле чем валидна.

                  А вот если сравнивать суперскалярный in-order 4-issue Dec Alpha 21164 с современным ему суперскалярным out-of-order 5-issue Pentium Pro, то получим, что OoO в тот раз оказался на 20% хуже. Конечно, это всё седая история, но в заявлениях про 10 раз и 2-3 раза хотелось бы какие-то более веские доказательства.


                  1. thevlad
                    14.11.2022 23:59

                    Нельзя просто так сравнивать OoO и не OoO, особенно разные линейки разных производителей, тем более такие древние. Это все имеет смысл в комплексе при прочих равных. Так как надо учитывать еще задержки и темп(latency/throughput) инструкций, размер кэшей и их задержки, качества предсказателя ветвлений, глубина конвейера.

                    По факту целочисленное было 2-issue и у того и другого. (проблема в том, что в in-order архитектуре, вероятность stall совершенно нелинейно растет от "ширины параллелизма". если бы у них был хотя бы 4-issue параллелизм в рамках одного целочисленного исполнительного/регистрового блока это можно было бы зачесть за пример отражающий современные реалии)

                    Alpha 21164 - 9 300 00 транзисторов

                    Pentium Pro - 5 500 000 транзисторов

                    То есть разница по транзисторам почти в два раза, а по перфомансу лишь 20% хуже.


                    1. Brak0del
                      15.11.2022 08:55

                      Alpha 21164 - 9 300 00 транзисторов

                      Pentium Pro - 5 500 000 транзисторов

                      То есть разница по транзисторам почти в два раза, а по перфомансу лишь 20% хуже.

                      Так-то у альфы 1.8 млн транзисторов на логику, а остальное кэши. А у пентиума на логику 4.5 млн.


                      1. thevlad
                        15.11.2022 11:49

                        Так-то у альфы 1.8 млн транзисторов на логику, а остальное кэши. А у пентиума на логику 4.5 млн.

                        Смотрю вот это: https://en.wikichip.org/wiki/dec/microarchitectures/alpha_21164 Там есть картинка с разметкой блоков на чипе, кэшей/логики там примерно 50 на 50.

                        А так у intel вполне был конкурент в лице amd, если бы in-order дизайны были конкурентно способны, их бы и делали. А не вот эти Атлоны, когда Jim Keller в первый раз пришел за intel(более чем 20 лет назад).


                      1. Brak0del
                        15.11.2022 13:16

                        Там есть картинка с разметкой блоков на чипе, кэшей/логики там примерно 50 на 50.

                        По моим ссылкам выше указаны явные цифры, зачем гадать?

                         in-order дизайны были конкурентно способны, их бы и делали

                        Так их и делали некоторое время, пока лёгкость и простота конструкции позволяла получать существенный выигрыш по производительности за счёт роста частот; тяжелые и неповоротливые ОоО не могли за этим угнаться. А затем начались проблемы с Dennard Scaling, фокус с частотами перестал прокатывать, в результате пришлось копать OoO и после него много чего ещё. Это касается высокопроизводительных, в первую очередь десктопных и серверных процессоров.

                        Но есть ещё и мобильные, а также встроенные, где in-order вполне себе прижились, их делали и продолжают делать.


                      1. thevlad
                        15.11.2022 14:03

                        По моим ссылкам выше указаны явные цифры, зачем гадать?

                        Извините, но я больше доверяю глазам, чем вики, если вы имеете ввиду отсылку "The caches and the associated logic consisted of 7.2 million transistors" Единственное объяснение только, если кэши имеют значительно большую плотность по сравнению с логикой по соотношению транзисторы/площадь.

                        Так их и делали некоторое время, пока лёгкость и простота конструкции позволяла получать существенный выигрыш по производительности за счёт роста частот

                        Первым и последним in-order супер скалярным дизайном(в экосистеме x86) был перво-пень и его аналоги, это было почти 30 лет назад.

                        Но есть ещё и мобильные, а также встроенные, где in-order вполне себе прижились, их делали и продолжают делать.

                        Cortex-A57 2012 год, OoO дизайн. in-order жив только там где не нужна производительность и/или нужна сильная энергоэффективность, и еще хорошо бы за 3 копейки (embedded).


                      1. Brak0del
                        15.11.2022 14:18

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

                        я имею ввиду отсылку на научную паперу, но продублирую ещё раз, табличка на 1 странице.


                      1. thevlad
                        15.11.2022 14:26

                        Не понятно откуда взялись исходные данные, я даже нашел ссылку на оригинальный пэйпер И там действительно есть фраза "The Alpha 21164 cache partitions, containing 7.2 million of the 9.3 million total devices, are, in themselves, very large and difficult to verify."

                        С другой стороны я вижу картинки чипа, там эти кэши идентифицируются тривиально, и по площади получается 50 на 50.


                      1. Brak0del
                        15.11.2022 14:39

                        С другой стороны я вижу картинки чипа, там эти кэши идентифицируются тривиально, и по площади получается 50 на 50.

                        Просто ваша картинка с вики, а вики вы не доверяете ;)

                        Alpha 21164 были типичными speed demon-ами, поэтому они максимально упрощенные по начинке, а Pentium Pro типичным brainiac-ом, поэтому там оч. сложная логика и как следствие низкие частоты, что и отражает табличка.

                        Суть моего спора в том, что ОоО как и in-order -- это средства, которые дают выигрыш в определенных условиях и предлагают tradeoff. В некоторых случаях как раз и получаются ваши 2-3 раза, в других получается иначе.


                      1. thevlad
                        15.11.2022 14:56
                        +1

                        Просто ваша картинка с вики, а вики вы не доверяете ;)

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

                        Суть моего спора в том, что ОоО как и in-order -- это средства, которые дают выигрыш в определенных условиях и предлагают tradeoff. В некоторых случаях как раз и получаются ваши 2-3 раза, в других получается иначе.

                        С этим глупо спорить ) Мои тезисы были по поводу десятков процентов прироста, в общем случаи. И тупиковости развития in-order архитектур, в рамках концепции увеличения instruction-level parallelism(то есть гонки за максимальной производительностью)


    1. Aquahawk
      14.11.2022 12:47
      +2

      Правильный ответ: были выбраны такие-то бенчмарки и по ним достигнуты такие-то результаты.


  1. DMGarikk
    14.11.2022 09:41
    +5

    хм, ну типичное описание узкоспециализированного мышления, а в чем собственно проблема? вы хотите чтобы специалист не только процессор проектировал но и маркетологам и архитекторам системы процентики выдавал в производительности?
    Это всеравно что от физика-атомщика требовать на сколько процентов эффективнее ядерный реактор на быстрых нейронах от реактора на смешанном спектре когда он находится в энергосистеме московской области в рамках растущей численности электромобилей, не обращая внимания не то что он проектирует систему охлаждения… и печально качать головой что 'вот до чего система образования дошла' когда он зависнет на таком вопросе

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


    1. YuriPanchul Автор
      14.11.2022 09:55
      +11

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

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

      Как студенты умудряются это забыть к курсовому проекту? Почему преподаватель не напоминает об этом? Это как тренировать спортсмена-бегуна без секундомера - совершенно бессмысленная активность.


      1. DMGarikk
        14.11.2022 11:02
        +7

        Нет, я просто ожидаю что они получая задание будут себя спрашивать «а на фига я это делаю»? Если они не только не представляют порядка результата, но у них даже не возникает такой вопрос, то это проблема.

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

        Мне сложно понять 'как это должны учить', поскольку фразы «почему» и 'нафига я это делаю' — у меня не возникали вообще никогда… этому не учили меня ни в школе ни в колледже (а в ВУЗе я отучился всего 1 семестр)… и для меня до сих пор не понятно — 'какого… вы не понимаете этого? это же на поверхности!!'
        ===
        но со временем я несколько поменял отношение и всеже понимаю что люди должны делать то что они лучше могут

        грубо говоря вот както так:
        инженер-теоретик-ученый — высчитывать проценты и теорию и всякие цифры
        инженер-техник — проектировать процессор и реализовывать его на основании того что сделал первый
        технолог — производить процессор по данным которые сделали первые двое и выдавать замечания (не думая о том что в ibm этот процессор не сможет посчитать бухгалтерию так эффективно как процессор конкурентов)

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

        вот был в истории СССР пример когда строили суперпоезда, т.е. сочлененные длинные сцепы из 2-3-4 грузовых поездов, это преподносилось как очень большое увеличение производительности дороги, под них даже проектировали самые мощные в мире локомотивы (на тот момент), были куча процентов и расчетов на сколько процентов увеличится пропускная способность сети
        а в итоге оказалось что составы не влезают в большинство станций физически и прибытие такого монстра полностью парализует работу станции на час (который сжирает все приемущество) из-за того что хвост состава стоит на перегоне и пока маневровым их оттуда выдернут — линия тупо стоит и ждет.
        причем если читать старый учебник — там это преподносилось как офигеть какое достижение Советской науки и ЖД НИИ, а в новом уже 'ограничено может применятся там где станции и характер движения такого позволяет'… и как думаете, студент писавший работу между 'старым' и 'новым' взглядом и вдруг выяснивший что выгода от внедрения такого будет… отрицательной — получит зачет? так ему неуд поставят, поскольку в литературе из НИИ где профессора — написано что это так быть не может!


        1. Sap_ru
          14.11.2022 18:18
          +3

          Неее, батенька. Составы действительно давали огромную экономию В США уже отлично ходили составы по 200+ вагонов. Но в совке прежде всего не было технологий. Нужно было, чтобы локомотивы работали синхронно в разных частях состава - если их цеплять только в начало/конец, то не выдерживала сцепка. И это не решалось никак - не позволяли ни технологии, ни культура прозвоства, ни материалы. Бились на этим 40 лет - аж до развала совка. И так и не решили. И вся ЖД сеть развивалась под советские реалии. А в США ЖД развивались под коммерческие запросы и потому решали эти проблемы. Одним из страшный секретов совка было то, что "крупнейшая железнодорожная сеть в мире" на самом деле была второй после США. И все об это знали и упорно по старой доброй традиции пытались "догнать и перегнать". Но не тянули от слова никак. Например, нужны были те же длинные поезда. Это действительно повышало эффективность перевозок более чем в два раз. Но, для этого нужны были качественные сцепки, локомотивы умеющие работать по четыре штуки на состав, спаренные и строенные грузовые платформы, системы быстрой погурзки/разгрузки поездов, оптмизированная под задчу ЖД автоматика, технологии быстрой сборки составов . Из всего этого совок даже в теории путём невероятный усилий тянул один два пункта. А обязательны были все - не будет одного и все этих сверхдлинные составы вместо сказочной прибыли превращались в сплошную боль. Но призначать системные проблемы было нельзя. Наши железные дороги самые передовые и протяжённые в мире, и кто с этим не согласен, тот предатель. Сосбтвенно, прямо, как сейчас. И мы должны один мощным рывком догнать и перегнать. Не разломать и мучительно отстроить заново, а "раз-два и в дамки". Или мы не самые образованные и читающие?
          Результаты были очевидным. Куча дурной работы с многообещающими перспективами, результаты которой тут рассыпались при встрече с суровой советской дествительностью.
          Популярная, кстати, проблема была. Например ни совок, ни россия не могли и не могут эффективно решить проблему учёта вагонов. Там реально золотое дно, если решить. Казалось бы: штрх-коды, радиометки, инфракрасные метки. Бери да делай! Но нет. Хвалёные российские дороги до сих пор не могут решить эту проблему ни за какие миллиарды. А всё потому, что самом деле всё упирается культуру и организацию труда. Потому, что вагоны нужно мыть, нельзя бить, нужно обслуживать по графику, нельзя забывать на пять на запасных путях в Сибири, нельзя воровать датчики и специально замазывать штрих-коды и номера. И вот это РЖД решить не может никак ни при каких условиях. Потому, что для решения нужно, чтобы это была не РЖД и не в России. А без решения этих вопросов, никакими техническими способами проблема не решается.


          1. DMGarikk
            14.11.2022 18:40

            В США уже отлично ходили составы по 200+ вагонов

            в США совершенно иной принцип работы ЖД… но да вы и сами это говорите

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

            СМЕТ же специально изобрели для таких составов, проблема была не в вождении, а в том чтобы разобрать состав для маневров на промежуточных станциях, а потом собрать обратно, а при этом он полностью перекрывал входные и выходные пути своими размерами и ожиданием своих частей на перегонах
            сдвоенные и строенные поезда и сейчас эксплуатируются, там где это возможно, их часто можно увидеть например на Казанском направлении из Москвы


            1. Sap_ru
              15.11.2022 18:12

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


          1. flx0
            14.11.2022 21:46
            +2

            А почему 4 локомотива на состав лучше 4х составов с одним локомотивом?


            1. DMGarikk
              15.11.2022 12:37

              потому что они одной ниткой по маршруту пройдут, а не 4 отдельными, уже экономия пропускной способности и времени на интервалы между ними
              также (если брать США например, у нас так не умеют в сдвоенных-строенных поездах) там дополнительные локомотивы работают автономно — уже экономия на персонале (у нас это по 2 человека на локомотив)


              1. Sap_ru
                15.11.2022 18:20

                У нас так толком и не решили задачу синхронизации мощности локомотивов. Особенно тепловозов. А США её ещё в семидесятых решили и у них локомотивы синхронно тянут и тормозят даже если в разных частях состава находятся. Задача,на самом-то деле, реально непростая. Даже для электровозов непростая.


            1. Sap_ru
              15.11.2022 18:16

              Между поездами нужно держать интервал в два перегона. Одно это снижает пропускную способность ветки в два раза. Плюс, грузовики медленно тормозят/разгоняются. И делают это независимо. Это ещё -20..30% пропускной способности. А ещё для пропуска скорых и пассажирских грузовые нужно на запасные пути ставить. А между ними, как мы помним интервал в два перегона, и разгоняются они медленно. Из-за этого сильно падают возможности по оптимизации графика движения, что тоже ещё -15...20% к пропускной способности даёт. Вот и получается, что удовоением длины состава можно увеличить пропускнуют способность в три раза.


              1. DMGarikk
                15.11.2022 18:41

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

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


                1. Sap_ru
                  15.11.2022 20:14

                  А потому, что если перенимать что-то передовое, то нужно это делать комплексно, а не урывками.
                  Вопрос решается включением локомотивов в середину/конец состава и, если нужно, применением избыточного числа локомотивов в составе. Это позволяет разбивать состав на несколько частей в районе станции прямо перед стрелкой или даже прямо на стрелке. И, что характерно, без всяких маневровых локомотивов и танцев с запасными путями.
                  Более того, это один из основных способов работы в том же порту Лос-Анджелеса. Я всё не мог понять, каким образом они практически без маневровых работ обходятся, пока не увидел этот фокус. Да, нужны избыточные локомотивы, и они должны уметь автоматически работать в связке в разных частях состава, зато в сумме это экономит огромное количество времени и денег на инфраструктуре и маневровых работах. У нас гнать в составе лишний локомотив это вообще то ещё приключение. Там и коммерческие вопросы, и бюрократически, и с машинистами сложности. А в середине поезда, даже если технически умудрится, так и вообще невозможно по причине всеобщего бардака и бюрократии. Локомотивы-то на границах дорог меняют.
                  И ещё нужно уметь отслеживать вагоны и уметь правильно и без ошибок собирать составы, чтобы потом не "выдёргивать" пару вагонов из середины. С этим в РЖД до сих проблемы, почему-то. Собирут состав, а потом оказывается, что там вагоны не в том порядке или вообще что-то забыли и лишнее прицепили. И выясняется это уже по ходу движения или даже на станции назначения. И потом из-за одного вагона час маневровых работ на станции с перегонкой вагона обратно через пол страны.
                  Кроме того большинство грузов, которым действительно нужны длинные составы, идёт от одной популярной точки до другой. Например от района добычи угля до порта. Это вовсе не обычные станции, и там при желании можно построить инфраструктуру для работы длинными составами. Остальные ЖД должны только позволять пропускать такие составы. Но у американцев и разносортные грузы отлично катают сверхдлинными поездами по 280 вагонов только от между крупные терминалами. А всё потому, что контейнеры на автомобиль влезают и куча технологий быстро погрузки/разгрузки. Транспортировка идёт не на уровне вагонов, а на уровне контейнеров. Вагоны при этом не отцепляют. В РФ о таком если заикнуться, то всё руководство ЖД сначала в обморок упадёт, а потом пинками выгонит. Хотя, если посчитать, то даже по российским железным дорогам в разы выгоднее катать более узкие контейнеры и построить терминалы для перегрузки на автотранспорт и добивать "последнюю милю", чем заморачиваться со всеми этими плясками с маневровыми работами и универсальными грузовыми станциями.
                  Но с российской точки зрения это всё лютая ересь, и не дело ЖД компании. Так как в России ЖД не груз везёт, а вагон. И в этом отличие от США и корень половины всех бед. Груз в России везут попильные транспортные компании, которые к самому процессу ЖД перевозок отношение имеют весьма опосредованное и на него не влияют. И дороге плевать на все эти удобства, последние мили, упрощение логистики и пропускной способности на уровне грузов. Короче ЖД не решает задачу увеличения пропускной способности грузов, она решает задачу увеличения пропускной способности вагонов. А в реальном мире оказывается, что в плане экономики это задачи сильно разные.
                  В общем, ни СССР ни РФ не потянули таких задач - слишком сложно во всех планах: технически, организационно, логистически.


      1. VYudachev
        14.11.2022 11:44
        +7

        Нет, я просто ожидаю что они получая задание будут себя спрашивать "а на фига я это делаю"?

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

        Собственно, вспоминается сцена с защиты диплома, которая в данном контексте смотрится слегка притчево. Студента, который уже нашел себе интересную и полностью устраивающую работу по специальности и дотягивал лямку ради корочки, традиционно спросили: "Ну, скажите, формулы и расчеты, безусловно хороши, а какова практическая ценность вашей работы?" На что последовал незамедлительный ответ: "Практическая ценность моей работы очень высока: Вы сейчас мне за неё диплом дадите!"


        1. Static_electro
          14.11.2022 12:06
          +4

          Отличный комментарий. Когда я дожил, наконец, до дипломирования - обсуждал с будущим руководителем тему, что-то интересное был стимул найти. И по той теме я мог бы рассказать зачем я её выбрал, и почему это может быть полезно. А потом универ заключил договор с крупным предприятием, и у нас, еще даже не успевших, собственно, начать писать этот самый диплом, забрали и руководителей и темы, и дали "что нужно". Результат - максимально оторванные от реальности и темы, и метрики, защитил и забыл. Спроси у меня тогда "зачем это всё? где карта выгода?" - я б тоже начал стараться формулами отгородиться, потому что нельзя же честно сказать: "Никому это не надо, никогда не будет реализовано, и если внимательно там все проверить - окажется, что и выгоды-то нет".

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


    1. vadimr
      14.11.2022 10:06
      +5

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

      В целом, выпускник профильной специальности – уже исходно должен идти на миддл.


      1. DMGarikk
        14.11.2022 11:04
        +3

        В целом, выпускник профильной специальности – уже исходно должен идти на миддл.

        вы хоть раз такое видели в жизни? миддл — это не набор знаний, это знания+опыт


        1. vadimr
          14.11.2022 11:06
          +2

          Ну он же, как минимум, дипломную работу выполнял где-то?

          Чтоб джуном работать в IT, вообще образование не нужно.


          1. DMGarikk
            14.11.2022 11:33

            Ну он же, как минимум, дипломную работу выполнял где-то?

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


            1. vadimr
              14.11.2022 11:36

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


              1. DMGarikk
                14.11.2022 11:51
                +2

                ой да, прямо реальную. столько предприятий нет — сколько студентов там работу выполняют.

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

                сколько спецов по проектированию процессоров выпускает ВУЗ в год? и на каких они предприятиях будут внедрять свои 'наработки' сделанные на основе книжек 10-20 летней давности?

                У нас в депо, помнится, был склад куда выкидывали курсовые/дипломные проекты из МИИТ'а, а потом на субботнике раз в пару лет вывозили камазами, потому что они все оторваны от реальности на столько что нет смысла даже читать.


                1. vadimr
                  14.11.2022 12:03
                  +2

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

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

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

                  Но где какие вузы, конечно.


                  1. Static_electro
                    14.11.2022 12:11
                    +4

                    как вам повезло. Без шуток.


                  1. DMGarikk
                    14.11.2022 12:25

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


                    Я писал диплом в ЖД колледже, и частью защиты диплома были отзыв руководителя в реальном предприятии. и да, я ездил в депо и был в настоящем электроцехе и у меня в дипломе подписи и начальника депо и мастеров электроцехов и технолога и проч.
                    И что? я потом два года в этом депо работал бригадиром электроцеха, думаете чтото внедрили из того что я там делал? в дипломе у меня написано что все внедрено и реализовано и цифры по улучшению, в реальности не изменилось вообще ничего, поскольку работа организована не то чтобы по техпроцессу, а вообще по другому (это хорошо описывается фразой начальника главка по ремонту, которую он мне сказал лично, 'если мы будем вам поставлять все необходимые запчасти и детали, зачем тогда вообще вы (депо и ремонтный персонал) нужны??' (с) _тут до сих пор известная фамилия в РЖД_) — меня после этого разговора на встречу начальников не звали… хотя я был фактически замом мастера электроцеха.

                    Дипломная работа программиста – это законченная внедрённая в эксплуатацию программа.

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

                    мои знакомые которые учились в ВУЗе на программистов, зачастую дипломы писали на 1С, просто потому что это проще — найти заказчика на такое

                    а писать интернетмагазины и клоны фейсбука как дипломные проекты — ну тут только рукалицо…


                    1. vadimr
                      14.11.2022 12:29

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

                      1С – сам по себе вариант не хуже прочих, вопрос в функциональности.


                1. anka007
                  14.11.2022 14:04
                  +1

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


        1. axmct
          14.11.2022 21:38

          миддл — это не набор знаний, это знания+опыт

          Видел как выпускник профильной специальности шел на сеньора :)


          1. DMGarikk
            15.11.2022 12:51

            это скорее исключение
            Я пошел работать тимлидом (и вообще фактически сеньором) на питон не зная питона вообще, я его тупо выучил реализовав проект с нуля
            А мой коммерческий опыт работы программистом — 4 года 1С (рукалицо) и 1 год Java (затрудняюсь грейд свой оценить в яве, скорее pre-middle)


            1. axmct
              15.11.2022 14:18

              Если в контексте готовности вчерашнего студиозуса, то конечно исключение. Но их вполне достаточно. Я уже знаю два таких случая:)


    1. konst90
      14.11.2022 10:42

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


      1. DMGarikk
        14.11.2022 11:44

        Но умение приблизительно оценить результат хотя бы приблизительно — должно быть.

        в статье приведены примеры конкретных цифр 'Сколько вы покупаете вашей оптимизацией — 1%, 10%, 100%? Какой ценой в размере логики?"

        по моему опыту подобные вопросы ПМ-ов вытекают в реальные требования заказчика, причем дословно… хотя я гоню конечно уже, статья о другом, но студентам очень бы хорошо знать о таком факторе жизни… и о нем их точно никто не учит ;)

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

        и я затрудняюсь сказать что этот подход чемто плох


  1. pharo
    14.11.2022 10:21
    +2

    И представляете, что они мне отвечают? «Мы не запускали бенчмарки».

    Показателен, в рассмотрении, и oдин из популярных бенчмарков для калькулятор-испытателей N-Queen (8-ми ферзей) Calculator Benchmark

    P.S. Что интересно, в разных запускаемых вариантах языков программирования (и ассемблера) и ускорения/замедления железа. :)


    1. YuriPanchul Автор
      14.11.2022 10:27
      +3

      Надо же! Не знал, что Casio выпустило в конце 1980-х Lisp-калькулятор


  1. Myclass
    14.11.2022 10:56
    +3

    И мне кажется, что в принципе ожидать от обучения лучших результатов- есть хорошая идея. Сам работаю в образовании в Германии. Но в вашем случае - мне кажется, что Вы подходите с вопросом однобоко. Могу ошибиться но представьте программистов, которые творят чудеса, но на phytone. Ну вот а Вы их спрашиваете, насколько это медленнее или быстрее чем на c или не дай Бог на verilog(e). А они отвечают - мы не мерили. Потому что такой задачей задаются немногие. Вот Вы такое видите везде, потому что у Вас навергое изобретательский склад ума, Вы ищите, Вы придумываете, импровизируете, сравниваете, Вашим действиям и мыслям ищите причину. А 90% людей просто решаю насущные проблемы, не меняя перспектив. Это ни от системы, ни от страны зависит. Хотя нет - своего рода изобретательство и практичество (да, нет такого слова)- оно у очень у многих в крови из быв. СССР. Не потому что мы умнее были, просто не имея ничего, мы пытались всегда что-нибудь восполнить. Вот рецепты в советских книгах - для приготовления нам понадобится майонез. Майонез вы можете сделать из.... итд." И этот подход дал результат, что гибкость в подходе решения задач была у многих. Поэтому Вас понимаю, но Вы не к тем студентам обратились с вопросами. Это те 90%. Ищите других и тогда разговор будет намного интереснее. Постоянно с таким сталкиваюсь.

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


    1. vadimr
      14.11.2022 11:10
      +5

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


    1. YuriPanchul Автор
      14.11.2022 11:13
      +4

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

      А вот цель проектирования процессора с внеочередным выполнением команд - это только производительность и есть.

      Танцор не обязан быстро бегать, а вот бегун - обязан. И мерять с секундомером.


      1. Myclass
        14.11.2022 13:52

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

        Я Вас понимаю, но ожидаемое время - это всегда релативно. Работая с микропроцессорами - для меня ожидания выполнения задач лежат в плоскости наносекунд. А аналистов с питоном не растраивает даже исполнение растянутое на дни.

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


        1. YuriPanchul Автор
          14.11.2022 19:31
          +1

          Пикосекунды в процессоре собственно и превращаются в разницы в дни вычислений, когда на процессорной ферме выполняется например прогон регрессии тестов для нового процессора :-)


    1. zhulan0v
      14.11.2022 11:14

      phyton - это правда забавно вы опечатались))


      1. Myclass
        14.11.2022 13:53

        согласен, получилось весело.

        Все выходные вёл переписку с другом о философии и в голове засело "ph" как начало слова.


  1. GDragon
    14.11.2022 11:32
    +8

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


  1. aamonster
    14.11.2022 11:39
    +5

    Ну это же классическое "сердечник трансформатора изготовлен из морёного дуба, потому что всё равно никто читать не будет".
    Для студента этот проект – не реальный процессор (в общем-то его ведь и правда никто делать не будет), а бумажка для получения оценки. И в списке требований есть такие-то оптимизации, но нет явно указанной производительности или её прироста (как нет, полагаю, и экономической эффективности – это уже скорей для диплома)


  1. StjarnornasFred
    14.11.2022 11:40
    +3

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

    Вы спросите математика, в чём польза от доказательства теоремы Ферма. Он либо ничего внятного не ответит (как писали на Хабре недавно, ответ будет в стиле "заткнись и считай"), либо, что маловероятно, вспомнит какую-нибудь криптографическую систему, которая не заработает, если теорема не верна. На что выпускник колледжа ответит, что мы уже изошли из предположения, что она верна, сделали такой вывод по косвенным признакам (в их числе - ряд частных случаев, анализ теоретической вероятности иного, а также данные статистических опросов, согласно которым 95% работников отрасли согласны с тем, что теорема верна), всё проверили, всё работает. Математик скажет, что так нельзя, что по нескольким - сколь угодно многим - частным случаям нельзя делать общий вывод, что нужно строгое доказательство... ну а толку-то? Он не привязан к практической реализации, его этот вопрос не волнует и волновать не должен.


    1. vadimr
      14.11.2022 12:05
      +1

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


      1. DMGarikk
        14.11.2022 14:27
        +2

        ну как может инженер посчитать экономический эффект, в отрыве от комплексной оценки предприятия где проект внедряется?
        Вспоминая свой диплом (колледжа), там тоже всё это было и было судя по всему для того чтобы равноценно оценить мои знания (и по специальности и по экономике и по организации всяких техпроцессов) но блин в реальных условиях применять такие 'знания' без специализированного базиса по таким предметам это очень странно. я это понял уже потом, работая в конторе которая занималась интеграцией и внедрением всяких ИТшных штук и расчеты экономической выгоды в стиле 'процессор i7 более эффективен и считает цифры быстрее на 10 секунд (чем процессор i5) т.е. его можно загрузить еще другими расчетами… экономия в год составляет 2 часа процессорного времени или 500$ (ура ура)' — а то что он жрет энергии в 10 раз больше и его просто не смогут загрузить работой на эти 2 часа в год, потому что комп — не сервер а персоналка — так это на другой кафедре считают… а затраты энергии — это вообще к отделу инженеров здания и к нам не относится. у них свой бюджет который нас не касается.
        вот и какой толк от таких экономических расчетов?
        Инженер проектировщик должен своим делом заниматься, а не экономику считать

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


        1. vadimr
          14.11.2022 14:33

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

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

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

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


          1. DMGarikk
            14.11.2022 15:28

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

            мы процессоры проектируем или маркетологов-продажников готовим?
            вы не понимаете к чему я клоню всю эту дискуссию?

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

            я могу часами рассказывать какая отличная jira для планирования спринтов и как она повысит мою эффективность. до тех пор пока мне мой начальник не тыкнет меня носом в то сколько сие радостное поделие атлассиана стоит, я не смогу полноценно понять что экономическая выгода от него для маленткой конторы может быть и отрицательная.
            Вы ведь знаете например сколько стоит jira на 15 человек погромистов? (если не распылятся на тему 'а чо разве у стартапа нет 100500млн свободных денег?')

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

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

            А то можно сконструировать рабочий стол из платиново-иридиевого сплава.

            а так блин и делают, чем объяснить то что еще лет 5-10 назад была куча народу которая Oracle DB направо и налево ставило — мол лидеры отрасли, самая лучшая БД, без оценки рисков и ограничений бесплатных планов на неё
            типа вы дураки зачемто pgsql, mysql юзаете, вон оракл лидеры рынка и бесплатно
            с технической стороны как инженеры они правы, а вот с точки зрения менеджмента это сумасшедший дом, но люди блин технари, а не строители бизнесов с нуля

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


            1. vadimr
              14.11.2022 15:40

              мы процессоры проектируем или маркетологов-продажников готовим?

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

              вы не понимаете к чему я клоню всю эту дискуссию?

              Вы клоните к тому, что работа инженера – подай-принеси. Это не так.

              я могу часами рассказывать какая отличная jira для планирования спринтов и как она повысит мою эффективность. до тех пор пока мне мой начальник не тыкнет меня носом в то сколько сие радостное поделие атлассиана стоит, я не смогу полноценно понять что экономическая выгода от него для маленткой конторы может быть и отрицательная.Вы ведь знаете например сколько стоит jira на 15 человек погромистов? (если не распылятся на тему 'а чо разве у стартапа нет 100500млн свободных денег?')

              Совершенно верно. Только это не начальник должен тыкать носом инженера, а инженер сам должен считать.

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

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

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

              Люди, которые разбираются в отрасли – это вообще не профессия.


    1. Goupil
      14.11.2022 12:27
      +1

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

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


    1. YuriPanchul Автор
      14.11.2022 18:56

      Фундамент научного знания - это формулировка гипотеза и ее проверка (критерий Поппера, фальсифицируемость). Они формулируют гипотезу - что алгоритм Томасуло даст лучше результат, чем его отсутствие (последовательные вычисления или вычисления с статическим конвейером). Где проверка гипотезы? Более того: Где ее формулировка - насколько они ожидают повышение производительности? Если ее нет, она 0.001% или вообще отрицательная, зачем траншею копать?


  1. valergrad
    14.11.2022 14:57
    +26

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

    Кстати, этот вывод об ущербности всей российской системы образования я сделал по одному посту от YuriPanchul. Oh, wait...


    1. YuriPanchul Автор
      14.11.2022 18:59
      +1

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

      *** Причем, если заявляется что российская система этим багом не обладает - то еще нужно взять соответствующую выборку студентов в России и сравнить результаты ***

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


    1. Ded_Pichto
      14.11.2022 21:50

      Я дополню. Эта пара студентов представляют систему, которая разрабатывает, производит и продаёт процессоры и софт для них по всему миру. Брехун на авторе, который выучил пару умных баззвордов, представляет систему, которая клеит наклейки на китайский серый импорт.


      1. YuriPanchul Автор
        14.11.2022 21:53

        Вы чего-то не то сказали. Я работаю с 1991 в Калифорнии, причем с 1995 в электронной индустрии, в том числе обучал китайских студентов и молодых инженеров работающих в Huawei.


  1. lair
    14.11.2022 15:28
    +2

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


    1. YuriPanchul Автор
      14.11.2022 19:00

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


      1. lair
        14.11.2022 19:02

        "Несколько человек подряд" - это все еще конкретные люди, а не система. "Баг в системе" - это когда вы найдете предписание (или хотя бы неписанную традицию), которая к этому приводит.


        1. YuriPanchul Автор
          14.11.2022 22:23

          Ну, знаете, "баги в программах" - это не "неписанные традиции в программах".


          1. lair
            14.11.2022 23:22

            Баг в программе - это следствие конкретных действий, сделанных конкретным человеком. Баг в системе - это следствие действий, сделанных системой. Например, есть разница между "программа показывает неправильную версию" (баг в программе) и "программа имеет неправильную версию" (возможно, баг в системе выпуска программ).


      1. Myclass
        15.11.2022 01:14

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

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


        1. YuriPanchul Автор
          15.11.2022 01:57
          +1

          Я уже на втором-третьем курсе писал back-end компилятора, который представил на научной конференции МФТИ в 1989 году. Я все тестировал:


          1. Myclass
            15.11.2022 09:41

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


    1. Myclass
      14.11.2022 22:04

      Человеку свойственно обобщать. На этом много псевдо-теорий или заблуждений построено.


  1. behapas733
    14.11.2022 19:00

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


  1. ChaosBringer
    14.11.2022 19:00

    А в задании было "и посчитать итоговую производительность", или только "спроектировать ядро на принципах X и Y"? Если второе - то да, любознательность студента была бы солидным плюсом, но отсутствие ее в минусы системы образования писать - сова на глобусе имхо.


  1. eid0Eeph
    14.11.2022 19:00

    Не уникальная ситуация. Примеры — сплошь и рядом: https://pashev.ru/nnt


  1. Mikhail1972
    14.11.2022 21:32
    +1

    доступ к компьбтерам был недостаточный в 90ее , вспоминаю, как с садисткой усмешкой тестировал на знание горячих клавиш в NC препод, сдавали по 11 раз, учили наизусть, то что элементарно нарабатывается)) зачем? а чтоб трудно было. про сдачу с++ программ написанных на бумажке, вообще молчу. редко кто после таких обучений хочет остаться. Только те кто сам начинает работать и понимает, что т.н. учитеоя надували большой мыльный пузырь на элементарных навыках.


  1. Mikhail1972
    14.11.2022 21:40

    систему образования надо оценивать по следующим критериям:

    • как быстро выпусник получает работу именно по полученной специальности, а не по смежной

    • какую зарплату получает выпускник

    • насколько мало времени уходит на алаптацию на рабочем месте


    1. YuriPanchul Автор
      14.11.2022 21:56

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


      1. Myclass
        15.11.2022 01:49

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

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

        В последнее время произошла революция, а многие её и не заметили. Раньше приемственность поколений и образование происходили только всегда от старшего к младшим, от опытных к мало-опытным. А сейчас и динамика изменений и цифровые науки настолько быстро движуться, что папа кроме семейных ценностей мало что может предложить своему чаду как опыт. И образование не в силах дать всего, что будет востребованно потом на работе. Такого не было и раньше, а сейчас происходит что-то другое. Конечно мастер/ученик как метод не исчезнет, но произошли глобальные изменения за последние 50 лет во всём мире. Это не даёт ответа на Ваш вопрос в статье, но на ваш вопрос в комментарии выше.

        Да, образование имеет полное право стать более обьёмным. Но то, что это нелегко - это должно нам быть понятным. На одном из курсов преподаю "Алгоритмы и структуры данных". Ну нет возможности пройти все алгоритмы! Да какой там все? Хотя бы в 15% от них попытаться разобрать. А Вы ожидаете всему обучить?!

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

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


        1. YuriPanchul Автор
          15.11.2022 02:13
          +1

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

          1. Сформулировать гипотезу ("Алгоритм Томасуло повышает производительность")

          2. Спланировать эксперимент, который мог бы ее опровергнуть ("Берем учебный процессор архитектуры RISC-V, меняем его стадию выполнения инструкций согласно Томасуло, измеряем производительность в тактах с помощью Icarus Verilog и максимальную тактовую частоту с помощью Open Lane. Сравниваем с исходной схемой").

          3. Проводим эксперимент, пишем отчет (подтверждает/не подтверждает).

          И такое везде - начиная с проектирования сумматора - результат проверять на программе static timing analysis. На каждый модуль - unit test bench. Без проверки упражнение считается не выполненым. Что вы можете против этого возразить?


          1. Myclass
            15.11.2022 09:58

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

            Но Вы затронули Вашим вопросом в статье своего рода баг в системе. А я например вижу это как индивидуальные способности и подходы. Как студентов, так и доцентов.


  1. mayorovp
    15.11.2022 19:24

    А баг ли это?


    Что нужно сделать, чтобы выразить в конкретных числах прирост производительности от внедрения архитектуры процессора? В моём понимании, для этого нужно взять два процессора, взять к ним "обвязку", и запустить на них бенчмарки.


    В итоге, чтобы получить эти цифры, студенту понадобится делать не один процессор на бумаге, а два разных процессора в железе, да ещё и бенчмарк написать для них. Это точно курсовая работа?


    Нет, есть, конечно же, "сокращённый" вариант — вызубрить "+X%" из методички. Однако, прибавляет ли этот вариант понимания?


    1. YuriPanchul Автор
      15.11.2022 21:12
      +1

      Нет, я же написал, им нужно для измерения производительности скачать две бесплатные программы - Icarus Verilog для моделирования выполнения, и Open Lane для вычисления максимальной тактовой частоты проектируемой схемы. Ну и третью - код бенчмарки и кросс-компилятор risc-v. Все это в университетах умеют и железо на фабрике делать не обязательно. Даже FPGA плата не нужна. По Open Lane у меня есть хабрапост с инструкцией.


      1. pharo
        15.11.2022 22:27

        Интересно, что есть программа для моделирования TTL процессоров Digital
        и на Github есть н-ное количество проектов сделанных с её использованием,
        так вот эта программа включает опцию экспорта в VHDL, VERILOG и появился вопрос, если результат схемного проектирования вывести в VHDL, VERILOG,
        то насколько корявый итоговый результат и в чём получится при запуске по такому пути процессора в FPGA?


        1. Brak0del
          16.11.2022 11:23
          +1

          если результат схемного проектирования вывести в VHDL, VERILOG,то насколько корявый итоговый результат и в чём получится при запуске по такому пути процессора в FPGA?

          Вы можете это грубо прикинуть например так: в доке на Digital упоминается экземпл проект 16-битного процессора, который можно запустить на плис artix-7 (в составе basys3) и который на нем будет работать на частоте 20-30 МГц в зависимости от выбранных опций. Для artix-7 у Xilinx есть свой собственный 32-битный процессор/микроконтроллер Microblaze, который может работать на частоте 170-229 МГц в зависимости от выбранных опций. Т.е. разница на порядок.

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


          1. YuriPanchul Автор
            16.11.2022 19:42
            +1

            Да, Microblaze работает на высокой тактовой частоте из-за того, что его проектировщики знали о конкретике FPGA, блоке DSP48 итд. Поэтому сравнения по частоте с ним бессмысленны.

            Когда вы берете типичный процессор для ASIC, например MIPS 24K, который после синтеза с ASIC library может работать на частоте больше гигагерца, то на FPGA он будет работать пару десятков мегагерцев - разница на два порядка.

            Сравнивать нужно с помощью синтеза для ASIC, например с помощью OpenLane.


        1. YuriPanchul Автор
          16.11.2022 19:49
          +1

          Я видел код, который генерится такими тулами в случае с ускорителями вычислений нейросетей на основе CGRA-архитектуры - матрицы мелких недопроцессоров.

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

          Сравнивать с процессором типа Microblaze бессмысленно, по причине, которую я уже описал в комменте выше, скопирую и в этот:

          "Да, Microblaze работает на высокой тактовой частоте из-за того, что его проектировщики знали о конкретике FPGA, блоке DSP48 итд. Поэтому сравнения по частоте с ним бессмысленны.

          Когда вы берете типичный процессор для ASIC, например MIPS 24K, который после синтеза с ASIC library может работать на частоте больше гигагерца, то на FPGA он будет работать пару десятков мегагерцев - разница на два порядка.

          Сравнивать нужно с помощью синтеза для ASIC, например с помощью OpenLane"