AMD сегодня анонсировала свою новую разработку - Heterogeneous Systems Architecture (HSA), которая, по мнению компании, олицетворяет будущее компьютерных архитектур. В AMD говорят, что в HSA воплощены многие вещи над которыми компания трудилась последние несколько лет.
Центральная концепция HSA заключается в том, что системы будут иметь множество разнообразных процессоров, которые будут подключены друг к другу и будут работать как сравнительно автономные узлы. Две основных разновидности узлов очевидны: традиционные центральные процессоры и более специализированные графические чипы.
Современные графические чипы уже сейчас имеют значительный задел в части параллельных арифметических расчетов, однако они плохо подходят для работы с общесистемным кодом, который либо не имеет ветвления, либо он ограничен парой потоков. В свою очередь центральные процессоры хорошо работают с несколькими потоками данных, но не подходят для массивного гипермасштабируемого расчета. В AMD считают, что жесткое разделение расчетов между этими типами процессоров не слишком оптимально с системной точки зрения, поэтому компания уже сейчас предлагает равномерно разделять нагрузку между центральным и графическим процессорами.
В то же время подобные системы CPU-GPU довольно неудобны для программистов, так как писать код одновременно для двух типов чипов неудобно и сложно, кроме того, каждый из этих чипов имеет собственный пул памяти, что физически делает невозможным объединение кода и его одновременный процессинг. Даже современные логические устройства, объединяющие в себе центральный и графический процессоры все равно имеют разделение на уровне памяти, а раз так, то с точки зрения софтверных разработчиков это совершенно разные устройства.
Чтобы решить эту проблему и повысить эффективность процессинга, AMD в качестве первого шага в реализации архитектуры HSA анонсировала решение heterogeneous Uniform Memory Access (hUMA), которая позволяет во многом сохранить подход к написанию программного обеспечения, но в то же время предоставить разработчикам единый пул памяти для центрального и графического процессоров. Это позволяет центральному процессору получить доступ к областям памяти графического процессора и наоборот.
Как рассказали в AMD, задуманная ими система является кеш-когерентным решением, которое также позволит создавать нескольким разным процессорам единый пул кеш-памяти и видеть, когда другие процессоры вносят в него изменения. По словам инженеров, такая организация системы сделает компьютеры будущего не только быстрее, но и проще, оставляя больше простора для реализации прикладных функций программы, а не ломая голову над технической реализацией.
В компании говорят, что подобная организация предполагает некоторую реорганизацию самих процессоров и создание решений, которые будут способны на продвинутые коммуникационные процессы, переключение задач между друг другом и другие функции.
Одновременно с этим, от программистов это все-таки потребует изменения принципов работы с системными страницами, системами подкачки данных, с текстируированием и др.
Ожидается, что первыми процессорами, поддерживающими hUMA, станут анонсированные сегодня чипы Kaveri. Они объединят в себе 2-3 вычислительных узла (два целых ядра, но разделяемый блок работы с плавающей запятой). В качестве GPU тут будут использоваться ядра Steamroller, которые получат полный доступ к области памяти центральных ядер процессора. Ожидается, что Kaveri появятся во второй половине года.
Неофициально в AMD говорят, что прелесть hUMA заключается в том, что при помощи нее на одной логической базе можно объединять не только x86-решения, но и микроядра ARM, что позволит делать более экономичные чипы. Впрочем, последнее - это пока чистая теория, так как ARM еще не поддерживают 64-битную адресацию и сама ARM Holdings еще не соглашалась на работу в направлении hUMA.
Источник: cybersecurity.ru