Swift (язык параллельных сценариев)
![]() | |
Парадигмы | Поток данных , распределенный , сетка , параллельный , научный рабочий процесс , сценарии |
---|---|
Разработчики | Чикагский университет , Аргоннская национальная лаборатория |
Впервые появился | 2007 г |
Стабильная версия | 0.96.2 / 5 августа 2015 г |
Дисциплина набора текста | Сильный |
Платформа | Кроссплатформенность : Java |
ТЫ | Кроссплатформенность : Java |
Лицензия | Апач 2.0 |
Веб-сайт | быстрый язык |
Под влиянием | |
Синтаксис C , функциональное программирование | |
Под влиянием | |
клинопись |
Быстрый [1] — это неявно параллельный язык программирования, который позволяет писать сценарии, распределяющие выполнение программы по распределенным вычислительным ресурсам, [2] включая кластеры , облака , сети и суперкомпьютеры . Реализации Swift представляют собой программное обеспечение с открытым исходным кодом под лицензией Apache версии 2.0.
Особенности языка
[ редактировать ]Скрипт Swift [3] описывает строго типизированные данные, компоненты приложения, вызовы компонентов приложения и взаимосвязи в потоке данных между этими вызовами. Операторы программы будут автоматически выполняться параллельно, если между ними нет зависимости данных, при наличии достаточных вычислительных ресурсов. Конструкция языка гарантирует, что результаты вычислений являются детерминированными, хотя порядок выполнения операторов может меняться. В Swift встроен специальный тип данных файла. Он позволяет интегрировать программы командной строки в программу как типизированные функции. Это позволяет программистам писать программы, которые обрабатывают программы и файлы командной строки так же, как обычные функции и переменные. Концепция картографии [4] используется для хранения и обмена сложными структурами данных с использованием структуры файловой системы с файлами и каталогами.
Быстрая диспетчеризация параллельных задач широкому кругу ресурсов реализована с помощью механизма, называемого диспетчеризацией задач Coasters . [5] интерфейса передачи сообщений Реализация языка на основе [6] поддерживает очень высокую скорость выполнения задач (например, 3000 задач в секунду) [7] на больших кластерах и суперкомпьютерах.
Область применения
[ редактировать ]- Энергетическое моделирование
- Моделирование климата
- Экономическое моделирование
- Биохимическое моделирование белков
- Анализ магнитно-резонансной томографии (МРТ) в нейробиологии
- Моделирование стеклянных конструкций
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Быстрая домашняя страница» . Swift-lang.org . Проверено 2 июня 2014 г.
- ^ Уайльд, Майкл; Хатеган, Михаэль; Возняк, Джастин М.; Клиффорд, Бен; Кац, Дэниел С.; Фостер, Ян (2011). «Swift: язык для распределенного параллельного написания сценариев» (PDF) . Параллельные вычисления . 37 (9): 633–652. CiteSeerX 10.1.1.658.8990 . doi : 10.1016/j.parco.2011.05.005 . Архивировано из оригинала (PDF) 6 июня 2014 г.
- ^ Справочное руководство, глава 2.
- ^ Справочное руководство, глава 3.
- ^ Хатеган, Михаэль; Возняк, Джастин; Махешвари, Кетан (2011). «Подставки: единообразное предоставление ресурсов и доступ для научных вычислений в облаках и сетях» (PDF) . Утилита Proceedings и облачные вычисления .
- ^ Возняк, Джастин М., Тимоти Г. Армстронг, Майкл Уайлд, Дэниел С. Кац, Юинг Ласк и Ян Т. Фостер. «Swift/T: крупномасштабная композиция приложений посредством обработки потоков данных в распределенной памяти». В кластерных, облачных и грид-вычислениях (CCGrid), 13-й международный симпозиум IEEE/ACM, 2013 г., стр. 95–102. ИИЭР, 2013 г.
- ^ Перейти обратно: а б Уайльд, Майкл; Фостер, Ян; Искра, Камиль; Бекман, Пит; Чжан, Чжао; Эспиноза, Аллан; Хатеган, Михаэль; Клиффорд, Бен; Райку, Иоан (2009). «Параллельное написание сценариев для приложений петамасштаба и выше» (PDF) . Компьютер . 42 (11): 50–60. дои : 10.1109/mc.2009.365 . S2CID 5271623 . Архивировано из оригинала (PDF) 12 июля 2014 г.
- ^ Тематические исследования на официальном сайте.