4

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

Программа написана на VB6, выполняет много операций с данными / числами и использует только одно ядро. Однако есть пакетный файл, в котором я могу открыть столько экземпляров программы, сколько захочу, и затем пакетный файл собирает полученную информацию обратно, как если бы это был всего один прогон (кувалда, я знаю).

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

Я не хочу сервер, так что я должен искать (в компьютере) при разработке / определении системы для этого?

2 ответа2

2

«Программа написана на VB6, выполняет много операций с данными / числами и использует только одно ядро». Здесь есть несколько вещей, которые вы бы хотели принять во внимание. Во-первых, большинство современных расширений не принесут вам пользы, поэтому вы ищете однопоточную скорость.

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

Вероятно, я бы искал эталон, который показывает однопотоковую производительность по сравнению с затратами - у passmark он есть, и он должен помочь вам принять обоснованное решение. Я использовал поиск Google, чтобы найти его - я использовал термин «производительность одного потока ;. Отмечу, что все лучшие процессоры по цене кажутся Intel. Не забудьте протестировать приложение с включенной гиперпоточностью и без нее, поскольку многие приложения не справляются с этой задачей с помощью HT.

Другой подход, который я рассмотрю, - это набор более мелких и дешевых компьютеров, которые могут стоить дешевле, чем более дорогая система, поскольку эта задача кажется «тривиально параллельной». Возможно, вы даже захотите попробовать использовать Amazon EC2 для выгрузки и выполнения расчетов, а затем повторно объединить его на своем рабочем столе. В зависимости от времени выполнения каждого экземпляра программы вы можете даже сделать это с помощью бесплатного уровня.

Для более научного представления о том, что на самом деле является узким местом в вашей программе, взгляните на xperf. Я не знаком с этим, поэтому я не могу там сильно помочь, но там много полезной информации, и она должна помочь вам работать там, где вам нужно больше ресурсов.

0

Ты счастливчик. Поскольку вы можете воспользоваться преимуществами нескольких ядер, одного из самых популярных показателей производительности процессора, PassMark CPU Benchmark должен хорошо работать. Вы можете просто выбрать процессоры с самым высоким рейтингом процессора PassMark s.

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