|
|
| Посл.отвђт | Сообщен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 |