Вычисления: проливаем свет на теневые ветви

  • Пользователь Алексей Коровин опубликовал
  • 30 мая 2025 г., 17:09:56 MSK
  • 0 комментариев
  • 72 просмотра
Исследователи разработали новую технику под названием "Skia", чтобы помочь компьютерным процессорам лучше прогнозировать будущие инструкции и повысить производительность вычислений.

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

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

Чтобы устранить эту проблему, исследователи из Техасского университета A&M разработали новую технологию под названием Skia в сотрудничестве с Intel, AheadComputing и Принстоном, чтобы помочь компьютерным процессорам лучше прогнозировать будущие инструкции и повысить производительность вычислений.

В состав команды входят доктор Пол В. Грац, профессор кафедры электротехники и вычислительной техники, доктор Даниэль А. Хименес, профессор кафедры компьютерных наук и инженерии, и Хрисантос Пепи, аспирант кафедры электротехники и вычислительной техники.

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

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

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

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

"В рабочих нагрузках центров обработки данных появились новые узкие места, связанные с объемом команд, и, устраняя их, мы можем лучше адаптировать аппаратное обеспечение к этой рабочей нагрузке", - добавил Грац. "Если мы повысим эффективность на 10%, то компании, которой ранее требовалось построить 100 центров обработки данных по всей стране, теперь потребуется всего 90, что на 10 центров обработки данных меньше. Это довольно важно. Эти центры обработки данных стоят миллионы долларов, и они потребляют примерно столько же энергии, сколько вся мощность электростанции".

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

Однако по мере усложнения приложений центров обработки данных могут возникать проблемы, когда целевой буфер ветвления (BTB), который помогает отслеживать инструкции, выходит из строя. Это снижает эффективность FDIPS, приводя к неправильным прогнозам и загрязнению кэша. Многие из этих пропущенных ветвей, называемых "теневыми ветвями", существуют в ранее извлеченных строках кэша, но не используются текущей последовательностью команд и остаются недекодированными.

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

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

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

Среди других соавторов проекта - Дэвид И. Август, профессор кафедры компьютерных наук Принстонского университета, Кришнам Тибревала, аспирант факультета компьютерных наук и инженерии Texas A&M, Жиль Покам, старший главный инженер корпорации Intel, и Бхаргав Редди Годала и Джино Чакон, старшие архитекторы центрального процессора в AheadComputing.

Финансирование этого исследования осуществляется Техасской экспериментальной станцией A&M Engineering (TEES), официальным исследовательским агентством Texas A&M Engineering.

Комментарии

0 комментариев