From a8af4dae0c276914c36bad4fe31e2d2f90bf2644 Mon Sep 17 00:00:00 2001
From: Jan David Mol <mol@astron.nl>
Date: Mon, 7 Feb 2011 16:14:35 +0000
Subject: [PATCH] bug 1362: paper update

---
 doc/papers/2011/europar/TODO                |   2 +-
 doc/papers/2011/europar/execution_times.jgr |  60 +++++++++++---------
 doc/papers/2011/europar/ionperf.jgr         |  15 +++--
 doc/papers/2011/europar/lofar.pdf           | Bin 750300 -> 746074 bytes
 doc/papers/2011/europar/lofar.tex           |  20 +++----
 doc/papers/2011/europar/stations-beams.jgr  |  16 +++++-
 6 files changed, 65 insertions(+), 48 deletions(-)

diff --git a/doc/papers/2011/europar/TODO b/doc/papers/2011/europar/TODO
index 6df2fa74a97..8d2d22d7b7a 100644
--- a/doc/papers/2011/europar/TODO
+++ b/doc/papers/2011/europar/TODO
@@ -11,4 +11,4 @@ V 12 -> 16 int factor in grafieken en tekst
 
 V c vs asm beamformer speedup = 16
 
-- ionproc stats & graph
+V ionproc stats & graph
diff --git a/doc/papers/2011/europar/execution_times.jgr b/doc/papers/2011/europar/execution_times.jgr
index a18fac2193b..31602fcee8b 100644
--- a/doc/papers/2011/europar/execution_times.jgr
+++ b/doc/papers/2011/europar/execution_times.jgr
@@ -7,13 +7,13 @@
 	5 = IQUV, 64s, 10b
         6 = I, 4i, 64s, 42b
 
-pre_bf_dsp_&_I/O  ->  3.44 %    4.69 %    7.70 %     4.07 %    6.72 %    7.04 %
-beam_forming	  -> 14.36 %   49.19 %   67.27 %     2.19 %    4.56 %   17.50 %
-coh_dedispersion  ->     0 %       0 %       0 %     2.76 %    2.12 %    9.18 %
-stokes		  -> 45.21 %   26.98 %   13.32 %     0.27 %    0.20 %    0.66 %
-2nd_xpose	  ->  5.87 %    2.73 %    0.85 %     2.88 %    3.40 %    3.37 %
-stokes_reorder    ->  4.99 %    4.44 %    2.11 %     5.77 %    4.45 %    4.68 %
 output_I/O        ->  1.45 %    0.48 %    0.20 %     0.80 %    0.36 %    0.38 %
+stokes_reorder    ->  4.99 %    4.44 %    2.11 %     5.77 %    4.45 %    4.68 %
+2nd_xpose	  ->  5.87 %    2.73 %    0.85 %     2.88 %    3.40 %    3.37 %
+stokes		  -> 45.21 %   26.98 %   13.32 %     0.27 %    0.20 %    0.66 %
+coh_dedispersion  ->     0 %       0 %       0 %     2.76 %    2.12 %    9.18 %
+beam_forming	  -> 14.36 %   49.19 %   67.27 %     2.19 %    4.56 %   17.50 %
+pre_bf_dsp_&_I/O  ->  3.44 %    4.69 %    7.70 %     4.07 %    6.72 %    7.04 %
 
 The above data is read from this file and accumulated using the following command, where N is the line number we need:
 
@@ -53,55 +53,61 @@ Case (see Table 1)
         *)
 
 	newcurve
-	(* output core pure I/O *)
-	marktype xbar marksize 0.8 fill 0 pattern solid cfill 1 0 0
+	(* input core I/O + prebf dsp *)
+	marktype xbar marksize 0.8 fill 0 pattern solid cfill 0.494117618 0 0.129411757
+
 	pts
         shell : awk -v N=7 '/->/ {a+=$3;b+=$5;c+=$7;d+=$9;e+=$11;f+=$13;n++; if(n==N) print "1 " a " 2 " b " 3 " c " 4 " d " 5 " e " 6 " f;}' <execution_times.jgr
-	label : Output to I/O node
+	label : 1st all-to-all exchange & \
+input handling
 
 	newcurve
-	(* output reorder *)
-	marktype xbar marksize 0.8 fill 0.8 pattern solid cfill 1 1 0
+	(* beam forming *)
+	marktype xbar marksize 0.8 fill 0.8 pattern solid cfill 1 .5 1
 	pts
         shell : awk -v N=6 '/->/ {a+=$3;b+=$5;c+=$7;d+=$9;e+=$11;f+=$13;n++; if(n==N) print "1 " a " 2 " b " 3 " c " 4 " d " 5 " e " 6 " f;}' <execution_times.jgr
-	label : Output reordering
+	label : Beam forming
 
 	newcurve
-	(* 2nd xpose *)
-	marktype xbar marksize 0.8 fill 1 pattern solid cfill 0 0.7 0
+	(* coh dd *)
+	marktype xbar marksize 0.8 fill 1 pattern solid cfill 0 0.270588219 0.525490165
+
 	pts
         shell : awk -v N=5 '/->/ {a+=$3;b+=$5;c+=$7;d+=$9;e+=$11;f+=$13;n++; if(n==N) print "1 " a " 2 " b " 3 " c " 4 " d " 5 " e " 6 " f;}' <execution_times.jgr
-	label : 2nd all-to-all exchange
+	label : Channel dedispersion \
+(cases D-F)
 
 	newcurve
 	(* stokes calculation *)
-	marktype xbar marksize 0.8 pattern stripe 45 cfill 0 1 1
+	marktype xbar marksize 0.8 pattern solid cfill 1 0.258823514 0.0549019575
+
 	pts
         shell : awk -v N=4 '/->/ {a+=$3;b+=$5;c+=$7;d+=$9;e+=$11;f+=$13;n++; if(n==N) print "1 " a " 2 " b " 3 " c " 4 " d " 5 " e " 6 " f;}' <execution_times.jgr
 	label : Stokes calculations
 
 	newcurve
-	(* coh dd *)
-	marktype xbar marksize 0.8 fill 0.2 pattern solid cfill 1 0 1
+	(* 2nd xpose *)
+	marktype xbar marksize 0.8 fill 0.2 pattern solid cfill 1 0.827450931 0.125490189
+
 	pts
         shell : awk -v N=3 '/->/ {a+=$3;b+=$5;c+=$7;d+=$9;e+=$11;f+=$13;n++; if(n==N) print "1 " a " 2 " b " 3 " c " 4 " d " 5 " e " 6 " f;}' <execution_times.jgr
-	label : Channel dedispersion \
-(cases D-F)
+	label : 2nd all-to-all exchange
 
 	newcurve
-	(* beam forming *)
-	marktype xbar marksize 0.8 fill 0.5 pattern solid cfill 0 0 1
+	(* output reorder *)
+	marktype xbar marksize 0.8 fill 0.5 pattern solid cfill 0.34117645 0.615686238 0.109803915
+
 	pts
         shell : awk -v N=2 '/->/ {a+=$3;b+=$5;c+=$7;d+=$9;e+=$11;f+=$13;n++; if(n==N) print "1 " a " 2 " b " 3 " c " 4 " d " 5 " e " 6 " f;}' <execution_times.jgr
-	label : Beam forming
+	label : Output reordering
 
 	newcurve
-	(* input core I/O + prebf dsp *)
-	marktype xbar marksize 0.8 fill 0.5 pattern stripe -45 cfill 0 0.7 0
+	(* output core pure I/O *)
+	marktype xbar marksize 0.8 fill 0.5 pattern solid cfill 0.51372546 0.792156816 1
+
 	pts
         shell : awk -v N=1 '/->/ {a+=$3;b+=$5;c+=$7;d+=$9;e+=$11;f+=$13;n++; if(n==N) print "1 " a " 2 " b " 3 " c " 4 " d " 5 " e " 6 " f;}' <execution_times.jgr
-	label : 1st all-to-all exchange & \
-input handling
+	label : Output to I/O node
 
   	legend top defaults hjl linelength 75 x 4 y 110
 
diff --git a/doc/papers/2011/europar/ionperf.jgr b/doc/papers/2011/europar/ionperf.jgr
index 6ddfca3eb11..7e567d22c3a 100644
--- a/doc/papers/2011/europar/ionperf.jgr
+++ b/doc/papers/2011/europar/ionperf.jgr
@@ -154,35 +154,40 @@ Case (see Table 1)
 
 	newcurve
 	(* station->ion *)
-	marktype xbar marksize 0.8 fill 0.5 pattern stripe -45 cfill 0 0.7 0
+	marktype xbar marksize 0.8 fill 0.5 pattern solid cfill 0 0.270588219 0.525490165
+
 	pts
         shell : awk -v N=5 '/->/ {a+=$3;b+=$5;c+=$7;d+=$9;e+=$11;f+=$13;n++; if(n==N) print "1 " a " 2 " b " 3 " c " 4 " d " 5 " e " 6 " f;}' <ionperf.jgr
 	label hjl x 1 y 105 : Input from station
 
 	newcurve
 	(* delaycomp *)
-	marktype xbar marksize 0.8 fill 0.5 pattern solid cfill 0 0 1
+	marktype xbar marksize 0.8 fill 0.5 pattern solid cfill 1 0.258823514 0.0549019575
+
 	pts
         shell : awk -v N=4 '/->/ {a+=$3;b+=$5;c+=$7;d+=$9;e+=$11;f+=$13;n++; if(n==N) print "1 " a " 2 " b " 3 " c " 4 " d " 5 " e " 6 " f;}' <ionperf.jgr
 	label hjl x 1 y 100 : Weight computations
 
 	newcurve
 	(* ion<->cn *)
-	marktype xbar marksize 0.8 pattern stripe 45 cfill 0 1 1
+	marktype xbar marksize 0.8 pattern solid cfill 1 0.827450931 0.125490189
+        
 	pts
         shell : awk -v N=3 '/->/ {a+=$3;b+=$5;c+=$7;d+=$9;e+=$11;f+=$13;n++; if(n==N) print "1 " a " 2 " b " 3 " c " 4 " d " 5 " e " 6 " f;}' <ionperf.jgr
 	label hjl x 1 y  95 : I/O with compute cores
 
 	newcurve
 	(* ion->storage *)
-	marktype xbar marksize 0.8 fill 0.2 pattern solid cfill 1 0 1
+	marktype xbar marksize 0.8 fill 0.2 pattern solid cfill 0.34117645 0.615686238 0.109803915
+ 
 	pts
         shell : awk -v N=2 '/->/ {a+=$3;b+=$5;c+=$7;d+=$9;e+=$11;f+=$13;n++; if(n==N) print "1 " a " 2 " b " 3 " c " 4 " d " 5 " e " 6 " f;}' <ionperf.jgr
 	label hjl x 5 y 105 : Output to storage
 
 	newcurve
 	(* interrupts *)
-	marktype xbar marksize 0.8 fill 1 pattern solid cfill 0 0.7 0
+	marktype xbar marksize 0.8 fill 1 pattern solid cfill 0.51372546 0.792156816 1
+
 	pts
         shell : awk -v N=1 '/->/ {a+=$3;b+=$5;c+=$7;d+=$9;e+=$11;f+=$13;n++; if(n==N) print "1 " a " 2 " b " 3 " c " 4 " d " 5 " e " 6 " f;}' <ionperf.jgr
 	label hjl x 5 y 100 : IRQ handling
diff --git a/doc/papers/2011/europar/lofar.pdf b/doc/papers/2011/europar/lofar.pdf
index e00393c58c6fcce445c72279337d57effe0af01c..d61299958ce2e164968d4e914e9c1976fd65af26 100644
GIT binary patch
delta 22543
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
WC`wJ^GB+_YFg4;*Rdw}u;{pI4t{2Pz

delta 26848
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

diff --git a/doc/papers/2011/europar/lofar.tex b/doc/papers/2011/europar/lofar.tex
index 0652d9643a7..1636385b551 100644
--- a/doc/papers/2011/europar/lofar.tex
+++ b/doc/papers/2011/europar/lofar.tex
@@ -132,15 +132,7 @@ The beam former combines the chunks from all stations, producing a chunk for eac
 
 %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, in portions of 128 samples, or a subset thereof to cover the remainders. While the exact ideal set size in which the data is to be processed is platform specific, we have shown in previous work that similar tradeoffs exist for similar problems across different architectures~\cite{Nieuwpoort:09}.
 
-\comment{
 \begin{listing}
-\caption{Pseudo code for the processing loops around the beam former assembly.}
-\label{lst:beam-forming}
-\end{listing}        
-}
-
-All time-consuming pipeline components are written in assembly, to achieve maximum performance.  The assembly code minimises the number of memory accesses, minimises load delays, minimises FPU pipeline stalls, and maximises instruction-level parallelism.  We learnt that optimal performance is often achieved by combining multiple iterations of a multi-dimensional loops:
-
 \lstset{language=pseudo}
 \begin{lstlisting}{}
 FOR Channel IN 1 .. NrChannels DO
@@ -149,8 +141,11 @@ FOR Channel IN 1 .. NrChannels DO
       FOR Beam IN 1 .. NrBeams STEP 3 DO
         BeamForm6StationsAnd128TimesTo3BeamsAssembly(...)
 \end{lstlisting}
+\caption{Pseudo code for the processing loops around the beam former assembly.}
+\label{lst:beam-forming}
+\end{listing}        
 
-This is much more efficient than to create all beams one at a time, due to better reuse of data loaded from main memory.  Finding the most efficient way to group work is a combination of careful analysis and, unfortunately, trial-and-error. The coherent beam former achieves 85\% of the FPU peak performance, not as high as the 96\% of the correlator~\cite{Romein:10a}, but still 16 times more than the C++ reference implementation. 
+All time-consuming pipeline components are written in assembly, to achieve maximum performance.  The assembly code minimises the number of memory accesses, minimises load delays, minimises FPU pipeline stalls, and maximises instruction-level parallelism.  We learnt that optimal performance is often achieved by combining multiple iterations of a multi-dimensional loops like shown in Listing~\ref{lst:beam-forming}. This is much more efficient than to create all beams one at a time, due to better reuse of data loaded from main memory.  Finding the most efficient way to group work is a combination of careful analysis and, unfortunately, trial-and-error. The coherent beam former achieves 86\% of the FPU peak performance, not as high as the 96\% of the correlator~\cite{Romein:10a}, but still 16 times more than the C++ reference implementation. 
 %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 complex voltages or transformed into the Stokes IQUV or the Stokes I parameters. In the latter case, the beams can also be integrated temporally to reduce the resulting data rate. Finally, an incoherent beam can be created in parallel, and converted into either Stokes I or Stokes IQUV parameters.
 
 %Our beam former supports several pipelines: \emph{complex voltages}, \emph{Stokes IQUV}, and \emph{Stokes I}. The complex voltages pipeline outputs the raw tied-array beams, which consist of two 3.1~Gb/s streams of 32-bit complex floating points numbers (floats), one stream for each polarisation. The Stokes IQUV pipeline applies a domain transformation to each sample of the raw tied-array beams, which is useful for polarisation-related studies. The four Stokes parameters, calculated through $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 float, resulting in four 1.5~Gb/s streams. The Stokes I pipeline calculates only the first Stokes parameter, which represents the signal strength in both polarisations. The Stokes I pipeline supports temporal integration to trade time resolution for a reduced bandwidth per beam, allowing more beams to be created.
@@ -217,7 +212,6 @@ We will focus our performance analysis on the most challenging cases that are of
 \vspace{-1cm}
 \end{wrapfigure}
 
-% TODO: getallen kloppen niet.. 13 beams is 80.6 Gb/s, en met 70 Gb/s zouden we 11 beams aan moeten kunnen
 Figure \ref{fig:stations-beams} shows the maximum number of beams that can be created when using a various number of stations, in each of the three pipelines: complex voltages, Stokes IQUV, and Stokes I. Both the complex voltages and the Stokes IQUV pipelines are I/O bound. Each beam is 6.2~Gb/s wide. We can make at most 13 beams without exceeding the available 81~Gb/s to our storage cluster. If 64 stations are used, the available bandwidth is 70~Gb/s due to the fact that an I/O node can only output 1.1~Gb/s if it also has to process station data. The granularity with which the output can be distributed over the I/O nodes, as well as scheduling details, determine the actual number of beams that can be created, but in all cases, the beam former can create at least 10 beams at LOFAR's full observational bandwidth.
 
 In the Stokes I pipeline, we applied several integration factors (1, 2, 4, 8, and 16) in order to show the trade-off between beam quality and the number of beams. Integration factors higher than 16 does not allow significantly more beams to be created, but could be used in order to further reduce the total output rate. For low integration factors, the beam former is again limited by the available output bandwidth. Once the Stokes I streams are integrated sufficiently, the system becomes bounded by the compute nodes: if only signals from a few stations have to be combined, the beam former is limited by the amount of available memory required to store the beams. If more input has to be combined, the beam former becomes limited by the CPU power available in the compute cores. For observations for which a high integration factor is acceptable, the beam former is able to create 155 up to 543 tied-array beams, depending on the number of stations used. For observations that need a high time resolution and thus a low integration factor, the beam former is still able to create at least 42 tied-array beams.
@@ -276,7 +270,7 @@ Case & Mode & Channel & Int. & Stations & Beams  & Input & Output & Bound & Used
 \circlenumber{C} & Stokes I    & N &  8 & 64 & 155 & 198 Gb/s & 30 Gb/s & CPU   & Surveys \\  
 \circlenumber{D} & Stokes IQUV & Y & - & 24 &  13 &  74 Gb/s & 81 Gb/s & I/O   & Known sources \\
 \circlenumber{E} & Stokes IQUV & Y & - & 64 &  10 & 198 Gb/s & 62 Gb/s & I/O   & Known sources \\
-\circlenumber{F} & Stokes I    & Y & 1 & 64 &  42 & 198 Gb/s & 65 Gb/s & CPU   & Known sources 
+\circlenumber{F} & Stokes I    & Y & 1 & 64 &  42 & 198 Gb/s & 65 Gb/s & I/O   & Known sources 
 \end{tabular}
 \caption{Several highlighted cases.}
 \label{table:cases}
@@ -296,7 +290,7 @@ The costs for both the first and the second all-to-all exchange are mostly hidde
 
 For the I/O-bound cases \circlenumber{D}\circlenumber{E}\circlenumber{F}, only a few tied-array beams are formed and transformed into Stokes I(QUV) parameters, which produces a lot of data but requires little CPU time. Enough CPU time is therefore available to include channel-level dedispersion, which scales with the number of beams and is an expensive operation.
 
-Figure \ref{fig:ionperf} shows the workload for the busiest I/O nodes in each case, including the time spent in the kernel to handle IRQs. Processing the station data and communicating with the compute cores cause most of the load. For cases \circlenumber{A} and \circlenumber{B}, the output is handled by other I/O nodes. Both cases form many beams, and thus require time to compute beam former weights. Cases \circlenumber{C}\circlenumber{D}\circlenumber{E}\circlenumber{F} do handle output, and show nearly identical behaviour.
+Figure \ref{fig:ionperf} shows the workload for the busiest I/O nodes in each case, including the time spent in the kernel to handle IRQs. Processing the station data and communicating with the compute cores cause most of the load. For cases \circlenumber{A} and \circlenumber{B}, the output is handled by other I/O nodes. Both cases form many beams, and thus require time to compute the positional weights that are required by the beam former. Cases \circlenumber{C}\circlenumber{D}\circlenumber{E}\circlenumber{F} do handle output, and show nearly identical behaviour.
 
 \section{Related Work}
 \label{Sec:related-work}
@@ -317,7 +311,7 @@ The use of a software solution on powerful interconnected hardware is a key aspe
 
 The BG/P supercomputer provides us with enough computing power and powerful networks to be able to implement the signal processing and all-to-all-exchanges that we require, without having to resort to a dedicated system which inevitably curbs the design freedom that the supercomputer provides. As with any system, platform-specific parameters nevertheless become important when maximal performance is desired. Although a C reference implementation allowed us to quickly develop and test features, we needed handcrafted assembly to keep the double FPUs of each compute core busy.
 
-The architecture of the BG/P makes some tasks more difficult as well. The fact that an I/O node can only communicate with its own compute cores prevents us from freely scheduling the workload. Instead, we had to manually route the data using two all-to-all exchanges in order to stream the data from and to the right I/O nodes. To achieve maximum performance, we tuned the distribution of the workload over the cores to avoid network collisions.
+The architecture of the BG/P makes some tasks more difficult as well. The fact that an I/O node can only communicate with its own compute cores prevents us from freely scheduling the workload. Instead, we have to manually route the data using two all-to-all exchanges in order to stream the data from and to the right I/O nodes. To achieve maximum performance, we tuned the distribution of the workload over the cores to avoid network collisions.
 
 \bibliographystyle{plain}
 \bibliography{lofar}
diff --git a/doc/papers/2011/europar/stations-beams.jgr b/doc/papers/2011/europar/stations-beams.jgr
index 2ec46bb4d48..c7a2bfa598b 100644
--- a/doc/papers/2011/europar/stations-beams.jgr
+++ b/doc/papers/2011/europar/stations-beams.jgr
@@ -26,7 +26,6 @@ newgraph
     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
@@ -54,7 +53,7 @@ newgraph
     hash_label at 24 : 576
 *)
     min 0
-    max 24
+    max 22
 
 newline
   linetype dotted
@@ -188,6 +187,7 @@ newstring : Stokes I, \
   x 2 y 18.2
   hjl vjc
 
+(*
 newline
   linetype dotted
   linethickness 2.0
@@ -197,15 +197,19 @@ newline
       8 20.15 (* 406 *)
       12 19.60 (* 384 *)
       16 19.60 (* 384 *)
+*)
 
 newline
   linetype solid
   linethickness 2.0
   color 1 0 1
   pts
+      24 17.03 (* 290 *)
+  (*
       16 19.60 (* 384 *)
       20 18.97 (* 360 *)
       24 18.08 (* 327 *)
+  *)    
       28 17.26 (* 298 *)
       32 16.43 (* 270 *)
       36 15.84 (* 251 *)
@@ -221,6 +225,7 @@ newstring : Stokes I, 16x integration
   x 15 y 22
   hjl vjc
 
+  (*
 newline
   linetype dotted
   linethickness 2.0
@@ -228,16 +233,23 @@ newline
   pts
       4 23.26 (* 541 *)
       8 23.17 (* 537 *)
+  *)    
 
 newline  
   linetype solid
   linethickness 2.0
   color 0 1 1
   pts
+      4 21.21 (* 450 *)
+      8 21.21 (* 450 *)
+      12 20.62 (* 425 *)
+      16 19.75 (* 390 *)
+  (*
       8 23.17 (* 537 *)
       12 21.84 (* 477 *)
       16 20.37 (* 415 *)
       20 18.97 (* 360 *)
+  *)    
       24 18.08 (* 327 *)
       28 17.26 (* 298 *)
       32 16.43 (* 270 *)
-- 
GitLab