View
223
Download
0
Category
Preview:
DESCRIPTION
tecnicss
Citation preview
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 1/46
Técnicas de Profling
Equipe:RosangelaMeloDiegoLiberalquinoRosiberto
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 2/46
Roteiro
• O que é Profling?• Como e onde utilizar?• Técnicas de Profling
– Program Counter Sampling – Instrumentação Binária – Simulação
• Comparação entre as Técnicas• Tracing• erramentas de Profler• Prática•
!e"er#ncias
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 3/46
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 4/46
O que é profling
• Profling é uma técnica de análisedinâica – $nalisa um programa durante a sua e%ecução& – Considera apenas um estado de todo o espaço
de estados poss'(eis de um programa a cadainter(alo de tempo&
– !ealiza análise das partes de um processo
durante a sua e%ecução• Tempo de CP)&• *em+ria e Cac,e&• T,reads- *onitores e *ute%es.
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 5/46
O que é profling
• O que o profler analisa – C,amadas de métodos& – /struturas de Branc,
• 0oops 12,ile- "or- etc3&• /struturas de decisão 1i"4else3&
– C,amadas ao sistema& – $cesso a mem+ria
• Pil,a&• 5eap.
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 6/46
Profling
• )ma "erramenta de P!OI0/ permite aidentifcação de trec,os que são 6astantesolicitados nos c+digos 1B/7/!!$ 8/TO- 9::;3&
• ornece um (isão glo6al do tempo de e%ecuçãoda $plicação 1*$CI/0- 9:<<3&
• = necessário o con,ecimento não apenas do >u%odo programa- mas tam6ém dos trec,os quedemandam mais tempo.
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 7/46
O que é profling
• O profler produz estat'sticas so6re oprograma que podem ser analisadas emtempo real.
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 8/46
!oo e onde utili"ar#
•$oralente utili"ados para@ Otimização no c+digo&@ /ncontrar mi%es de instruçAes utilizadas&@ /stat'sticas de des(ios e de uso de registradores&
– *edir quanto tempo- ou "ração do tempo total- osistema passa em um certo estado ou su64rotina.
•!ouente aceita:@ )m programa e%ecutá(el como entrada&@ ecodifcam e analisam as instruçAes do e%ecutá(el.
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 9/46
!oo e onde utili"ar#
• %diciona c&digo 1pro6es3 aplicação a sermonitorada. $lguns adicionam o c+digo1pro6es3 durante a compilação ou o6tém
amostras do contador de programa&
• 'dentifca()o e %*ustes@ In"ormaçAes são utilizadas por
programadores para identifcar qual porçãodo programa consome uma grande "ração dotempo total de e%ecução&@ Os programadores podem aDustar seus
c+digos para conseguir uma mel,or
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 10/46
Técnicas de Profling
Progra+countersapling'nstruenta()obinária
Siula()o
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 11/46
Progra+counter sapling
• Sampling é uma técnica de estat'stica qual umsu6conDunto de elementos da população ée%aminado atra(és de uma seleção randEmica&
•
Como o sampling é um processo estat'stico emqual as caracter'sticas de uma população sãoin"eridas a partir de uma seleção randEmica-então podemos está suDeito a erros aleat+rios&
•
$s amostras da e%ecução dos programas sãocoletadas em um f%o inter(alo atra(és deperi+dicas interrupçAes. O inter(alo de confançapode ser calculado.
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 12/46
,igura -. Program4couter sampling "unciona1COS*OS-9::;3
Progra+countersapling
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 13/46
Progra+counter sapling
E/eploSupon,a que usando uma "erramenta deamostragem que interrompe a e%ecução do
programa a cada Tc 0 -1s. Incluindo o temporequerido para a rotina de interrupção& oprograma e%ecuta em um total de Fs. 8o totalde nGF:: 1F:::H<:3 amostras- apenas <9 (ezes
a su64rotinas ocorreu no momento dasinterrupçAes.Jual é a "ração de tempo total o programa gastae%ecutando a su64rotina ?
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 14/46
Progra+counter sapling
Calcular o inter(alo de confança com o n'(elde confança de ;;K.
Podemos estimar com ;;K de confança queem Fs da e%ecução do programa- o tempogasto na e%ecução da su64rotina está entreL< e 9:; milissegundos.
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 15/46
!onsidera(2es• 8ecessário um nMmero grande de
amostras&
• Para o6ter mais amostras por e(entolongo per3odo do tepo ou auentar ata/a de aostra&
• /m algumas situaçAes pode4se dei%ar oprograma e%ecutando em um longo per'odo-mas em outros casos o programa tem umaduração f%a&
• $umentar a ta%a da amostra- aumenta 8r.de (ezes que a rotina deinterrupção1ass'ncronas3 é e%ecutada-
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 16/46
'nstruenta()o binária
• !ece6e programa como entrada – C+digo onte& –
C+digo o6Deto& – In"ormaçAes de linNagem.
• Sa'da –
Programa e%ecutá(el instrumentado.
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 17/46
'nstruenta()o binária
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 18/46
'nstruenta()o binária
• $nálise da Instrumentação – Contagem de 6locos& –
ra"o de c,amadas.
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 19/46
!ontage de blocos
• )sa como unidade 6ásica um bloco dec&digo• )m trec,o do c+digo e%ecutá(el com um Mnico ponto de
entrada e Mnico ponto de sa'da&
• !ece6e como entrada um e%ecutá(el eproduz• )m e%ecutá(el instrumentado com uma rotina de
análise no in'cio e fm de cada 6loco&• )ma ta6ela com endereços de cada 6loco&• )ma ta6ela com contagens para cada endereço.
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 20/46
4ra5o de !6aadas
• Permite coletar estat'sticas mais detal,adasdo >u%o de um programa – Juantos des(ios "oram realizados de um 6loco de
origem para n destinos? – Juantas c,amadas de n 6locos de origem "oram "eitas
para um 6loco destino?
• Constr+i um gra"o de controle de >u%o para oe%ecutá(el instrumentado – Identifca camin,os poss'(eis entre 6locos& – Insere trec,os de instrumentação para cada des(io
encontrado no c+digo 6inário&
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 21/46
4ra5o de !6aadas
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 22/46
4ra5o de !6aadas
• ifculdades – Saltos indiretos /%ceçAes- longDmp13& – Condition codes;
– *istura de c+digo e dados& – C+digo Independente de Posição.
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 23/46
Siula()o
• Implementa uma máquina (irtual quesimula a arquitetura de um processador&
• Coleta dados da instrumentação de acordocom as instruçAes e%ecutadas eregistradores preenc,idos.
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 24/46
!opara()o entre as Técnicas
PRO4R%M+!O7$TERS%MPL'$4
'$STR7ME$T%89O '$;R'%
S'M7L%89O
Sa3da /strutura estat'stica Contagem e%ata Contagem e%ata
O<er6ead !otina de ser(iço deinterrupção
InstruçAes e%tra emcada 6loco
Tradução einstrumentação decada instrução
Perturba()
o
$leatoriamente
istri6u'da
alta $lta
Repetitibilidade
entro da (arinciaestat'stica
per"eita per"eita
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 25/46
Tracing
• Como o profler coleta dados? – !egistra e%ecução de 6locos de c+digo& – Qerifca instruçAes de load e store e%ecutadas no 6loco
e%ecutado& – Qerifca segmentos de dados dentro da pil,a de
e%ecução& – *antém registro dos dados modifcados.
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 26/46
,erraentas Profler = M&dulos
*em+ria
Processador
T,readSistema
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 27/46
,erraentas Profler
•
QTune IntelR&• Code$nalst$*R&
• $Jtime&•
Proelp,i&• ourUit Va(a&
• Profler&• pProfle&• SamplingProfle
r&• Qalgrind&• >isual>M&• 4pro5.
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 28/46
>Tune 'ntel?
• erramenta de análise estat'stica&• !ecol,e amostras em inter(alos regulares
de tempo- determinando qual "unçãoconsome mais recursos da CP) 16aseadono tempo3&
• eterminando qual "unção causa a
utilização mais inefciente do processador16aseado em e(entos3&
• *ede desempen,o sem instrumentação.
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 29/46
>Tune 'ntel?
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 30/46
>Tune 'ntel?
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 31/46
4Pro5
• /scrita por Va enlason- permite a análiseda per"ormance do algoritmo e e%i6eesses resultados na "orma de gra"o&
• $ análise realizada pelo Pro" permitecon,ecer –
Juantidade de métodos e%istentes noc+digo& – 8Mmero de c,amadas de cada método
ou "unção& – $ porcentagem do tempo gasto para
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 32/46
4Pro5 = Passos
• Compilar o programa acrescentando a >agde compilação- atra(és do comando
gcc -pg codigo.c -o nome-exec
• $p+s compilar de(e4se e%ecutar oprograma usando a lin,a de comando – Linux – ./nome-exec (args);
– Windows – nome-exec.
= gerado um arqui(o com nome de"aultgmon.out que é interpretado pelo
programa de profle.
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 33/46
4Pro5 = Passos
• Para (isualizar a análise gerada pelo Pro"pode4se usar o comando
– Linux – gprof ./nome-exec (args);
– Windows – gprof –pq nome-exec.
$utomaticamente o Pro" irá interpretar oarqui(o gmon.out Duntamente com oe%ecutá(el do programa e irá imprimir na
tela os resultados.
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 34/46
4Pro5
• Ktime @ percentual de tempo gasto&• Cumulati(e seconds @ tempo gasto pela "unção mais tempos das "unçAes
acima da ta6ela&• Sel" seconds @ tempo gasto da "unção&• Calls @ 8r. e c,amadas da "unção&• Sel" msH call @ tempo milisec para c,amar a "unção&•
Total msHcall @ tempo de c,amada da "unção e descendentes em milisec&• 8ame @ nome da "unção.
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 35/46
4Pro5
Para o6ter outras estat'sticas de(emoscompilar o programa utilizandogcc arqui<o.c +o arqui<o.e/e +5profle+arcs
+5test+co<erage
/ para e%i6ir...
<• gco< arqui<o.c @estat3stica
geralA
9• gco< +5b arqui<o.c @outras
estat3sticasA
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 36/46
>isual>M
• erramenta (isual que integra (árias"erramentas da su'te VU. Inclui – *onitoramento de CP)- mem+ria e T,reads& – Profling ,'6rido
• Simulação&• Sampling&• BlocN counting em tempo real&•
Call grap, para snaps,ots de e%ecução.
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 37/46
>isual>M
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 38/46
>isual>M
fli li ) d
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 39/46
Profling B %<alia()o deDesepen6o
• Os proflers au%iliam na a(aliação dedesempen,o trazendo a identifcação depontos a serem mel,orado nos programas
6em como a sugestão de otimização dosprogramas. ei%ando4os com a e%ecuçãomais rápida e em alguns casos commenor taman,o 1COS*OS- 9::;3.
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 40/46
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 41/46
Prática = >isual>M
)tilizar o QisualQ* para analisar ocomportamento de algoritmos de ordenaçãoimplementados em Va(a.
• )tilizar a6ordagens – Instrumentação 6inária&
– Program Counter Sampling.
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 42/46
E/erc3cio = Problea -
8o grande templo de Bra,ma em Benares- numa 6andeDa demetal so6 a cMpula que marca o centro do mundo- tr#sagul,as de diamante ser(em de pilar a sessenta e quatrodiscos de ouro puro.
Incansa(elmente- os sacerdotes trans"erem os discos- um decada (ez- de agul,a para agul,a- o6edecendo sempre leiimutá(el de Bra,ma
“Nenhum disco se poder so!repor a um menor W
8o in'cio do mundo todos os sessenta e quatro discos de ouro-"oram dispostos na primeira das tr#s agul,as- constituindo a
Torre de Bra,ma. 8o momento em que o menor dos discos "orcolocado de tal modo que se "orme uma (ez mais a Torre deBra,ma numa agul,a di"erente da inicial- tanto a torre como o
templo serão trans"ormados em p+ e o ri6om6ar de um tro(ãoassinalará o fm do mundo.
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 43/46
E/erc3cio = Problea -
Obser<a()o)ma solução Dá esta implementada- mas "oi identifcado quetem um 6ai%o desempen,o.
Pede+se!eescre(er o programa que calcula o mo(imento de nG9Xdiscos de acordo com as regras esta6elecidas. /m seguida-analisar as duas soluçAes com a "erramenta de profleQisualQ* e discorrer so6re os gan,os perce6idos.
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 44/46
E/erc3cio = Problea C
)m ,omem tem um par de coel,os em um am6ienteinteiramente "ec,ado. eseDamos sa6er quantos pares decoel,os podem ser gerados deste par em Y9 meses 1Z anos3-se de um modo natural a cada m#s ocorre a produção de um
par e um par começa a produzir coel,os quando completadois meses de (ida.Especifca(2es:<. 8o primeiro m#s nasce somente um casal&9. Casais amadurecem se%ualmente ap+s o segundo m#s de
(ida&L. 8ão ,á pro6lemas genéticos no cruzamento consangu'neo&Z. Todos os meses- cada casal dá luz a um no(o casal&Y. Os coel,os nunca morrem&
Obser<a()o )ma solução Dá esta implementada- mas "oi
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 45/46
E/erc3cio = Problea C
Pede+se!eescre(er o programa que calcula a quantidade de pares decoel,o que podem ser gerados em Y9 meses 1Z anos3 deacordo com as regras esta6elecidas. /m seguida- analisar as
duas soluçAes com a "erramenta de profle QisualQ* ediscorrer so6re os gan,os perce6idos.
7/21/2019 AP TecnicasProfile Final
http://slidepdf.com/reader/full/ap-tecnicasprofile-final 46/46
Re5erncias
C5$Q/S- 0. Dicas para 5acilitar a depura()o de prograas. instituto de computação-)ni(ersidade estadual de campinas- 9:<:.
)![/S- il(an *. SO$!/S- $ndré C. B. IO77$- \illiam . Otii"ando o Desepen6o doSiR% C.1 usandoa Técnica de Profler para 'dentifca()o de 4argalos. 9::F.
8) pro". 'pleentation o5 Profling. ispon'(el em ],ttpHHsource2are.orgH6inutilsHdocsHgpro"HSampling4/rror.,tml^. $cesso em :Y out. 9:<9.
Intel QTune $mplifer / 9:<<. ispon'(el em ],ttpHHso"t2are.intel.comHen4usHarticlesHintel4(tune4amplifer4%eH^. $cesso em <X out. 9:<9.
V$I8- !aD. %rt o5 !oputer SFstes Per5orance analFsis Tec6niques ,or E/perientalDesign Measureents Siulation %nd Modeling. Vo,n \ile _ Sons- Inc. ISB8:ZX<Y:LL`L-<;;<.
*$CI/0- P. !. Material da disciplina a<alia()o de Desepen6o- 9:<<.
8/TO- 5eleno Pontes Bezerra. 7SO D% ,ERR%ME$T% DE PRO,'LE 4PRO,. 9::;.
PO!UO0$B- 7oltan. *I5$0IC7$- Vozse". P$T$UI- 8or6ert. SIPOS- $dam. %nalFsis o5 ProlingTec6niques 5or !GG Teplate Metaprogras. 9:<:. ispon'(el em ],ttpHHaszt.in".elte.,uHgsdHsHciNNeNHproflingHprofle.pd" ^. $cesso em <`. out. 9:<9.
Recommended