· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.A&O —› Латентность и Пропускная способность

Посл.отвђт Сообщенiе


Дата: Дек 27, 2003 13:10:04

Очень часто в документации Intel встречается термин "latency" и "throughput". Если нетрудно, подскажите, как в программах управлять этими особенностями непосредственно для определенного типа процессора.
Исли нетрудно, направьте на нужную документацию и книги...
Ведь если управлять этими особенностями и писать код в соответствии с ними можно в несколько раз выйграть в скорости... Если я не прав поправьте пожалуйста...


Дата: Дек 27, 2003 22:15:49

emergenter
Очень интересный вопрос...

Мне кажется "latency" и "throughput" относятся больше к памяти.
Латентность - временная задержка между запросом на данные и непосредственно их появлением. Очень Силино влияет на доступ к неупорядоченным данным.
Пропускная способность памяти от CPU, имхо, тоже слабо зависит. Теоретический потолок - это те загадочные цифры у DDR (DDR3200 Mb/s). Реально достижимо 70-80%. Это НА ПОРЯДОК меньше частоты ядра процессора.

Что бы эту дыру прикрыть используют всякие prefetch и т.д.
Но одного этого мало. Чтобы получить выигрыш в скорости, надо использовать комплексный подход.

У интела, кроме "IA-32 Intel Architecture Optimization Reference Manual" (О! спасибо тебе интел за эту и еще 3 книжки, которые ты мне прислал :) есть по-моему только совет использовать Intel C Compiler.

У AMD, имхо, немного проще написано (документ 22007K). В Россию не присылают, можно скачать с их сайта. Там еще есть статьи по оптимизации. Все на английском.

Есть еще программы Intel VTune (по-моему платный) и AMD CodeAnalyst (я использую старую 1.2 поскольку во 2-й версии картинки с Pipeline не рисуются или я чего-то не понял)

Хотя, честно сказать, мне толку от всего этого пока мало...
Что бы стать таким как The Svin нужен огромный опыт и не только. Например от алгоритмов очень много зависит.


Дата: Дек 28, 2003 02:59:26 · Поправил: Valery

latency - просто число тактов данной команды, "задержка" ее исполнения так сказать. throughput иногда может относиться к кэшу.


Дата: Дек 28, 2003 10:48:28

Valery
Да... вот как сильно меняется смысл слов, в зависимости от их окружения :)


Дата: Май 22, 2004 05:57:49

латентность (latency) - время, прощедшее с начала выполнения команды, до ее завершения, обычно измеряется в тактах. чем выше латентность - тем хреновее.

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

эти величины имеют отношение как к памяти, так и к обычным машинным командам... да и вообще ко всему, например, к дисковой подсистеме...

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


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.049