Для сложных математических вычислений важны ли дополнительные потоки или высокоскоростной доступ к диску?

8

В следующем семестре я собираюсь начать исследования в комбинаторике. Я использовал и влюбился в компьютеры Mac и Wolfram Mathematica 8, и я собираюсь получить их для использования в этом проекте и в колледже. Я буду физико-математическим двойным специальностью. Поскольку у меня ограниченный бюджет, мне было интересно, какой приоритет будет иметь для моих приложений: наличие четырехъядерного процессора вместо двухъядерного процессора или наличие SSD вместо жесткого диска?

Финголфин
источник
1
Я позволил себе сменить название вопроса, возможно, немного ближе к делу, и потенциально побудить любые коленные голоса закрыться, не задавая существенного вопроса. Я лично считаю, что это хороший вопрос для этого конкретного приложения.
Shinrai
3
Вообще-то, я бы сказал, во-первых, нужно как можно больше оперативной памяти.
Лиори
1
Я согласен с добавлением дополнительной оперативной памяти. я очень мало разбираюсь в комбинаторике, но они могут быть подходящими для вычислений на основе GPU. если он может быть массовым потоком, то он, вероятно, будет работать намного быстрее на графическом процессоре, использующем CUDA или его эквивалент (на много раз быстрее при взломе md5, чем верхняя часть диапазона ЦП).
Silverfire
Мне любопытно, почему так близко голосуют - что вы, ребята, считаете нежелательным в этом вопросе?
Shinrai

Ответы:

17

Для приложений, которые вы будете использовать, 4 ядра предпочтительнее SSD.

Mathematica специально поддерживает многоядерные процессоры и отлично масштабируется. Посмотреть здесь:

http://www.wolfram.com/technology/guide/MulticoreSupport/

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

bwall
источник
+1 - это один из очень немногих случаев, когда большее количество ядер / более высокие тактовые частоты дают большую выгоду, чем SSD. Это также далеко, FAR легче позже обновить хранения в большинстве компьютеров Mac , чем CPU.
afrazier
Мне обычно не нравятся подобные вопросы, но это довольно фактический вопрос; Скорость этих видов вычислений (если они не имеют тривиальной сложности) значительно улучшат дополнительные потоки обработки.
Shinrai
1
Я сталкивался с подобным решением несколько лет назад. Получите i486DX33 с жестким диском или i486DX50 только с дисководами гибких дисков. Для чисто математических вычислений (например, тех, которые мне интересны) DX50 выиграл, несмотря на значительно более медленный доступ к диску!
Брайан Кноблаух
Я собираюсь частично не согласиться с необходимостью огромных файлов, чтобы получить преимущество от быстрого диска. За последние пятнадцать лет я работал с серией ядерных и физических анализаторов частиц и Монте-Карлосом; и в то время как эти отсеянные умеренно большие кучи данных объединяли связанные с IO, они использовали много отдельных файлов ... таких как десять файлов конфигурации (включая механизм и / или несколько уровней аварийного переключения по умолчанию), и диск средней емкости база данных геометрии, три файла журнала, система контрольных точек в дополнение к большим входным и выходным файлам.
dmckee --- котенок экс-модератора
1
+1 - Но я бы также порекомендовал убедиться, что в системе достаточно оперативной памяти. Убедитесь, что у вас есть 8 ГБ, а не 4 в вашей системе (на самом деле этого недостаточно для Lion), и используйте более быстрые ЦП, если вы не собираетесь обрабатывать ГБ на ГБ данных. (Исследования бурения, моделирование ядерной бомбы и тому подобное) Если вам понадобится больше / быстрее хранилище, вы всегда можете использовать внешний блок, подключенный к Thunderbolt. Процессор менять нецелесообразно, если только вы не собираетесь на Mac Pro.
SplinterReality
3

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

Когда в прошлые годы мне приходилось работать с такими проблемами с Mathematica, моим девизом было: «Если ты побьешься, то умрешь».

RetiredEngineer
источник
2

Я предлагаю это как отдельный ответ, потому что никто еще не упомянул слона на диване:

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

Для всего, что не требует большого объема данных в ГБ или ТБ, процессоры будут более выгодными, и если вам нужны большие объемы данных в ГБ / ТБ, SSD также не будет сокращать его, и вам понадобится внешний блок.

Моя рекомендация: 8 ГБ оперативной памяти и самые быстрые процессоры, которые вы можете себе позволить. Если позже вам понадобятся очень быстрые диски для обработки ТБ данных, купите внешнюю коробку с интерфейсом Thunderbolt. (Самые большие твердотельные накопители в любом случае не будут так много держать)

SplinterReality
источник
1

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

Для загрузки 1 ГБ данных с диска в буфер (который может быть помещен в память) требуется около 10 секунд на жестком диске со скоростью 7200 об / мин; и это единовременная стоимость для большинства расчетов. Редко ваши сложные математические вычисления займут всего несколько секунд (и если они это сделают - узким местом является то, что вы интерпретируете результаты и задаете новые задачи для выполнения, а не скорость ввода-вывода). Нет ничего необычного в том, чтобы иметь вычислительное узкое место, когда данные загружаются в память, и для выполнения задачи потребуется одно ядро ​​2 дня; но 4 ядра могли бы сделать это за полдня. Теперь нехватка ОЗУ и необходимость чтения / записи ОЗУ на диск будет огромным замедлением (даже при использовании SSD-накопителя в качестве подкачки).

Как грубый гид; чтение произвольного доступа из ОЗУ занимает порядка 10 нс; с твердотельного накопителя в десять тысяч раз медленнее этого (100 микросекунд); и жесткий диск примерно в 100 раз медленнее этого (10 мс). Таким образом, вы действительно не хотите выполнять произвольное чтение с SSD или жесткого диска. Также для последовательных чтений с диска (например, вы читаете файл со всем набором данных в память) жесткие диски не будут работать так же плохо.

доктор джимбоб
источник
-1

Если вы смотрите на MacBook Pro, я бы предпочел размер экрана больше всего остального. Из того, что я вижу, это также эффективно определяет количество ядер в машине. Затем макс RAM (возможно, сторонний). Затем посмотрите на SSD. Я бы оставил разницу между 2,0 ГГц и 2,2 ГГц Core для 15 "модели до конца. Это относительно небольшая разница в производительности для разницы в цене.

Бретт Чемпион
источник
Я бы предположил, что для такой серьезной работы ОП смотрит на рабочий стол, а не на ноутбук. Вы получаете гораздо больше вычислительной мощности за свои деньги (да, даже от Apple McOverpriced ...)
Shinrai
@Shinrai Трудно сказать без дополнительной информации о том, что рассматривает OP, каков ценовой диапазон, есть ли у OP уже монитор и т. Д. IMac - довольно хорошие машины по цене, включая хорошие дисплеи и все такое есть четырехъядерные процессоры. Но этот компьютер также предназначен для использования в колледже, что, я думаю, делает ноутбуки привлекательными для того, чтобы брать его в библиотеку, встречаться с группами для работы над проектами и т. Д. Часто даже на ноутбуках вы можете использовать графический процессор, чтобы получить дополнительные (БЫСТРО ) ядра для конкретных типов расчетов (с дополнительным программированием) из Mathematica.
Бретт Чемпион