From 6015778353fb39bbbd9de639047b5f871010725d Mon Sep 17 00:00:00 2001 From: afanfakh Date: Fri, 20 Feb 2015 09:46:10 +0100 Subject: [PATCH] reviewers remarks --- Heter_paper.tex | 70 +++++--------- fig/avg_eq.pdf | Bin 7636 -> 0 bytes fig/avg_neq.pdf | Bin 7646 -> 0 bytes fig/energy.eps | 228 +++++++++++++++++++++----------------------- fig/energy.pdf | Bin 9420 -> 0 bytes fig/heter.eps | 8 +- fig/heter.pdf | Bin 6797 -> 0 bytes fig/per_deg.eps | 244 ++++++++++++++++++++++-------------------------- fig/per_deg.pdf | Bin 9354 -> 0 bytes 9 files changed, 250 insertions(+), 300 deletions(-) delete mode 100644 fig/avg_eq.pdf delete mode 100644 fig/avg_neq.pdf delete mode 100644 fig/energy.pdf delete mode 100644 fig/heter.pdf delete mode 100644 fig/per_deg.pdf diff --git a/Heter_paper.tex b/Heter_paper.tex index a9a1e6d..cdd3e16 100644 --- a/Heter_paper.tex +++ b/Heter_paper.tex @@ -93,17 +93,17 @@ the performance of an application must be selected. In this paper, a new online frequency selecting algorithm for heterogeneous - platforms is presented. It selects the frequencies and tries to give the best + platforms (heterogeneous CPUs) is presented. It selects the frequencies and tries to give the best trade-off between energy saving and performance degradation, for each node computing the message passing iterative application. The algorithm has a small overhead and works without training or profiling. It uses a new energy model for message passing iterative applications running on a heterogeneous platform. The proposed algorithm is evaluated on the SimGrid simulator while running the NAS parallel benchmarks. The experiments show that it reduces the - energy consumption by up to \np[\%]{35} while limiting the performance + energy consumption by up to \np[\%]{34} while limiting the performance degradation as much as possible. Finally, the algorithm is compared to an - existing method, the comparison results showing that it outperforms the - latter. + existing method, the comparison results show that it outperforms the + latter, on average it saves \np[\%]{4} more energy while keeping the same performance. \end{abstract} @@ -171,7 +171,7 @@ consumption of the processor. DVFS is also allowed in GPUs to achieve the same goal. Reducing the frequency of a processor lowers its number of FLOPS and may degrade the performance of the application running on that processor, especially if it is compute bound. Therefore selecting the appropriate frequency for a -processor to satisfy some objectives while taking into account all the +processor to satisfy some objectives, while taking into account all the constraints, is not a trivial operation. Many researchers used different strategies to tackle this problem. Some of them developed online methods that compute the new frequency while executing the application, such @@ -500,14 +500,13 @@ Where $\Ereduced$ and $\Eoriginal$ are computed using (\ref{eq:energy}) and $\Tnew$ and $\Told$ are computed as in (\ref{eq:pnorm}). While the main goal is to optimize the energy and execution time at the same -time, the normalized energy and execution time curves are not in the same -direction. According to the equations~(\ref{eq:pnorm}) and (\ref{eq:enorm}), the +time, the normalized energy and execution time curves do not evolve (increase/decrease) in the same way. According to the equations~(\ref{eq:pnorm}) and (\ref{eq:enorm}), the vector of frequency scaling factors $S_1,S_2,\dots,S_N$ reduce both the energy and the execution time simultaneously. But the main objective is to produce maximum energy reduction with minimum execution time reduction. This problem can be solved by making the optimization process for energy and -execution time following the same direction. Therefore, the equation of the +execution time follow the same evolution according to the vector of scaling factors. Therefore, the equation of the normalized execution time is inverted which gives the normalized performance equation, as follows: \begin{multline} @@ -562,7 +561,7 @@ in~\cite{Zhuo_Energy.efficient.Dynamic.Task.Scheduling,Rauber_Analytical.Modelin \item[{$\Fmax[i]$}] array of the maximum frequencies for all nodes. \item[{$\Pd[i]$}] array of the dynamic powers for all nodes. \item[{$\Ps[i]$}] array of the static powers for all nodes. - \item[{$\Fdiff[i]$}] array of the difference between two successive frequencies for all nodes. + \item[{$\Fdiff[i]$}] array of the differences between two successive frequencies for all nodes. \end{description} \Ensure $\Sopt[1],\Sopt[2] \dots, \Sopt[N]$ is a vector of optimal scaling factors @@ -673,12 +672,12 @@ ascending order and the frequencies of the faster nodes are scaled down according to the computed initial frequency scaling factors. The resulting new frequencies are highlighted in Figure~\ref{fig:st_freq}. This set of frequencies can be considered as a higher bound for the search space of the -optimal vector of frequencies because selecting frequency scaling factors higher +optimal vector of frequencies because selecting scaling factors higher than the higher bound will not improve the performance of the application and it will increase its overall energy consumption. Therefore the algorithm that selects the frequency scaling factors starts the search method from these initial frequencies and takes a downward search direction toward lower -frequencies. The algorithm iterates on all left frequencies, from the higher +frequencies. The algorithm iterates on all remaining frequencies, from the higher bound until all nodes reach their minimum frequencies, to compute their overall energy consumption and performance, and select the optimal frequency scaling factors vector. At each iteration the algorithm determines the slowest node @@ -700,7 +699,9 @@ power of scaled down nodes are lower than the slowest node. In other words, until they reach the higher bound. It can also be noticed that the higher the difference between the faster nodes and the slower nodes is, the bigger the maximum distance between the energy curve and the performance curve is while the -scaling factors are varying which results in bigger energy savings. +scaling factors are varying which results in bigger energy savings. +Finally, in a homogeneous platform the energy consumption is increased when the scaling factor is very high. +Indeed, the dynamic energy saved by reducing the frequency of the processor is compensated by the significant increase of the execution time and thus the increased of the static energy. On the other hand, in a heterogeneous platform this is not the case. \subsection{The evaluation of the proposed algorithm} \label{sec.verif.algo} @@ -719,7 +720,7 @@ parallel benchmarks NPB v3.3 \cite{NAS.Parallel.Benchmarks}, running class B on very precise, the maximum normalized difference between the predicted execution time and the real execution time is equal to 0.03 for all the NAS benchmarks. -Since the proposed algorithm is not an exact method it does not test all the +Since the proposed algorithm is not an exact method, it does not test all the possible solutions (vectors of scaling factors) in the search space. To prove its efficiency, it was compared on small instances to a brute force search algorithm that tests all the possible solutions. The brute force algorithm was @@ -761,7 +762,8 @@ frequency scaling factors that gives the results of the next sections. \label{sec.expe} To evaluate the efficiency and the overall energy consumption reduction of -Algorithm~\ref{HSA}, it was applied to the NAS parallel benchmarks NPB v3.3. The +Algorithm~\ref{HSA}, it was applied to the NAS parallel benchmarks NPB v3.3 which +is composed of synchronous message passing applications. The experiments were executed on the simulator SimGrid/SMPI which offers easy tools to create a heterogeneous platform and run message passing applications over it. The heterogeneous platform that was used in the experiments, had one core per @@ -790,40 +792,16 @@ The proposed algorithm was applied to the seven parallel NAS benchmarks (EP, CG, MG, FT, BT, LU and SP) and the benchmarks were executed with the three classes: A, B and C. However, due to the lack of space in this paper, only the results of the biggest class, C, are presented while being run on different number of -nodes, ranging from 4 to 128 or 144 nodes depending on the benchmark being +nodes, ranging from 8 to 128 or 144 nodes depending on the benchmark being executed. Indeed, the benchmarks CG, MG, LU, EP and FT had to be executed on 1, 2, 4, 8, 16, 32, 64, or 128 nodes. The other benchmarks such as BT and SP had to be executed on 1, 4, 9, 16, 36, 64, or 144 nodes. \begin{table}[!t] - \caption{Running NAS benchmarks on 4 nodes } - % title of Table - \centering - \begin{tabular}{|*{7}{r|}} - \hline - \hspace{-2.2084pt}% - Program & Execution & Energy & Energy & Performance & Distance \\ - name & time/s & consumption/J & saving\% & degradation\% & \\ - \hline - CG & 64.64 & 3560.39 & 34.16 & 6.72 & 27.44 \\ - \hline - MG & 18.89 & 1074.87 & 35.37 & 4.34 & 31.03 \\ - \hline - EP & 79.73 & 5521.04 & 26.83 & 3.04 & 23.79 \\ - \hline - LU & 308.65 & 21126.00 & 34.00 & 6.16 & 27.84 \\ - \hline - BT & 360.12 & 21505.55 & 35.36 & 8.49 & 26.87 \\ - \hline - SP & 234.24 & 13572.16 & 35.22 & 5.70 & 29.52 \\ - \hline - FT & 81.58 & 4151.48 & 35.58 & 0.99 & 34.59 \\ - \hline - \end{tabular} - \label{table:res_4n} + % \end{table} - \medskip + % \begin{table}[!t] \caption{Running NAS benchmarks on 8 and 9 nodes } % title of Table @@ -983,13 +961,13 @@ The overall energy consumption was computed for each instance according to the energy consumption model (\ref{eq:energy}), with and without applying the algorithm. The execution time was also measured for all these experiments. Then, the energy saving and performance degradation percentages were computed for each -instance. The results are presented in Tables~\ref{table:res_4n}, +instance. The results are presented in Tables \ref{table:res_8n}, \ref{table:res_16n}, \ref{table:res_32n}, \ref{table:res_64n} and \ref{table:res_128n}. All these results are the average values from many experiments for energy savings and performance degradation. The tables show the experimental results for running the NAS parallel benchmarks -on different number of nodes. The experiments show that the algorithm -significantly reduces the energy consumption (up to \np[\%]{35}) and tries to +on different numbers of nodes. The experiments show that the algorithm +significantly reduces the energy consumption (up to \np[\%]{34}) and tries to limit the performance degradation. They also show that the energy saving percentage decreases when the number of computing nodes increases. This reduction is due to the increase of the communication times compared to the @@ -1019,7 +997,7 @@ of the benchmarks MG, LU, BT and FT decrease linearly when the number of nodes increase. While for the EP and SP benchmarks, the energy saving percentage is not affected by the increase of the number of computing nodes, because in these benchmarks there are little or no communications. Finally, the energy saving of -the GC benchmark significantly decrease when the number of nodes increase +the CG benchmark significantly decreases when the number of nodes increase because this benchmark has more communications than the others. The second plot shows that the performance degradation percentages of most of the benchmarks decrease when they run on a big number of nodes because they spend more time @@ -1228,7 +1206,7 @@ new energy model for measuring and predicting the energy of distributed iterative applications running over heterogeneous platforms. To evaluate the proposed method, it was applied on the NAS parallel benchmarks and executed over a heterogeneous platform simulated by SimGrid. The results of the experiments -showed that the algorithm reduces up to \np[\%]{35} the energy consumption of a +showed that the algorithm reduces up to \np[\%]{34} the energy consumption of a message passing iterative method while limiting the degradation of the performance. The algorithm also selects different scaling factors according to the percentage of the computing and communication times, and according to the diff --git a/fig/avg_eq.pdf b/fig/avg_eq.pdf deleted file mode 100644 index 26c5a4aed4b99e501a20cdc8cea4009148737196..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7636 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 diff --git a/fig/heter.eps b/fig/heter.eps index ffc8e58..b1b59f5 100644 --- a/fig/heter.eps +++ b/fig/heter.eps @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 EPSF-2.0 %%Title: heter2.eps %%Creator: gnuplot 4.6 patchlevel 0 -%%CreationDate: Thu Nov 6 10:45:38 2014 +%%CreationDate: Thu Feb 19 12:00:04 2015 %%DocumentFonts: (atend) %%BoundingBox: 50 50 320 239 %%EndComments @@ -432,7 +432,7 @@ SDict begin [ /Author (afanfakh) % /Producer (gnuplot) % /Keywords () - /CreationDate (Thu Nov 6 10:45:38 2014) + /CreationDate (Thu Feb 19 12:00:04 2015) /DOCINFO pdfmark end } ifelse @@ -582,7 +582,7 @@ LC2 setrgbcolor LCb setrgbcolor /Helvetica findfont 220 scalefont setfont 4496 3443 M -(Normalize performance) Rshow +(Normalized performance) Rshow /Helvetica findfont 140 scalefont setfont LT2 LC2 setrgbcolor @@ -657,5 +657,3 @@ stroke grestore end showpage -%%Trailer -%%DocumentFonts: Helvetica diff --git a/fig/heter.pdf b/fig/heter.pdf deleted file mode 100644 index cad42e29d2de8c423059a4c6d97b874c1be13b56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6797 zcmb_h2|SeB`@e1rO`BAds5fG4(QA zyN_VV5FXROJ5oKUVo^+ue33s?u`ry zBfByE6SpG!rox;zL07h48c-qrs#f!KtM|qtmOwM-{$Z7xORXL!*c%?)ND32$c)Xsf zDoY%UI#jl5d07{In^GXGDW9s+I%*f~PM9@yCjo!T<*>`VR+o$oPQRvQ6y+znDgHTf z^o+ZRRlD(3?ZdJY<{bl%>@|Bf)6N_}UGOs1$^GrVIa%u2(@EL!ipH}?=0;egUVXG@ zB+lj6bF)3>nYorF;1Jz8;85Ie(Sy#jgI$L|@v|Z5z7~A;jwBNRv`S-@r+c}Y1gYwbYT^Qy(#bnoiqEnBiz~x1@5>sZU3^F6z4p$-9dAFtBy55?v#Ug& z?KS23wQCq@)I<7RXA3Wdq}J!|xT}9^jlXBRj+zN+Uj5-n%j{W6t!s_!C z{5+4Vtq6}bp4p&bvhB4)6_2t@co_%^rU_X@tf1_pL^afApo+PIO@ zw;G?y)ewWqxqee4ea(qcBaG4aqiA=0(1IaCP{+UyKDMhZ>~(DsZYUz=Fd0&J(Gd|- z$PtM7LWqj0kh()U0^G?Fio}*|h7ckVVF$)|n?NMOo*b5#E%L<>4bh4IyN`4fLnc$8 zi9fuw_5J@z(wIr@pR^hhiIAb8(Ig&}LZP63`QZb2CT1k#zqL_&P&&vtAc@ML-$o?T z1ou~4Nhl3SPDr3_^dr@V$D_%|1B*L{7YJOzGv|poU;Azne=(ZrXmWs9PGlVF+(~Kk zgYTtXCq^*x&q1;P#R6&tMXY|2)vCnuIO81V6SmCWD*r<1xWzv zPYZT}ona4nEzE%ZVJ6Ii5m-7I8~_J^Vub@?4$OsvVIItf`8)&`zyd_b;j`cnSO|+? z5holL2^dTS7Q^B&J}iMl;RrYqjzolfZK)5y28xg%0veskxsLY7z4v8{oxH<>7n$sH z%ZV+SNT!fzw6B}5hsR8JHyh;=Lfebnel0t7o&EG~HLZSy1*{o~&>d@Y`BUzRHd#Iz6I5)btK~2MJsiyzwpi4y!pRj?g_1P~uVNp)^ zvrSSm-^C1kYX1EB*UErd>hf}xR-6mN`x}!bo4RVIn9S@=C4`@mpO+nxbH&ymZH;Q| zrUdTxJAa<=ziX7VXu3+vz9|bzZplsCT2@=IJ*!}60jaiDw2(I=#O`fjK*SjT78Z|p z$uD|+DRx22{sYMd*=1=ZZ9x~Z3W(&ZjnFNNtG>DSyiVHIDI&)^v>u;6z2ChnpMG&| z;hKCc%d9B1hDe%Rj;YYl~6HhYECKXCp`i`Gxjj{ajrUg zzYFYWd)1!%RPmgy)4DS|ymQj`9CEBVkSo_a_`Yw5xo?qXx_4y-p|3`$xy6pPcOO1r zc}h(j=^bHSvQlAUUw~SsmgfGzfY#DvNBaYit*3|7EeAXI}j?%q(J@YRX2G#d;&o0W)@Kbntx2fZE+4;7v zkNnE}s>L#!e&1!rtL^w}sHrt?eLK{>M6fqm%((7e8}w+dh1rL9>3O$UHO~IMzXj7t zwzYJ4h8!eU_K7iTPql`6ix!XhMxn&H$~@nG0=4P+hd^xT)D@lni*xO;~%Dmy#=D?!S>1B!i`7`faJ-_ya zDU2nngpg(JavEo;`TG~^v44A7`|jq_ZlBQ`8PCg^I=*}D8tteicJapN_Dg)oCgq0@ zrtDHWqw9Q-DhPsCRs?G|<%cb4)v%nw?y3B+bvV%dqVtPWq4jdlcUh?H>Ny@2v*Vgo zx4d)r=d=44d*xvG$lcl7FBQ4Bsoy)+);61wOSW-tuP#d8>{nEno>Tr78>(8pQRhiO z>&tCQ@u~5hfoOlOm3 zg1@I$%{)67@}yct$2I#8ZI2?>O!I0qx*^-Q(oHmYq_S{VcJ#iX{kFSj-ks)RD6^Jv zolRNYs8>qgvaM71lwRbXg*SAMEQ$KCvul?iwZAy-1~--0e0^pQ{o31Y1@_bnLiIhK zI}GS)8T<9Ct46d$VG1knEWNhDGk8_B^QRLF`%UK@@8GZZv#1Q#Z@3uJRm<(MUr@Cg zW7gmw6C8AgU4l#Tvp03gtm}?eQN@`>{f^C(*S5;C-&rW?qy$$s%-x%PluULs+?0Dz zB`xc>1J5={QkPw97n-eIyvkdj_jZQrf4UxL4c~j^(AnkSfl zEZ6D#OBet_s8O1kKE&D%-(M$B` zUOJTN+;tl+Yp6Po$OmiV8XhDFZ(my0EWu=3JxOp<%{BE7edA@uB|LW?YqBLjwp!A% zUHtT7a4hbWQ;@qy!Wv!20X53wy3%rtK<0MI((utgqL&sUFO(%lt=H2(-1L3b?8 z2?>72(A9XntEc!D*^3i$`@Yj&Cl$*p-UrHGD(Eg&3s&@9qqR14{uFFy+~_l>L7VL{ z&gcF8EHw5SO#i)(8|fD9G4(j{R)(Cd{0_W=j6=%moj1%qAFPkO2}j=96R;-coWIkN87RyZ^|zr%P#!*a8aWACq#EQA0)7&VM2%$|rZUSgIw|v$p9yoE{ykSwy!gTle~< z-L(_jaCGy>tBu2Jx4K%UXcSC2P<#u^&eP%OZ~T}%{pR_cPiMyHO{JUJ5A3|Lo|j{v zzwocn^*kPTceA=$v7WAMuf4jVPuJC(k2cBrbe-AN`=Rvr^+D$bPApn};bD`<4PVuE z2hCymgIb?-)s)xXd2sT=wb&^a51-G~ztrcgf@v<%+>mi{o!g*(?V;rID_BgmJ+0Zh z`~foe%24IjDa1qXNwK*d8k?2!QZH^PXQ?=Dv1?K26u8NSsQor$x#(KPZpHVCJm;kF2U$S?;;{) zdHd^3vA2&$2<~d>UzP{O*_S`PnKl!eS~>Ph9x*!c=tq9{BlA+T*DVp}N#{Aag_U-p0e-k`s4cjP-urzdn7aV?_k5;X_H`pS>|}pD#J58g`?W zUUjFd`NX*nS0&$*;W{5I%OoG z<&RU9JvGpEGVV*&M6kX|9xkW{DBw60B zqW|oQUD2=}d$?n!Sc!ZrW@%O3)V_>4*0 zvIKLT6jPhcT|C)?9W&4GRVK}CZ#%QAO{p&X<9{LueYC#` zhO*P&Uf5@SZ`5^Tw07LbjM~n+4F&v>_)>_yD87NQ+&$CNR_W-Xrja&})j~7*kXE}Y zbv2o}`|6#W3Z}6ln$KT@ePhW*I+(sv$^-oeY9XvAXX@V`)Qyd!+g=;%&b*kdK7f%? zAX6dugw ziHyU|uu>6Y&_>BH7Lu}vgUqmAjxLax&*uhl#1K)Rs!zZXNP19!5Zoie_`)EFpijX9 zl|oj4u`9SYe^Cf}W>~gZEHH-Qu&^-wFp@rB7zh)nR4R-o!bBntaNtA{JTW62#}lc8 z`J{$$yuOO@MEX*j^qKr%nBxT#^zrb-L=*Q(4xb016Epnz60sRpBH^%%Nk%LZfx=+o zs4S)tjzB;HaCq?G{8{7x13ZgD^fzQpOedIR=6Caf0Wcv6_yM$x0WiRlFcF~{*2cvF zvSIT@;xG4Eh^mh#W8v}F|F^6HvH52&fPjv>!4&WqJA%7mKm;9N6Et_W1j0G-aiNeq zL@|a4#&}}`vazudWD5Vl34#wqEdf>tu*3g@=p@cbqI{t{NC{dXPa@#*#gKtM1rjjC zOg0w@MYs_D%dAq-aZXbhjngC#{o6ic2pk>%XRieZqiK!u8PoYpNievv+R^_%N%L>V znZ^8Sus|Z@N-KoLgb^-++9m>_CIE|BOydB)Fqi@In;{T@n>9lW(jEqRiKUr>K`}?n zMQGCcGv|uGG`JkJo{YH+UZ5E^9LGWe7!s}+OJgGdI40^N0@0Uva5=Ou4XGsjO&e%2 z(G=kezbJG=LMAlR7y%4k03(R~g9<4Ns^Y64XtTzFA7Js%iYBrLO`-oz*>?*5A%~0DNGPkh0K?Q38R0rx1u_0}@FWPXPCQEZ}fQ6G-b@YD_5S z3$-R9^kaPk7J!CqLYU&OENBn`*<2!K1Hp+L(f*1vh6|AZfS3Uo2wjc8JP?IUCXt~4 zXq-mClK>`)J`it$Mj;pgT=jbzo@)3r&4~DuEFMqz2R{5yGyrl{H WBxVT3(g0CN6!7blhLy85=Dz@8&q7iF diff --git a/fig/per_deg.eps b/fig/per_deg.eps index aba2966..e1ef706 100644 --- a/fig/per_deg.eps +++ b/fig/per_deg.eps @@ -1,7 +1,7 @@ %!PS-Adobe-2.0 EPSF-2.0 %%Title: per_deg.eps %%Creator: gnuplot 4.6 patchlevel 0 -%%CreationDate: Thu Nov 6 09:06:50 2014 +%%CreationDate: Thu Feb 19 16:42:46 2015 %%DocumentFonts: (atend) %%BoundingBox: 50 50 320 239 %%EndComments @@ -432,7 +432,7 @@ SDict begin [ /Author (afanfakh) % /Producer (gnuplot) % /Keywords () - /CreationDate (Thu Nov 6 09:06:50 2014) + /CreationDate (Thu Feb 19 16:42:46 2015) /DOCINFO pdfmark end } ifelse @@ -450,17 +450,17 @@ newpath BackgroundColor 0 lt 3 1 roll 0 lt exch 0 lt or or not {BackgroundColor C 1.000 0 0 5400.00 3780.00 BoxColFill} if 1.000 UL LTb -602 662 M +602 674 M 63 0 V 4482 0 R -63 0 V /Helvetica findfont 190 scalefont setfont -518 662 M +518 674 M ( 0) Rshow /Helvetica findfont 140 scalefont setfont 1.000 UL LTb -602 1399 M +602 1538 M 63 0 V 4482 0 R -63 0 V @@ -470,7 +470,7 @@ LTb /Helvetica findfont 140 scalefont setfont 1.000 UL LTb -602 2136 M +602 2402 M 63 0 V 4482 0 R -63 0 V @@ -480,7 +480,7 @@ LTb /Helvetica findfont 140 scalefont setfont 1.000 UL LTb -602 2874 M +602 3266 M 63 0 V 4482 0 R -63 0 V @@ -490,16 +490,6 @@ LTb /Helvetica findfont 140 scalefont setfont 1.000 UL LTb -602 3611 M -63 0 V -4482 0 R --63 0 V -/Helvetica findfont 190 scalefont setfont --4566 0 R -( 20) Rshow -/Helvetica findfont 140 scalefont setfont -1.000 UL -LTb 604 588 M 0 63 V 0 2960 R @@ -624,44 +614,36 @@ LCb setrgbcolor LTb 1.000 UP /Helvetica findfont 190 scalefont setfont -649 728 M +649 752 M ( ) Lshow /Helvetica findfont 140 scalefont setfont 1.000 UL LTb -1.000 UL -LTb -655 3338 N -0 210 V -4438 0 V -0 -210 V --4438 0 V -Z stroke % Begin plot #1 1.500 UP 2.000 UL LT0 0.00 0.00 1.00 C LCb setrgbcolor /Helvetica findfont 190 scalefont setfont -1289 3443 M +1259 3443 M (CG) Rshow /Helvetica findfont 140 scalefont setfont LT0 -0.00 0.00 1.00 C 739 3443 M +0.00 0.00 1.00 C 709 3443 M 298 0 V -725 1653 M -121 59 V -242 361 V -484 -629 V -2541 910 L -4479 824 L -725 1653 Box -846 1712 Box -1088 2073 Box -1572 1444 Box -2541 910 Box -4479 824 Box -888 3443 Box +725 1835 M +121 70 V +242 423 V +484 -737 V +2541 965 L +4479 865 L +725 1835 Box +846 1905 Box +1088 2328 Box +1572 1591 Box +2541 965 Box +4479 865 Box +858 3443 Box % End plot #1 % Begin plot #2 1.500 UP @@ -669,25 +651,25 @@ LT0 LT0 1.00 0.00 0.00 C LCb setrgbcolor /Helvetica findfont 190 scalefont setfont -1923 3443 M +1893 3443 M (MG) Rshow /Helvetica findfont 140 scalefont setfont LT0 -1.00 0.00 0.00 C 1373 3443 M +1.00 0.00 0.00 C 1343 3443 M 298 0 V -725 1301 M -121 307 V -242 -54 V -484 413 V -969 812 V -4479 2193 L -725 1301 TriD -846 1608 TriD -1088 1554 TriD -1572 1967 TriD -2541 2779 TriD -4479 2193 TriD -1522 3443 TriD +725 1424 M +121 359 V +242 -63 V +484 483 V +969 951 V +4479 2469 L +725 1424 TriD +846 1783 TriD +1088 1720 TriD +1572 2203 TriD +2541 3154 TriD +4479 2469 TriD +1492 3443 TriD % End plot #2 % Begin plot #3 1.500 UP @@ -695,25 +677,25 @@ LT0 LT0 0.50 0.00 0.50 C LCb setrgbcolor /Helvetica findfont 190 scalefont setfont -2557 3443 M +2527 3443 M (EP) Rshow /Helvetica findfont 140 scalefont setfont LT0 -0.50 0.00 0.50 C 2007 3443 M +0.50 0.00 0.50 C 1977 3443 M 298 0 V -725 1110 M -846 735 L -242 10 V -484 -80 V -969 456 V -4479 666 L -725 1110 Star -846 735 Star -1088 745 Star -1572 665 Star -2541 1121 Star -4479 666 Star -2156 3443 Star +725 1199 M +846 760 L +242 12 V +484 -94 V +969 534 V +4479 680 L +725 1199 Star +846 760 Star +1088 772 Star +1572 678 Star +2541 1212 Star +4479 680 Star +2126 3443 Star % End plot #3 % Begin plot #4 1.500 UP @@ -721,25 +703,25 @@ LT0 LT0 0.18 0.31 0.31 C LCb setrgbcolor /Helvetica findfont 190 scalefont setfont -3191 3443 M +3161 3443 M (LU) Rshow /Helvetica findfont 140 scalefont setfont LT0 -0.18 0.31 0.31 C 2641 3443 M +0.18 0.31 0.31 C 2611 3443 M 298 0 V -725 1571 M -846 663 L -242 966 V -484 -605 V -969 180 V -4479 1010 L -725 1571 TriUF -846 663 TriUF -1088 1629 TriUF -1572 1024 TriUF -2541 1204 TriUF -4479 1010 TriUF -2790 3443 TriUF +725 1739 M +846 676 L +242 1132 V +484 -709 V +969 211 V +4479 1082 L +725 1739 TriUF +846 676 TriUF +1088 1808 TriUF +1572 1099 TriUF +2541 1310 TriUF +4479 1082 TriUF +2760 3443 TriUF % End plot #4 % Begin plot #5 1.500 UP @@ -747,25 +729,25 @@ LT0 LT0 0.18 0.55 0.34 C LCb setrgbcolor /Helvetica findfont 190 scalefont setfont -3825 3443 M +3795 3443 M (BT) Rshow /Helvetica findfont 140 scalefont setfont LT0 -0.18 0.55 0.34 C 3275 3443 M +0.18 0.55 0.34 C 3245 3443 M 298 0 V -725 1913 M -151 -87 V -212 -309 V -606 5 V -847 951 V -4964 851 L -725 1913 BoxF -876 1826 BoxF -1088 1517 BoxF -1694 1522 BoxF -2541 2473 BoxF -4964 851 BoxF -3424 3443 BoxF +725 2140 M +876 2038 L +212 -362 V +606 6 V +847 1114 V +4964 896 L +725 2140 BoxF +876 2038 BoxF +1088 1676 BoxF +1694 1682 BoxF +2541 2796 BoxF +4964 896 BoxF +3394 3443 BoxF % End plot #5 % Begin plot #6 1.500 UP @@ -773,25 +755,25 @@ LT0 LT0 0.85 0.65 0.13 C LCb setrgbcolor /Helvetica findfont 190 scalefont setfont -4459 3443 M +4429 3443 M (SP) Rshow /Helvetica findfont 140 scalefont setfont LT0 -0.85 0.65 0.13 C 3909 3443 M +0.85 0.65 0.13 C 3879 3443 M 298 0 V -725 1501 M -876 1072 L -212 154 V -606 -55 V -2541 666 L +725 1658 M +876 1155 L +212 180 V +606 -64 V +2541 680 L 2423 3 V -725 1501 Circle -876 1072 Circle -1088 1226 Circle -1694 1171 Circle -2541 666 Circle -4964 669 Circle -4058 3443 Circle +725 1658 Circle +876 1155 Circle +1088 1335 Circle +1694 1271 Circle +2541 680 Circle +4964 683 Circle +4028 3443 Circle % End plot #6 % Begin plot #7 1.500 UP @@ -799,25 +781,25 @@ LT0 LT0 0.55 0.00 0.00 C LCb setrgbcolor /Helvetica findfont 190 scalefont setfont -5093 3443 M +5063 3443 M (FT) Rshow /Helvetica findfont 140 scalefont setfont LT0 -0.55 0.00 0.00 C 4543 3443 M +0.55 0.00 0.00 C 4513 3443 M 298 0 V -725 809 M -121 228 V -242 581 V -484 -527 V -969 289 V -4479 1081 L -725 809 CircleF -846 1037 CircleF -1088 1618 CircleF -1572 1091 CircleF -2541 1380 CircleF -4479 1081 CircleF -4692 3443 CircleF +725 847 M +121 267 V +242 680 V +484 -617 V +969 339 V +4479 1166 L +725 847 CircleF +846 1114 CircleF +1088 1794 CircleF +1572 1177 CircleF +2541 1516 CircleF +4479 1166 CircleF +4662 3443 CircleF % End plot #7 1.000 UL LTb @@ -834,3 +816,5 @@ stroke grestore end showpage +%%Trailer +%%DocumentFonts: Helvetica diff --git a/fig/per_deg.pdf b/fig/per_deg.pdf deleted file mode 100644 index ab480393ad33ba3eec7df7dbcf789d83c03679d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9354 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 -- 2.39.5