Спец часть (часть 3) (3 поток) (2015) (by Кибитова) (1161603), страница 40
Текст из файла (страница 40)
Длительность периода синхронизацииестьвеличина,обратнаяк кчастотесинхронизации.естьвеличина,обратнаячастотесинхронизации.Такимобразом,времяЦПдлянекоторойпрограммы может быть выражено двумяесть величина, обратная к частоте синхронизации.Такимобразом,времяЦПдлянекоторойпрограммыможетбытьвыраженодвумяТакимобразом,времяЦПдлянекоторойпрограммыможетбытьвыраженодвумя наспособами:количествомсинхронизациидля даннойпрограммы,умноженнымТакимобразом,время ЦП тактовдля некоторойпрограммыможетбытьвыраженодвумяспособами:количествомтактовсинхронизациидляданнойпрограммы,умноженнымна наспособами:количествомтактовсинхронизациисинхронизациидляданнойданнойпрограммы,умноженнымдлительностьтакта синхронизации,либо количествомтактовпрограммы,синхронизациидля даннойспособами:количествомтактовдляумноженнымнадлительностьтактасинхронизации,либоколичествомтактовсинхронизациидлядляданнойдлительностьтактасинхронизации,либоколичествомтактовсинхронизацииданнойпрограммы,деленнымначастотусинхронизации.длительность такта синхронизации, либо количеством тактов синхронизации для даннойпрограммы,программы,деленнымделеннымнаначастотучастотусинхронизации.синхронизации.программы,деленнымначастотусинхронизации.
Важнойхарактеристикой,характеристикой,часточастопубликуемойпубликуемойввотчетахотчетахпопопроцессорам,процессорам,являетсяявляетсясреднеесреднееВажнойколичествоколичествотактовтактовсинхронизациисинхронизациинанаоднуоднукомандукоманду- -CPICPI(clockcyclesperinstruction).(clockcyclesperinstruction).ПриПриизвестномизвестномколичествеколичествевыполняемыхвыполняемыхкомандкомандввпрограммепрограммеэтотэтотпараметрпараметрпозволяетпозволяетбыстробыстрооценитьоценитьвремявремяЦПЦПдлядляданнойданнойпрограммы.программы.ТакимТакимобразом,образом,производительностьпроизводительностьЦПЦПзависитзависитототтрехтрехпараметров:параметров:тактатакта(или(иличастоты)частоты)синхронизации,синхронизации,среднегосреднегоколичестваколичестватактовнакомандуиколичествавыполняемыхкоманд.Невозможноизменитьнитактов на команду и количества выполняемых команд.
Невозможно изменить ниодинодинизизуказанныхуказанныхпараметровпараметровизолированноизолированноототдругого,другого,посколькупосколькубазовыебазовыетехнологии,технологии,используемыедляизменениякаждогоизэтихпараметров,взаимосвязаны:используемые для изменения каждого из этих параметров, взаимосвязаны:частотачастотасинхронизациисинхронизацииопределяетсяопределяетсятехнологиейтехнологиейаппаратныхаппаратныхсредствсредствиифункциональнойфункциональнойорганизациейорганизациейпроцессора;процессора;среднеесреднееколичествоколичествотактовтактовнанакомандукомандузависитзависитототфункциональнойфункциональнойорганизацииорганизацииииархитектурыархитектурысистемысистемыкоманд;команд;ааколичествоколичествовыполняемыхвыполняемыхввпрограммекомандопределяетсяархитектуройсистемыкомандитехнологиейпрограмме команд определяется архитектурой системы команд и технологиейкомпиляторов.компиляторов.КогдаКогдасравниваютсясравниваютсядведвемашины,машины,необходимонеобходиморассматриватьрассматриватьвсевсетритрикомпоненты,чтобыпонятьотносительнуюпроизводительность.Впроцессепоискакомпоненты, чтобы понять относительную производительность.
В процессе поискастандартнойстандартнойединицыединицыизмеренияизмеренияпроизводительностипроизводительностикомпьютеровбылокомпьютеровбылопринятопринятонесколькопопулярныхединицизмерения,вследствиечегонесколькобезвредныхнесколько популярных единиц измерения, вследствие чего несколько безвредныхтерминовтерминовбылибылиискусственноискусственновырванывырваныизизихиххорошохорошоопределенногоопределенногоконтекстаконтекстаиииспользованытам,длячегоониникогданепредназначались.Вдействительностииспользованы там, для чего они никогда не предназначались. В действительностиединственнойединственнойподходящейподходящейиинадежнойнадежнойединицейединицейизмеренияизмеренияпроизводительностипроизводительностиявляетсявремявыполненияреальныхпрограмм,ивсепредлагаемыеявляется время выполнения реальных программ, и все предлагаемыезаменызаменыэтогоэтоговременивремениввкачествекачествеединицыединицыизмеренияизмеренияилиилизаменызаменыреальныхреальныхпрограммпрограммв вкачествекачествеобъектовобъектовизмеренияизмерениянанасинтетическиесинтетическиепрограммыпрограммытолькотольковводятвводятввзаблуждение.заблуждение.
ТестыТестыдлядляоценкиоценкипроизводительностипроизводительностисистем:систем:ЛиверморскийЛиверморскийнаборнаборцикловциклов: :2424циклацикларазнойразнойстепенистепенивекторизуемостивекторизуемостиВВЛиверморскихЛиверморскихциклахциклахвстречаютсявстречаютсяпоследовательные,последовательные,сеточные,сеточные,конвейерные,конвейерные,волновыевычислительныеалгоритмы,чтоподтверждаетихпригодностьволновые вычислительные алгоритмы, что подтверждает их пригодностьиидлядляпараллельныхпараллельныхмашин.машин.НаборНабортестовтестовLINPACK.LINPACK.ВВосновеосновеалгоритмовалгоритмовдействующегодействующеговариантавариантаLINPACKLINPACKлежитлежитметодметоддекомпозиции.декомпозиции.Исходнаяматрицаразмером100х100элементов(впоследнемвариантеИсходная матрица размером 100х100 элементов (в последнем вариантеразмеромразмером1000х1000)1000х1000)сначаласначалапредставляетсяпредставляетсявввидевидепроизведенияпроизведениядвухдвухматрицматрицстандартнойстандартнойструктуры,структуры,наднадкоторымикоторымизатемзатемвыполняетсявыполняетсясобственнособственноалгоритмалгоритмнахождениянахождениярешения.решения.ТестыТестыSPECSPECНаборНабортестовтестовCINT92,CINT92,измеряющийизмеряющийпроизводительностьпроизводительностьпроцессорапроцессораприприобработкеобработкецелыхцелыхчисел,состоитизшестипрограмм,написанныхнаязыкеСиивыбранныхизразличныхчисел, состоит из шести программ, написанных на языке Си и выбранных из различныхприкладныхприкладныхобластей:областей:теориятеорияцепей,цепей,интерпретаторинтерпретаторязыкаязыкаЛисп,Лисп,разработкаразработкалогическихлогическихсхем,упаковкатекстовыхфайлов,электронныетаблицыикомпиляцияпрограмм.схем, упаковка текстовых файлов, электронные таблицы и компиляция программ.НаборНабортестовтестовCFP92,CFP92,измеряющийизмеряющийпроизводительностьпроизводительностьпроцессорапроцессораприприобработкеобработкечиселчиселс сплавающейточкой,состоитиз14программ,такжевыбранныхизразличныхприкладныхплавающей точкой, состоит из 14 программ, также выбранных из различных прикладныхобластей:областей:разработкаразработкааналоговыханалоговыхсхем,схем,моделированиемоделированиеметодомметодомМонте-Карло,Монте-Карло,квантоваяквантоваяхимия,оптика,робототехника,квантоваяфизика,астрофизика,прогнозхимия, оптика, робототехника, квантовая физика, астрофизика, прогнозпогодыпогодыиидругиенаучныедругиенаучныеииинженерныеинженерныезадачи.задачи.ДвеДвепрограммыпрограммыизизэтогоэтогонаборанаборанаписанынаписанынанаязыкеязыкеСи,аостальные12наФортране.Впятипрограммахиспользуетсяодинарная,Си, а остальные 12 - на Фортране.
В пяти программах используется одинарная,а ав востальныхостальных-двойная-двойнаяточность.точность. 22. Закон Амдала, его следствия. Граф алгоритма. Критический путь графаалгоритма, ярусно-параллельная форма графаалгоритм, ярусно-параллельная форма графа алгоритма. Этапы решенияалгоритма. Этапы решения задач на параллельных вычислительныхзадач на параллельных вычислительных системах.
системах.22. Закон Амдала, его следствия. Граф алгоритма. Критический путь графаПредположим, что в вашей программе доля операций, которые нужно выполнятьпоследовательно, равна f, где 0<=f<=1 (при этом доля понимается не по статическом числустрок кода, а по числу операций в процессе выполнения). Крайние случаи в значениях fсоответствуют полностью параллельным (f=0) и полностью последовательным (f=1)программам. Так вот, для того, чтобы оценить, какое ускорение Sможет быть получено на компьютере из 'p' процессоров при данном значении f, можновоспользоваться законом Амдала:ма. Критический путь графа алгоритм,1ма.
Этапы решениязадач на22. ЗаконАмдала, его следствия. Графалгоритма.Критический путь графа алгоритм,≤1−ярусно-параллельнаяформаграфаалгоритма.Этапырешения+22. Закон Амдала, его следствия. Граф алгоритма.Критическийпутьзадачграфанаалгоритм,ий, которые нужно выполнятьпоследовательно,параллельныхвычислительныхсистемах.ярусно-параллельнаяформа графа алгоритма. Этапы решения задач напо статическому числустроккода, программыа почточислуЕсли9/10исполняетсяпараллельно,а 1/10 нужнопо-прежнемупоследовательно,Предположим,в вашейпрограмме доляопераций, которыевыполнятьпоследовательно, топараллельныхвычислительныхсистемах.в значениях f соответствуютполностьюравнаf,где0<=f<=1(приэтомдоляпонимаетсянепостатическомучислустроккода,а по числуускоренияболее,чем программев 10 раз получитьв принципевне последовательно,зависимостиотПредположим,чтов вашейдоля операций,которыеневозможнонужно выполнять(f=1) программам.
Таквот, для того,чтобыоперацийвпроцессевыполнения).Крайниеслучаивзначенияхfсоответствуютполностьюкачествареализациипараллельнойчастикодаичислаиспользуемыхпроцессоровравна f, где при0<=f<=1 (при этом доля понимается не по статическому числу строк кода, а по числу (ясно,а компьютере из 'p' процессоровпараллельнымданном(f=0) и полностью последовательным (f=1) программам. Так вот, для того, чтобыоперацийв процессе выполнения).Крайниеслучаив значенияхf соответствуютполностью части равночто10 получаетсятольков томслучае,когдаисполненияпараллельной:оценить,какое ускорениеS можетбытьполученонавремякомпьютереиз 'p' процессоровпри данномпараллельным(f=0) и полностью последовательным (f=1) программам.
Так вот, для того, чтобы0).значении f, можно воспользоваться законом Амдала:оценить, какоетоускорениеS может быть получено на компьютере из 'p' процессоров при данном10 по-прежнему последовательно,ускоренияS<=1/(f+(1-f)/p)Посмотримнапроблему с другойстороны: а какую же часть кода надо ускорить (а значитзначенииf,можновоспользоватьсязаконом Амдала:о вне зависимости от качествареализацииЕсли9/10программыисследовать),исполняется параллельно,а 1/10 по-прежнемупоследовательно,ускоренияипредварительночтобыполучитьзаданное ускорение?ОтветтоможнонайтиS<=1/(f+(1-f)/p)цессоров (ясно, что 10получаетсятомболее,чем втолько10 раз вполучитьв принципе невозможно вне зависимости от качества реализациивпараллельнойследствиииззаконаАмдала:для того чтобыускорить выполнениепрограммыв q разЕсли9/10 программыисполняетсяпараллельно,а 1/10 по-прежнемупоследовательно,то ускоренияи равно 0).части кода и числа используемых процессоров (ясно, что 10 получается только в томболее,чемвзначит10 разполучитьнев принципеневозможновнеменее,зависимостиот качествачастьреализацииже часть кода надо ускорить(аинеобходимоускоритьменее,чемвqразнечем(1-1/q)-юпрограммы.случае, когда время исполнения параллельной части равно 0).параллельнойкода и числа используемых процессоров (ясно, что 10 получается только в томнное ускорение? ОтветможнонайтичастиПосмотримнав проблему с другой стороны: а какую же часть кода надо ускорить (а значит ислучае, когдавремяисполнения параллельной части равно 0).рить выполнение программывqразнеобходимопредварительноисследовать), входныхчтобы получить заданноеускорение? Ответ можнонайти вПустьпринафиксированныхпрограмманекоторыйпроблемус другой стороны:данныха какую жечасть кодаописываетнадо ускорить(а значит иалгоритм.ю часть программы.