Новая технология программирования с применением процедур с повторным входом. Разработанa alfa-версия транслятора C++, реализующего технологию Продукт Традиционное.

Презентация:



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

Параллельное программирование с использованием технологии OpenMP Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ Томский политехнический университет.
Разработка параллельных приложений для многоядерных систем С.В. Ковальчук НИИ Наукоемких компьютерных технологий, СПбГУ ИТМО.
Программирование многоядерных архитектур (слайды для лекции 2013/04/20) Киреев С.Е., Маркова В.П., Остапкевич М.Б., Перепелкин В.А. МО ВВС ИВМиМГ СО РАН.
Многопоточное программирование в OpenMP Киреев Сергей ИВМиМГ.
Основы OpenMP Nikita Panov
Параллельное программирование с использованием технологии OpenMP Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ Лекция 3 Томский политехнический.
1 Тема 1.7. Алгоритмизация и программирование Информатика.
Intel® Cilk TM Plus Введение Лекция 2. Многопоточный параллелизм – от OpenMP к Intel® Cilk TM Plus Немнюгин Сергей Андреевич.
Этапы решения задач на компьютере 1. Постановка задачи. 2. Построение математической модели. 3. Составление алгоритма. 4. Запись алгоритма на языке программирования(кодирование)
МГУ им. М.В. Ломоносова, Москва, 21 октября 2011г. КОНСОРЦИУМ УНИВЕРСИТЕТОВ РОССИИ Курс: «Технология параллельного программирования OpenMP» Лабораторная.
Параллельное программирование с использованием технологии OpenMP Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ Лекция 2 Томский политехнический.
Интернет Университет Суперкомпьютерных технологий Система поддержки выполнения OpenMP- программ. Переменные окружения, управляющие выполнением OpenMP-
Классификация. Язык программирования – это фиксированная система обозначений и правил, предназначенная для описания алгоритмов и структур данных.
1 Реинжиниринг бизнес процессов Управления проектами при подготовке и реализации проекта реструктуризации предприятия.
Преобразования типов В языке C/C++ имеется несколько операций преобразования типов. Они используются в случае, если переменная одного типа должна рассматриваться.
Интернет Университет Суперкомпьютерных технологий Отладка эффективности OpenMP- программ. Учебный курс Параллельное программирование с OpenMP Бахтин В.А.,
Маркетинговый подход в менеджменте Маркетинг Маркетинг - метод регулирования взаимоотношений внешней среды организации с возможностями самой организации,
Архитектура ЭВМ (лекция 7) проф. Петрова И.Ю. Курс Информатики.
Презентация по проекту в рамках реализации Программы развития университета в 2012 году (название проекта) Инициатор проекта: Ф.И.О. Должность, факультет/институт,
Транксрипт:

Новая технология программирования с применением процедур с повторным входом. Разработанa alfa-версия транслятора C++, реализующего технологию Продукт Традиционное и параллельное программирование для систем с общей памятью (многопроцессорных и/или многоядерных компьютеров) Область применения Предлагается новая конструкция процедура с повторным входом. Используется несколько нестандартный стиль записи ряда обычных и стадийных алгоритмов, сводимых к порождению серии схожих подзадач с планированием последовательности их решения в соответствии со стратегиями постановки в очередь, стек или дек. Вводится разметка для маркировки потенциально параллельных фрагментов. Концепция

Технология упрощает и делает более логичной запись некоторых алгоритмов, обычно использующих хорошо известные типы данных «стек» и «очередь», в программном коде. Отдельные фрагменты программы сокращаются в 1,5-2 раза. Повышение эффективности программирования void _Out(TreeNode * Cur) { list Queue = list (); int LevelNodes = 1; int NextLevelNodes = 0; Queue.push_back(Cur); while (!Queue.empty()) { Cur = Queue.front(); Queue.pop_front(); cout Data()Left); NextLevelNodes++; } if (Cur->Right) { Queue.push_back(Cur->Right); NextLevelNodes++; } if (--LevelNodes==0) { cout

Алгоритмы записываются более компактно и естественно по сравнению с OpenMP 2.0. На поверхность «выносится» скрытый параллелизм алгоритмов. Порождается меньшее количество потоков исполнения при том же количестве конструкций, что и при использовании OpenMP 3.0 Упрощение конструкций параллельного программирования int NLOCK = 0; #pragma omp parallel num_threads(2) private(i) shared(NLOCK) switch (omp_get_thread_num()) { case 0: for (i=0; i

Ускорение расчета на четырех ядрах (2*Opteron 270, 2 ГГц) Фото кристалла многоядерного процессора: журнал « MOBI », 3/2009 Число ядер Повышение эффективности кодирования и распараллеливания ряда алгоритмов: Сокращение времени на их программирование. Минимизация количества и упрощение конструкций, необходимых для распараллеливания расчета, в сравнении с OpenMP. Уменьшение количества порождаемых параллельных потоков. Устранение некоторых потенциальных логических ошибок, связанных с избыточностью кода Эффект от внедрения

Фирмы, специализирующиеся на разработке программного обеспечения; Независимые разработчики программного обеспечения; Научные центры, ориентированные на работу с многопроцессорными системами; Учебные заведения. Основные сегменты рынка Продукт не имеет прямых аналогов. Косвенные аналоги, реализующие встроенные средства распараллеливания: T-технологии; OpenMP (компиляторы GNU, Microsoft) ; DVM, HPC, MC#. Конкуренция Самостоятельный продукт (препроцессор + отладчик); В составе уже существующих профессиональных компиляторов C++. Возможности реализации технологии

1. Маркетинговые риски. 2. Кадровые риски. Необходима высокая квалификация разработчиков. 3. Риск недостаточного спроса. Технология предполагает несколько нестандартный стиль программирования, что может встретить первоначальное недопонимание преимуществ подхода у программистов обычной квалификации. Риски Разработана и испытана alfa-версия транслятора. Предполагаются творческая проработка и совершенствование предложенных технологий (возможно привлечение партнера для завершения НИОКР). Необходимы инвестиции (300 тыс. руб) для разработки полноценных и качественных коммерческих версий транслятора и отладчика. Вывод системы на рынок Маркетинговые исследования Рекламные кампании Участие в выставках Бесплатные демонстрационные версии Состояние проекта и перспективы