Необходимо написать код к проекту преимущественно на clojure (возможно использование других языков программирования, если это необходимо)<br>Сроки до 23-26 декабря. <br>Описание проекта:<br>Облачные вычисления<br>Требования<br>Реализуйте механизм, позволяющий выполнять ряд операций на удаленных компьютерах,<br>предварительно зарегистрированных в рамках облака (кластера). С точки зрения прикладных<br>программ вызов кода на удаленном компьютере ничем не должен отличаться от локального.<br>Не должно также требоваться предварительного развертывания приложения на удаленном<br>компьютере, т.е. требуется обеспечить маршалинг и передачу не только данных, но и кода.<br>При оптимизации следует исходить из соображений, что удаленный вызов имеет смысл для<br>больших объемов вычислений и существенных объемов данных.<br>Основные элементы:<br>1. базовый механизм передачи и запуска (код, данные), а также балансировки загрузки;<br>2. функция/макрос, обеспечивающая декларацию удаленно исполняемой функции;<br>3. вариант map с параллельным и распределенным исполнением (учитывайте<br>многоядерность современных машин).<br>Дополнительные требования<br>Обеспечьте поддержку следующих элементов:<br>• оптимизация передачи данных по сети: диспетчер заданий будет стараться задачу<br>отдать тому узлу, на котором уже развернут соответствующий код и есть<br>соответствующие данные;<br>• сделайте механизм асинхронного запуска удаленных вычислений с поддержкой<br>мониторинга прогресса;<br>• обеспечьте поддержку транспорта Java-объектов;<br>• обеспечьте поддержку транспорта Clojure- и Java-кода в форме байт-кода.<br>