X10 (язык программирования)
Парадигма | Объектно-ориентированный |
---|---|
Разработано | Кемаль Эбчиоглу, Сараванан Арумугам, Виджай Сарасват и Вивек Саркар |
Разработчик | ИБМ |
Впервые появился | 2004 г |
Стабильная версия | 2.6.2 / 8 января 2019 г |
Дисциплина набора текста | Статичный , сильный , безопасный , сдержанный |
ТЫ | IBM AIX , Linux , Mac OS X , Windows |
Лицензия | Публичная лицензия Eclipse 1.0 |
Расширения имен файлов | .x10 |
Веб-сайт | только х10 |
Под влиянием | |
С++ , Ява |
X10 — это язык программирования, разрабатываемый IBM в Исследовательском центре Томаса Дж. Уотсона в рамках проекта «Продуктивная, простая в использовании и надежная вычислительная система» ( PERCS ), финансируемого программой DARPA « Вычислительные системы с высокой производительностью» (HPCS).
История [ править ]
Его основными авторами являются Кемаль Эбчиоглу, Сараванан Арумугам (Асват), Виджай Сарасват и Вивек Саркар. [1]
X10 разработан специально для параллельных вычислений с использованием модели разделенного глобального адресного пространства (PGAS).Вычисление делится на набор мест , каждое из которых содержит некоторые данные и содержит одно или несколько действий , которые работают с этими данными. Он имеет систему ограниченных типов для объектно-ориентированного программирования, разновидность зависимых типов . Другие функции включают определяемые пользователем типы примитивных структур ; глобально распределенные массивы , а также структурированный и неструктурированный параллелизм. [2]
X10 использует концепцию родительских и дочерних отношений для действий, чтобы предотвратить тупиковую ситуацию с блокировкой, которая может возникнуть, когда два или более процессов ждут завершения друг друга, прежде чем они смогут завершиться. Действие может порождать одно или несколько дочерних действий, которые сами могут иметь дочерние элементы. Дети не могут дождаться завершения родителя, но родитель может дождаться дочернего элемента, используя команду завершения . [3]
См. также [ править ]
- Часовня
- Коаррей Фортран
- Параллелизм
- Крепость
- Неблокирующий алгоритм
- Модель параллельного программирования
- Унифицированный параллельный C
Ссылки [ править ]
- ^ Эбчиоглу, Кемаль; Сарасват, Виджай; Саркар, Вивек. «X10: Программирование для иерархического параллелизма и неоднородного доступа к данным». CiteSeerX 10.1.1.135.9826 .
- ^ Сарасват, Виджай; Блум, Бард; Пешанский Игорь; Тардье, Оливье; Гроув, Дэвид (4 января 2019 г.). «Спецификация языка X10, версия 2.6.2» (PDF) .
- ^ Бивер, К. «Компьютерная революция создает проблемы для программистов». Новый учёный . 193 (2594).