Ru-Board.club
← Вернуться в раздел «Общие вопросы»

» Недоиспользование процессора.

Автор: Kardinalli
Дата сообщения: 09.11.2007 18:18
При использовании программ производящих сложные многоходовые циклические математические расчеты, столкнулся с такой проблемой.
При расчете на ноутбуке, процессор загружен на 100%, соответственно и времени занимает много. На более мощном десктопе тоже занимает много времени, поскольку судя по диспетчеру, процессор не загружается более чем на 50%, при любом выставленном приоритете. Почему недоиспользуется проц? Оси везде одинаковые, ХР2.
Автор: Kusado
Дата сообщения: 09.11.2007 20:21
В голову пришло сразу две мысли:
1. С памятью много работает софтинка, соотв мощный крутой камнь может и покурить какое-то время, пока мозги греюцца..
2. Сам софт не расчитан на мощное железо (на 64-х бтные процессоры, 2-х, а то и 4-х ядерники)
Программа давно обновлялась? Мможет в более свежей версии решено некоторое кол-во проблем?

Больше пока ничего другого не думается.

ЗЫ
Что за софт?
Автор: Kardinalli
Дата сообщения: 09.11.2007 22:05
Kusado
Софт для расчетов по электронике, память используем примерно на 20-30% от имеющейся свободной.
На десктопе одноядерный процессор, 3.06 ГГц. На ноуте 1.7 ГГц.
Никаких вирусов и прочей дребедени нет - гарантирую.
Задача и среда в которой она работает абсолютно одинаковы в обеих случаях, разница только в железе. Причем на десктопе вообще ЛЮБЫЕ задачи серьезно нагружающие процессор (например при конвертации видео) грузят его не более чем на 50%, редко прыгает до 55%.
Автор: Cheery
Дата сообщения: 09.11.2007 22:14
Kardinalli

Цитата:
На десктопе одноядерный процессор, 3.06 ГГц

модель, плиз..
Автор: Victor_VG
Дата сообщения: 09.11.2007 22:22
Kardinalli

Тут можно предположить несбалансированность конфигурации. Такое часто присутствует на универсальных системах - это расплата за универсальность. На рабочих станциях подобного явления не наблюдал ни разу. А в принципе, Cheery полностью прав - данных для более точного ответа не достаточно. Я например, могу высказать несколько десятков гипотез, и при проверке большая часть отсется, а близкой к реальности окажется одна, но и её придётся уточнять.
Автор: Kardinalli
Дата сообщения: 10.11.2007 06:44
Cheery

Цитата:
модель, плиз..

Полные данные:

Мать ASUS P5GPL-X
Автор: vertex4
Дата сообщения: 10.11.2007 09:27
Kardinalli
Отключи HT (Hyper threading) в БИОСе
Автор: NoAngel777
Дата сообщения: 10.11.2007 15:28
vertex4

от этого не увеличится быстродействие.

Kardinalli

забей, это нормальное явление. Всё работает так быстро как может. Чтобы что-то поменять, нужно оптимизировать алгоритм.
Автор: Victor_VG
Дата сообщения: 10.11.2007 16:01
Kardinalli

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

1) Технология Джонсона является частным случаем асимметричной многопроцессорной архитектуры, а она очень чувствительна ко времени реакции операционной системы на внешние события;
2) Данная технология в принципе из-за особенностей своей реализации не может обеспечить прирост вычислительной мощности более чем на 20% - 30% на идеально сбалансированных алгоритмах при симметричных потоках данных;
3) Все асимметричных сильносвязанные вычислительные архитектуры (а HT относится к ним) в приципе при запуске любого сильно загружающего системный процессор (процессор на котором при старте установки запустилась операционная система, в ЦПУ Intel HT это логический процессор CPU0 (иногда CPU1) жёстко назначаемый в в такой роли в схемотехнике чипсета) практически перестают работать переходя в цикл ожидания данного процесса;
4) Данная проблема будет присутствовать и при замене ЦПУ использующего технологию HT на любой иной производства Intel из-за особенностей реализации многопроцессорности в понимании Intel - её процессоры реализую квази-симметричную (с предустановленным системным процессором, но с возможностью частичного исполнения на нём приложений) многопроцессорность, которая отличается тем, что в отличии от полностью симметричной (в которой в любой момент любой процессор может выполнять как системный, так и пользовательский код и нет чёткой привязки начальной инициализации установки к моменту инициализации конкретного "системного" процессора - им становится тот ЦПУ, который первым выставит сигнал "Готовность" на шину, с него происходит весь процесс загрузки системы и инициализации остаольных ЦПУ) и асимметричной (используется аппаратно назначаемый "системный" процессор с которого начинается запуск всей установки, и на котором потом работает только операционная система) допускает переключение в некоторых случаях части системного контекста в режим ожидания с целью предоставления большего процессорного времени пользовательским процессам, но требует обязательного возобновления системного потока только на "системном" процессоре вне зависимости от степени его загрузки: он может простаивать, но система не позволит запустить на нём потоки пользователя, но свои может исполнять и на других процессорах если данный занят.

В данном случае можно конечно попробовать "поиграть" с переходом на другую операционную систему, но тогда придётся менять всё, от приложений, до приёмов работы. А оно надо? Так, что либо отключай HT и не думай о ней, либо меняй аппаратную платформу на иную - AMD x64, PowerPC, MIPS, Alpha AXP, IBM Power, HP PA-RISC, SPARC. Естественно со всеми вытекающими... Иного выбора в принципе нет.

P.S.

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

Тут NoAngel777 прав - вычислительна производительность не возрастёт, но загрузка процессора циклами ожидания снизится.

И для твоих задач процессоры от Intel не предназначены. Это задачи для процессоров IBM Power 5, SUN Ultra Sparc , SGI MIPS R14000 - R18000, DEC Alpha AXP 21x64 и пожалуй AMD Athlon Xp/MP/AMD 64/Opteron которые спроектированны на базе вычислителной модели Alpha AXP. Названные мной прцессоры специально оптимизированны для сложных вычислений. Пример TOP500 самых мощных процессоров. Из этой таблицы отлично видно, что процессоры от Intel далеки от рекордов, и становится понятно для чего Intel "свернула" архитектуру DEC Alpha AXP объявив её "морально у технически устаревшей, и абсолютно не производительной, более медленной чем процессоры i486DX2-50" (Craig R. Barrett, Председатель Совета директоров Intel, повтаряет данную фразу как "аргумент" начиная с 1993 года)). Надеюсь, что вопросы будут к данным товарищам. Не знаю как у Вас, но у меня их море, только ответы с 1993 года не получил, разве что один:"К сожалению, мы не можем ничего Вам ответить поскольку не знаем что отвечать, наше непосредственное руководство не уполномочило нас давать ответы на вопросы специалистов. Позиция корпорации по данному поводу нам не известна. С уважением, группа иженеров корпорации Intel." и всё, фирменный бланк, отписка и без подписи...
Автор: Kardinalli
Дата сообщения: 11.11.2007 21:08
vertex4

Цитата:
Отключи HT (Hyper threading) в БИОСе

Отключил, нагрузка на процессор возросла до 100%. Нужно будет посмотреть на реальный выигрыш...
Автор: pom205
Дата сообщения: 11.11.2007 22:48
Victor_VG
А для core2duo что делать?
Автор: Victor_VG
Дата сообщения: 12.11.2007 02:15
pom205

Оставить для секретарши. Он, как и все процессоря Intel начиная с i586 MMX (Pentium MMX) оптимизирован для целочисленной арифметики. А векторные вычисления которыми козыряет Intel - это параллельная обработка по одному алгоритму на одном или нескольких одинаковых (!) вычислительных блоках подобных наборов данных с меньшей точностью чем отдельного потока. Это связано со времеменм обработки. И потому, архитектура Intel обеспечивает высокую производительность только при низкой точности (Float32 - 2 бита знаки, 16 бит экспонента, 14 мантисса), но как только речь заходит о точности Float127 (2 знаки, 87 бит мантисса, 38 бит экспонента) их процессоры с задачей не справляются - даже Core2 Duo использует 16-ти битные вычислительные узлы работающие на учетверённой тактовой частоте ядра. Похоже это связано с его перегревом и временными задержками в логических элементах. Intel молчит, но анализ показывает, что видать не всё так ладно в ихнем королевстве - архитектура NetBurst/Core/Core2 во всех своих вариантах исчерпала резервы развития и требует замены. Можно конечно, рискуя получением "гонок триггеров" поднять тактовые частоты, можно ещё распараллелить ядра и обузить конвейеры, но это тупик - прирост производительности в сложных задачах будет порядка долей процента, а тепловыделение возрастёт в разы параллельно со снижением надёжности и выхода годных чипов. Ну, к непризнанию брака руководству Intel привыкать не приходиться - за последние 20 лет в этом отношении накоплен колоссальный опыт.

Коли интересны подробности - готов ответить на своём сайте.
Автор: BEndER Tech
Дата сообщения: 12.11.2007 10:19
Victor_VG
щас книжку по квантовой химии достану с полки
твой джонсон в а**е будет
Автор: Victor_VG
Дата сообщения: 12.11.2007 23:49
BEndER Tech

Сей вопрос не ко мне, а к Истории. Это шутки сей дамы.
Автор: vertex4
Дата сообщения: 13.11.2007 17:26
Victor_VG
Ты просто уточняй, для чего они лучше, для чего хуже. В области "обычных домашних" задач - core 2 duo лучше
Про серверные задачи (а уж тем более серьезные вычислительные) - большинству интересно только теоретически.
Автор: Victor_VG
Дата сообщения: 13.11.2007 21:19
vertex4

Если работать с офисными программами то я бы выбрал процессоры от Intel, но если это графика, оцифровка видео, расчёты, работа с большими базами данных, AutoCAD, bCAD (CAD/CAM) и им подобные расчётные задачи, то из доступных процессоров лучше выбрать AMD - они базируются на архитектуру DEC Alpha AXP и как "считалки" справляются с расчётными задачами лучше. Реально это выражается так - задача - оцифровка фильма с изменением битрейта и цифровой реставрацией изображения. Две похожих системы: одна на процессоре Intel P-IV 3000 MHz, вторая на процессоре AMD Athlon XP 3000+ (Barton, L2=512 Kb, FSB=400 MHz, Fcore=2100 MHz). Сравниваем, имеем - машина с ЦП от Intel вроде считает на несколько минут быстрее, но при запуске нескольких задач параллельно работать на ней нельзя - система не реагирует на команды, обрабатывает приложение, а система с процессором AMD ещё при этом умудряется параллельно в AutoCAD и пакете типа MathLab расчёты делать при этом свободно, хотя и с некоторой задержкой реагируя на команды.

В процессорах Intel до сих пор используется тот же блок вычислений с плавающей точкой который был применён в процессорах Intel Pentium, а недостаток вычислительной мощности компенсируется векторными блоками MMX/SSE, правда со значительной потерей точности.

Именно поэтому, я когда мне задают такой вопрос как ты отвечаю просто: "Для развлечений - Intel, а для серьёзной работы - AMD, Alpha AXP, SPARC, IBM Power, Cray X1, NEC...". Конечно, если мы будем анализировать более глубоко, то получим более точную таблицу соответствий "Процессор - Подходящие задачи".

Но для дома хватит и более общего ответа : "Игры, развлечения, работа с текстами - Intel, творчество, графика, работа с видео, программирование, Web-разработка, AutoCAD, учёба в ВУЗе - AMD". Так проще обобщить области применения современных процессоров.

Всё остальное - или тема для докторских, ну как минимум кандидатских диссертаций или серьёзных академических монографий, или общие ответы для того, чтобы спрашивающий отстал и не лез под руку, или бред сивой кобылы, включая в категорию "бред сивой кобылы" рекламу во всех её проявлениях...

P.S.

Заранее приношу всем, кто примет жёсткость моих оценок на свой счёт, свои извинения, но господа, вы своим не профессионализмом и глубокомысленными рассуждениями о том в чём разбираетесь как свинья в апельсинах, наделали больше зла чем все величайшие злодеи в Истории вместе взятые. Воистину, нет хуже врага чем дурак с самомнением и при должности, опасен дурак не образованный, а ещё опаснее дурак пишущий книги или вещающий с кафедры, особенно свои высосанные из пальца истины в последней инстанции поскольку он ещё при этом и агрессивен...
Автор: BEndER Tech
Дата сообщения: 14.11.2007 06:45
Victor_VG
твои "утверждения" весьма свеобразны, начинается разговор о интел коре, а пример у тебя процов 4-х летней давности!

р-р-р - я немного озадачен твоими выссказываниями в части "PS" - не гоже так поступать!

vertex4
коментировать всё это нет никакого желания, пусть тема так и висит в на форуме...
Автор: Victor_VG
Дата сообщения: 14.11.2007 13:10
BEndER Tech

А в TOP500 поглядеть времени не было? Эта информация о тех процессорах на которых построены самые мощные суперкомпьютеры планеты, и постоянно, раз в три месяца обновляется. Я пользовался данными за "Processor Generation share for 06/2007" Июнь 2007 года. А более свежего рэйтинга пока нет, утвердят на конференции - появится. Так, что твои слова подтверждают - ты TOP500 не смотрел, видно времени не хватило, или иное... но сиё на твоей совести, без обид?. А что касается твоего высказывания
Цитата:
твои "утверждения" весьма свеобразны, начинается разговор о интел коре, а пример у тебя процов 4-х летней давности!
, то в данном случае я рассуждаю как инженер занимающийся созданием мощных ЭВМ, и могу утверждать, что разрекламированный Intelх(R) Core(R) как и его приемник Intel(R) Core2(R) реально годятся только для игрушек, а для работы их использовать нет смысла. Например с тестом LINPACK при матрице 5000ч5000 у нас в лаборатории банально "висли", а "старые" AMD Athlon XP с любыми ядрами прекрасно справлялись с матрицами 500000 х 500000 и более. Так, что не спеши воздвигать пьедестал по рекламе. Опыт показывает, что чем более агрессивна реклама, тем хуже товар, особенно когда речь идёт о продукции Intel. Примеры: ошибка плавающей точки в P60/P66 (1993 год), признана в 1994 году, исправлена в P166/P166MMX (1996 год), серия ошибок блока умножения и векторных команд плавающей точки (SSE) найдена 1998 год, не исправлена до сих пор - "...Ваше сообщение не проверялось, поскольку данные ошибки по заявлению наших инженеров наших изделиях не возможны." - это мы получили в ответе от Intel когда сообщили об этой ошибке в их 4-х ядерных Xeon. А те же расчёты проделанные на других процессорах дали иные результаты, и причину произошедшей ранее аварии удалось найти именно с помощью не Intel-их процессоров, в итоге несколько человек которых обвиняли в преступной халатности и бездействии, суд полностью оправдал, признав факт их не виновности. А до того прокурор оперировал результатами полученными как раз на процессорах Intel Xeon Core2 Quad. Далее, ошибка в чипах серии ICH5 приводящая к пробою этой микросхемы при "горячем" подключении любого USB устройства. Ошибка вызвана низким напряжением пробоя изоляции в микросхеме. Повторена в последующих микросхемах до серии ICH8 включительно. Ошибки при вычислении адресов в процессорах начиная с Pentium D, приводящая к обращению по несуществующему адресу физической памяти за границами 0 - 264-1 и последующему переполнению внутреннего операционного стека процессоров - обнаружена, признана "не существенной", срок исправления не определён, признан факт вероятности возникновения ошибки 1/12000, т.е. более чем вдвое более часто чем ошибка плавающей точки в в P60 (1/27000)!, а сама даная ошибка по материалам Intel всегда сопровождается "букетом" из пяти вычислительных и трёх адресных ошибок, в том числе ошибкой потери точности результата предшествующей арифметической операции, когда вне зависимости от результата операции всегда выдаётся случайный выходной результат от +7 до +93. Данная ошибка так же признана "не существенной". Ошибка округления при значениях близких к нижней границе диапазона значений для данной размерности аргументов - Core/Core2 - повторяется во всех процессорах, выдаёт значение "нуль" (т.н. "аффинный нуль") при условии округления если значение младших бит 0 - 4 равны "0000"
или "1111" - ошибка признана "не существенной и не подлежащей исправлению". Достаточно? Или поглядишь сам списки ошибок в процессорах - т.н. "CPU Errata". Правда Intel как видишь любит отрицать очевидное, и потому ей нужна огромная РЕКЛАМА - ведь на "хлеб с икрой" деньги то нужны...
Автор: Kardinalli
Дата сообщения: 14.11.2007 15:57
Victor_VG

Цитата:
я рассуждаю как инженер занимающийся созданием мощных ЭВМ

Какие именно "мощные ЭВМ" созданы при вашем участии и степень вашего вклада в это? Если не стратегическая тайна, конечно...
Мне совершенно все равно какой процессор реально стоит у меня, лишь бы он выполнял свои задачи БЫСТРО и БЕЗОШИБОЧНО.
Но ваш апломб заставляет искать иные причины нелюбви к Интел, кроме чисто технических.
Или вы пользуетесь какими то непогрешимыми процессорами от другого производителя? Озвучьте пожалуйста эти святые марки...
Автор: Victor_VG
Дата сообщения: 14.11.2007 19:22
Kardinalli

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

А "нелюбовь" к Intel базируется на анализе тех материалов и схем которые мне были доступны по работе. Эти материалы можно купить у любого производителя, Intel не исключение, но частным лицам их обычно не продают, а крупным компаниям - пожалуйста. И любой инженер может выяснить из них то что нужно для его работы. Тайну обычно делают из того, где и как это применяется, особенно если работу заказывает крупный бизнес. За ним обычно стоит Государство, а оно очень не любит когда кто-то суёт нос в его дела.

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

Всё, данная тема, поскольку явно переросла в офтоп и грозит "перейти" на личности мне становиться не интересной - у меня есть несколько сложных математических задач которые коллеги объявили "не решаемыми", вот ими я и займусь - интересно, а что в итоге получится? Думаю, что там есть решение, интуиция подсказывает, что оно должно быть очень сложным, но красивым.
Автор: Kardinalli
Дата сообщения: 14.11.2007 21:46
Victor_VG

Цитата:
Для начала совет - убрать ехидство

У меня ехидства на порядок меньше чем у вас самовлюбленного пренебрежения к собеседникам. Кроме общих фраз и сплошного нарциссизма больше ничего не продемонстрировано. у меня был вполне простой и конкретный вопрос не который я получил ответ. Заметьте, не от вас. Занимайтесь "сложными математическими задачами", засекреченный вы наш...
Автор: CalabraMed
Дата сообщения: 15.11.2007 08:29
Не совсем понятно, чем не устроил ответ Виктора? Он сказал вещи, которые известны всем занимающимся научными расчетами. Еще в 95-м году в Карлсруэ на конференции я это впервые услышал. С тех пор этому видел только подтверждения.
Вам что не нравится - апломб или содержание?
Автор: Victor_VG
Дата сообщения: 15.11.2007 15:57
CalabraMed

Нет, похоже им не нравится сам мой принципиальны подход - ВЫБОР ИНСТРУМЕНТА ОПРЕДЕЛЯЕТСЯ ЗАДАЧЕЙ, ну что же, мы ст тобой профессионалы, а они любители - это их дело, личное, мы с ними живём в разных мирах, и эти миры не пересекаются... Этих людей убедили что Intel - это единственное возможное решение на все случаи жизни, и других решений для них просто не существует. И их будет очень сложно переубедить, даже если удасться... Например Nero 7/8 оптимизирована для работы с Core Duo/Core2 и ATI Radeon X1950/nVIDIA GF8800 при декодировании HD DVD/Blue Ray дисков. И любые другие процессоры/видео подсистемы объявляются требующими "обновления", хотя дело не в них а в алгоритме детектирования и деньгах Intel которыми данная оптимизация оплачена. [more=Нужен пример? Пожалуйста, шаблон Nero Info Tool V4/5, по которому определяется "необходимость" обновления]####CPU
AMD*Athlon*64*FX, 2600 , false
AMD*Athlon*64*X2, 2200, false
AMD*Turion*64*X2, 2000 , false
Intel*Core*Duo, 2000, true
Intel*Core*2, 1800, true
Intel*Pentium*EE, 3200, false
Intel*Pentium*Extreme*Edition, 3200, false
Intel*Pentium*D, 3400, false
Intel*Dual*Core, 3400, false


#####Memory
512


#####OS
6,0,0 //Vista - MajorVersion,MinorVersion, SP
5,2,0 //Windows Server 2003 - MajorVersion,MinorVersion, SP
5,1,2 //WinXP SP2 - MajorVersion,MinorVersion, SP


#####GraphicsCard
NVidia*GeForce*6600*GT, false, 9371, 10065
NVidia*GeForce*7600*GT, false, 9371, 10065
NVidia*GeForce*7800*GTX, false, 9371, 10065
NVidia*GeForce*7900*GS, false, 9371, 10065
NVidia*GeForce*7900*GX, false, 9371, 10065
NVidia*GeForce*7900*GT, false, 9371, 10065
NVidia*GeForce*7900*GTX, false, 9371, 10065
NVidia*GeForce*7950*GT, false, 9371, 10065
NVidia*GeForce*7950*GTX, false, 9371, 10065
NVidia*GeForce*8800, true, 9792, 10065
Radeon*X1600, false,72,72
Radeon*X1650, false,72,72
Radeon*X1800, false,72,72
Radeon*X1900, false,72,72
Radeon*X1950, true,72,72
####End[/more] Из этого примера видно, что только процессоры Intel Core Duo/Core 2 и указанные видео карты признаются "пригодными" (значение "true"), а всё остальное "требует обновления" (значение "false"), хотя данные задачи прекрасно просчитываются на любых процессорах начиная с Intel P!!! 1200 MHz/AMD Athlon 1000 MHz и при использовании видео карт от ATI Radeon 9500/9600 или nVIDIA 5600 или аналогичных в любом другом проигрывателе, например в KMPlayer. И проблем не возникает. Потому я и могу утверждать - требования использовать только процессоры от Intel как инструмент для всего и вся - это чисто маркетинговый ход, способ залезть поглубже в карман потребителя. Но, например фанатов торговой марки "Intel" этим примером не убедить, да и список TOP500 для них "не доказательство" - "процессоры четырёхлетней давности". А вы господа знаете сколько времени, труда и денег стоит разработка только одной модели процессора, и сколько времени требуется для его изготовления с момента когда на вход технологической линии мы положим заготовку, до момента когда получим первую готовую микросхему? Реальные цифры таковы - разработка от 3-х лет и более, примерно 14 -15 миллионов человеко-часов трудозатраты, стоимость разработки от 3 - 4 миллиардов долларов, и период изготовления микросхемы примерно от 7 - 8 месяцев до года, а иногда и более. Это физика и технология и пока мы как цивилизация ещё не умеем менять как фундаментальные законы Вселенной которые влияют на эти сроки, так и необходимые суммарные трудозатраты. А вы говорите... Просто глядя на реальные факты, становится более ясно, почему "процессоры четырёхлетней давности" используются до сих пор в супер компьютерах. - во первых потому, что более производительных процессоров сейчас просто ещё нет, во вторых компьютер это не только "железо", а на 90% и программы обеспечивающие его работу так, как нам это надо, без них это просто большая печка для яичницы, а в третьих и потому что для разработки более новых решений недостаточно нашего "хочу...", а нужны знания, технологии и банальные деньги. А Вы, судя по Вашим высказываниям стоите на позиции - "Нет бога кроме Intel, и Core 2 пророк его...". Не интересно, господа, вот это и есть знаменитый БАЯН. И если Вы этого не хотите понять, то мне остаётся Вам только посочувствовать, и откланяться - моё время стоит слишком дорого, чтобы тратить его впустую на доказательство очевидных фактов.
Автор: Kardinalli
Дата сообщения: 15.11.2007 19:58
Victor_VG
Я с огромным интересом прочитал все что вы писали. Это чистая правда. Но есть одно НО.
В своей области я спец - вы рядом не стояли, уж поверьте. Но на задаваемые мне вопросы по моим знаниям, я никогда не становлюсь в позу назидательного-пренебрежительного повествования. Хотя мои не столь секретные разработки в области связи и брали призы на тогда еще союзных выставках, или сегодняшние программные разработки, популярные среди спецов по электронике и кстати, бесплатные.

Относитесь к людям РОВНО, без пренебрежения и уважения к вам только прирастет благодарностью.

Что до Интел, я уже сказал, мне совершенно все равно какой проц у меня работает, Интел, АМД, Моторола или еще кто. Я совершенно равнодушен у марке производителя и не являюсь адептом звучного имени.
Автор: Victor_VG
Дата сообщения: 15.11.2007 20:25
Kardinalli

Спасибо за Ваш совет, но в данном случае я имею ввиду не конкретных людей, а позицию господ бизнесменов. Весь сей "скипидар с патефонными иголками" предназначен лично им. Как и Вам, мне прекрасно понятно, что надо чётко различать два понятия - маркетинг с целью продажи, и реальное применение конкретного решения в конкретной ситуации. Просто господа-маркетологи настолько способны достать любого, что начинаешь срываться на ни в чём не повинных людей. И вы правы, я обязан извинится перед всеми нашими ребятами, кого мог нечаяно обидеть.

Но, друзья, я прошу Вас понять - у Вас могут возникнуть разные задачи, и с помощью какого инструмента её лучше решать надо смотреть в каждом случае индивидуально, иначе Вы рискуете не только зря потраченными деньгами, но самое плохое, это потерей драгоценного для всех нас времени.

Продавцы "железа" в накладе не остануться, не мы так другой, им плевать, кому им продать свой товар, им главное - Деньги, а подойдёт ли их товар для нашей конкретной задачи или нет, их абсолютно не интересует, более того они кровно заинтересованы в сбыте нам того, что нам не нужно, что бы мы его потом либо продавали за бесценок, либо меняли с доплатой. Нам же надо решать каждый раз конкретныю задачу, и самое главное, мы не столь богаты для того, что бы покупать не нужные нам решения. А нам их навязывают!

Давайте сделаем иначе - составим некоторую таблицу соответствий "задача - возможное решение". По мере её уточнения мы будем иметь более менее реальную картину того, что выбрать и когда. Мои знания к вашим услугам. Кто за?
Автор: CalabraMed
Дата сообщения: 16.11.2007 11:17
Kardinalli
В общем-то понятно, но мне такой подход не близок. Ценность высказывания все же определяется содержанием, а не тоном.
Я в свое время очень много сил потратил на то, чтобы добиться от Интеля действительно точных вычислений. И могу сказать, что есть классы задач (работающие с неустойчивыми решениями), которые на нем практически не могут быть решены.
А смех в том, что вылезти эти задачи могут, в общем-то, где угодно. Например в строительных или химических САПР. Ну и...
Автор: Victor_VG
Дата сообщения: 16.11.2007 17:40
CalabraMed

Да, согласен. Я встретился с такими задачами когда пришёл приятель со своей кандидатской - сложность оказалась двойной - как в самой задаче, тут пришлось порыться в справочниках по вычислительным методам, так и в том, что конкретная задача оказалась очень чувствительна к сверхмалым величинам, и расчёты пришлось вести на грани аффинного нуля (виртуальный "нуль" используемый во всех современных процессорах), когда значение параметра становится меньше нижнего порога разрядной сетки ЦП. Кратко поясню что это такое.: например, у нас имеется для простоты модели 32-битный ЦП, один (обычно старший, обычно его значение "0" интерпретируется как "+", а "1" как "-") бит разрядной сетки используется для представления знака, и наш результат содержит 33 бита, а его значащие биты с 1 по 31 равны "0", в то время как значащий бит 0 равен "1", тогда и возникает состояние аффинного нуля, значение бита 32 - знакового разряда в такой ситуации можно не учитывать, поскольку "0" считает условно-беззнаковым числом. Это приводит к интересному парадоксу: мы имеем три нуля!: 1-й положительный, знаковый разряд равен "0"; 2-й отрицательный, , знаковый разряд равен "1"; истинный, математический - число имеет разрядность равную бесконечности, и все разряды равны "0", только в такой ситуации значением знакового разряда допустимо пренебречь.

Аффинный нуль и переполнение разрядной сетки это те типичные вычислительные ситуации когда многие процессоры не предназначенные для научных расчётов теряют точность. Что делает их микропрограмма (она отвечает за выполнение любой машинной команды)? В декодере команд последняя разбивается на строго упорядоченную последовательность микрокоманд - пакет из ряда параллельных!!! наборов управляющих сигналов для всех узлов процессора, его битовая размерность зависит от архитектуры конкретного ЦП, и может достигать нескольких килобит, а иногда и более (например в процессорах ЭВМ IBM S/360 ширина микрокоманды составляла 256/512 бит в зависимости от модели)). Вычислительный процессор в ситуации аффинного нуля выставит биты состояния "потеря точности" и "аффинный нуль", а не вычислительный просто вернёт нулевой результат операции.

Массовые ЦП от Intel при возникновении ситуации аффинного нуля возвращают только нулевой результат, не выставляя флаги "потеря точности" и "аффинный нуль", а ЦП AMD (Athlon XP/Athlon MP/AMD 64/Opteron), NEC, SUN (Sparc), DEC (Alpha AXP), MIPS (MIPS R8x000/1x000), IBM (Power, но не PowerPC!) - обработают данную ситуацию правильно - выставят состояние "аффинного нуля". Поэтому, мы и можем утверждать о их разном предназначении. Единственным ЦП от Intel который правильно обработает ситуацию "аффинного нуля" на сегодня можно считать только Itanium 2 - он выставляет флаги состояния правильно. В линейке процессоров HP PA-RISC только старшие модели серии 8ххх предназначены для научных расчётов, и выставляют флаги правильно. Обычные же процессоры в такой ситуации в зависимости от реализации микропрограммы могут выставить и флаг "переполнение". Примерно подобная ситуация возникает и при переполнении разрядной сетки, когда результат выходит за её пределы: научные процессоры выставят флаги: "переполнение", "потеря точности", "выход за границу разрядной сетки" и в зависимости от реализованной микропрограммы при обработке такой ситуации либо передадут по специальной команде число в виде двух частей старшей, содержащей разряды переполнения, и младшей содержащей те биты, что не вышли за пределы разрядной сетки, либо вернут только младшую часть, но всегда выставят правильно биты состояния. Обычные же процессоры выставят только бит "переполнение" и возвращаемый результат будет содержать либо все "1" во всех битах (чаще всего), либо младшие биты результата, или иногда непредсказуемое значение. Но в любом случае возвращаемый результат будет не действителен. Для массовых ЦП Intel всех серий (i4004/i8008/i8080/i808x/i80x86/iPentiun xxx/iCore xxx/iXeon xxx) при переполнении разрядной сетки или возникновении аффинного нуля результат будет не действителен. Для научных ЦП ЦП AMD (Athlon XP/AMD 64/Opteron), NEC, SUN (Sparc), DEC (Alpha AXP), MIPS (MIPS R8x000/1x000), IBM (Power, но не PowerPC!) результат будет действителен в пределах их спецификаций, и поддаваться правильной интерпретации.

Именно с различием в механизмах обработки крайних граничных значений в разных типах ЦП и связана их пригодность для разных задач. Офисные задачи (работа с текстом, связь, простые расчёты, многие финансовые вычисления) в основном содержат команды для работы с целыми числами, а самое важное их результат никогда не вызывает ни переполнения, ни возникновения аффинного нуля, а немногочисленные операции с дробными (вещественными, с плавающей запятой) числами также не вызывают подобных эффектов. В научных расчётах мы встречаем противоположную ситуацию. И потому нам нужны механизмы для компенсации побочного действия обоих граничных эффектов (аффинного нуля и переполнения разрядной сетки). При использовании для таких задач не научных процессоров мы получим с высокой степенью вероятности не предсказуемый и не верный результат, а научные (их часто называют вычислительными) процессоры в случае ошибки в расчётах дадут приближённый результат, но но его точность (т.е. степень приближения полученного к реальному значению результата) легко может быть увеличена путём проведения нескольких последовательных итераций.

Вот тут мы и выходим на второй класс задач: промежуточные задачи - 2D графика, не сложные математические расчёты с невысокой точностью, простые задачи имитационного моделирования, финансовые расчёты, игры, базы данных, допечатная подготовка (DTP), Web-разработка, но только при условии что промежуточные результаты находятся в диапазоне выше аффинного нуля и ниже переполнения для значащих разрядов числа. Для них мы можем использовать любые процессоры, но с учётом известных нам ограничений по точности и диапазону границ значений результатов. Только при соблюдении этих условий мы получим действительные результаты.

Третий класс задач, научные и сложные расчёты с высокой точностью: 3D/nD моделирование (многомерные модели), системы автоматизированного проектирования (CAD/CAM), разработка программного обеспечения, имитационное моделирование, 3D графика высокой точности, задачи аэро-/газо-/гидродинамики, физической химии, теории электромагнитного поля, теоретической физики и им подобные. Характерной особенностью подобных задач является не столько сложность и объёмность расчётов, сколько работа вычислительного узла на границах диапазона точности как с низу, со стороны "нуля", так и сверху, со стороны "переполнения". Для них нам потребуются именно научные процессоры, и обычные, целочисленные процессоры не подойдут не в следствии "высокой/низкой" производительности, а по причинам связанным с их внутренней микроархитектурой, точнее с их основным рассчётным узлом Арифметико-Логическим Устройством (АЛУ, ALU) - в обычных процессорах битовая разрядность АЛУ равна или кратна разрядности разрядности операндов, и если мы например будем умножать два числа разрядностью N, то результат будет иметь разрядность M=2N. И тут то, как будет осуществляться обработка (не алгоритм, а его временная реализация в виде временных тактов процессора, где каждый такт строго соответствует одному минимальному и неделимому временному отсчёту работы процессора) определяется его конструктором и начальным Техническим Заданием (ТЗ). Неизменным останется одно: соотношение M/N=x, где х=1,2,3,...n, но всегда целое число.

В научном процессоре АЛУ строиться по иной архитектурной схеме: K=x*(N+y), где x=1,2,3,...n, целое число, а y={1 <= y <= N}, где y - это резервные биты АЛУ предназначенные для компенсации возможного выхода промежуточного результата за пределы разрядной сетки. И после выполнения любой арифметической операции научные процессоры проверяют возможность того, что результат операции не поместился в пределы разрядной сетки, и его старшие биты вышли в резервную часть. Остальные действия в данном случае просты: выставляем флаги исключений, и в зависимости от микропрограммы либо осуществим округление с переводом, если вычисления велись с целыми числами их в форму с плавающей точкой, либо осуществляют округление выставляя максимальное значение разрядной сетки и биты "переполнение", "округление", "превышение диапазона разрядной сетки" оставляя результат в той форме в какой это задано форматом машинной команды. Именно с этими особенностями архитектуры АЛУ и связаны принципиальные различия этих классов ЦП.

Вот тут возникает и четвёртый тип задач: обработка потоковых данных, например аудио/видео потоков, или иначе, простые векторные задачи. Они очень интересны именно с точки зрения своих особенностей: 1) эти задачи могут при обработке вызывать выход результатов за границы диапазона разрядности АЛУ, но они к нему значительно менее чувствительны чем другие типы расчётных задач. Это связанно с эффектом инерционности нашего зрения - если мы получим случайную цветовую ошибку длительностью меньшей чем примерно 1/1000 секунды, то в следствии инерционности зрения она останется не замеченной. Подобной особенностью обладает и наш слух, но там пороговый интервал значительно короче, порядка 1/100000 секунды. Именно это позволяет нам использовать очень эффективный механизм векторной обработки: мы имеем несколько однотипных по структуре потоков данных, но один поток инструкций (команд), т.н. архитектуру ОКМД (SIMD, одиночный команд/множественный данных, Single Instructions/Multiply Data). Она исходит из предположений, что: 1) потоки данных однотипны; 2) результат расчётов не выйдет за пределы разрядной сетки; 3) данные можно обрабатывать либо последовательно побитно, либо побитно-параллельно группами от младших разрядов к старшим; 4) допустимо наличие случайных ошибок потери точности маскируемых инерционностью обрабатываемого потока. Задачи аудио/видео обработки этим условия удовлетворяют, и их можно обрабатывать используя SIMD архитектуру. Другое дело, если мы попробуем использовать её в научных расчётах. Там, поскольку условия 1) - 4) не удовлетворяются либо полностью, либо частично это решение абсолютно не применимо. Как альтернативу можно рассмотреть архитектуру MIMD (Multiply Instructions/Multiply Data), но во первых она отличается сложностью реализации, во вторых применима не ко всем классам задач, в третьих требует значительного усложнения операционной системы и программного обеспечения. Поэтому, в массовых решениях она не применяется, несмотря на то, что теоретически способна обеспечить высокую скорость обработки при высокой точности вычислений.

Для сложных векторных задач которые могут возникнуть например в аэро/газо/гидродинамике значительное ускорение по времени обработки можно получить именно на специализированных MIMD векторных вычислительных структурах, но чаще всего такие системы строятся не как самостоятельные системы, а как специализированные векторные ускорители для систем общего назначения, например отечественная система ПС-3000 применявшаяся в качестве векторного ускорителя в некоторых проектах на базе многопроцессорного вычислительного комплекса (МВК) Эльбрус-2, но данные решения нашли большее применение в современных супер ЭВМ: Atlas, Cray X1E, Cray XT5 и им подобные комплексы. Они содержат тысячи ЦП каждый из которых работая под управлением собственной операционной системы (ОС) входит в общую структуру как функциональная ячейка, но сложность программирования и стоимость этих систем такова, что например в России таких систем на которые бы попали в список TOP500, да ещё в его наиболее престижную часть TOP50 самых производительных вычислительных установок планеты на данный момент нет...

Имея перед собой определения классов задач и типов процессоров попробуем более точно оценить их применимость по параметрам: внутренняя разрядность АЛУ, реакция на ситуацию возможной потери точности, работа с вещественными (формат с плавающей запятой) данными, поскольку что нужно для большинства офисных и многих домашних задач нам уже ясно: подойдёт любой ЦП, лишь бы он отвечал условиям производительность не менее пороговой для данной задачи, но желательно с запасом в 10% - 15%, и при этом не слишком сильно греющийся, а так же совместимый с максимально широким спектром наборов системной логики и микросхем памяти при минимальной собственной цене. Для научно-инженерных задач обычные универсальные ЦП не подойдут по причинам рассмотренным нами выше, но общие требования и к ним такие же! Максимальная совместимость с микросхемами системной логики, памяти, минимальное энергопотребление, производительность соответствующая решаемой задаче и минимальная цена. Всё. Что толку в покупке супер-пупер процессора если его нельзя использовать на всю мощность? Печка для яичницы? Да её вроде на костре/газу/электроплитке (нужное подчеркнуть) жарить можно... А если мы купим процессор который нам вроде подходит по производительности, совместимости, тепловым параметрам и цене, но не предназначен для решаемого нами основного класса задач? Опять те же грабли.

Например процессоры AMD Duron/Athlon K7/K75, Intel Pentium/Xeon всех марок, VIA C1 - C7, Transmeta Crusoe это именно универсальные процессоры общего назначения, они имеют АЛУ разрядность 32/64 бита, в научных задачах они не применимы, что бы нам не говорили маркетологи - проведённый нами анализ сразу покажет нам, что именно произойдёт при выходе результатов операции за пределы разрядной сетки. Иное дело процессоры AMD Athlon XP/MP/AMD 64/Opteron во первых они используют АЛУ разрядностью 36/72 бита, а во вторых, при возникновении ситуации с потерей точности 1) их поведение чётко регламентировано; 2) результат будет правильно интерпретирован в зависимости от того какими операндами мы пользовались и исполняемой операции: при переполнении эти процессоры сохраняют в своих регистрах два результата: полный, в диапазоне внутреннего представления АЛУ и округлённый в соответствии с обработанной командой, и естественно выставляют все нужные в такой ситуации флаги.

Другое дело, что ОС и прикладные программы часто их игнорируют, но это проблема программная, а не аппаратная, и она может быть решена при необходимости средствами языков программирования.

Вот теперь мы можем для себя дать ответ и на самый интересный для нас вопрос: что такое архитектура Intel Core/Core 2 с точки зрения вычислительной структуры?

Анализ "открытой" архитектуры Intel нам ничего не даст! Мы не знаем самого главного: разрядность применяемых ALU - это строжайшая "производственная тайна" - ни на на сайте производителя, как и в его технической документации этих данных нам не дадут, но за очень приличные деньги (не знаю как насчёт новейших, но по старым моделям инженерное описание с подробностями микроархитектуры моделей до Intel Pentium включительно нам продали по "смехотворной" цене - от $86000 за книжку из десятка страниц общих характеристик, правда внутренняя разрядность АЛУ там была указана как условная(?) экстраполированная величина, а на "старшие" модели от Pentium MMX и новее в предоставлении данных подробностей на вообще отказали, но устно сказали, что ключевые вычислительные узлы архитектурно не изменились). Приходится либо верить Intel "на слово", или производить свой анализ. Иного выбора у нас нет - реальная документация - это материалы закрытые как для публики, так и для специалистов. А раз так, то встаёт вопрос - "А что там скрывать?". Оказывается многое! Например архитектура блока плавающей точки (FPU) - она не менялась со времени появления i486/i487 (1989 год), и появление SIMD блока для операций с плавающей точкой (SSE) как раз и вызвано слабостью данного блока, хоть их и включили два параллельно (реально в FPU четыре конвейера) - при отключении блока SSE "чистая" производительность FPU значительно падает по сравнению с заявленной, а это означает, что все вычисления с плавающей точкой осуществляются как раз в блоке SSE, правда этот факт и не особо скрывают - слишком легко проверить производительность связки и отдельно FPU. Но нам известно и то, что блок SSE имеет ограничение по точности обработки, а следовательно, если использовать такой ЦП для точных расчётов, то это ограничение обязательно проявится. Поэтому, я и берусь утверждать "столь категорично" - "ЦП Intel - годятся только для офиса, развлечений да игрушек. Для серьёзной работы они не рассчитаны!". И в довершение пара слов об отличиях Intel Xeon от других ЦП Intel - по большому счёту все их отличия кроются в наличии дополнительных средств контроля работоспособности, температуры, ошибок и загрузки ЦП, а так же наличии более ёмких кэшей, что для одиночных ЦП позволяет получить +5% - +10% производительности, а в многопроцессорных системах слегка сгладить влияние недостаточной пропускной способности используемой во всех решениях Intel архитектуры "Общая шина". Данная проблема была выявлена ещё во времена первых Intel Xeon, и не решена до настоящего времени, т.к. для применяемой архитектуры "общая шина" решения данной проблемы простого не существует - можно поднимать тактовую частоту шины до частоты ядра ЦП и выше, но проблему её разделения между несколькими абонентами на одном канале связи, возрастающей по мере увеличения увеличения их числа, теоретически решить простыми методами нельзя. Повышение частоты шины приводит к её чувствительности к помехам и наводкам, а так же к длине самих проводов и их радиочастотным параметрам, а все резервы роста частот сегодня практически полностью выбраны, и остаётся только один вход - смена архитектурной модели на модель "Точка-Точка" как используемая AMD. Вот к этому Intel и движется, медленно, но верно - у неё нет иного выбора...

А вот процессоры-конкуренты строились по иной архитектуре, главное для других задач. Первые Athlon K7/K75 это обычные универсальные ЦП с не плохим блоком FPU, но его АЛУ имело разрядность 36 бит сразу, поскольку именно в АЛУ осуществлялись все операции адресной арифметики, а исключительно удачная структура блока FPU была скопирована с процессора DEC Alpha AXP 2164A в разработке которого AMD принимала непосредственное участие. Эта архитектура просуществовала до того момента когда К. Баррет от имени Intel заявил, что они купили права на процессорную архитектуру DEC Alpha AXP и объявляют её ".... Технической ошибкой, недоразумением, вчерашним и даже позавчерашним днём техники...", но Intel смогла купить только права на архитектуру EV6/EV7, её они "схоронили" - у них "разрабатывался" на целиком её вычислительной основе (в своё время Intel производила чипы EV6) Itanium, а вот более старшие решения до EV8/EV9 ей купить не удалось - они разошлись по иным владельцам. У AMD в тот момент была действующая лицензия как на шину Alpha EV6, та и что не менее важно на саму архитектуру EV7/EV8, а у Intel было "на руках" судебное решение о том, что она имеет право использовать без лицензионных отчислений и процедуры патентной защиты любые разработки AMD действительное кажется до 2010 года, и что самое главное по данному решению AMD обязана сама отдавать Intel все свои новейшие разработки! Это результат скандала вокруг процессоров 486DX когда Intel через суд добилась права получать всю научно-техническую, технологическую и патентную документацию AMD в качестве компенсации заявленной суммы "морального ущерба" оцененного всего в 800 миллиардов долларов. От разорения AMD тогда спасло вмешательство DEC, IBM и Пентагона, который от имени Правительства США обратился в антимонопольное ведомство США с жалобой против Intel и её руководству велели поумерить свои аппетиты в плане полного уничтожения конкурента. Но, если с IBM и Пентагоном Intel не справится то DEC она отомстила сполна используя серию судебных исков я якобы от имени частных лиц, нас (я тогда работал в DEC) обвинили в нарушении ограничений установленных в 50-х годах КОКОМ (контора по контролю за экспортом из США, жутко бредовая структура) и сожрали, а разработанную DEC Alpha AXP "схоронила" Intel... Дальше насколько мне это известно Intel не только использовала все наработки AMD не вкладывая в это ничего, но и активно, ползуяс судебным вердиктом патентовал любые потенциально перспективные разработки AMD на себя. Как сейчас это происходит, я не знаю, на пару лет назад ситуация ещё не менялась.
Автор: Kardinalli
Дата сообщения: 16.11.2007 19:32
Victor_VG

Цитата:
Давайте сделаем иначе - составим некоторую таблицу соответствий "задача - возможное решение". По мере её уточнения мы будем иметь более менее реальную картину того, что выбрать и когда. Мои знания к вашим услугам. Кто за?

Думаю что все будут только и исключительно ЗА, учитывая что в кои то веки почитаешь профессионалов в этой области. Поскольку то, что народ в основном руководствуется рекламой и ничего не говорящими цифрами - чиста правда. С интересом жду Ваших суждений и читаю дальше...
Автор: Vicktor 1456
Дата сообщения: 25.11.2007 19:47
А как обстоит дело с новыми процами? И от интела, и от АМД?
Автор: Victor_VG
Дата сообщения: 25.11.2007 20:55
Vicktor 1456

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

Страницы: 12

Предыдущая тема: Toshiba Sattellite SA40-522, как разобрать?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.