Huawei Research and Development UK Limited
Кембридж, Великобритания20 дней назад
Должность: Инженер по производительности – Языковая среда выполнения (Подрядчик) Местоположение: нет / Кембридж / Великобритания
О Huawei Research and Development UK Limited Основанная в 1987 году, Huawei является ведущим мировым поставщиком инфраструктуры информационно-коммуникационных технологий (ИКТ) и интеллектуальных устройств. У нас работает 207 000 сотрудников, мы работаем в более чем 170 странах и регионах, обслуживая более трех миллиардов человек по всему миру. Наше видение и миссия — привнести цифровые технологии каждому человеку, дому и организации для полностью подключенного, интеллектуального мира. Для этого мы будем способствовать повсеместной связи и продвигать равный доступ к сетям; привнести облачные вычисления и искусственный интеллект во все уголки Земли, чтобы обеспечить превосходную вычислительную мощность там, где она вам нужна, когда она вам нужна; создавать цифровые платформы, чтобы помочь всем отраслям и организациям стать более гибкими, эффективными и динамичными; переосмыслить пользовательский опыт с помощью ИИ, делая его более персонализированным для людей во всех аспектах их жизни, будь то дома, в офисе или в пути. Этот дух инноваций привел Huawei к тесному партнерству с ведущими академическими учреждениями в Великобритании для разработки и совершенствования новейших технологий. Общая приверженность инновациям и прогрессу позволила обеим сторонам совместно достичь общих целей и установить прочное партнерство. Партнерство между Великобританией и Huawei помогает развивать технологии будущего, которые изменят то, как мы все общаемся, работаем и живем. На протяжении последних 30 лет мы сохраняли непоколебимую сосредоточенность, отказываясь от коротких путей и легких возможностей, которые не соответствуют нашему основному бизнесу. При практическом подходе ко всему, что мы делаем, мы концентрируем наши усилия и терпеливо инвестируем, чтобы добиться технологических прорывов. Эта стратегическая направленность отражает наши основные ценности: Ориентация на клиента, Вдохновляющая преданность делу, Настойчивость, Рост через рефлексию.
Обзор Huawei Research and Development UK Limited Видение Huawei — полностью подключенный, интеллектуальный мир. Для достижения этой цели мы работаем над вдохновением страсти к фундаментальным исследованиям во всем мире. Наша совместная страсть способствует развитию по всей глобальной цепочке создания стоимости инноваций. Huawei обладает самой большой организацией по исследованиям и разработкам в мире с более чем 96 000 сотрудников в исследовательских центрах по всему миру. В Великобритании у нас уже есть проектные центры в Кембридже, Лондоне, Эдинбурге и Ипсуиче. Мы продолжаем исследовать и определять новые направления исследований и новые услуги. Мы расширили наше сотрудничество с академическими исследователями; исследовали новые сетевые архитектуры, интеграцию коммуникаций и ключевых вспомогательных технологий; и разработали фундаментальные теории этих технологий. Мы приглашаем вас присоединиться к нам в этом захватывающем путешествии и продвинуть свою карьеру вперед.
Краткое описание вакансии Мы ищем инженера по производительности, который поможет сделать управляемые языковые среды выполнения измеримо быстрее на мобильных процессорах ARM64. Вы будете работать со всем стеком среды выполнения — интерпретатором, JIT и AOT компиляторами, сборщиком мусора и библиотеками среды выполнения — и будете отслеживать каждую оптимизацию вплоть до сгенерированного машинного кода и аппаратных счетчиков, которые его объясняют. Это практическая роль для тех, кто находит узкое место, пишет патч и доказывает ускорение с помощью строгих измерений. Вы будете работать в команде CPU, поэтому то, что вы узнаете о том, как среды выполнения нагружают конвейер, кэши и предсказатели ветвлений, будет напрямую использоваться при проектировании следующего поколения ядер, и вы будете работать с конвейерами LLM-агентов, которые автоматизируют части цикла анализа, патча, бенчмаркинга и валидации.
Ключевые обязанности: – Профилирование среды выполнения: поиск и ранжирование узких мест производительности в интерпретаторе, JIT/AOT, GC и коде библиотек среды выполнения на реальных приложениях и эталонных нагрузках, с использованием сэмплирующих профилировщиков, счетчиков PMU, восходящего анализа и графов пламени. – Оптимизация исполнительного механизма: улучшение интерпретатора и уровней компилятора сквозным образом. – Диспетчеризация интерпретатора (потоковый код, хвостовые вызовы), встроенные кэши, скрытые классы / формы, а также политика повышения уровня и деоптимизации. – Качество кода JIT и AOT: выбор инструкций, распределение регистров, эвристика встраивания, анализ выхода, устранение проверок и компоновка кэша кода. – Время запуска: снимки, AOT-образы, ленивая компиляция и поведение разогрева. – Управление памятью: настройка выделения и сбора для пропускной способности, времени паузы и занимаемого места. – Быстрые пути выделения, барьеры записи и чтения, генерационные, параллельные и уплотняющие сборщики, а также политика размера кучи. – Макет объектов и сжатие указателей, а также поведение памяти куч с отслеживанием указателей. – Анализ микроархитектуры: объяснение поведения среды выполнения в аппаратных терминах — неправильное предсказание косвенных ветвлений в циклах диспетчеризации, давление I-кэша и iTLB от JIT-кода, задержка загрузки-использования и поведение предварительной выборки на графах объектов — и преобразование результатов в конкретные программные изменения и обратную связь по оборудованию. – Инфраструктура измерений: создание конвейеров бенчмаркинга и отслеживания регрессий с контролем шума, статистически обоснованным A/B-сравнением и воспроизводимыми результатами, чтобы каждое заявленное улучшение было надежным. – Автоматизированная оптимизация: создание и использование конвейеров LLM-агентов, которые анализируют профили, предлагают патчи, тестируют их и проверяют правильность, а также решают, где автоматизации можно доверять, а где нет. – Совместное проектирование аппаратного и программного обеспечения: работа с архитекторами CPU для определения того, где рабочие нагрузки среды выполнения оставляют производительность на столе, и какие аппаратные функции или функции ISA помогли бы. – Внесение изменений в основной код и обмен: отправка патчей, написание внутренних технических отчетов и, где это уместно, участие в патентах и публикациях.
Данное описание вакансии является лишь наброском задач, обязанностей и результатов, требуемых для данной роли. Сотрудник будет выполнять любые другие обязанности, которые могут быть разумно потребованы его/ее руководителем. Описание вакансии и личные характеристики могут пересматриваться на постоянной основе в соответствии с меняющимися потребностями Huawei Research and Development UK Limited.
Требуется: – Степень в области компьютерных наук, компьютерной инженерии, электротехники или смежной области, или эквивалентный практический опыт. – Отличное знание C и C++ (или Rust), с возможностью продуктивной работы с большим, критичным к производительности кодом. – Практический опыт работы с производительностью в языковой среде выполнения, виртуальной машине или бэкэнде компилятора, с измеренными ускорениями, которые вы можете подробно нам объяснить (например, V8, JavaScriptCore, SpiderMonkey, HotSpot, PyPy, LuaJIT, CPython или бэкэнд LLVM). – Свободное владение инструментами профилирования (perf, счетчики PMU, графы пламени или их эквиваленты) и способность читать дизассемблированный код и соотносить его с исходным кодом. – Прочное понимание современной ISA (ARM64 или x86-64), соглашений о вызовах, модели памяти, а также стоимости ветвлений и промахов кэша. – Строгость измерений: вы проектируете эксперименты, контролируете шум и сообщаете о результатах с соответствующей статистикой.
Обратите внимание, что спонсорство визы для этой контрактной роли не предоставляется.
Желательно: – Рабочее знание микроархитектуры CPU: конвейеры с внеочередным исполнением, предсказание ветвлений, кэши, TLB и предварительная выборка. – Опыт работы с ARM64, особенно на мобильных или встраиваемых SoC. – Вклад в open-source среду выполнения, компилятор или GC, или послужной список патчей производительности, отправленных в основной код. – Опыт работы с LLM-агентами или инструментами с поддержкой машинного обучения для оптимизации кода, или самодостаточная система такого рода. – Знакомство с цикл-точным или архитектурным симулятором, таким как gem5. – Публикации или патенты в области сред выполнения, компиляторов или компьютерной архитектуры.
Уровень английского
B2 - Выше среднего
ИИ напишет его по твоему резюме, останется только отправить
Оценка RocketHunt по реальным зарплатам
Оценка RocketHunt по реальным зарплатам