Методологија за анализу перформанси DRAM меморија са тачношћу на нивоу циклуса
Methodology for cycle-accurate performance analysis of DRAM memories
Докторанд
Ikodinović, Igor M.Ментор
Milutinović, VeljkoЧланови комисије
Tomašević, MiloŽivković, Miodrag
Метаподаци
Приказ свих података о дисертацијиСажетак
Главна меморија је једна од кључних компоненти сваког рачунарског
система. У савременим рачунарским системима главна меморија се најчешће
имплементира помоћу меморија типа DRAM. Она непосредно утиче на цену,
потрошњу енергије и ефикасност система, а посредно и на његову интерну
архитектуру и организацију. Из тих разлога се анализи перформанси DRAM
меморије посвећује велика пажња приликом пројектовања.
Код мерења и анализе перформанси DRAM меморија тачност је од
суштинског значаја. Нетачност смањује поузданост резултата и закључака, што
може довести до доношења погрешних одлука приликом пројектовања, а тиме и до
значајног губитка времена, труда и новца. Општи трендови у домену технологије
израде, архитектуре и организације рачунарских система и развоја системског
софтвера воде сталном расту оптерећења главне меморије и њеној све већој
виртуелизацији, чиме се проблем тачности додатно погоршава. С обзиром да се не
види технологија која би у догледно време могла да замени DRAM, може се
оче...кивати да ће значај овог проблема у будућности само добијати на тежини.
Кључни проблем у анализи перформанси DRAM меморија је немогућност
да се непосредно утврди да ли су поједини циклуси на меморијској магистрали
слободни или заузети. То ствара проблем са мерењем чак и основних показатеља
меморијских перформанси, као што су степен искоришћења и ефикасност. Због
тога није јасно како одговорити на фундаментално питање: „Како мерити
перформансе DRAM меморије са потребним нивоом тачности?“. Чак и за
показатеље перформанси које је могуће тачно и непосредно мерити, као што је
VI
проток података, постоји проблем интерпретације измерених вредности. Теоријски
максимуми показатеља меморијских перформанси се континуирано мењају, а не
могу се непосредно мерити, па није могуће интерпретирати резултате поређењем
измерених и максималних вредности. Стога није јасно како одговорити ни на
следећа кључна питања: „Колико су измерене перформансе DRAM меморије добре
или лоше?“ и „Како поредити перформансе DRAM меморије измерене у
различитим периодима и за различита радна оптерећења?“.
Основни циљ дисертације је проналажење начина да се превазиђу ови
суштински проблеми у вези са мерењем и анализом перформанси DRAM меморија.
Као резултат рада на тој проблематици створена је нова теоријска основа за мерење
и анализу меморијских перформанси и формулисана је одговарајућа методологија
која дефинише како да се мерење и анализа спроводе у пракси. Методологија се
заснива на тачној и једнозначној карактеризацији меморијских циклуса на
слободне (неискоришћени циклуси), активне (заузети циклуси чије стање је
опсервабилно) и режијске (заузети циклуси чије стање заузетости није
опсервабилно). Најважније компоненте предложене методологије су:
Функционални и временски модел DRAM меморије који DRAM меморију
апстрахује у виду генеричког уређаја чији рад се може потпуно описати
помоћу параметризованог коначног аутомата и анализирати са жељеним
нивоом тачности
Модел за мерење и анализу перформанси DRAM меморија који омогућава
прецизну карактеризацију меморијских циклуса
Метрика за мерење и анализу перформанси DRAM меморија која
представља нов теоријски основ за рад у овој области
Метод за процену максимума перформанси DRAM меморија који омогућава
решавање проблема интерпретације измерених резултата
Методологија специфицира како се наведене компоненте дефинишу, конструишу
и параметризују у складу са имплементацијом DRAM меморије и описује све
релевантне поступке и процесе који омогућавају мерење и анализу перформанси
DRAM меморија у реалном окружењу.
VII
Предложена методологија доноси суштински напредак у односу на
постојећа решења. Њене најважније предности са теоријског становишта су:
максимална тачност
могућност прецизне процене теоријског максимума перформанси
могућност идентификације главних узрока субоптималног рада
комплетност (могућност анализе свих типова DRAM трансакција)
Са становишта практичне примене, најважније предности су:
независност од архитектуре система на коме се генерише радно оптерећење
независност од величине радног оптерећења
преносивост (могућност имплементације на различитим платформама)
ефикасност (брзо генерисање резултата уз мали напор корисника)
ниска цена и комплексност имплементације и верификације
Предложена методологија може да замени постојећа решења у свим
доменима где је потребно побољшати тачност и ефикасност анализе. Уједно,
омогућава се и примена у потпуно новим областима, попут анализе критичних
сценарија (анализа секвенци које се јављају спорадично, али имају битан ефекат на
рад система), трансакционе анализе система (анализа рада система праћењем
појединачних трансакција), компаративне анализе (поређење резултата са
различитих плаформи, за различита радна оптерећења или у различитим
периодима) и др. Методологија омогућава релативно једноставну примену на
инжењерском нивоу уз мали утрошак ресурса и тиме обезбеђује висок ниво
ефикасности и употребљивост у пракси.
Као резултат систематизације на чврстим теоријским основама и решавања
кључних проблема који су раније постојали у вези са мерењем и анализом
перформанси DRAM меморија, направљен је суштински помак у овој области. Тај
напредак омогућава прелазак анализе перформанси DRAM меморија из домена
инжењерске вештине у домен научно-стручне дисциплине и подизање процеса
анализе рада целокупног рачунарског система на квантитативно и квалитативно
виши ниво.
Main memory is one of the key components in a computer system. In modern
systems, main memory is almost always implemented using DRAM type of memory.
Memory has a direct impact on price, power consumption and performance of the system,
and an indirect impact on its internal architecture and organization. That is why a lot of
attention is paid to DRAM performance analysis during system development.
Accuracy is of utmost importance in measurement and analysis of DRAM
performance. Inaccuracy reduces reliability of the results and conclusions, which can lead
to wrong architectural or design decisions, and a significant loss of time, effort and
money. General trends in manufacturing technology, computer architecure and
organization, and system software development lead toward its increasing virtualization
and greater utilization, which exacerbates the problem of accuracy. Considering that there
is no technology in sight that could replace DRAM in the near future, the importance of
this prob...lem will only increase.
The main problem in analysis of DRAM performance is inability to determine
which cycles on the memory bus are busy or idle. That makes even basic memory
performance parameters, such as utilization or efficiency, difficult to measure. In essence,
it is not clear how to answer the fundamental question: “How can DRAM performance
be measured with the required level of accuracy?”. Even for performance paramters that
can be measured based on the observable signals, such as data bandwidth, there is a
problem of interpretation of the measured results. Theoretical maximums of performance
parameters continually fluctuate, and they cannot be directly measured, so it is not
possible to interpret them by comparing measured and maximum values. It is thus not
X
clear how to answer the following key questions either: “How good or bad are measured
performance results?” and “How can results measured in two different time periods or for
different workloads be compared?”.
The main goal of the dissertation was to overcome these fundamental problems.
As a result, a new theoretical foundation for DRAM performance measurement and
analysis was created, along with a methodology that specifies how to conduct the
measurement and analysis in practice. The methodology is based on accurate
characterization of memory cycles as idle (cycles not used), active (cycles used, and their
state is observable), or overhead (cycle that cannot be used due to DRAM protocol
constraints, and their state is not observable). The most important components of the
proposed methodology are:
Functional and timing model of DRAM memory that abstracts DRAM memory as
a generic device in a form of a state machine parameterized by DRAM device
configuration and timing parameters, whose operation can be analyzed with the
desired level of accuracy
DRAM measurement and performance analysis model that enables accurate
performance characterization of memory cycles
DRAM performance metric that represents a new theoretical foundation for
DRAM performance measurement and analysis
Method for estimating DRAM performance maximum that enables solving of the
problem of interpretation of results
The methodology specifies how these components are defined, constructed, and
paramterized according to a particular DRAM implementation and describes all the
relevant processes and procedures that enable measurement and analysis of DRAM
performance in real systems.
The proposed methodology makes fundamental advancements over the existing
solutions. Its most important advantages, from the theoretical point of view, include:
guaranteed maximum accuracy
enabling accurate estimation of theoretical maximum
enabling root-causing of sub-optimal DRAM performance
XI
completeness (takes into account all DRAM commands and timing parameters)
The most important advantages from the practical point of view include:
system agnostic (does not depend on the system that generates workload)
workload agnostic (does not depend on the size or type of workload)
portability (can be implemented on any type of system)
efficiency (generates results fast and with little user effort)
low implementation and verification complexity and cost
The proposed methodology can replace existing solutions in all domains where
accuracy and efficiency are of importance. At the same time, it can be applied in
completely new domains, such as analysis of critical scenarios (analysis of sequences that
occur sporadically, but have tangible impact on performance), transactional analysis
(analysis of system operation by following individual transactions), comparative analysis
(comparing resutls from different platforms, for different workloads, or in different time
periods), etc. The methodology enables relatively simple application at the engineerig
level, with small use of resources, and high level of efficiency.
As a result of systematization on firm theoretical grounds, all key problems in the
domain of DRAM performance measurement and analysis were solved. The fundamental
improvement made in this domain allows DRAM performance measurement and analysis
to be elevated from an engineering art to a scientific method, which enables a quantitative
and qualitative leap in computer system analysis.