Якщо ваші завдання можуть бути паралельними (а для математики / фізики вони можуть бути), перейдіть з декількома ядрами і стільки оперативної пам’яті, скільки ви можете собі дозволити / знадобиться. Загалом ситуація складеться так, що вам потрібно багато дискового простору для зберігання старих даних (обробляються різними методами), і частини IO обчислення будуть незначними порівняно з частинами процесора. Можливо, я б подумав отримати хороший графічний процесор, який ви могли б запрограмувати для серйозних обчислювальних потреб; але це, мабуть, зайве для вашого питання.
Завантаження 1 Гб даних з диска в буфер (який може перейти в пам'ять) займає приблизно 10 секунд на жорсткому диску 7200 об / хв; і це разова вартість для більшості розрахунків. Рідко ваші складні математичні обчислення займуть лише кілька секунд (а якщо вони є - вузьким місцем, ви інтерпретуєте результати та даєте нові завдання для запуску - не швидкість IO). Зовсім не звичайно мати обчислювальне вузьке місце, де дані завантажуються в пам'ять, і для виконання завдання знадобиться одне ядро 2 дні; але 4 ядра могли це зробити за пів дня. Тепер недостатньо оперативної пам’яті та необхідність читання / запису оперативної пам’яті на диск призведе до величезного сповільнення (навіть використання SSD-накопичувача як swap).
Як грубе керівництво; випадковий доступ, зчитуваний з оперативної пам'яті, приймає порядку 10 нс; від SSD в десять тисяч разів повільніше (100 мікрос-с); а жорсткий диск приблизно в 100 разів повільніше (10 мс). Тож ви дійсно не хочете робити читання з випадкового доступу з SSD або жорсткого диска. Крім того, для послідовного читання з диска (наприклад, ви читаєте файл із усім набором даних у пам'яті) жорсткі диски не будуть працювати погано.