Конференция работает на сервере Netberg

Radeon.ru

Конференция Radeon.ru

Страница 1 из 1 [ Сообщений: 28 ]  Версия для печати [+]
Показать сообщения за  Поле сортировки  
Наткнулся на любопытную информацию:

IBM Power6 лучше справляется с арифметикой и мультимедиа

Стивен Шанкленд
(Stephen Shankland), CNET News.com
11 октября, 2006, 9:26


Будущий процессор IBM Power6 умеет считать до 10.

Быть может, для процессора, который совершает около 5 млрд тактов в секунду, это звучит не очень внушительно, но Power6 умеет считать до 10 — и выполнять многие другие арифметические действия, — пользуясь десятичными цифрами, а не двоичными, как это принято в обычных компьютерах.



«Операции умножения можно выполнять так, как нас учили в школе», — сказал в интервью главный архитектор Power6 Брэд Маккреди, который выступил на конференции Fall Processor Forum в Сан-Хосе.

Он пояснил, что при преобразовании чисел из десятичной системы в двоичную и обратно, которое обычно производят компьютеры, возникают некоторые проблемы точности. Например, при вычислении 10% от $1,5 должно получаться 15 центов, а не 14,9999. Поэтому регулирующие органы требуют, чтобы программы для расчета налогов и некоторые другие приложения использовали десятичную арифметику. «Существует множество пакетов для десятичных расчетов, — рассказал Маккреди, — но аппаратное выполнение этих инструкций ускорит обработку в 2-7 раз». Однако это все равно медленнее, чем при двоичной арифметике; процессор не может делать столько же операций за один такт.

Двухъядерный чип IBM Power6 появится в серверах в середине 2007 года и станет самым новым из серверных процессоров, сыгравших решающую роль для восстановления позиции Big Blue на рынке Unix-серверов.

Процессоры Power и PowerPC теснее сблизятся в Power6, который содержит набор инструкций AltiVec, ускоряющий решение многих задач мультимедиа. AltiVec, или VMX, позволяет применять одну и ту же инструкцию сразу ко множеству элементов данных. Это помогает решать задачи обработки видео и аудио на настольных машинах, но серверы тоже получат выгоды, например, при обработке генетических данных.

Чтобы обеспечить загрузку Power6 при его высокой тактовой частоте — примерно вдвое выше, чем у современных Power5 2,3 ГГц, — IBM улучшила коммуникационные возможности процессора. Если Power5 обменивается данными с системой со скоростью 150 Гбайт/с, то Power6 сможет делать это со скоростью 300 Гбайт/с.

К тому же IBM перенесла в Power6 некоторые средства повышения надежности из мэйнфреймов. Идея в том, чтобы обнаруживать и исправлять максимум ошибок раньше, чем они приведут к сбою в работе программного обеспечения. На каждом цикле чип регистрирует состояние всех хранящихся в нем данных; в случае ошибки он возвращается к предыдущему состоянию и повторяет последний шаг. При более серьезных ошибках все состояние процессора может быть передано другому ядру — так называемое «горячее резервирование ЦП». А чтобы гарантировать отсутствие ошибок при пересылках информации внутри чипа, контролируется каждый канал передачи данных.

Power6 содержит два обрабатывающих ядра, у каждого из которых своя высокоскоростная кэш-память второго уровня емкостью 4 Мбайт, вместо 2 Мбайт у Power5. Кроме того, два ядра могут разделять опциональный 32-Мбайт кэш третьего уровня, отделенный от чипа.

Каждое ядро может одновременно управлять двумя потоками инструкций. Скорость обработки второго потока составляет примерно 55% от производительности первого (в операциях с базами данных), что примерно вдвое лучше, чем у Power5.

В целях виртуализации Power6 можно разделить на 1024 отдельных сегмента, каждый из которых работает со своей операционной системой. «Я не думаю, что заказчикам понадобятся такие узкие рукава. Скорее всего, мы предложим им что-нибудь порядка 200», — сказал Маккреди.

Power6 может непосредственно соединяться с тремя другими чипами, которые устанавливаются в групповое гнездо на четыре процессора, через коммутирующую матрицу первого уровня. А каждая из таких групп соединяется непосредственно с семью другими через коммутирующую матрицу второго уровня. Такая двухуровневая коммутация обеспечивает синхронизацию кэш-памяти всех процессоров.
Думается мне, что данный CPU достоин, как минимум, обсуждения в отдельной ветке.
Да, это, как минимум, очень интересное решение... Возможно, это завтрашний лидер производительности, хотя, признаться меня несколько смущает его десятичная арифметика. Вряд ли там 10-уровневое изменение напряжения на проводниках, т.е., двоично-десятичное преобразование все равно есть — так вот, не замедляет ли оно работу? :spy: В целом же, процессор явно не десктопный (стоит — точно как самолет), но в высокопроизводительных системах, думается мне, он свое место займет очень уверенно.
Stranger_NN
Вряд ли там 10-уровневое изменение напряжения на проводниках, т.е., двоично-десятичное преобразование все равно есть — так вот, не замедляет ли оно работу?
10-уровневое, конечно, вряд ли, а вот какую-нибудь троичную логику воткнуть могли :) Впрочем... В теории, ничего не мешает сделать и 10 уровней (точнее, 9) изменения напряжения. Весь вопрос в том, будет ли это быстрее, чем двоичная?
Какой-то грёбаный БигБлю порвал целого Романа Арташесовича по количеству уровней сигранлов в 5 раз! За это надо выпить!
IdeaFix
Какой-то грёбаный БигБлю порвал целого Романа Арташесовича по количеству уровней сигранлов в 5 раз! За это надо выпить!
Лишь бы Борис Арташесович не вздумал ответить :D Вот за ЭТО надо выпить :)
matik Виктор... только не говори что он реализует в голове на бумаге в кремние шестнадцатиричный процессор... а то ведь сбудется :) Чёта как-то непонятно сказал... но ты наверное понял :)
matik, я тут вот почесал репу и пришёл к выводу, что для десятичной арифметики, скорее всего, предусмотрен специальный узел, по типу FPU или чего-то в том же духе.
Потому что десятичный сумматор по схемотехнике получился у меня таким страшненьким, что выжать из него приличную скорость не представляется возможным.
Stranger_NN
Да, разумеется, это должен быть отдельный узел. Собственно, я где-то читал, что узел десятичной арифметики будет работать не на полной частоте процессора.
Вспомнить бы только, где именно...
matik

Собственно, я где-то читал, что узел десятичной арифметики будет работать не на полной частоте процессора.
О! Я так и думал. Потому, что там получается уже довольно хитрая многоходовая (с обратными связями) структура, которая никак не может на полной скорости работать. :oops: :no:
А что вы скажете о AltiVec и VMX, а также о 8ми метровом кэше и о 300 Гбайт/с обмена с системной шиной, а также о данной фирменной технологии виртуализации ядер аж до 1024x? Ну очень мало информации о данном CPU :shuffle:
Asmodeus

А что вы скажете о AltiVec и VMX, а также о 8ми метровом кэше
Что про кэш можно сказать. Если он быстрый — это однозначно хорошо. Если ради размера пришлось пожертвовать скоростью — то это, я так понимаю, долно дать выигрыш в т.н. "коммерческих" задачах, прежде всего СУБД, но может оказаться не очень удачным решением для "научного счета". AltiVec — неплохое SIMD расширение, в тех случаях, когда его можно задействовать (прежде всего аудио-видео приложения, некоторые научные задачи) — рулит, в остальных же ситуациях не очень актуально.

о 300 Гбайт/с обмена с системной шиной
....Э-э-э-э.... :oops: Я бы урезал осетра раз, эдак, в 8. Т.е, полагаю, что речь, все-таки, идет о 37,5 гигабайтах (300 гигабитах) в секунду. 300 гигабайт — это перебор, даже если взять широченную 256 разрядную шину данных — это почти 9,5 гигагерц эффективной частоты для шины. Верится с большим трудом. :oops: Кстати, и 37,5 гигабайт в секунду — это тоже очень немало. Вчетверо больше, чем у C2D с шиной в 1066mhz.

о данной фирменной технологии виртуализации ядер аж до 1024x?
Строго говоря, сколько там виртуальных машин можно насоздавать на аппаратном уровне — вопрос отдельный. Сколько идентификатор позоляет — столько и можно, главное, чтобы иерархия памяти и кэшей позволяла переключать контексты с приемлемой скоростью. В данном случае можно сказать уверенно, что идентификатор у виртуального процессора — 10-разрядный. ;) 8-метровый кэш и быстрая память — существенно повышают эффективность использования множественных виртуальных процессоров. Я вполне допускаю, что как раз примерно около 200 контекстов и есть уровень виртуализации, при котором накладные расходы на переключение ((повторюсь — при данном быстродействии системы памяти) остаются на приемлемом уровне.
Stranger_NN
Я бы урезал осетра раз, эдак, в 8
Может оказаться, что они имеют в виду все шины суммарно. А их там.... От каждого ядра, плюс I\O....
matik

Может оказаться, что они имеют в виду все шины суммарно. А их там.... От каждого ядра, плюс I\O....
Даже если откаждого ядра плюс ввод/вывод — это сколько контактов, если даже, при, положим, 2GHz частоте синхронизации? Что-то настолько дофига, что даже IBM будет не по зубам... :gigi: Я бы, все-таки, осетра-то урезал. :oops: Тем более, что у IBM Power5+ я никак 150GB/s не упомню... :spy:
Про десятичную арифметику в Power6 --- смотрим вообще и в частности
Никаких чудес типа многоуровневых сигналов там естественно нет, есть "всего лишь" аппаратная реализация IEEE 754 revision в части "decimal-encoded" чисел и арифметики над ними.
"decimal-encoded" числа --- это числа в формате (–1)^sign × coefficient × 10^exponent, записанные обычными битиками в 32, 64 или 128-битных полях.
Формат записи, правда, не совсем привычный, в частности, есть 5-битовое поле (Combination field), в котором кодируется тип (nan, inf или обычное), и, в последнем случае --- одна десятичная цифра coefficient и одна троичная exponent.
sign занимает один бит, как обычно,
экспонента --- 6 (32бит), 8 (64бит) или 12 (128бит)
остаток --- 20, 50 или 110 бит разбивается на 10-битные поля, каждое из которых кодирует по 3 десятичных цифры coefficient
Итого, например в 32 битах могут представляться десятичные числа до 9.999999E+96.
VLev
А зачем это может понадобиться?
Кстати, через пару недель (на ISSCC 2007) должна появиться новыя информация по Power6. так что ждем...

А зачем это может понадобиться?

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

В общем, то, что десятичные числа с плавающей точкой нужны --- как бы нет вопроса.
Вопросов на самом деле два: на сколько стандартной должна быть их кодировка и обязательно ли делать их аппаратную поддержку.
VLev, ага, понял... :oops: В принципе полезная штука, вопрос только в производительности такого подхода. Всяко лучше, чем программно-то, понятно, но вот насколько — поглядим. :spy:
VLev

Вопросов на самом деле два: на сколько стандартной должна быть их кодировка и обязательно ли делать их аппаратную поддержку.

на партнерской конференции в Париже, ИБМ говорило, что их подход не совпадает с подходом Интела. Причем так ненавязчиво заострили внимание.
А что тут так тихо? ;)
Анонсировали вчера POWER6, а заодно и новый p570 на нем.
Частота процессора до 4.7ГГц, кэш L2 8 MB (по 4 MB на ядро).
И шину заявляют таки 300 GBps...
О! :) Вот и темка про Power 6 нашлась! А я искал.....
Warrax
а заодно и новый p570 на нем.
Ну, р570 как раз старый, насколько я понимаю :D
Процессоры новые, да.

Упрощенные (!), но высокочастотные.

И шину заявляют таки 300 GBps...
Как-то она там хитро заявлена :) Есть впечатления, что это старые игрища с суммированием всех шин :)
matik
Ну, р570 как раз старый, насколько я понимаю
судя по тому что в шасси своих р570 я эти процессорные модуля не воткну, он все же новый

Упрощенные
И в чем это выражается?
Warrax
судя по тому что в шасси своих р570 я эти процессорные модуля не воткну, он все же новый
Хм. А точно? ИБМ что-то говорила об обновлении... Или они все-таки обновили версию шасси?

И в чем это выражается?
Судя по всему (обзора микроархитектуры еще нет), там сильно упрощен ОоО (в пределах одного порта его попросту нет). Не исключено, что еще что-то упростили. Ибо частота внушительная....[/b]
Хм.. и сколько этот красавец кушает ватт? :spy:

Упрощенные (!), но высокочастотные.

На самом деле вопрос этот (об упрощении) не так уж и прост.
Традиционно (и IMHO не зря) "сложность" процессора "оценивается" в кол-ве транзисторов нетривиальных блоков.
По этому параметру одним из самых сложных процессоров до сих пор AFAIK был 64бит NetBurst и наследники.

Оценки кол-ва транзисторов в ядре Power6 я сделать не возьмусь, но общее их число при 2 ядрах и 8MB L2 кэша: 790M
(у Power5 было 276M при ~3MB L2 кэше).
Причем по доле площади кэш в Power6 занимает даже меньше места, чем в Power5.
VLev
Оценки кол-ва транзисторов в ядре Power6 я сделать не возьмусь, но общее их число при 2 ядрах и 8MB L2 кэша: 790M
То есть, минус примерно 480 — 500 миллионов (на L2), остается 290 — 310 на два ядра. Довольно много, согласен.
Хм.
4-thread (2 ядра + hyper-threading) Power6 4.7 Mhz примерно на 20% быстрее 4-core Core2 3 GHz по результатам spec2006. Хотя часть такого преимущества можно списать на L3. Еще ядро Power6 в 2-3 быстрее одночастотного PowerPC ядра Cell .
Новая тема    Ответить  [ Сообщений: 28 ] 


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Удалить cookies конференции

Пишите нам | Radeon.ru