X10 — язык программирования, разработанный корпорацией IBM в исследовательском центре имени Томаса Уотсона как часть проекта PERCS, спонсируемого в рамках программы Высокопродуктивные компьютерные системы (High Productivity Computing Systems или сокр. HPCS) Агентства по перспективным оборонным научно-исследовательским разработкам США. Первыми авторами стали Кемаль Эбсиоглу, Вияй Сарасват и Вивек Саркар.[2]
X10 был разработан с учетом требований параллельного программирования. По сути, это «расширенное подмножество» языка программирования Java, сильно схожее с ним во многих аспектах, но обладающее особой дополнительной поддержкой массивов и процессов. X10 использует модель разделяемого глобального адресного пространства.
Он также поддерживает парадигмы как объектно-ориентированного, так и не-объектно-ориентированного программирования.
X10 использует концепцию отношения «родитель-ребенок» в целях предотвращения возникновения ситуации, когда два или более процессов ждут друг друга прежде чем выполнить свою часть задачи. Задача может породить одну или более подзадач («дочерних задач»), которые в свою очередь также могут иметь собственные подзадачи. Подзадачи не могут ожидать от «родителей» завершения их работы, но «родители» могут ждать «детей» при использовании команды «finish».[3]
См. также
Ссылки
Дополнительные источники