Serguey Zefirov (thesz) wrote,
Serguey Zefirov
thesz

Categories:

Про роботов и про эффективность железа.

Робот 60-х годов... до нашей эры. ;)

Программировался веревкой.

Теперь - про эффективность железа.

IBM Cell Broadband Engine содержит 8 SPE (Synergistic Processing Elements), способных выдать 8 инструкций с плавающей запятой за такт, они составляют основную мощь процессора. Один SPE занимает 14.5 квадратных мм. Это выходит 1.8 мм2 на одну инструкцию с ПЗ за такт.

Общая площадь Cell составляет 235 мм2. В своем пике загрузки он выдает (грубо говоря) 64 инструкции с ПЗ за такт. На одну инструкцию за такт тратится уже 3.7 мм2.

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

Возьмем маленькие процессорА квадратной планировки с площадью в 1 мм2. Вот такие:
  P - лист дерева коммуникационной иерархии

  PP - квадратик процессора.
Их можно объединять в иерархии с помощью коммуникационного оборудования:

                 #
                / \
               /   \
    #         #     #
   / \       / \   / \
  P   P     P   P P   P

  PP##PP    PP##PP
            ######
            PP##PP
Вот уже видно, что на 4 мм2 процессорной площади приходится 5 мм2 коммуникаций. Дальше будет хуже: на еще одном уровне на 8 мм2 процессоров придется 13 мм2, на следующем отношение будет 16 к 33. В пределе все стремится к 4 мм2 на процессор:
Prelude> take 10 $ zip squares procs
[(1.0,1.0),(3.0,2.0),(9.0,4.0),(21.0,8.0),(49.0,16.0),(105.0,32.0),(225.0,64.0),
(465.0,128.0),(961.0,256.0),(1953.0,512.0)]
Prelude> take 10 $ zipWith (/) squares procs
[1.0,1.5,2.25,2.625,3.0625,3.28125,3.515625,3.6328125,3.75390625,3.814453125]
squares - это список общих площадей (1*1, 1*3, 3*3, 3*7, 7*7...), procs - количество процессоров на этой площади (1, 2, 4, 8, 16...). 225/16 даст 3.52.

Коммуникационную аппаратуру я взял сложностью с процессор - с запасом. Если задать ей толщину поменьше, в полмиллиметра, то для 64-х процессоров получается 2.1 мм2 на процессор.

Получается, что Cell не так уж и хорош! Это хорошо. И это первое. ;)

Второе - с ростом количества процессоров снижается их удельная плотность, это плохо.

Третье - снижается она до определенного предела, что хорошо.

И четвертое, последнее - к сожалению, этому есть предел - пластины больше 225 мм2 очень дороги.

Пятое, самое последнее - с коммуникационной аппаратурой вне кристалла, по-моему, будет твориться то же самое. Что хорошо. ;)

В общем, как обычно:
Меня не слышат?
Это минус!
Но и не го-онят,
Э-это плю-ус! ;)
Tags: cell, коммуникационная иерархия, эффективность железа
Subscribe

  • Разное из опыта, приобретённого в ParSci.

    Если у вас есть алгоритм на графах, попробуйте сформулировать его в терминах линейной алгебры и матрицы смежности. Например, clustering coefficients…

  • Спортивные узбеки.

    Почти 46 лет и я всё ещё могу пожать 150 кг на три раза. Приседания, судя по всему, в районе 225 кг (с 220 я справился). Первое, кстати, означает…

  • АААА!!!!!

    Удалось! Я смог войти в БИОС. ;) Соответственно, включил виртуализацию и все заработало. Вообще, тот ещё опыт. ;)

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 11 comments

  • Разное из опыта, приобретённого в ParSci.

    Если у вас есть алгоритм на графах, попробуйте сформулировать его в терминах линейной алгебры и матрицы смежности. Например, clustering coefficients…

  • Спортивные узбеки.

    Почти 46 лет и я всё ещё могу пожать 150 кг на три раза. Приседания, судя по всему, в районе 225 кг (с 220 я справился). Первое, кстати, означает…

  • АААА!!!!!

    Удалось! Я смог войти в БИОС. ;) Соответственно, включил виртуализацию и все заработало. Вообще, тот ещё опыт. ;)