🗊«Есть ли жизнь после MPI?» Абрамов С.М. д.ф.-м.н., чл.-корр. РАН, ИПС имени А.К.Айламазяна РАН

Категория: Технологии
Нажмите для полного просмотра!
«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №1«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №2«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №3«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №4«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №5«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №6«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №7«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №8«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №9«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №10«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №11«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №12«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №13«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №14«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №15«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №16«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №17«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №18«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №19«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №20«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №21«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №22«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №23«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №24«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №25«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №26«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №27«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №28«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №29«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №30«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №31«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №32«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №33«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №34«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №35«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №36«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №37«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №38«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №39«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №40«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №41«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №42«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №43«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №44«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №45«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №46«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №47«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №48«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №49«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №50«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №51«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №52«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №53«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №54«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №55«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №56«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №57«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №58«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №59«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №60«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №61«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №62«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №63«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №64«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №65«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №66«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №67«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №68«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №69«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №70«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №71«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №72«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №73«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №74«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №75«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №76«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №77«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №78«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №79«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №80«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №81«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №82«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №83«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №84«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №85«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №86«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №87«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №88«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №89«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №90«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №91«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №92«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №93«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №94«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №95«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №96«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №97

Содержание

Вы можете ознакомиться и скачать «Есть ли жизнь после MPI?» Абрамов С.М. д.ф.-м.н., чл.-корр. РАН, ИПС имени А.К.Айламазяна РАН. Презентация содержит 97 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





«Есть ли жизнь после MPI?»
Абрамов С.М.
д.ф.-м.н.,  чл.-корр. РАН, 
 ИПС имени А.К.Айламазяна РАН
Описание слайда:
«Есть ли жизнь после MPI?» Абрамов С.М. д.ф.-м.н., чл.-корр. РАН, ИПС имени А.К.Айламазяна РАН

Слайд 2





Есть ли жизнь после MPI?
Абрамов С.М.†, Климов А.В. ‡,
Лацис А.О. ‡, Московский А.А. †

†ИПС имени А.К.Айламазяна РАН
‡ИПМ имени М.В.Келдыша РАН
Доклад 2009.10.31, Нижний Новгород
Описание слайда:
Есть ли жизнь после MPI? Абрамов С.М.†, Климов А.В. ‡, Лацис А.О. ‡, Московский А.А. † †ИПС имени А.К.Айламазяна РАН ‡ИПМ имени М.В.Келдыша РАН Доклад 2009.10.31, Нижний Новгород

Слайд 3





Переславль-Залесский.
Институт программных систем
имени А.К.Айламазяна
Российской академии наук
Описание слайда:
Переславль-Залесский. Институт программных систем имени А.К.Айламазяна Российской академии наук

Слайд 4





Переславль-Залесский
Красивый старинный (860 лет)
город России на берегу Плещеева озера 
Центр Золотого кольца
Родина Св.Александра Невского, родина многих великих князей
Здесь Петр Великий создавал свою первую «потешную флотилию» — место рождения Российского флота
Древний центр Российской Православной Церкви
Описание слайда:
Переславль-Залесский Красивый старинный (860 лет) город России на берегу Плещеева озера Центр Золотого кольца Родина Св.Александра Невского, родина многих великих князей Здесь Петр Великий создавал свою первую «потешную флотилию» — место рождения Российского флота Древний центр Российской Православной Церкви

Слайд 5





ИПС имени А.К.Айламазяна РАН,
Переславль-Залесский
Описание слайда:
ИПС имени А.К.Айламазяна РАН, Переславль-Залесский

Слайд 6





Основание Института
Основан в 1984 году по постановлению ВПК для развития информатики и вычислительной техники в стране
Первый директор (1984–2003) — проф. А.К.Айламазян
В декабре 2008 Институту присвоено имя А.К.Айламазяна
Описание слайда:
Основание Института Основан в 1984 году по постановлению ВПК для развития информатики и вычислительной техники в стране Первый директор (1984–2003) — проф. А.К.Айламазян В декабре 2008 Институту присвоено имя А.К.Айламазяна

Слайд 7





2009: Организационная структура института
Исследовательский центр искусственного интеллекта
Исследовательский центр медицинской информатики
Исследовательский центр мультипроцессорных систем
Исследовательский центр системного анализа
Исследовательский центр процессов управления
Научно-образовательный центр  —  Международный детский компьютерный лагерь (МДКЦ) имени А.К.Айламазяна
Описание слайда:
2009: Организационная структура института Исследовательский центр искусственного интеллекта Исследовательский центр медицинской информатики Исследовательский центр мультипроцессорных систем Исследовательский центр системного анализа Исследовательский центр процессов управления Научно-образовательный центр — Международный детский компьютерный лагерь (МДКЦ) имени А.К.Айламазяна

Слайд 8





Университет города Переславля
имени А.К.Айламазяна
Описание слайда:
Университет города Переславля имени А.К.Айламазяна

Слайд 9





Программы «СКИФ» и «СКИФ-ГРИД»
Заказчики-координаторы
НАН Беларуси
Агентство «Роснаука»
Головные исполнители
Объединенный институт проблем 
информатики НАН Беларуси
Институт программных систем РАН
Исполнители
«СКИФ» 2000-2004 — 10+10 организаций Беларуси и России
«СКИФ-ГРИД» 2007-2010 — 10+20 организаций Беларуси и России
2003-2008: 5 суперЭВМ семейства «СКИФ» в рейтинге Top500
Описание слайда:
Программы «СКИФ» и «СКИФ-ГРИД» Заказчики-координаторы НАН Беларуси Агентство «Роснаука» Головные исполнители Объединенный институт проблем информатики НАН Беларуси Институт программных систем РАН Исполнители «СКИФ» 2000-2004 — 10+10 организаций Беларуси и России «СКИФ-ГРИД» 2007-2010 — 10+20 организаций Беларуси и России 2003-2008: 5 суперЭВМ семейства «СКИФ» в рейтинге Top500

Слайд 10





Семейство суперЭВМ «СКИФ»: Ряды 1, 2, 3 и 4
Описание слайда:
Семейство суперЭВМ «СКИФ»: Ряды 1, 2, 3 и 4

Слайд 11


«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №11
Описание слайда:

Слайд 12





Что затрудняет эффективное использование MPI в суперЭВМ ближайшего будущего?
Описание слайда:
Что затрудняет эффективное использование MPI в суперЭВМ ближайшего будущего?

Слайд 13





Проблемы MPI
Рост числа процессоров (и ядер) в суперЭВМ будет продолжаться
Сегодня 1 Pflops ≈ 20,000 CPU ≈ 80,000 ядер
Установки с 1,000,000 ядрами появятся очень скоро
Трудности эффективной реализации MPI для гигантского числа вычислительных узлов
да еще и многоядерных!
Трудности эффективного использования программистами MPI для случая гигантского числа вычислительных узлов
Есть разрыв между тем, что реализует аппаратура (SMP + односторонние обмены)  и тем, что имеется в MPI (двусторонние обмены, рандеву на канале)
Проблемы серьезны, возможно «вымирание» MPI
Описание слайда:
Проблемы MPI Рост числа процессоров (и ядер) в суперЭВМ будет продолжаться Сегодня 1 Pflops ≈ 20,000 CPU ≈ 80,000 ядер Установки с 1,000,000 ядрами появятся очень скоро Трудности эффективной реализации MPI для гигантского числа вычислительных узлов да еще и многоядерных! Трудности эффективного использования программистами MPI для случая гигантского числа вычислительных узлов Есть разрыв между тем, что реализует аппаратура (SMP + односторонние обмены) и тем, что имеется в MPI (двусторонние обмены, рандеву на канале) Проблемы серьезны, возможно «вымирание» MPI

Слайд 14





Т-система: автоматическое динамическое распараллеливание программ
Описание слайда:
Т-система: автоматическое динамическое распараллеливание программ

Слайд 15





Т-система (неформально)
Функциональная модель + императивное описание тела функции
Арность и коарность функций
Готовые и неготовые значения
Вызов Т-функции  — порождение процесса
Можно копировать неготовые значения, в том числе и  передавать их как результат
Любые иные операции с неготовым значением приводит к «засыпанию» процесса на данной Т-переменной
Побудка будет, когда Т-переменная примет готовое значение
Состояние вычисления: сеть из процессов (ребра —отношение «поставщик-потребитель»), процесс исполнения: автотрансформация данной сети
Описание слайда:
Т-система (неформально) Функциональная модель + императивное описание тела функции Арность и коарность функций Готовые и неготовые значения Вызов Т-функции — порождение процесса Можно копировать неготовые значения, в том числе и передавать их как результат Любые иные операции с неготовым значением приводит к «засыпанию» процесса на данной Т-переменной Побудка будет, когда Т-переменная примет готовое значение Состояние вычисления: сеть из процессов (ребра —отношение «поставщик-потребитель»), процесс исполнения: автотрансформация данной сети

Слайд 16


«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №16
Описание слайда:

Слайд 17


«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №17
Описание слайда:

Слайд 18


«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №18
Описание слайда:

Слайд 19


«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №19
Описание слайда:

Слайд 20


«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №20
Описание слайда:

Слайд 21


«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №21
Описание слайда:

Слайд 22


«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №22
Описание слайда:

Слайд 23


«Есть ли жизнь после MPI?»  Абрамов С.М.  д.ф.-м.н.,  чл.-корр. РАН,   ИПС имени А.К.Айламазяна РАН, слайд №23
Описание слайда:

Слайд 24





T-System History
Mid-80-ies
Basic ideas of T-System
1990-ies
First implementation of T-System
2001-2002, “SKIF” 
GRACE — Graph Reduction Applied to Cluster Environment 
2003-current, “SKIF” 
Cooperation with Microsoft
Open TS — Open T-system
Описание слайда:
T-System History Mid-80-ies Basic ideas of T-System 1990-ies First implementation of T-System 2001-2002, “SKIF” GRACE — Graph Reduction Applied to Cluster Environment 2003-current, “SKIF” Cooperation with Microsoft Open TS — Open T-system

Слайд 25






Open TS Overview
Описание слайда:
Open TS Overview

Слайд 26





Comparison: T-System and MPI
Описание слайда:
Comparison: T-System and MPI

Слайд 27





T-System in Comparison
Описание слайда:
T-System in Comparison

Слайд 28





Open TS: an Outline
High-performance computing 
“Automatic dynamic parallelization”
Combining functional and imperative approaches, high-level parallel programming
Т++ language: “Parallel dialect” of C++ — an approach popular in 90-ies
Описание слайда:
Open TS: an Outline High-performance computing “Automatic dynamic parallelization” Combining functional and imperative approaches, high-level parallel programming Т++ language: “Parallel dialect” of C++ — an approach popular in 90-ies

Слайд 29





Т-Approach
“Pure” functions (tfunctions) invocations produce grains of parallelism
T-Program is
Functional – on higher level
Imperative – on low level (optimization)
C-compatible execution model
Non-ready variables, Multiple assignment
“Seamless” C-extension (or Fortran-extension)
Описание слайда:
Т-Approach “Pure” functions (tfunctions) invocations produce grains of parallelism T-Program is Functional – on higher level Imperative – on low level (optimization) C-compatible execution model Non-ready variables, Multiple assignment “Seamless” C-extension (or Fortran-extension)

Слайд 30





Т++ Keywords
tfun	— Т-function
tval	— Т-variable
tptr	— Т-pointer
tout	— Output parameter (like &)
tdrop	— Make ready
twait	— Wait for readiness
tct	— Т-context
Описание слайда:
Т++ Keywords tfun — Т-function tval — Т-variable tptr — Т-pointer tout — Output parameter (like &) tdrop — Make ready twait — Wait for readiness tct — Т-context

Слайд 31





Short Introduction
(Sample Programs)
Описание слайда:
Short Introduction (Sample Programs)

Слайд 32





Sample Program (C++)
Описание слайда:
Sample Program (C++)

Слайд 33





Sample Program (T++)
Описание слайда:
Sample Program (T++)

Слайд 34





Sample Program (T++)
Описание слайда:
Sample Program (T++)

Слайд 35





Approximate calculation of Pi (C++)
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
double
isum(double begin, double finish, double d) {
    double dl = finish - begin;
    double mid = 
(begin + finish) / 2;
    
    if (fabs(dl) > d)
      return isum(begin, mid, d) + isum(mid, finish, d);
    return f(mid) * dl;
}
Описание слайда:
Approximate calculation of Pi (C++) #include <math.h> #include <stdio.h> #include <stdlib.h> double isum(double begin, double finish, double d) { double dl = finish - begin; double mid = (begin + finish) / 2; if (fabs(dl) > d) return isum(begin, mid, d) + isum(mid, finish, d); return f(mid) * dl; }

Слайд 36





Approximate calculation of Pi (T++)
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
tfun double
isum(double begin, double finish, double d) {
    double dl = finish - begin;
    double mid = 
(begin + finish) / 2;
    
    if (fabs(dl) > d)
      return isum(begin, mid, d) + isum(mid, finish, d);
    return (double)f(mid) * dl;
}
Описание слайда:
Approximate calculation of Pi (T++) #include <math.h> #include <stdio.h> #include <stdlib.h> tfun double isum(double begin, double finish, double d) { double dl = finish - begin; double mid = (begin + finish) / 2; if (fabs(dl) > d) return isum(begin, mid, d) + isum(mid, finish, d); return (double)f(mid) * dl; }

Слайд 37





Calculation of Pi (T++)
Описание слайда:
Calculation of Pi (T++)

Слайд 38





Map-Reduce
----- Original Message -----
From: Alexy Maykov
Sent: Monday, October 02, 2006 11:58 PM
Subject: MCCS projects
…
I work in Microsoft Live Labs … I have several questions below:

1.	How would you implement Map-Reduce
	in OpenTS?
…
Описание слайда:
Map-Reduce ----- Original Message ----- From: Alexy Maykov Sent: Monday, October 02, 2006 11:58 PM Subject: MCCS projects … I work in Microsoft Live Labs … I have several questions below: 1. How would you implement Map-Reduce in OpenTS? …

Слайд 39





Map-Reduce (C++)
#include <vector>
#include <algorithm>
#include <functional>
#include <iostream>
#include <ctime>
using namespace std;

int fib (int n)
{
    return (n < 2) ? n : fib(n-1) + fib(n-2);
}
int plus (int val1, int val2) 
{
    return val1 + val2;
}
int main (int argc, char *argv[ ])
{
    const int factor = 23;
    const int vector_size = 40;
    vector<int> a, b, c; 
    vector<int> fa, fb;
Описание слайда:
Map-Reduce (C++) #include <vector> #include <algorithm> #include <functional> #include <iostream> #include <ctime> using namespace std; int fib (int n) { return (n < 2) ? n : fib(n-1) + fib(n-2); } int plus (int val1, int val2) { return val1 + val2; } int main (int argc, char *argv[ ]) { const int factor = 23; const int vector_size = 40; vector<int> a, b, c; vector<int> fa, fb;

Слайд 40





Map-Reduce (C++)
#include <vector>
#include <algorithm>
#include <functional>
#include <iostream>
#include <ctime>
using namespace std;

int fib (int n)
{
    return (n < 2) ? n : fib(n-1) + fib(n-2);
}
int plus (int val1, int val2) 
{
    return val1 + val2;
}
int main (int argc, char *argv[ ])
{
    const int factor = 23;
    const int vector_size = 40;
    vector<int> a, b, c; 
    vector<int> fa, fb;
Описание слайда:
Map-Reduce (C++) #include <vector> #include <algorithm> #include <functional> #include <iostream> #include <ctime> using namespace std; int fib (int n) { return (n < 2) ? n : fib(n-1) + fib(n-2); } int plus (int val1, int val2) { return val1 + val2; } int main (int argc, char *argv[ ]) { const int factor = 23; const int vector_size = 40; vector<int> a, b, c; vector<int> fa, fb;

Слайд 41





Map-Reduce (C++)
#include <vector>
#include <algorithm>
#include <functional>
#include <iostream>
#include <ctime>
using namespace std;

int fib (int n)
{
    return (n < 2) ? n : fib(n-1) + fib(n-2);
}
int plus (int val1, int val2) 
{
    return val1 + val2;
}
int main (int argc, char *argv[ ])
{
    const int factor = 23;
    const int vector_size = 40;
    vector<int> a, b, c; 
    vector<int> fa, fb;
Описание слайда:
Map-Reduce (C++) #include <vector> #include <algorithm> #include <functional> #include <iostream> #include <ctime> using namespace std; int fib (int n) { return (n < 2) ? n : fib(n-1) + fib(n-2); } int plus (int val1, int val2) { return val1 + val2; } int main (int argc, char *argv[ ]) { const int factor = 23; const int vector_size = 40; vector<int> a, b, c; vector<int> fa, fb;

Слайд 42





Map-Reduce (C++)
#include <vector>
#include <algorithm>
#include <functional>
#include <iostream>
#include <ctime>
using namespace std;

int fib (int n)
{
    return (n < 2) ? n : fib(n-1) + fib(n-2);
}
int plus (int val1, int val2) 
{
    return val1 + val2;
}
int main (int argc, char *argv[ ])
{
    const int factor = 23;
    const int vector_size = 40;
    vector<int> a, b, c; 
    vector<int> fa, fb;
Описание слайда:
Map-Reduce (C++) #include <vector> #include <algorithm> #include <functional> #include <iostream> #include <ctime> using namespace std; int fib (int n) { return (n < 2) ? n : fib(n-1) + fib(n-2); } int plus (int val1, int val2) { return val1 + val2; } int main (int argc, char *argv[ ]) { const int factor = 23; const int vector_size = 40; vector<int> a, b, c; vector<int> fa, fb;

Слайд 43





Map-Reduce (C++)
#include <vector>
#include <algorithm>
#include <functional>
#include <iostream>
#include <ctime>
using namespace std;

int fib (int n)
{
    return (n < 2) ? n : fib(n-1) + fib(n-2);
}
int plus (int val1, int val2) 
{
    return val1 + val2;
}
int main (int argc, char *argv[ ])
{
    const int factor = 23;
    const int vector_size = 40;
    vector<int> a, b, c; 
    vector<int> fa, fb;
Описание слайда:
Map-Reduce (C++) #include <vector> #include <algorithm> #include <functional> #include <iostream> #include <ctime> using namespace std; int fib (int n) { return (n < 2) ? n : fib(n-1) + fib(n-2); } int plus (int val1, int val2) { return val1 + val2; } int main (int argc, char *argv[ ]) { const int factor = 23; const int vector_size = 40; vector<int> a, b, c; vector<int> fa, fb;

Слайд 44





Map-Reduce (T++)
#include <vector>
#include <algorithm>
#include <functional>
#include <iostream>
#include <ctime>
using namespace std;

tfun int fib (int n)
{
    return (n < 2) ? n : fib(n-1) + fib(n-2);
}
tfun int plus (int val1, int val2) 
{
    return val1 + val2;
}
tfun int main (int argc, char *argv[ ])
{
    const int factor = 23;
    const int vector_size = 40;
    vector<int> a, b, c; 
    vector<tval int> fa, fb;
Описание слайда:
Map-Reduce (T++) #include <vector> #include <algorithm> #include <functional> #include <iostream> #include <ctime> using namespace std; tfun int fib (int n) { return (n < 2) ? n : fib(n-1) + fib(n-2); } tfun int plus (int val1, int val2) { return val1 + val2; } tfun int main (int argc, char *argv[ ]) { const int factor = 23; const int vector_size = 40; vector<int> a, b, c; vector<tval int> fa, fb;

Слайд 45





Map-Reduce (T++): “Laziness”
Описание слайда:
Map-Reduce (T++): “Laziness”

Слайд 46





Map-Reduce (T++)
Описание слайда:
Map-Reduce (T++)

Слайд 47





Inside OpenTS
Описание слайда:
Inside OpenTS

Слайд 48





Open TS: Environment
Описание слайда:
Open TS: Environment

Слайд 49





Supermemory
Utilization: non-ready values, resource and status information, etc.
Object-Oriented Distributed shared memory (OO DSM)
Global address space
DSM-cell versioning
On top - automatic garbage collection
Описание слайда:
Supermemory Utilization: non-ready values, resource and status information, etc. Object-Oriented Distributed shared memory (OO DSM) Global address space DSM-cell versioning On top - automatic garbage collection

Слайд 50





Multithreading  & Communications
Lightweight threads 
PIXELS (1 000 000 threads)
Asynchronous communications
A thread “A” asks non-ready value (or new job)
Asynchronous request sent: Active messages & Signals delivery over network to stimulate data transfer to the thread “A”
Context switches (including a quant for communications)
Latency Hiding for node-node exchange
Описание слайда:
Multithreading & Communications Lightweight threads PIXELS (1 000 000 threads) Asynchronous communications A thread “A” asks non-ready value (or new job) Asynchronous request sent: Active messages & Signals delivery over network to stimulate data transfer to the thread “A” Context switches (including a quant for communications) Latency Hiding for node-node exchange

Слайд 51





Open TS applications
(selected)
Описание слайда:
Open TS applications (selected)

Слайд 52





MultiGen
Chelyabinsk State University
Описание слайда:
MultiGen Chelyabinsk State University

Слайд 53





MultiGen: Speedup
Описание слайда:
MultiGen: Speedup

Слайд 54





Aeromechanics
Institute of Mechanics, MSU
Описание слайда:
Aeromechanics Institute of Mechanics, MSU

Слайд 55





Belocerkovski’s approach
Описание слайда:
Belocerkovski’s approach

Слайд 56





Creating space-born radar image from hologram
Описание слайда:
Creating space-born radar image from hologram

Слайд 57





Simulating broadband radar signal
Описание слайда:
Simulating broadband radar signal

Слайд 58





Landsat Image Classification 
Computational “web-service”
Описание слайда:
Landsat Image Classification Computational “web-service”

Слайд 59





Open TS vs. MPI case study
Описание слайда:
Open TS vs. MPI case study

Слайд 60





Applications
Popular and widely used 
Developed by independent teams (MPI experts)
PovRay – Persistence of Vision Ray-tracer, enabled for parallel run by a patch
ALCMD/MP_lite – molecular dynamics package  (Ames Lab)
Описание слайда:
Applications Popular and widely used Developed by independent teams (MPI experts) PovRay – Persistence of Vision Ray-tracer, enabled for parallel run by a patch ALCMD/MP_lite – molecular dynamics package (Ames Lab)

Слайд 61





T-PovRay vs. MPI PovRay: 
code complexity
Описание слайда:
T-PovRay vs. MPI PovRay: code complexity

Слайд 62





T-PovRay vs. MPI PovRay: 
performance
Описание слайда:
T-PovRay vs. MPI PovRay: performance

Слайд 63





T-PovRay vs MPI PovRay: 
performance
Описание слайда:
T-PovRay vs MPI PovRay: performance

Слайд 64





ALCMD/MPI vs ALCMD/OpenTS 
MP_Lite component of ALCMD rewritten in T++
Fortran code is left intact
Описание слайда:
ALCMD/MPI vs ALCMD/OpenTS MP_Lite component of ALCMD rewritten in T++ Fortran code is left intact

Слайд 65





ALCMD/MPI vs ALCMD/OpenTS : 
code complexity
Описание слайда:
ALCMD/MPI vs ALCMD/OpenTS : code complexity

Слайд 66





ALCMD/MPI vs ALCMD/OpenTS: 
performance
Описание слайда:
ALCMD/MPI vs ALCMD/OpenTS: performance

Слайд 67





ALCMD/MPI vs ALCMD/OpenTS: 
performance
Описание слайда:
ALCMD/MPI vs ALCMD/OpenTS: performance

Слайд 68





ALCMD/MPI vs ALCMD/OpenTS: 
performance
Описание слайда:
ALCMD/MPI vs ALCMD/OpenTS: performance

Слайд 69





ALCMD/MPI vs ALCMD/OpenTS: 
performance
Описание слайда:
ALCMD/MPI vs ALCMD/OpenTS: performance

Слайд 70





ALCMD/MPI vs ALCMD/OpenTS: 
performance
Описание слайда:
ALCMD/MPI vs ALCMD/OpenTS: performance

Слайд 71





Porting OpenTS
to MS Windows CCS
Описание слайда:
Porting OpenTS to MS Windows CCS

Слайд 72





2006: contract with Microsoft “Porting OpenTS to Windows Compute Cluster Server”
OpenTS@WinCCS
inherits all basic features of the original Linux version
is available under FreeBSD license
does not require any commercial compiler for T-program development — it’s only enough to install VisualC++ 2005 Express Edition (available for free on Microsoft website) and PSDK
Описание слайда:
2006: contract with Microsoft “Porting OpenTS to Windows Compute Cluster Server” OpenTS@WinCCS inherits all basic features of the original Linux version is available under FreeBSD license does not require any commercial compiler for T-program development — it’s only enough to install VisualC++ 2005 Express Edition (available for free on Microsoft website) and PSDK

Слайд 73





OpenTS@WinCCS
AMD64 and x86 platforms are currently supported
Integration into Microsoft Visual Studio 2005
Two ways for building T-applications: command line and Visual Studio IDE 
An installer of OpenTS for Windows XP/2003/WCCS
Installation of WCCS SDK (including MS-MPI), if necessary
OpenTS self-testing procedure
Описание слайда:
OpenTS@WinCCS AMD64 and x86 platforms are currently supported Integration into Microsoft Visual Studio 2005 Two ways for building T-applications: command line and Visual Studio IDE An installer of OpenTS for Windows XP/2003/WCCS Installation of WCCS SDK (including MS-MPI), if necessary OpenTS self-testing procedure

Слайд 74





Installer of OpenTS
for Windows XP/2003/WCCS
Описание слайда:
Installer of OpenTS for Windows XP/2003/WCCS

Слайд 75





OpenTS integration into Microsoft Visual Studio 2005
Описание слайда:
OpenTS integration into Microsoft Visual Studio 2005

Слайд 76





Open TS  “Gadgets”
Описание слайда:
Open TS “Gadgets”

Слайд 77





Web-services, Live documents
Описание слайда:
Web-services, Live documents

Слайд 78





Trace visualizer
Collect trace of T-program execution
Visualize performance metrics of OpenTS runtime
Описание слайда:
Trace visualizer Collect trace of T-program execution Visualize performance metrics of OpenTS runtime

Слайд 79





Fault-tolerance
Recalculation based fault-tolerance
(+)	Very simple (in comparison with full transactional model)
(+)	Efficient (only minimal set of damaged functions are recalculated)
(–)	Applicable only for functional programs
Fault-tolerant communications needed
(eg.: DMPI v1.0)
Implemented (experimental version on Linux )
Описание слайда:
Fault-tolerance Recalculation based fault-tolerance (+) Very simple (in comparison with full transactional model) (+) Efficient (only minimal set of damaged functions are recalculated) (–) Applicable only for functional programs Fault-tolerant communications needed (eg.: DMPI v1.0) Implemented (experimental version on Linux )

Слайд 80





Some other Gadgets
Other T-languages: T-Refal, T-Fortan
Memoization
Automatically choosing between call-style and fork-style of function invocation
Checkpointing
Heartbeat mechanism
Flavours of data references: “normal”, “glue” and “magnetic” — lazy, eager and ultra-eager (speculative) data transfer
Описание слайда:
Some other Gadgets Other T-languages: T-Refal, T-Fortan Memoization Automatically choosing between call-style and fork-style of function invocation Checkpointing Heartbeat mechanism Flavours of data references: “normal”, “glue” and “magnetic” — lazy, eager and ultra-eager (speculative) data transfer

Слайд 81





Full / Empty Bit (FEB) и
Т-Система
Описание слайда:
Full / Empty Bit (FEB) и Т-Система

Слайд 82





FEB
Модель вычисления:
«общая память»
легковесные нити
FEB — бит синхронизации на каждое слово
Тонкости: фьючеры
Аппаратная реализация:  Cray XMT, MTA, T3D (2001 и далее)
Программная реализация: Sandia National Laboratories: Qthreads — www.cs.sandia.gov/qthreads
Описание слайда:
FEB Модель вычисления: «общая память» легковесные нити FEB — бит синхронизации на каждое слово Тонкости: фьючеры Аппаратная реализация: Cray XMT, MTA, T3D (2001 и далее) Программная реализация: Sandia National Laboratories: Qthreads — www.cs.sandia.gov/qthreads

Слайд 83





Монотонные объекты, как безопасное расширение функциональной модели
Описание слайда:
Монотонные объекты, как безопасное расширение функциональной модели

Слайд 84





Идеи расширения
Монотонные объекты — обладают свойством Черча-Россера
Типичная жизнь монотонного объекта:
Создание и инициализация объекта
Поток обращений по обновлению («запись») и считыванию текущего состояния («чтение»)
Финализация и удаление объекта
Примеры монотонных объектов (класса сумматоры)
Примеры приложения с монотонным объектом
Способы масштабируемой реализации монотонных объектов
Описание слайда:
Идеи расширения Монотонные объекты — обладают свойством Черча-Россера Типичная жизнь монотонного объекта: Создание и инициализация объекта Поток обращений по обновлению («запись») и считыванию текущего состояния («чтение») Финализация и удаление объекта Примеры монотонных объектов (класса сумматоры) Примеры приложения с монотонным объектом Способы масштабируемой реализации монотонных объектов

Слайд 85





Библиотеки односторонних обменов — SHMEM, Gasnet, ARMCI
Описание слайда:
Библиотеки односторонних обменов — SHMEM, Gasnet, ARMCI

Слайд 86





Основные черты технологии SHMEM
«Чужие» данные не обрабатываются на месте, а копируются предварительно туда, где они нужны — как в MPI
Преобладающий режим копирования – запись, возможно, мелкозернистая
Синхронизация – барьерная
Важны
высокий message rate (например, для приложений со сложной организацией данных: неструктурных сеток и т.п.)
низкая подлинная латентность (для снижения размера зерна параллелизма, независимо от того, сложно или просто организованы данные)
Однородность доступа не важна
Message rate можно обеспечить программно, грамотной буферизацией
Низкую подлинную латентность может дать только аппаратура
Описание слайда:
Основные черты технологии SHMEM «Чужие» данные не обрабатываются на месте, а копируются предварительно туда, где они нужны — как в MPI Преобладающий режим копирования – запись, возможно, мелкозернистая Синхронизация – барьерная Важны высокий message rate (например, для приложений со сложной организацией данных: неструктурных сеток и т.п.) низкая подлинная латентность (для снижения размера зерна параллелизма, независимо от того, сложно или просто организованы данные) Однородность доступа не важна Message rate можно обеспечить программно, грамотной буферизацией Низкую подлинную латентность может дать только аппаратура

Слайд 87





Технология SHMEM
Рассчитана на полностью однородные многопроцессорные вычислители (общность системы команд, машинного представления чисел, одинаковая операционная система, один и тот же исполняемый файл)
Программа на С, использующая SHMEM, должна включать файл заголовков shmem.h.
shmem_init() — инициализация
my_pe() — собственный номер процесса;
num_pes() — число процессов
Описание слайда:
Технология SHMEM Рассчитана на полностью однородные многопроцессорные вычислители (общность системы команд, машинного представления чисел, одинаковая операционная система, один и тот же исполняемый файл) Программа на С, использующая SHMEM, должна включать файл заголовков shmem.h. shmem_init() — инициализация my_pe() — собственный номер процесса; num_pes() — число процессов

Слайд 88





SHMEM: Односторонние обмены
put  --- односторонняя запись в чужую память
get  --- одностороннее чтение из чужой памяти
Поддержаны передачи данных разных типов, одного значения, сплошного массива или массива, расположенного в памяти с шагом (например, столбец двумерного массива в С)
shmem_double_p( addr, value, pe )
shmem_float_put( addr, src, len, pe )
Можно обмениваться областями памяти статических (но не автоматических!) переменных.  И даже поддержан специальный malloc
Описание слайда:
SHMEM: Односторонние обмены put --- односторонняя запись в чужую память get --- одностороннее чтение из чужой памяти Поддержаны передачи данных разных типов, одного значения, сплошного массива или массива, расположенного в памяти с шагом (например, столбец двумерного массива в С) shmem_double_p( addr, value, pe ) shmem_float_put( addr, src, len, pe ) Можно обмениваться областями памяти статических (но не автоматических!) переменных. И даже поддержан специальный malloc

Слайд 89





SHMEM: Операции синхронизации
Возможность выполнить барьерную синхронизацию всех или лишь указанных процессов.
При выполнении  синхронизации гарантируется, что все выданные до барьера запросы типа put будут завершены.
shmem_barrier_all()
shmem_barrier( start, stride, size, sync )
step = 2stride
синхронизуются процессы с номерами
start, strat+step, … strat+step*(size-1)
sync — рабочий массив (расписать нулями!) типа long, длиной  _SHMEM_BARRIER_SYNC_SIZE
Описание слайда:
SHMEM: Операции синхронизации Возможность выполнить барьерную синхронизацию всех или лишь указанных процессов. При выполнении синхронизации гарантируется, что все выданные до барьера запросы типа put будут завершены. shmem_barrier_all() shmem_barrier( start, stride, size, sync ) step = 2stride синхронизуются процессы с номерами start, strat+step, … strat+step*(size-1) sync — рабочий массив (расписать нулями!) типа long, длиной _SHMEM_BARRIER_SYNC_SIZE

Слайд 90





Ожидание переменной
shmem_wait( &var, value ) — на «==»
ожидание &var == value

shmem_int_wait_until( &var, SHMEM_CMP_GT, value )
ожидание &var > value

shmem_fence() — гарантирует, что все выданные ранее из данного процесса запросы типа put будут завершены.
Описание слайда:
Ожидание переменной shmem_wait( &var, value ) — на «==» ожидание &var == value shmem_int_wait_until( &var, SHMEM_CMP_GT, value ) ожидание &var > value shmem_fence() — гарантирует, что все выданные ранее из данного процесса запросы типа put будут завершены.

Слайд 91





Модели PGAS (Partitioned Global Address Space),
DSM (Distributed Shared Memory),
языки Co-Array Fortran, UPC…
Описание слайда:
Модели PGAS (Partitioned Global Address Space), DSM (Distributed Shared Memory), языки Co-Array Fortran, UPC…

Слайд 92





Модель памяти
Разделяемая (shared) память
Любой процесс может использовать ее или указывать на нее
Приватная память
Только «локальный» процесс может использовать ее или указывать на нее
Описание слайда:
Модель памяти Разделяемая (shared) память Любой процесс может использовать ее или указывать на нее Приватная память Только «локальный» процесс может использовать ее или указывать на нее

Слайд 93





Что такое UPC	
Unified Parallel C
Расширение ANSI C примитивами задания явного параллелизма
Основан на «distributed shared memory»
Основные идеи
Сохранить философию С:
Программист умен и аккуратен
Близость к железу (насколько возможно) для лучшей эффективности (но можно получить и проблемы)
Простой и привычный синтаксис
Описание слайда:
Что такое UPC Unified Parallel C Расширение ANSI C примитивами задания явного параллелизма Основан на «distributed shared memory» Основные идеи Сохранить философию С: Программист умен и аккуратен Близость к железу (насколько возможно) для лучшей эффективности (но можно получить и проблемы) Простой и привычный синтаксис

Слайд 94





Модель исполнения
Несколько процессов (нитей 0..THREADS-1) работают независимо
MYTHREAD определяет номер процесса
THREADS — число процессов
Когда необходимо для синхронизации используются
Барьеры
Блокировки
Управление поведением памяти
Описание слайда:
Модель исполнения Несколько процессов (нитей 0..THREADS-1) работают независимо MYTHREAD определяет номер процесса THREADS — число процессов Когда необходимо для синхронизации используются Барьеры Блокировки Управление поведением памяти

Слайд 95





Пример 1
//vect_add.c
#include <upc_relaxed.h>
#define N 100*THREADS
shared int a[N], b[N], c[N];
void main(){
	int i;
	for(i=0; i<N; i++)
		if (MYTHREAD==i%THREADS)
			c[i]=a[i]+b[i];
}
Описание слайда:
Пример 1 //vect_add.c #include <upc_relaxed.h> #define N 100*THREADS shared int a[N], b[N], c[N]; void main(){ int i; for(i=0; i<N; i++) if (MYTHREAD==i%THREADS) c[i]=a[i]+b[i]; }

Слайд 96





Вместо заключения
Описание слайда:
Вместо заключения

Слайд 97





Спасибо за внимание!
Описание слайда:
Спасибо за внимание!



Похожие презентации
Mypresentation.ru
Загрузить презентацию