2

Мне нужно сгенерировать образцы данных для моей диссертации, используя некоторый код на R/C++, который я написал. Это может быть смущающе параллельно, и я обобщил его для работы на локальных многоядерных машинах без особых проблем.

На моем Core2Duo генерация одного сэмпла занимает около 8 секунд, все они примерно одинаковы, и в идеале мне нужны миллионы или десятки миллионов, поэтому я подумал о том, чтобы добавить его на EC2 на несколько часов. Предполагая, что одно из их ядер сравнимо по производительности с моим C2D, 1-метровые выборки должны занять 2200 ядерных часов, в среднем или около 70 часов на 32-ядерном компьютере.

Я хочу выяснить, сколько времени это займет с достаточной уверенностью, поэтому я подумал, что я прыгну на бесплатный микроэкземпляр, проведу несколько тестов и предположу, что это сравнимо с более дорогими машинами. За исключением того, что задание, которое я отправил (цикл for, генерирующий 100 образцов 50 раз), должно занять <12 часов, но сейчас у меня 28 час. Это говорит о том, что либо ядра работают намного медленнее, чем я ожидал, либо мои работы имеют низкий приоритет, и я получаю неравномерную производительность.

Скажем, я заинтересован в аренде 1-3 32 основных машин на день или два. Как я могу оценить, сколько времени это может занять?

1 ответ1

3

Микроэкземпляры целенаправленно искалечены. Они предназначены только для периодической загрузки ЦП, и если вы попытаетесь загрузить ЦП непрерывно, гипервизор, установленный Amazon, сократит ваше ЦП до смехотворно небольшого количества. Вот почему это заняло необычно много времени на микро экземпляре.

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

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

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