Разделы презентаций


Параллельные вычисления Учебный год – 2020/21, осенний семестр Группы P42 142

Write a single threaded program.Stop.Try automatic paralleling.Stop.Try parallel libraries and data structures.Stop.Profile the application, estimate the maximum achievable paralleling effect.Stop.Parallelize bottlenecks and frequently called functions.Цель параллельного программирования – избежать параллельного программирования!Типовой

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

Слайд 1Параллельные вычисления Учебный год – 2020/21, осенний семестр Группы P42142 Лекция 2
Преподаватели:
Балáкшин Павел

Валерьевич
(pvbalakshin@gmail.com),
Мишенёв Алексей
(mishenevalex@gmail.com)

Параллельные вычисления Учебный год – 2020/21, осенний семестр Группы P42142  Лекция 2Преподаватели:Балáкшин Павел Валерьевич(pvbalakshin@gmail.com),Мишенёв Алексей (mishenevalex@gmail.com)

Слайд 2Write a single threaded program.
Stop.
Try automatic paralleling.
Stop.
Try parallel libraries and

data structures.
Stop.
Profile the application, estimate the maximum achievable paralleling effect.
Stop.
Parallelize

bottlenecks and frequently called functions.

Цель параллельного программирования – избежать параллельного программирования!

Типовой сценарий работы программиста

Write a single threaded program.Stop.Try automatic paralleling.Stop.Try parallel libraries and data structures.Stop.Profile the application, estimate the maximum

Слайд 3Process – процесс: наиболее тяжеловесный механизм; сложные или медленные механизмы

синхронизации общих переменных; процессы имеют независимые адресные пространства. Могут иметь

несколько потоков выполнения.
Thread – поток = нить = тред: имеют общее разделяемое между ними адресное пространство и развитые механизмы синхронизации доступа к общим переменным. Используются механизмы синхронизации данных.
Fiber – волокно = легковесный поток: минимальные накладные расходы; отсутствие истинного физического распараллеливания; нужны для удобства программирования. Все волокна в отличее от потоков исполняются на одном и том же ядре.

Parallel programming terminology

Process – процесс: наиболее тяжеловесный механизм; сложные или медленные механизмы синхронизации общих переменных; процессы имеют независимые адресные

Слайд 4Жизненые цикл потока

Жизненые цикл потока

Слайд 5Parallel programming terminology (2)

Parallel programming terminology (2)

Слайд 6Not thread-safe, not reentrant

Not thread-safe, not reentrant

Слайд 7Thread-safe, not reentrant

Thread-safe, not reentrant

Слайд 8Not thread-safe, reentrant

Not thread-safe, reentrant

Слайд 9Thread-safe, reentrant

Thread-safe, reentrant

Слайд 10Hardware parallelism types
According to S. Akhter “Multi-Core Programming”

Hardware parallelism typesAccording to S. Akhter “Multi-Core Programming”

Слайд 11Hyperthreading
According to S. Akhter “Multi-Core Programming”

HyperthreadingAccording to S. Akhter “Multi-Core Programming”

Слайд 12On a single-processor (single-core) system you can use thread priorities

to arrange their access to the processor (on a multi-processor

system you cannot do it).
On a single-processor system you need to pack structures more tightly to optimize the memory cache, and on a multi-core system you need to cut them by the size of the cache string to prevent False Sharing.

Multithreading on single-processor systems vs. multiprocessor systems

On a single-processor (single-core) system you can use thread priorities to arrange their access to the processor

Слайд 13Measuring parallel efficiency.
Instability of floating point calculation results.
Race conditions.
Mutual interlocks.
The

ABA problem.
Inversion of priorities.
Load Balancing (LJF).
Scalability.
False sharing (+ hardware optimization).
Parallel

programming problems
Measuring parallel efficiency.Instability of floating point calculation results.Race conditions.Mutual interlocks.The ABA problem.Inversion of priorities.Load Balancing (LJF).Scalability.False sharing

Слайд 14Reasons:
1. Background load presence.
2. Random nature of the algorithm.
Problems measuring

parallel speedup
According to materials of Prof. A.V. Boukhanovsky

Reasons:1. Background load presence.2. Random nature of the algorithm.Problems measuring parallel speedupAccording to materials of Prof. A.V.

Слайд 15Universal tools:
Unix utility time (measures the total execution of a

program without possibility of any detail).
C-function clock (does not take

into account idle time).
C-function ctime (not reenterable, see not cross-platform alternative to ctime_r).
C-function gettimeofday, clock_gettime.
Specialized tools:
Library function omp_get_wtime (maybe the function omp_get_wtick will need to be used).

Measurement of parallel program execution time

Universal tools:Unix utility time (measures the total execution of a program without possibility of any detail).C-function clock

Слайд 16Solutions:
Use thread-safe reentrant functions (for example rand_r instead of rand).
Measure

the time several times and then:
1) take

minimum sampling/measurement OR
2) calculate the confidence interval.

Measurement of parallel program execution time (2)

Solutions:Use thread-safe reentrant functions (for example rand_r instead of rand).Measure the time several times and then:

Слайд 17Subunit and super linear speedups
According to materials of Prof. A.V.

Boukhanovsky
Possible reasons:
Overhead costs (i.e. 1000 division instructions).
Caching effects.
Paralleling algorithm error.

Subunit and super linear speedupsAccording to materials of Prof. A.V. BoukhanovskyPossible reasons:Overhead costs (i.e. 1000 division instructions).Caching

Слайд 18Changing the results of floating point calculations
1 thread: s = 14.357357
8

threads: s = 14.393189
Diff: 0.25%

Changing the results of floating point calculations1 thread:	s = 14.3573578 threads:	s = 14.393189Diff:		0.25%

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика