Совместное использование вычислений несколькими экземплярами EC2 в AWS
Я работаю над проблемой, когда вычислительная мощность должна быть распределена между несколькими экземплярами EC2.
Я рассматриваю программу умножения матриц, например, огромная матрица с тысячами строк и столбцов требует ГБ оперативной памяти и вычислительных мощностей.
У меня есть экземпляры Amazon EC2 (бесплатные), прибл. 800 МБ ОЗУ. Я с нетерпением жду работы по распределению вычислений по нескольким экземплярам EC2.
Я не уверен, но Elastic Load Balancer - это что-то с балансировкой нагрузки сетевого трафика, пожалуйста, исправьте, если я не прав.
Я нашел Python Dispy модуль, который используется для распределения вычислений и параллельной обработки.
Кто-нибудь может подсказать, пожалуйста, есть ли другой способ реализовать это?
1 ответ
Сначала вам нужно посмотреть, можно ли распараллелить ваши вычисления. Некоторые вещи обязательно зависят от предыдущей итерации, такой как метод 3 вычисления n-го числа Фибоначчи: https://www.geeksforgeeks.org/program-for-nth-fibonacci-number/
В этом случае нет смысла пытаться использовать дополнительные компьютеры.
Если вы можете распараллелить задачу, посмотрите, можете ли вы использовать Map Reduce - https://en.wikipedia.org/wiki/MapReduce
У AWS есть инструменты для работы - https://aws.amazon.com/emr/