Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: XXV Международной научно-практической конференции «Экспериментальные и теоретические исследования в современной науке» (Россия, г. Новосибирск, 15 октября 2018 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Зорина М.А., Соколов Н.Д. ОБЛАЧНЫЙ СЕРВИС ДЛЯ НАУЧНЫХ ВЫЧИСЛЕНИЙ // Экспериментальные и теоретические исследования в современной науке: сб. ст. по матер. XXV междунар. науч.-практ. конф. № 16(24). – Новосибирск: СибАК, 2018. – С. 10-13.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

ОБЛАЧНЫЙ СЕРВИС ДЛЯ НАУЧНЫХ ВЫЧИСЛЕНИЙ

Зорина Мария Александровна

преподаватель ОГАПОУ «Ульяновский авиационный колледж - Межрегиональный центр компетенций»,

РФ, г. Ульяновск

Соколов Никита Дмитриевич

студент ОГАПОУ «Ульяновский авиационный колледж - Межрегиональный центр компетенций»,

РФ, г. Ульяновск

В современном обществе все большую популярность набирают облачные сервисы. Облачный сервис понимается, как некоторый доступный ресурс в сети, который может быть использован без знания его внутренней структуры. А облачность представляет собой пользо­вательский интерфейс для использования какого-то ресурса. Самое распространенное мнение об образовании термина «облачный» происходит из мнения о том, что Интернет изображался в виде облака: скрытая от пользователя структура, находящаяся в сети, и является этим самым облаком. И как это часто бывает сначала появляется концепция, а уже потом применение облачности (это стало возможным с развитием соответствующих технологий), как было, например, с функциональными языками программирования, которые были описаны задолго до их популярности.

Популярность набирают облачные хостинги Amazon, cloud9, они предоставляют вычислительные ресурсы. Данные облачные хостинги позволяют выполнять код на V8 (JavaScript от Mozilla). Этот язык по многим параметрам совместим с браузерным JavaScript, это позволяет создавать переносимый код. Каждая программа в отдельности может быть исполнена как на мощном облачном вычислителе, так и на персональной рабочей станции. Программное обеспечение выполняется внутри браузера. Данное исполнение выступает безопасным для пользователя. В сети Интернет растет количество сервисов, пред­ставляющих различные услуги с вычислениями. Сама мысль того, что можно в любой момент зайти на соответствующую страницу в сети и выполнить интересующий код, не имея компилятора, является очень актуальной. Данные сервисы разнятся на те, которые рассчитаны на исключительно короткие программы, и те, которые предоставляют среду разработки с подсветкой синтаксиса, с группировкой по проектам, и так далее. Не все ресурсы являются разработанными, явной нехваткой выступают ресурсы с массивным параллелизмом.

Если использовать данную систему в научных и образовательных целях, то у научной, цель будет масштабируемость, а в случае с образовательной – доступность. Мнения о наилучшем учебном языке разнятся. Наиболее выигрышным будет язык программирования Sisal.

Универсальность описания параллелизма требуется для масшта­бируемости и это возможно достигнуть если язык программирования приближается к языку описания задач, а не к языку описания алгоритмов. Рассмотрим приоритетные стороны Sisal в соотнесении с другими параллельного программирования.

  1. Однократное присваивание.

Sisal использует однократное присваивание, как и другие функ­циональные языки программирования. Этот метод ведет к тому, что каждое значение не должно изменяться, присваиваться повторно, а может описываться в программе только один раз.

  1. Массивы и потоки.

Данное их использование не является обычным, так как с массивами становится понятнее описание матрицы, а также они не являются главным и последовательным элементом.

  1. Многословный синтаксис.

Данное свойство делает программы максимально читаемыми, а также упрощается долгосрочная поддержка этих программ. Исчезает надобность запутанно и коротко записывать функциональный язык.

  1. Обработка ошибок.

Популярный механизм try-catch, является не приемлемым, так как на определенном этапе возникают ошибки или происходит потеря детерминизма программы. В случае ошибки необходимо остановить все потоки, при наличии системы автоматического распараллеливания, и создать состояние до возникновения первой из ошибок вычисления. При этом необходимо учитывать, что первая обработанная ошибка может быть не первой по семантике языка. Это происходит потому, что поток с номером i может иметь набор итераций, в которой может быть самая первая ошибочная, в отличии от потока i-1 набор, где ошибочная в конце.

  1. Контроль времени исполнения.

Модель всюду завершаемых частичных вычислений реализует Язык Sisal. Это означает наличие специального «ошибочного» значения, в графе потока данных. Семантика языка может быть удобной для параллельных вычислений, а также сложного контроля со стороны системы времени исполнения (Run Time System) не требуется.

  1. Поддержка других языков программирования.

Интерпретатор на JavaScript реализуется без больших усилий при включение дополнительного языка. А также нет надобности в пошаговой отладке, так как эта система ориентирована на функциональные языки программирования. Упрощены требования к компилятору, ведь нет необходимости вычислять выражения без полного описания программы.

Что же интересного мы можем рассмотреть в структуре системы. Распределенные системы, являются часто выбираемыми из-за их надежности и способности при выходе из строя или недоступности какой-то из частей, это не будет означать недоступность системы. А также при перемещении пользователя не будет требоваться специ­альная настройка сетевых дисков или постоянный перенос файлов. Процесс хранения универсален, так как есть возможность отменить изменения, сделанные когда-то. Для преподавателя это возможность проследить процесс решения задачи в зависимости от времени. Система будет автоматически сохранять данные через заданные интервалы времени, это удобно и для студента.

Следует обратить внимание на несколько важных особенностей системы:

  • Иерархия

Особенностью облачных систем принято называть распределение ресурсов. Для учебных и для научных задач основным требованием является ограничение их доступности для посторонних пользователей. Так появилось в использовании иерархия пользователей. Где происходит контроль за нижестоящими членами.

  • Версионность

Версионность стала обыденностью, но в образовательных целях нужно дополнительно использовать темпоральную версионность, где главный акцент сделан на времени, в которое эта версия была реализована. Сохранение происходит скрытым образом, что дает преподавателю дополнительные возможности контроля.

  • Отладка

Отладка происходит при помощи значений, где есть возможность дополнительной отладки на графах в будущем. путём вычисления значений будет действовать интерпретатор. При помощи расширений системы происходят дополнительные отладки.

Примером использования данной системы, служит рисунок 1, где устройства, подключающиеся к облачному сервису обозначены цифрами от 1-3.

 

Рисунок 1. Структура системы

 

Внутри браузера на этих устройствах находится интерпретатор JavaScript, он используется на задачах меньшей размерности для реали­зации среды разработки и отладки программ. И даже если произойдет отключение от системы, то работоспособность интерпретатора сохранится.

Сервер обозначен цифрой 4, предоставляющий доступ к облаку. Доступ по фиксированному адресу, где возможно не выполнение каких-либо вычислительных задач.

Облачная структура представлена цифрой 5, она хранит поль­зовательские данные (программы, входная/выходная информация) и выполняет основные вычисления.

Данная система в применении может идеально прижиться в учебных заведениях. Кроме языка Sisal для образовательных целей также хорошо подойдут в использовании Haskell и OCaml.

 

Список литературы:

  1. McGraw J.R. et al. Sisal: Streams and iterations in a single assignment language, Language Reference Manual Version 1.2 // Lawrence Livermore Nat. Lab. Manual M-146 (Rev.1). — Livermore, CA, 1985.
  2. Касьянов В.Н. Функциональный язык SISAL 3.0 / В.Н. Касьянов, Ю.В. Бирюкова, В.А. Евстигнеев // Поддержка супервычислений и Интернет-ориентированные технологии. — Новосибирск, 2001. - С. 54-67.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий