Я использую экземпляры EC2 p2.xlarge для обучения модели обработки изображений. Моих целевых классов для задачи прогнозирования довольно много (20), и для достижения максимальной точности я собираюсь обучить одну модель для каждой цели.
Итак, я сделал снимок своего основного тома и создал 4 дублирующих тома (SSD общего назначения), чтобы я мог одновременно запускать еще 4 экземпляра p2. Проблема в том, что, за исключением основного тома, у меня очень низкая производительность ввода-вывода. Например, одна эпоха обучения, которая занимает 200 секунд на основном экземпляре, «оценивается» как 10 000 секунд на повторяющемся экземпляре.
Что мне не хватает?
Снимки EBS хранятся в S3. Когда вы создаете том из моментального снимка, блоки сначала постепенно извлекаются из S3 в EBS в операции ПЕРВОГО чтения, и с этого момента все последующие чтения для этого конкретного блока выполняются в инфраструктуре EBS с низкой задержкой.
Чтобы обеспечить оптимальную производительность EBS после создания томов из моментальных снимков, вы должны «прогреть» свои тома, выполнив полное чтение всех блоков томов, чтобы гарантировать, что дальнейшая операция ввода-вывода не требует медленного запроса к S3.
Новые свежие тома EBS не страдают от этого поведения, потому что они «рождены» в EBS и не требуют извлечения данных из S3.