Т-Система

Т-Система

Т-Система

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

OpenTS [1] (Open T-System, Т-система с открытой архитектурой) — это современная реализация Т-системы. Она обеспечивает автоматическое динамическое распараллеливание программ и предоставляет среду исполнения для языка программирования высокого уровня Т++, который является параллельным диалектом языка Си++.

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

OpenTS была успешно опробована как на достаточно широком круге задач, так и на вычислительных установках различного масштаба: от многопроцессорных PC до вычислительных комплексов с различной архитектурой и разной мощности (различные многопроцессорные Windows/Linux Intel/AMD-кластеры, терафлопная российская установка МВС-1000М, и др.). OpenTS поддерживает широкий спектр параллельных платформ: многоядерные процессоры, SMP-системы, кластеры, метакластеры и GRID-системы.

Содержание

История

Идея Т-Системы зародилась в конце 1980-х годов в Институте Программных Систем РАН [2]. Основной идеей стало введение понятия Т-функциий как поставщиков так называемых неготовых значений, что позволяло выполнять одновременно несколько Т-функций на разных процессорах и за счёт этого достигать параллелизма.

В 1998 году проект обрёл второе рождение с активным участием МГУ. В 2000 г. в рамках российско-белорусского проекта "СКИФ" была начата работа над новой реализацией Т-Системы под кодовым названием GRACE. Однако уже после первого года разработки обнаружились существенные недостатки данной реализации. Плохая структура системы, отсутствие чёткой идеологии и архитектуры приводили к многочисленным ошибкам, зависаниям, переполнениям стека. Но самое главное, что многочисленные попытки разрешать проблемы зачастую снижали скорость и эффективность работы уже написанных программ, а в некоторых случаях делали их неработоспособными.

В 2002 году было принято решение о написании новой реализации Т-Системы. Она получила название OpenTS, или Т-система с открытой архитектурой. В отличие от двух предыдущих реализаций, в OpenTS изначально закладывались определённая архитектура, основанная на опыте разработки предыдущих вариантов системы. OpenTS успешно прошла государственные испытания по проекту "СКИФ" на соответствие критериям программного обеспечения кластерного уровня.

В настоящее время в МГУ ведётся работа над двумя независимыми ветками OpenTS под условным названием NewTS.

Пример программы на языке T++

tfun int fib(int n) {
  return n < 2 ? n : fib(n-1) + fib(n-2);
}

tfun int main (int argc, char *argv[]) {
  if (argc != 2) { printf("Usage: fib <n>\n"); return 1; }
  int n = atoi(argv[1]);
  printf("fib(%d) = %d\n", n, (int)fib(n));
  return 0;
}

При всей неэффективности такой реализации вычисления n-го числа Фибоначчи, данная программа показывает не только простоту и наглядность Т-Системы, но и демонстрирует ускорение при выполнении на нескольких процессорах, причём программисту не надо знать об их количестве и заниматься распределением полезной нагрузки между ними.

Основные идеи Т-Системы

1. Функция, описанная с ключевым словом tfun (так называемая Т-функция), является основным объектом (гранулой) параллелизма. Запись вида:

tfun int f(int a,double b)

описывает Т-функцию с двумя аргументами и одним выходным значением.

2. Вызов Т-функции не вызывает блокирование программы до завершения работы Т-функции. Результатом вызова является неготовое значение (Т-значение).

3. Неготовое значение может быть присвоено Т-переменной. Операция присваивания Т-переменной неготового значения не вызывает блокирование программы. Т-переменная описывается с указанием ключевого слова tval (а не tvar, это результат следования традиции, соответствующий класс ядра OpenTS называется TVar). Запись

tval int x;

описывает Т-переменную типа int.

4. По окончании вычисления Т-функции соответствующее неготовое значение становится готовым и далее повторяет поведение обычного значения базового типа.

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

Ссылки



Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "Т-Система" в других словарях:

  • Система передачи — Совокупность технических средств, обеспечивающая образование линейного тракта, типовых групповых трактов и каналов первичной сети электросвязи, состоящая из станций системы передачи и среды распространения сигналов электросвязи (ГОСТ 22348 77)… …   Словарь-справочник терминов нормативно-технической документации

  • Система контроля — ЗАГРЯЗНЕНИЯ АТМОСФЕРЫ 12. Система контроля E. Inspection system F. Système du contrôle По ГОСТ 16504 81 Источник: ГОСТ 17.2.1.03 84: Охрана природы. Атмосфера. Термины и определения контроля загрязнения …   Словарь-справочник терминов нормативно-технической документации

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

  • система — Группа взаимодействующих объектов, выполняющих общую функциональную задачу. В ее основе лежит некоторый механизм связи. [ГОСТ Р МЭК 61850 5 2011] система Набор элементов, которые взаимодействуют в соответствии с проектом, в котором элементом… …   Справочник технического переводчика

  • СИСТЕМА — системы, ж. [греч. systema, букв. целое из составных частей]. 1. Порядок, обусловленный правильным, закономерным расположением частей в определенной связи. Привести в систему свои наблюдения. Строгая система в работе. Расположить книги на полках… …   Толковый словарь Ушакова

  • Система органов человека — Пример системы органов человека мочевыделительная система. Состоит из функционально и анатомически взаимосвязанных органов: 1 почки, 2 мочеточники, 3 мочевой пузырь, 4 уретра. Основная статья: Нормальная анатоми …   Википедия

  • Система небесных координат — используется в астрономии для описания положения светил на небе или точек на воображаемой небесной сфере. Координаты светил или точек задаются двумя угловыми величинами (или дугами), однозначно определяющими положение объектов на небесной сфере.… …   Википедия

  • Система — [system] множество элементов, находящихся в отношениях и связях друг с другом, которое образует определенную целостность, единство. Следует отметить, что это определение (взятое нами из Большой Советской Энциклопедии) не является ни единственным …   Экономико-математический словарь

  • система передачи извещений — система передачи извещений: Система, используемая для передачи информации о состоянии одной или нескольких СТС между охраняемыми зонами и одним или несколькими центрами приема извещений о тревоге. [ГОСТ Р 50775 95, пункт 4.29] Источник …   Словарь-справочник терминов нормативно-технической документации

  • система ручного управления — Система управления, вырабатывающая и (или) осуществляющая управляющие воздействия при участии человека оператора. Примечание Аналогично в зависимости от реализуемых в системах управления принципов управления определяются следующие термины:… …   Справочник технического переводчика

  • Система автоматического регулирования (АР) многосвязная — Система АР с несколькими регулируемыми величинами, связанными между собой через объект регулирования, регулятор или нагрузку. Пример: Объект паровой котел; входные величины подача воды, топлива, расход пара; выходные величины давление,… …   Словарь-справочник терминов нормативно-технической документации


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»