Главное:
- Линус Торвальдс обрушился с критикой на уровни функций архитектуры AMD64 и x86-64, назвав их «сломанным мусором»
- По мнению создателя Linux, эти уровни лишь усложняют процесс работы с процессорами
- Торвальдс предложил отказаться от микролинейности в пользу более интуитивного подхода при обращении к аппаратным инструкциям
Критика архитектуры x86-64
Линус Торвальдс, создатель операционной системы Linux, недавно выразил свою критическую позицию относительно уровней функций архитектур AMD64 и x86-64. На его взгляд, современная модель представления этих уровней представляет собой «полный мусор», который только усложняет работу разработчиков. Торвальдс отметил, что такие обозначения, как «v2», «v3» и «v4», по сути, были просто артефактами библиотек glibc и не должны использоваться в качестве стандартов для ядра Linux.
Как показывает практика, многие разработчики сталкиваются с трудностями, когда им нужно понять, какие именно инструкции поддерживаются конкретными процессорами. Обозначение через уровни, которое, казалось бы, должно упрощать работу, на самом деле делает вопросы совместимости более сложными. Торвальдс подчеркнул, что вместо того, чтобы выяснять, поддерживает ли процессор определенную инструкцию, разработчики волей-неволей должны запоминать, что означает каждый уровень, что лишь запутывает процесс.
Статистика и примеры
Исторически уровни архитектуры были введены в 2020 году и призваны упростить улучшение совместимости аппаратного обеспечения и операционных систем. Например, уровень x86-64-v2 предоставляет поддержку для новых векторных инструкций, таких как SSE4.2 и SSSE3, в то время как x86-64-v3 включает инструкции AVX2 и дополнительные методы обработки данных. Однако, как указывает Торвальдс, это не является оптимальным подходом, так как разработчики сталкиваются с ненадежной реализацией инструкций от различных производителей, например, Intel, которая в разных поколениях процессоров добавляет и удаляет поддержку AVX-512.
В сравнительном анализе можно отметить, что требование к разработчикам хранить в голове конструкцию уровней в контексте реальной практики значительно усложняет их работу и нарушает интуитивное понимание функциональности процессоров.
Будущее архитектуры и рекомендации
В своих комментариях Торвальдс также высоко оценил необходимость упрощения опций настройки компиляции для x86_64. Он наметил тенденцию к тому, чтобы ядро просто придерживалось стандарта x86_64 и использовало опцию «-march=native» для оптимизации под конкретную систему. Это решение должно помочь улучшить взаимодействие между разработчиками и программным обеспечением, так как устранит путаницу, связанную с уровнями микроархитектуры.
Позиция Торвальдса имеет вес в сообществе. Он выступает в недавно созданной консультативной группе по экосистеме x86, так что его мнение может повлиять на будущее развития архитектуры. Пренебрегая сложными уровнями, разработчики могут сосредоточиться на более важных аспектах производительности и оптимизации, что в итоге приведет к более эффективному использованию современных процессоров.
Добавить комментарий