Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

Swift [1] - это неявно параллельный язык программирования, который позволяет писать сценарии, которые распределяют выполнение программы по распределенным вычислительным ресурсам [2], включая кластеры , облака , гриды и суперкомпьютеры . Реализации Swift - это программное обеспечение с открытым исходным кодом под лицензией Apache License версии 2.0.

Особенности языка [ править ]

Сценарий Swift [3] описывает строго типизированные данные, компоненты приложения, вызовы компонентов приложения и взаимосвязи в потоке данных между этими вызовами. Операторы программы будут автоматически выполняться параллельно, если между ними нет зависимости данных при наличии достаточных вычислительных ресурсов. Дизайн языка гарантирует, что результаты вычислений будут детерминированными, даже если порядок, в котором выполняются операторы, может варьироваться. В Swift встроен специальный тип файловых данных. Он позволяет интегрировать программы командной строки в программу как типизированные функции. Это позволяет программистам писать программы, которые обрабатывают программы и файлы командной строки так же, как обычные функции и переменные. Концепция отображения [4] используется для хранения и обмена сложными структурами данных с использованием структуры файловой системы с файлами и каталогами.

Быстрая отправка параллельных задач широкому кругу ресурсов реализуется с помощью механизма, называемого диспетчеризацией задач Coasters . [5] Message Passing Interface реализации на основе языка [6] поддерживает скорость выполнения очень высокая задачи (например, 3000 заданий в секунду) [7] на больших кластерах и суперкомпьютерах.

Область применения [ править ]

Примеры применения: [7] [8]

  • Энергетическое моделирование
  • Климатическое моделирование
  • Экономическое моделирование
  • Биохимическое моделирование белков
  • Магнитно-резонансная томография (МРТ) в неврологии
  • Моделирование стеклянной конструкции

См. Также [ править ]

Ссылки [ править ]

  1. ^ "Быстрая домашняя страница" . swift-lang.org . Проверено 2 июня 2014 .
  2. ^ Уайльд, Майкл; Хатеган, Михаил; Возняк, Джастин М .; Клиффорд, Бен; Кац, Дэниел С .; Фостер, Ян (2011). «Swift: язык для распределенного параллельного написания сценариев» (PDF) . Параллельные вычисления . 37 (9): 633–652. CiteSeerX 10.1.1.658.8990 . DOI : 10.1016 / j.parco.2011.05.005 . Архивировано из оригинального (PDF) 06.06.2014.  
  3. ^ Справочное руководство, глава 2
  4. ^ Справочное руководство, глава 3
  5. ^ Хатеган, Михаил; Возняк, Джастин; Махешвари, Кетан (2011). «Подстаканники: единообразное предоставление ресурсов и доступ для научных вычислений в облаках и сетях» (PDF) . Утилита Proceedings и облачные вычисления .
  6. ^ Возняк, Джастин М., Тимоти Г. Армстронг, Майкл Уайлд, Дэниел С. Кац, Юинг Ласк и Ян Т. Фостер. «Swift / T: Составление крупномасштабных приложений с помощью обработки потоков данных с распределенной памятью». В Cluster, Cloud and Grid Computing (CCGrid), 13-й международный симпозиум IEEE / ACM, 2013 г., стр. 95-102. IEEE, 2013 г.
  7. ^ a b Уайльд, Майкл; Фостер, Ян; Искра, Камиль; Бекман, Пит; Чжан, Чжао; Эспиноза, Аллан; Хатеган, Михаил; Клиффорд, Бен; Райку, Иоан (2009). «Параллельный сценарий для приложений на петаскейле и за его пределами» (PDF) . Компьютер . 42 (11): 50–60. DOI : 10.1109 / mc.2009.365 . Архивировано из оригинального (PDF) 12 июля 2014 года.
  8. ^ Кейсы на официальном сайте

Внешние ссылки [ править ]

  • Официальный сайт
  • Справочное руководство