У меня есть однопоточное приложение с привязкой к процессору, которое в настоящее время работает на многоядерной машине с Windows (32-полосная 2,1 ГГц Pentium Pro/II/III). Он застрял на 100% одного из "ядер", что составляет около 3% процессорного времени. К сожалению, приложение не может быть легко изменено или сделано многопоточным. Мы сталкиваемся с проблемами производительности приложений, и совершенно очевидно, что процессор является узким местом.

У нас есть спецификация для другого оборудования, 2xQuad Core Xeon 3GHz. Но я не знаю, будет ли это лучшей спецификацией для приложения. Мой непосредственный инстинкт заключается в том, что тактовая частота выше, а ядер меньше (8, а не 32), поэтому в целом приложение будет работать лучше. Но я осознаю, что все не так просто, на 32-ходовой машине многие из этих "ядер" являются гиперпоточными, и я не знаю, применяются ли простые расчеты.

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

Я также уверен, что есть лучшее оборудование / опции, доступные там. Просто не те, к которым у нас есть доступ сейчас, к сожалению :-(

1 ответ1

1

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

Единственный способ повысить производительность одноядерных приложений - получить процессор с более быстрыми ядрами. Есть два способа повысить производительность ядра: лучший IPC и более высокая тактовая частота.

Более новые поколения CPU имеют лучший IPC. Более высокие тактовые процессоры имеют ... более высокую тактовую частоту. Единственное практическое правило заключается в том, чтобы получить процессор последнего поколения с самой высокой тактовой частотой.

На самом деле, вам будет лучше с системой 1xQuad Core i7 с процессором 4 ГГц, чем с 2x четырехъядерным процессором 3Gez Xeon. Xeons будет на несколько поколений старше, что означает более низкий IPC, и будет иметь тактовую частоту на 1 ГГц меньше.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .