Эффективное использование спотовых узлов amazon ec2 /...
TRANSCRIPT
![Page 1: Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Moleculo Inc)](https://reader036.vdocuments.site/reader036/viewer/2022081506/5592837a1a28ab3e678b46ea/html5/thumbnails/1.jpg)
Эффективное использование спотовых узлов Amazon EC2 для параллельных научных вычислений
Дмитрий Пушкарев[email protected]
22 Апреля 2013
![Page 2: Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Moleculo Inc)](https://reader036.vdocuments.site/reader036/viewer/2022081506/5592837a1a28ab3e678b46ea/html5/thumbnails/2.jpg)
James Clark Center
![Page 3: Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Moleculo Inc)](https://reader036.vdocuments.site/reader036/viewer/2022081506/5592837a1a28ab3e678b46ea/html5/thumbnails/3.jpg)
![Page 4: Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Moleculo Inc)](https://reader036.vdocuments.site/reader036/viewer/2022081506/5592837a1a28ab3e678b46ea/html5/thumbnails/4.jpg)
Вычислительная инфраструктура• Продукт N1:
– 2000 CPU*часов вычислительного времени– 100 GB данных– 24 часа – время на выполнение– Непредсказуемая нагрузка
![Page 5: Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Moleculo Inc)](https://reader036.vdocuments.site/reader036/viewer/2022081506/5592837a1a28ab3e678b46ea/html5/thumbnails/5.jpg)
Вычислительная инфраструктура• 10 пользователей в день:
– 30TB/мес трафика– 1GBit uplink– 100TB fast NAS– 50 dual socket серверов– $400k in infrastructure cost
![Page 6: Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Moleculo Inc)](https://reader036.vdocuments.site/reader036/viewer/2022081506/5592837a1a28ab3e678b46ea/html5/thumbnails/6.jpg)
AWS (S3 / EC2)
![Page 7: Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Moleculo Inc)](https://reader036.vdocuments.site/reader036/viewer/2022081506/5592837a1a28ab3e678b46ea/html5/thumbnails/7.jpg)
Simple Storage Service (S3)
Хранилище объектов
99.999999999% durability and 99.99% availability
Низкоуровневый REST API – buckets/objects/ACL
$100/TB/месяц
Name Server
Name Server
Name Server
Load Balancer
REST API S3
S3
S3
![Page 8: Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Moleculo Inc)](https://reader036.vdocuments.site/reader036/viewer/2022081506/5592837a1a28ab3e678b46ea/html5/thumbnails/8.jpg)
Файловая система поверх S3 Сложности:
- High Latency, high variability- Нет native поддержки структуры каталогов- Нет механизмов регуляции совместного доступа- Нет поддержки API блоковых устройств- Eventual Consistency
- Существующие решения т.к. Fuse/s3cmd работают нестабильно и медленно- Писать native s3 приложения достаточно трудоемко из-за REST API
![Page 9: Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Moleculo Inc)](https://reader036.vdocuments.site/reader036/viewer/2022081506/5592837a1a28ab3e678b46ea/html5/thumbnails/9.jpg)
es3 (Extreme S3)Клиент для S3 с rsync-like интерфейсом.
Многопоточная загрузка файловОбработка медленных серверов S3Multipart upload APIGZIP сжатие на летуПроверка “eventual consistency” Интерфейс схожий с rsync
![Page 10: Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Moleculo Inc)](https://reader036.vdocuments.site/reader036/viewer/2022081506/5592837a1a28ab3e678b46ea/html5/thumbnails/10.jpg)
• #!/bin/bash –e –o pipefail• es3 rm s3://moleculo/output/• es3 test s3://moleculo/input/.success• es3 sync s3://moleculo/input/ ./• run_analysis_pipeline.sh• es3 sync ./ s3://moleculo/output• es3 touch s3://moleculo/output/.success
![Page 11: Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Moleculo Inc)](https://reader036.vdocuments.site/reader036/viewer/2022081506/5592837a1a28ab3e678b46ea/html5/thumbnails/11.jpg)
![Page 12: Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Moleculo Inc)](https://reader036.vdocuments.site/reader036/viewer/2022081506/5592837a1a28ab3e678b46ea/html5/thumbnails/12.jpg)
Архитектура системы
Workflow manager
ES3
WWW
S3Uploader ES3
m2.xlarge
OMjobs
OM controller
c1.xlargeCc1.4.xlarge
![Page 13: Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Moleculo Inc)](https://reader036.vdocuments.site/reader036/viewer/2022081506/5592837a1a28ab3e678b46ea/html5/thumbnails/13.jpg)
![Page 14: Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Moleculo Inc)](https://reader036.vdocuments.site/reader036/viewer/2022081506/5592837a1a28ab3e678b46ea/html5/thumbnails/14.jpg)
Спотовые цены. Правила игры:
Amazon выставляет среднюю цену
Вы делаете ставку на набор узлов по определенным ценам
средняя цена < ставки : заявка выполняется и вы платите среднюю цену
средняя цена > ставки: узлы останавливаются без предупреждения.
![Page 15: Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Moleculo Inc)](https://reader036.vdocuments.site/reader036/viewer/2022081506/5592837a1a28ab3e678b46ea/html5/thumbnails/15.jpg)
Сложности со спотовыми ценами и решение• Сложно предсказать цену• Нет гарантий доступности• Узлы убиваются без предупреждения – часть кластера может неожиданно
исчезнуть
• Решение:– Использование различных типов узлов и выбор комбинации узлов в зависимости от спотовых
цен.– Разбивка задач таким образом чтобы они не занимали более 20 минут– Использование более одного регион
![Page 16: Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Moleculo Inc)](https://reader036.vdocuments.site/reader036/viewer/2022081506/5592837a1a28ab3e678b46ea/html5/thumbnails/16.jpg)
Overmind
Оптимальный набор узлов
M M M
R
Планировщик задач
![Page 17: Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Moleculo Inc)](https://reader036.vdocuments.site/reader036/viewer/2022081506/5592837a1a28ab3e678b46ea/html5/thumbnails/17.jpg)
Через 1:50 узлы остановлены
12 cc2.8xlarge узлов запущено
40x human genome in 768 CPU*hours24 node*hours24*$0.253 = $6.07 billed
• MapReduce задача запущена• Создано 573 map задач• Выбран (us-east-1d, сс2.8,$0.253/hr)• Оценка времени исполнения• Запущено 12 узлов cc2.8xlarge
![Page 18: Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Moleculo Inc)](https://reader036.vdocuments.site/reader036/viewer/2022081506/5592837a1a28ab3e678b46ea/html5/thumbnails/18.jpg)
Service Level Agreement (SLA)Правила для планирования задач:
Пример:
Продукт 1, требует 2000 CPU часов и должен посчитаться менее чем за сутки.
Блок задач X – относится к R&D, должен быть посчитан как можно быстрее Вне зависимости от спотовых цен.
![Page 19: Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Moleculo Inc)](https://reader036.vdocuments.site/reader036/viewer/2022081506/5592837a1a28ab3e678b46ea/html5/thumbnails/19.jpg)
Заключение• Посмотрели на структуру AWS/EC2/S3
• Пример построения масштабируемой системы, использующей S3 в качестве файлового хранилища
• Рассмотрели механизм работы спотовых узлов, ограничения связанные с ними и способы их обхода.
• Пример построения планировщика задач, использующего комбинацию спотовых узлов которая меняется во времени для решения задач за минимально возможную цену в рамках SLA для продукта.
![Page 20: Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Moleculo Inc)](https://reader036.vdocuments.site/reader036/viewer/2022081506/5592837a1a28ab3e678b46ea/html5/thumbnails/20.jpg)
Спасибо!
MickeyDmitry
Tim
Jared
Alex
Maria
![Page 21: Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Moleculo Inc)](https://reader036.vdocuments.site/reader036/viewer/2022081506/5592837a1a28ab3e678b46ea/html5/thumbnails/21.jpg)
There is one more thing…
![Page 22: Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Moleculo Inc)](https://reader036.vdocuments.site/reader036/viewer/2022081506/5592837a1a28ab3e678b46ea/html5/thumbnails/22.jpg)
С чего начать• es3 (https://github.com/moleculo/extreme-s3)• MIT Starcluster / Amazon Elastic MapReduce• Chef/Puppet• Boto – S3/EC2/AWS python interface• http://aws.amazon.com/ec2/spot-and-science/
• Q? [email protected]