Цена консоли не равна цене вычислительного узла
Для обычного покупателя PlayStation 3 была устройством для игр и мультимедиа. Для исследовательской лаборатории она могла стать недорогим вычислительным модулем: внутри находился процессор Cell — чип, рассчитанный на параллельную обработку множества операций. В задачах, которые можно разделить на независимые части, такие узлы способны работать одновременно.
Низкая цена возникала не из-за особой экономии учёных. Sony продавала массовый продукт дешевле его себестоимости, а покупатели тем самым помогали оплачивать разработку и выпуск сложной аппаратуры. Исследовательские группы использовали ту же субсидируемую цену, но для другой цели — собирали из консолей вычислительные кластеры.
Экономия требовала собственной инженерии
Кластеры соединяли консоли сетью и распределяли между ними вычисления. Но готового суперкомпьютера из коробки не получалось: специалистам нужно было настроить программное обеспечение, организовать обмен данными и приспособить задачу к архитектуре Cell. Этот процесс — параллельное программирование — требует заранее разбить работу на части, которые узлы могут выполнять независимо.
Именно здесь проходила граница выгоды. Если расчёт хорошо распараллеливался, дешёвые консоли могли дать лаборатории много вычислительной мощности за ограниченный бюджет. Если же программа постоянно ждала обмена данными между узлами, преимущество уменьшалось. Добавлялись расходы на сеть, электричество, охлаждение и обслуживание множества отдельных устройств.
Выигрыш — в подходящей задаче
Такой кластер был не универсальной заменой профессиональному суперкомпьютеру. Его смысл заключался в другом: получить вычислительный ресурс из доступного массового оборудования и вложить больше труда в программную настройку, а не в дорогие специализированные компоненты.
Получалась необычная экономика: производитель снижал цену ради рынка игровых приставок, а учёные превращали эту скидку в вычислительную инфраструктуру. Но выгода существовала только там, где задачу удавалось эффективно разделить между множеством консолей.






