~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 27EECAC0E819AC6E9D1C3CC740CDD12C__1715763300 ✰
Заголовок документа оригинал.:
✰ Concurrent ML - Wikipedia ✰
Заголовок документа перевод.:
✰ Параллельное машинное обучение — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Concurrent_ML ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/27/2c/27eecac0e819ac6e9d1c3cc740cdd12c.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/27/2c/27eecac0e819ac6e9d1c3cc740cdd12c__translat.html ✰
Дата и время сохранения документа:
✰ 22.06.2024 17:06:52 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 15 May 2024, at 11:55 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Параллельное машинное обучение — Википедия Jump to content

Параллельное машинное обучение

Из Википедии, бесплатной энциклопедии
Параллельное машинное обучение
Парадигмы Мультипарадигмальность : функциональная , императивная , модульная , параллельная.
Семья ML : Стандартный ML
Впервые появился 1991 год ; 33 года назад ( 1991 ) [1]
Веб-сайт смл .cs .Чикаго .edu
Основные реализации
СМЛ/Нью-Джерси , [2] МЛтон , [3] Мантикора [4]
Под влиянием
ML , Стандартный ML

Concurrent ML (CML) — это многопарадигмальный , назначения , высокоуровневый функциональный общего язык программирования . Это диалект языка программирования ML , который является параллельным расширением стандартного языка ML , характеризующимся способностью создавать составные коммуникационные абстракции , которые являются первоклассными , а не встроенными в язык. Конструкция CML и его примитивные операции были приняты в нескольких других языках программирования, таких как GNU Guile , [5] Ракетка , [6] и Мантикора. [4]

Концепции [ править ]

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

Объединение протоколов, специфичных для приложения, и многосторонней связи может быть затруднено из-за необходимости внедрения опроса и проверки блокировки в уже существующем протоколе. Concurrent ML решает эту проблему, уменьшая связанность концепций программирования за счет введения синхронизируемых событий . [7] События — это первоклассная абстракция, которую можно использовать с операцией синхронизации (называемой sync в CML и Racket), чтобы потенциально заблокировать, а затем получить некоторую ценность, возникающую в результате связи (например, данные, передаваемые по каналу).

В CML события можно комбинировать или манипулировать ими с помощью ряда примитивных операций. Каждая примитивная операция создает новое событие, а не изменяет его на месте, что позволяет создавать составные события, которые представляют желаемый шаблон связи. Например, CML позволяет программисту объединять несколько подсобытий для создания составного события, которое затем может сделать недетерминированный выбор одного из подсобытий. Другой примитив создает новое событие, которое изменяет значение, полученное в результате синхронизации с исходным событием. Эти события воплощают шаблоны взаимодействия, которые на языке, отличном от CML, обычно обрабатываются с использованием цикла опроса или функции с обработчиками для каждого типа событий.

Привет, мир [ править ]

Вот «Привет, мир!» программа , которая печатает на системную консоль . Он порождает один поток с каналом для строк и другой поток, который печатает строку, полученную по каналу. Он использует стандарт ML Нью-Джерси (SML/NJ) и CML. (На платформах, отличных от Linux-x86, имя кучи будет отличаться; строку с «cml_test.x86-linux», возможно, придется изменить на что-то другое.)

cml_test.cm
 библиотеки 
    Структура   Hello 
 — это 
     $c  ml  /  base  .   см 
     $c  мл  /  смл  .   см 
     cml_test  .   смл 
cml_test.sml
структура   Hello   =   struct 
     open   CML 

     fun   hello   ()   =   let 
         val   c   :   string   chan   =   channel   () 
         in 
             spawn   (  fn   ()   =>   TextIO  .  print   (  recv   c  )); 
              send   (  c  ,   «Привет, мир!  \n  »  ); 
              выход   () 
         end 

     fun   main   (_,   argv  )   = 
         RunCML  .   doit   (  fn   ()   =>   игнорировать   (  spawn   hello  ),   NONE  ) 
 end 
бить
$  ml-build   cml_test.cm   Hello.main 
  Standard ML of New Jersey v110.60 [создан: понедельник, 27 ноября, 14:19:21 2006] 
 [сканирование cml_test.cm] 
 [библиотека $cml/basis.cm стабильна] 
 [библиотека $cml/cml.cm стабильна] 
 [ синтаксический анализ (cml_test.cm):cml_test.sml] 
 [создание каталога .cm/SKEL] 
 [библиотека $cml/cml-internal.cm стабильна] 
 [библиотека $cml/core-cml.cm стабильна] 
 [библиотека $SMLNJ- BASIS/basis.cm стабилен] 
 [компиляция (cml_test.cm):cml_test.sml] 
 [создание каталога .cm/GUID] 
 [создание каталога .cm/x86-unix] 
 [код: 2170, данные: 42, env: 2561 байт] 
 [сканирование 18518-export.cm] 
 [сканирование (18518-export.cm):cml_test.cm] 
 [анализ (18518-export.cm):18518-export.sml] 
 [компиляция (18518-export.cm): 18518-export.sml] 
 [код: 309, данные: 37, оболочка: 42 байта] 
 $  heap2exec   cml_test.x86-linux   cml_test 
  $  ./cml_test 
  Привет, мир! 

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

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

  1. ^ Реппи, Джон Х. (июнь 1991 г.). CML: параллельный язык высшего порядка . ПЛДИ.
  2. ^ «Что такое стандартный ML штата Нью-Джерси?» . Проверено 5 апреля 2021 г.
  3. ^ «Параллельная реализация MLI» . Проверено 5 апреля 2021 г.
  4. ^ Перейти обратно: а б Флейт, Мэтью; Бергстрем, Ларс; Форд, Ник; Рейни, Майк; Реппи, Джон; Шоу, Адам; Сяо, Инци (май 2009 г.). «Программирование на Мантикоре, гетерогенном параллельном функциональном языке» (PDF) . Проверено 11 июля 2018 г.
  5. ^ Уинго, Энди (29 июня 2017 г.). «Новое параллельное машинное обучение» . Проверено 11 июля 2018 г.
  6. ^ Флэтт, Мэтью; Финдлер, Роберт Брюс (2004). «Абстракции безопасной синхронизации». Материалы конференции ACM SIGPLAN 2004 по проектированию и реализации языков программирования . Том. 39. стр. 47–58. дои : 10.1145/996841.996849 . ISBN  1581138075 . S2CID   5547460 .
  7. ^ Реппи, Джон Х. (1993). «Параллельное машинное обучение: дизайн, применение и семантика». Функциональное программирование, параллелизм, моделирование и автоматическое рассуждение . Конспекты лекций по информатике. Том. 693. стр. 165–198. CiteSeerX   10.1.1.50.7965 . дои : 10.1007/3-540-56883-2_10 . ISBN  978-3-540-56883-4 .
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 27EECAC0E819AC6E9D1C3CC740CDD12C__1715763300
URL1:https://en.wikipedia.org/wiki/Concurrent_ML
Заголовок, (Title) документа по адресу, URL1:
Concurrent ML - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)