Swarm — это новый фреймворк для распределенных вычислений, базирующийся на особенности реализации continuations в Scala 2.8, которая позволяет части кода быть выполненной на другой машине в сети. Такая реализация позволит распределенно расчитывать любые задачи, а не только такие, например, которые могут быть разделены на этапы "map" и "reduce".
Автор Ian Clarke, известный по своим проектам Freenet и SenseArray.
Ссылки:
Новость
Видео (36 минут)
Адрес проекта
Пока это только прототип, автор приглашает всех желающих и обещает, что будет интересно
Кто что думает по этому поводу?
Здравствуйте, iiiyyy, Вы писали:
I>Swarm — это новый фреймворк для распределенных вычислений, базирующийся на особенности реализации continuations в Scala 2.8, которая позволяет части кода быть выполненной на другой машине в сети. Такая реализация позволит распределенно расчитывать любые задачи, а не только такие, например, которые могут быть разделены на этапы "map" и "reduce".
I>Кто что думает по этому поводу?
Рядом в форуме есть интервью с SPJ и JA. Там Саймон упоминает про систему распределенных вычислений которые делались на Хаскеле. Основная проблема была в том, что задачи гуляли от одного процессора к другому и ничем полезным в это время не занимались.
То, что можно любую часть вычисления кинуть на другую машину оно конечно здорово, но возникает вопрос. Какую именно часть и на какую машину кидать ?
Да так, чтобы получить выигрыш. А как на наше решение повлияет топология сети в которой производятся вычисления ? Может система полносвязная ? А может кольцо ? А может гиперкуб ? А может машины периодически умирают ? А может добавляются новые ? А кто и как будет учитывать загруженность других машин ? а загруженность самой сет ? Как все это учитывать в планировщике заданий ? Руками такие вещи делать можно для каких нибудь статичных частных случаев.
Но в общем