Оптимизация производительности в приложении c, работающем на платформе c - PullRequest
0 голосов
/ 23 ноября 2011

Этот вопрос представляет собой смесь проблем, связанных с программным и аппаратным обеспечением.

У меня есть специальное приложение, написанное на языке c с использованием VS2010, для которого требуется некоторое высококлассное оборудование (приложение должно кусаться и жевать).около 50 гигов данных раз в минуту).Он работает под 64-битной Win 7. Прямо сейчас у меня Dell t7500 с двумя ксеноновыми чипами 5690 (каждое шестнадцатеричное ядро), так что есть 12 физических и 24 логических ядра.Установка имеет 48 гигабайт оперативной памяти, в которой она нуждается, потому что приложение имеет около 30-40 гигабайт данных, которые оно использует за один раз.

Приложение является многопоточным (это приятно видеть все 24 логическихМаксимальное количество ядер достигло 100%!), так что эта штука перешла от привязки к процессору к подключению к io.(До того, как я переписал приложение как многопоточное, до обратной загрузки данных потребовалось около 36 часов; сейчас это занимает около 1,5 часов, но мне все еще нужно уменьшить его до 15 минут).

Я могуизмените программное обеспечение, чтобы оно могло использовать преимущества конфигурации с несколькими приводами.

Я могу разделить работу между 24 ядрами.Мне нужно около 3 ТБ памяти.Будет ли лучший сценарий, хотя и нецелесообразным, иметь 48 отдельных твердотельных накопителей, чтобы каждый из 24 запущенных потоков имел свой собственный накопитель для чтения и записи?(Приложение не выполняет много операций чтения / записи небольших файлов; вместо этого оно выполняет чтение / запись в виде блоков по 1-2 ГБ.)

Если предположить, что получить столько дисков в одной системе невозможно, токакой предел для такого рода установки с точки зрения количества дисков?У меня 5 слотов на материнской плате t7500.И какой контроллер / конфиг будет самым быстрым здесь?SATA?SCSI?Рейд 0?
Или есть какие-то вещи, которые я могу сделать в программном обеспечении, которые сделают многие проблемы с оборудованием менее важными?Благодарю.

1 Ответ

0 голосов
/ 30 ноября 2011

Я обнаружил, что вы можете использовать много отсоединяемых USB-накопителей емкостью 3 ТБ.

...