From 67acc7ed42c6ddeb41cd66f6f19ed0eb39d1598d Mon Sep 17 00:00:00 2001 From: Jan David Mol <mol@astron.nl> Date: Mon, 31 Jan 2011 06:52:53 +0000 Subject: [PATCH] bug 1362: paper update --- doc/papers/2011/europar/execution_times.jgr | 15 +++++++++++--- doc/papers/2011/europar/lofar.pdf | Bin 4006627 -> 4006151 bytes doc/papers/2011/europar/lofar.tex | 10 +++++----- doc/papers/2011/europar/stations-beams.jgr | 21 +++++++++++++++++--- 4 files changed, 35 insertions(+), 11 deletions(-) diff --git a/doc/papers/2011/europar/execution_times.jgr b/doc/papers/2011/europar/execution_times.jgr index dad7110bb08..bb1dd5592a7 100644 --- a/doc/papers/2011/europar/execution_times.jgr +++ b/doc/papers/2011/europar/execution_times.jgr @@ -21,8 +21,17 @@ awk -v N=1 '/->/ {a+=$3;b+=$5;c+=$7;d+=$9;e+=$11;f+=$13;n++; if(n==N) print "1 " *) newgraph - yaxis min 0 max 100 label : BG/P occupation (% CPU time) - xaxis min 0 max 7 hash 0 label : Case (see Table 1) + yaxis + min 0 + max 100 + size 2.5 + label : BG/P occupation (% CPU time) + xaxis + min 0 + max 7 + hash 0 + size 2.5 + label : Case (see Table 1) (* hash_labels rotate 22 vjt hjr hash_label at 1 : I, 16i, 4s, 543b @@ -89,5 +98,5 @@ newgraph label : 1st all-to-all exchange & \ input handling - legend top defaults hjl linelength 75 x 4 y 90 + legend top defaults hjl linelength 75 x 4 y 97 diff --git a/doc/papers/2011/europar/lofar.pdf b/doc/papers/2011/europar/lofar.pdf index b13b247cd166551943e45d9bf811b605b2fec5d7..784d90fd7671bb8d56ae5b06263c27f1e46a2488 100644 GIT binary patch delta 25187 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
-}l4ChlE)8jX6Z?bd!HqjqeEa#HqW2xM0SlpT zGb^)|%5<|;u!7>c6jvTe$dW6NJbfkOl=`aR^#i)kBAs;(JBtYl(M|1|PIS5AKH*kO z10e}3m3m9TMtGyRr@#h?phJR;%`APaA5{cIizI&3)?;axfSHfg_WjA_Ju$s?r^dOP zpQ7=U;W0nw(C<Hm#nx=NvKro#o9|K<P#@%L6-*4o&pdjFNh*G5b6fMbOjl76WKJbC z+~^rsQER!6c24NiH+W4gac~*!Dvm=kvRmoDh@YGt_2*07Cux^*$0w;+Wg<|ahh_HX zMgKxh%?O>L_ZM%(GCQv?H^DHXghney{$gW|&<YwZ@dd>5A9q>Ri}1__9fBzgvU4J{ z6<m?qb?Qp|=mO2EdSladT4Lb3s9PB??9<SP?SgG5*XUG{Wb6UC;zMY8N2GUSOX6^$ zhN16=j-mYe=kntB0@<Zs?GF=VZ4uplR~_&kR9POd_Uc3a&y86yM}`^Qt>}`)j}adn z&o#Mz+@8e!<wX`_f9gMzND6~w1lFBWlD$TTQBvsaf6x1Xz<~dnPH-1-bW;0HU<im4 z@aM(p!AXMqfB*ovQ$mo77zhVn!hjIKMGT05T^bKJbpf!O^iq*mfiMIV8^j=`MF4<- zYPuPuy734=08mW=lT;5L{RK`i0s%lkp;$i_DSmp;-_mjSzz84&TgD<qgMs~}1nw3L z2|`}N5SNF506>=w#qnR{MdAoAU`Qkg2LA`c{L6D-BmfFW{yiXWFq|%zFgO5wX+Q`R zanVL31b)d790rH}rHmUGfrJ8KmzbeoIQTEZKXkDF14BYDDFa7BFDQ)!0H8=XR*ntl z@W18b>;}M*7sMk0Kp^CTcpL@=Um6yOi{syFA^{*E_>v4T5b-bUzZ{N0!Y?u7;(s9{ zaDhRBFJeFl4E(PM{wIJSFdT3Z1A-vPzYW2Fkw6d_alvUw01^Pd$P9)eFJ?6o2!Vnw zDFcH3+q(ZK1B4<j83%*`Kw!)Tci}+z--U=%5C(x<5&}b9NF5v<90<L{3x@(O)DIGf z1OfjY63joH0*nN~0l<qwKyV;#vHHI|${#uq@S?Xsa2Vhc9RhGEKR^gD?1F;Ww;WP* z7%&h5xtMfdIF9;)a4;MWx+n-YB=Qo5tKAENkYG3x_IK=Y?GXTj<Gh1A{P>@q3I0Qf zxFi?>zLa2K1msfQ;CjR*PvCq8zR-q{U?k$d!h-qJtid>yftQ3pfR_^t0)$`k76c3g zU-TdZ48D{%5Gd?YIYKbF?7YN`J7Id!3xC?x#bm;z7wBT8K!HHS->wEDVNf{q5(fLH zH~jJce@X=b#o2Np?g%In@^_5?#13>J?l=qt{XeEQDC}?d|Dl8Z_Y8v7;Ff~h%7Z{k zFfd3-QArsIhJcX@@(?9uoHjTRpe(P1kmi*9|B_g8{_i1LTOZ#*ACx1>A4v!Vf`pGx JNn4rZe*lX5BTxVU delta 25662 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 diff --git a/doc/papers/2011/europar/lofar.tex b/doc/papers/2011/europar/lofar.tex index 51838f2e7f7..cf739244391 100644 --- a/doc/papers/2011/europar/lofar.tex +++ b/doc/papers/2011/europar/lofar.tex @@ -161,9 +161,9 @@ A station focusses at a source by applying different delays to the signals from The BG/P, which receives the signals from all stations, again performs delay compensation and beam forming, this time in software. The BG/P beam former can focus on sources anywhere in the fields of view of the station beams, creating \emph{tied-array beams} (beams). An example is shown in Figure \ref{fig:pencilbeams}, in which a station beam (represented by an ellipse) contains several tied-array beams (represented by hexagons). The actual width of the station beam, as well as the width of the tied-array beams, depends on the number as well as the locations of the stations used. Hundreds of tied-array beams are typically needed to fully cover the field of view of a station beam. -Different tied-array beams are created by adding the signals from the individual stations using different delays. The delays that have to be applied to obtain a tied-array beam depends on the relative positions of the stations and the relative direction of the tied-array beam with respect to the station beam. The delays are applied in two phases. First, the streams are aligned by shifting them a whole number of samples with respect to each other, which resolves delay differences up to the granularity of a single sample. Then, the remaining sub-sample delays are compensated for by shifting the phase of the signal. In order to obtain different tied-array beams, only the sub-sample delays have to be adjusted. A phase shift is performed by applying a complex multiplication. To form a beam, the beam former gathers the streams of samples from the stations, multiplies them with precomputed weights representing the required phase shift, and adds the streams together. The same weights are applied to both the X and the Y polarisations. The resulting data stream is called the \emph{XY polarisations}, and consists of 32-bit complex floating point numbers. +Different tied-array beams are created by adding the signals from the individual stations using different delays. The delays that have to be applied to obtain a tied-array beam depends on the relative positions of the stations and the relative direction of the tied-array beam with respect to the station beam. The delays are applied in two phases. First, the streams are aligned by shifting them a whole number of samples with respect to each other, which resolves delay differences up to the granularity of a single sample. Then, the remaining sub-sample delays are compensated for by shifting the phase of the signal. In order to obtain different tied-array beams, only the sub-sample delays have to be adjusted. A phase shift is performed by applying a complex multiplication. To form a beam, the beam former gathers the streams of samples from the stations, multiplies them with precomputed weights representing the required phase shift, and adds the streams together. The same weights are applied to both the X and the Y polarisations. The resulting data stream is called the \emph{XY polarisations}, and consists of 32-bit complex floating point numbers (complex floats). -The XY polarisations can optionally be converted into \emph{Stokes IQUV} parameters, which represent the polarisation aspects in an alternative way. The Stokes parameters are defined as $I = X\overline{X} + Y\overline{Y}$, $Q = X\overline{X} - Y\overline{Y}$, $U = 2\mathrm{Re}(X\overline{Y})$, $V = 2\mathrm{Im}(X\overline{Y})$, with each parameter being a 32-bit floating point number. +The XY polarisations can optionally be converted into \emph{Stokes IQUV} parameters, which represent the polarisation aspects in an alternative way. The Stokes parameters are defined as $I = X\overline{X} + Y\overline{Y}$, $Q = X\overline{X} - Y\overline{Y}$, $U = 2\mathrm{Re}(X\overline{Y})$, $V = 2\mathrm{Im}(X\overline{Y})$, with each parameter being a 32-bit floats. Both the XY polarisations and the Stokes IQUV parameters require up to 6.2~Gb/s per beam, which severely limits the number of beams that can be produced, and which represents a time resolution which is not always necessary. For example, in sky surveys, it is desirable to create many beams. The data rate per beam thus has to be lowered. For many-beam observations, we convert the XY polarisations into just the \emph{Stokes I} parameter, which represents the amplitude of the signal in the X and Y polarisations combined. The resulting data rate is 1.5~Gb/s per beam, but we also allow time-wise integration to further reduce the data rate with an integer factor, allowing even more beams to be created. @@ -189,7 +189,7 @@ The communications in the all-to-all exchange are asynchronous, which allows a c \subsection{Signal Processing} -Once a compute core receives a chunk, it can start processing. First, we convert the station data from 16-bit little-endian integers to 32-bit big-endian floating point numbers, in order to be able to do further processing using the powerful dual FPU units present in each core. The data doubles in size, which is the main reason why we implement it \emph{after} the exchange. +Once a compute core receives a chunk, it can start processing. First, we convert the station data from 16-bit little-endian integers to 32-bit big-endian floats, in order to be able to do further processing using the powerful dual FPU units present in each core. The data doubles in size, which is the main reason why we implement it \emph{after} the exchange. Next, the data are filtered by applying a Poly-Phase Filter (PPF) bank, which consists of a Finite Impulse Response (FIR) filter and a Fast-Fourier Transform (FFT). The FFT allows the chunk, which represents a subband of 195~kHz, to be split into narrower subbands (\emph{channels}). A higher frequency resolution allows more precise corrections in the frequency domain, such as the removal of radio interference at very specific frequencies. @@ -205,7 +205,7 @@ The beamformer creates the beams as described in Section \ref{Sec:Beamforming}. The delays are applied to the station data through complex multiplications and additions, programmed in assembly. In order to take full advantage of the L1 cache and the available registers, data is processed in sets of 6 stations, producing 3 beams, or a subset thereof to cover the remaining stations and beams. While the exact ideal set size in which the data is to be processed depends on the architecture at hand, we have shown in previous work that similar tradeoffs exist for similar problems across different architectures~\cite{Nieuwpoort:09,BAR}. -Because each beam is an accumulation of the data from all stations, the bandwidth of each beam is equal to the bandwidth of data from a single station, which is 6.2~Gb/s now that the samples are 32-bit floating point numbers. Once the beams are formed, they are kept as XY polarisations or transformed into the Stokes IQUV or the Stokes I parameters. In the latter case, the beams can also be integrated time-wise, in which groups of samples of fixed size are accumulated to reduce the resulting data rate. +Because each beam is an accumulation of the data from all stations, the bandwidth of each beam is equal to the bandwidth of data from a single station, which is 6.2~Gb/s now that the samples are 32-bit floats. Once the beams are formed, they are kept as XY polarisations or transformed into the Stokes IQUV or the Stokes I parameters. In the latter case, the beams can also be integrated time-wise, in which groups of samples of fixed size are accumulated to reduce the resulting data rate. The beamformer transforms chunks representing station data into chunks representing beam data. Because a chunk representing station data contained data for only one subband, the chunks representing different subbands of the same beam are still spread out over the full BG/P. Chunks corresponding to the same beam are brought together using a second all-to-all exchange. @@ -307,7 +307,7 @@ F & Stokes I & Y & 1 & 64 & 42 & 198 Gb/s & 65 Gb/s & CPU & Known sources \end{minipage} \end{figure} -We further analyse the workload of the compute cores by highlighting a set of cases, summarised in Table \ref{table:cases}. We will focus on a memory-bound case (A), which also creates the highest number of beams, on CPU-bound cases interesting for performing surveys, with either 24 stations (B) or 64 stations (C) as input. Cases D and E focus on high-resolution observations of known sources, and are I/O bound configurations with 24 and 64 stations, respectively. Case F focusses on the observations of known sources as well, using Stokes I output, which allows more beams to be created. Channel dedispersion requires the DM of the sources to be known, and is thus only enabled in the cases which observe known sources. +We further analyse the workload of the compute cores by highlighting a set of cases, summarised in Table \ref{table:cases}. We will focus on a memory-bound case (A), which also creates the highest number of beams, on CPU-bound cases interesting for performing surveys, with either 24 stations (B) or 64 stations (C) as input. Cases D and E focus on high-resolution observations of known sources, and are I/O bound configurations with 24 and 64 stations, respectively. Case F focusses on the observations of known sources as well, using Stokes I output, which allows more beams to be created. Channel-level dedispersion is applied for all cases that observe known sources. The workload of the compute cores for each case is shown in Figure \ref{fig:execution-times}, which shows the average workload per core. For the CPU-bound cases B and C, the average load has to be lower than 100\% in order to prevent fluctuations from slowing down our real-time system. These fluctuations typically occur due to clashes within the BG/P 3D-torus network which is used for both all-to-all-exchanges, and cannot be avoided in all cases. diff --git a/doc/papers/2011/europar/stations-beams.jgr b/doc/papers/2011/europar/stations-beams.jgr index 4338207da86..5aa178f28ee 100644 --- a/doc/papers/2011/europar/stations-beams.jgr +++ b/doc/papers/2011/europar/stations-beams.jgr @@ -4,11 +4,26 @@ newgraph min 0 max 64 + size 2.7 yaxis label : max number of beams + size 2.5 no_auto_hash_labels + hash_label at 1 : 1 + hash_label at 3 : 9 + hash_label at 5 : 25 + hash_label at 7 : 49 + hash_label at 9 : 81 + hash_label at 11 : 121 + hash_label at 13 : 169 + hash_label at 15 : 225 + hash_label at 17 : 289 + hash_label at 19 : 361 + hash_label at 21 : 441 + hash_label at 23 : 529 +(* hash_label at 1 : 1 hash_label at 2 : 4 hash_label at 3 : 9 @@ -33,7 +48,7 @@ newgraph hash_label at 22 : 484 hash_label at 23 : 529 hash_label at 24 : 576 - +*) min 0 max 24 @@ -53,7 +68,7 @@ newline label : I/O bound legend - x 40 y 20 + x 38 y 20 linelength 5 newstring : Complex Voltages / Stokes IQUV @@ -166,7 +181,7 @@ newline newstring : Stokes I, \ 8x integration - x 2 y 18.5 + x 2 y 18.2 hjl vjc newline -- GitLab