Учебное пособие Казань 018 удк


Профилирование программы. Иерархия памяти



Download 2,08 Mb.
Pdf ko'rish
bet95/98
Sana16.12.2022
Hajmi2,08 Mb.
#888158
TuriУчебное пособие
1   ...   90   91   92   93   94   95   96   97   98
Bog'liq
ParVychGafGal

Профилирование программы. Иерархия памяти

Большинство 
вычислительных систем имеют следующую иерархию памяти: 
1.регистры 
2.кэш первого уровня 
3.кэш второго уровня 
4.локальная память 
5.удаленная память (например, память другого узла кластера или жесткий 
диск) 
При этом чем ниже по списку, тем большее время требуется на 
извлечение данных из соответствующей памяти. 
Следовательно, в целях оптимизации надо более эффективно 
использовать локальную память, кэш и минимизировать обращения к 
удаленной памяти. Для этого надо стараться размещать данные в памяти так, 
чтобы обращение к ним происходило с минимальным количеством 
переписываний или вообще без переписывания кэша. Т.е. доступ к элементам 
массива должен осуществляться в той последовательности, в которой они 
лежат в памяти. Так, при работе с многомерными массивами в С/С++ наиболее 
быстро будет происходить доступ к элементам по самому правому (по записи) 


143 
индексу, а в Фортране по самому левому. Иногда, для оптимизации работы с 
памятью следует поменять местами вложенные циклы. 
for(j=1; j
for(i=1; i
B[i][j] = (A[i][j-1] + A[i][j+1] + A[i-1][j] + A[i-1][j])/4.0; 
 
for(i=1; i
for(j=1; j
B[i][j] = (A[i][j-1] + A[i][j+1] + A[i-1][j] + A[i-1][j])/4.0; 
9. Применение Windows API в параллельных вычислениях 
В контексте исполнения процесса могут выполняться несколько потоков. 
В операционной системе Windows поток – это единица исполнения, которой 
ОС выделяет процессорное время для выполнения программы. 
Рассмотрим функций доступные в WIndows API для работы с потоками. 
Для того, чтобы создать поток используется функция 
CreateThread

HANDLE WINAPI CreateThread( 
LPSECURITY_ATTRIBUTES lpSecAttr, 
SIZE_T StackSize, 
LPTHREAD_START_ROUTINE lpStartFuncAddr, 
LPVOID p, 
DWORD dwCreatParam, 
LPDWORD thrId 
); 
где: 

lpSecAttr 
– указатель на SECURITY_ATTRIBUTES, этот параметр также 
можно указать равным NULL, тогда возвращаемый дескриптор не 
будет наследоваться 

StackSize
– начальный размер стека (указывается в байтах). Если в качестве 
параметра указать ноль, то система задаст размер стека по умолчанию 


144 

lpStartFuncAddr
– это указатель на функцию, которая будет исполняться 
потоком, таким образом здесь будет указан стартовый адрес потока; эта 
функция должна быть определена в программе следующим образом: 
DWORD WINAPI 
FunctionName
(LPVOID) 

p
– это указатель на переменную, которую нам необходимо передать в 
функцию 
FunctionName
(LPVOID 
p
), исполняемую потоком 

dwCreatParam
– параметры, которые управляют созданием потока. Можно 
указать: 0 (тогда поток начнет исполняться сразу после его создания), 
CREATE_SUSPENDED (поток начнет исполняться, когда будет выполнена 
функция 
ResumeThread
, о ней позже) 

thrId
– это указатель на переменную, в которую будет записан 
идентификатор потока 
ExitThread
– эта функция завершает поток, как видно из её определения 
ниже, она ничего не возвращает. Поток может завершиться при вызове этой 
функции 
или 
при 
возврате 
из 
функции DWORD 
WINAPI 
FunctionName
(LPVOID), которая исполнялась в потоке. 

Download 2,08 Mb.

Do'stlaringiz bilan baham:
1   ...   90   91   92   93   94   95   96   97   98




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish