
\documentclass[journal]{IEEEtran}

% *** MISC UTILITY PACKAGES ***
%
%\usepackage{ifpdf}
% Heiko Oberdiek's ifpdf.sty is very useful if you need conditional
% compilation based on whether the output is pdf or dvi.
% usage:
% \ifpdf
%   % pdf code
% \else
%   % dvi code
% \fi
% The latest version of ifpdf.sty can be obtained from:
% http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/
% Also, note that IEEEtran.cls V1.7 and later provides a builtin
% \ifCLASSINFOpdf conditional that works the same way.
% When switching from latex to pdflatex and vice-versa, the compiler may
% have to be run twice to clear warning/error messages.


\usepackage{booktabs}
\usepackage{multirow}
\usepackage{amsmath}
\DeclareMathOperator*{\Max}{max}

% *** CITATION PACKAGES ***
%
%\usepackage{cite}
% cite.sty was written by Donald Arseneau
% V1.6 and later of IEEEtran pre-defines the format of the cite.sty package
% \cite{} output to follow that of IEEE. Loading the cite package will
% result in citation numbers being automatically sorted and properly
% "compressed/ranged". e.g., [1], [9], [2], [7], [5], [6] without using
% cite.sty will become [1], [2], [5]--[7], [9] using cite.sty. cite.sty's
% \cite will automatically add leading space, if needed. Use cite.sty's
% noadjust option (cite.sty V3.8 and later) if you want to turn this off.
% cite.sty is already installed on most LaTeX systems. Be sure and use
% version 4.0 (2003-05-27) and later if using hyperref.sty. cite.sty does
% not currently provide for hyperlinked citations.
% The latest version can be obtained at:
% http://www.ctan.org/tex-archive/macros/latex/contrib/cite/
% The documentation is contained in the cite.sty file itself.

\usepackage{hyperref}
\def\UrlBreaks{\do\/\do-}




% *** GRAPHICS RELATED PACKAGES ***
%
\ifCLASSINFOpdf
  \usepackage[pdftex]{graphicx}
  % declare the path(s) where your graphic files are
  % \graphicspath{{../pdf/}{../jpeg/}}
  % and their extensions so you won't have to specify these with
  % every instance of \includegraphics
  \DeclareGraphicsExtensions{.pdf,.jpeg,.png}
\else
  % or other class option (dvipsone, dvipdf, if not using dvips). graphicx
  % will default to the driver specified in the system graphics.cfg if no
  % driver is specified.
  % \usepackage[dvips]{graphicx}
  % declare the path(s) where your graphic files are
  % \graphicspath{{../eps/}}
  % and their extensions so you won't have to specify these with
  % every instance of \includegraphics
  % \DeclareGraphicsExtensions{.eps}
\fi
% graphicx was written by David Carlisle and Sebastian Rahtz. It is
% required if you want graphics, photos, etc. graphicx.sty is already
% installed on most LaTeX systems. The latest version and documentation can
% be obtained at: 
% http://www.ctan.org/tex-archive/macros/latex/required/graphics/
% Another good source of documentation is "Using Imported Graphics in
% LaTeX2e" by Keith Reckdahl which can be found as epslatex.ps or
% epslatex.pdf at: http://www.ctan.org/tex-archive/info/
%
% latex, and pdflatex in dvi mode, support graphics in encapsulated
% postscript (.eps) format. pdflatex in pdf mode supports graphics
% in .pdf, .jpeg, .png and .mps (metapost) formats. Users should ensure
% that all non-photo figures use a vector format (.eps, .pdf, .mps) and
% not a bitmapped formats (.jpeg, .png). IEEE frowns on bitmapped formats
% which can result in "jaggedy"/blurry rendering of lines and letters as
% well as large increases in file sizes.
%
% You can find documentation about the pdfTeX application at:
% http://www.tug.org/applications/pdftex





% *** MATH PACKAGES ***
%
%\usepackage[cmex10]{amsmath}
% A popular package from the American Mathematical Society that provides
% many useful and powerful commands for dealing with mathematics. If using
% it, be sure to load this package with the cmex10 option to ensure that
% only type 1 fonts will utilized at all point sizes. Without this option,
% it is possible that some math symbols, particularly those within
% footnotes, will be rendered in bitmap form which will result in a
% document that can not be IEEE Xplore compliant!
%
% Also, note that the amsmath package sets \interdisplaylinepenalty to 10000
% thus preventing page breaks from occurring within multiline equations. Use:
%\interdisplaylinepenalty=2500
% after loading amsmath to restore such page breaks as IEEEtran.cls normally
% does. amsmath.sty is already installed on most LaTeX systems. The latest
% version and documentation can be obtained at:
% http://www.ctan.org/tex-archive/macros/latex/required/amslatex/math/





% *** SPECIALIZED LIST PACKAGES ***
%
%\usepackage{algorithmic}
% algorithmic.sty was written by Peter Williams and Rogerio Brito.
% This package provides an algorithmic environment fo describing algorithms.
% You can use the algorithmic environment in-text or within a figure
% environment to provide for a floating algorithm. Do NOT use the algorithm
% floating environment provided by algorithm.sty (by the same authors) or
% algorithm2e.sty (by Christophe Fiorio) as IEEE does not use dedicated
% algorithm float types and packages that provide these will not provide
% correct IEEE style captions. The latest version and documentation of
% algorithmic.sty can be obtained at:
% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithms/
% There is also a support site at:
% http://algorithms.berlios.de/index.html
% Also of interest may be the (relatively newer and more customizable)
% algorithmicx.sty package by Szasz Janos:
% http://www.ctan.org/tex-archive/macros/latex/contrib/algorithmicx/




% *** ALIGNMENT PACKAGES ***
%
%\usepackage{array}
% Frank Mittelbach's and David Carlisle's array.sty patches and improves
% the standard LaTeX2e array and tabular environments to provide better
% appearance and additional user controls. As the default LaTeX2e table
% generation code is lacking to the point of almost being broken with
% respect to the quality of the end results, all users are strongly
% advised to use an enhanced (at the very least that provided by array.sty)
% set of table tools. array.sty is already installed on most systems. The
% latest version and documentation can be obtained at:
% http://www.ctan.org/tex-archive/macros/latex/required/tools/


%\usepackage{mdwmath}
%\usepackage{mdwtab}
% Also highly recommended is Mark Wooding's extremely powerful MDW tools,
% especially mdwmath.sty and mdwtab.sty which are used to format equations
% and tables, respectively. The MDWtools set is already installed on most
% LaTeX systems. The lastest version and documentation is available at:
% http://www.ctan.org/tex-archive/macros/latex/contrib/mdwtools/


% IEEEtran contains the IEEEeqnarray family of commands that can be used to
% generate multiline equations as well as matrices, tables, etc., of high
% quality.


%\usepackage{eqparbox}
% Also of notable interest is Scott Pakin's eqparbox package for creating
% (automatically sized) equal width boxes - aka "natural width parboxes".
% Available at:
% http://www.ctan.org/tex-archive/macros/latex/contrib/eqparbox/





% *** SUBFIGURE PACKAGES ***
%\usepackage[tight,footnotesize]{subfigure}
% subfigure.sty was written by Steven Douglas Cochran. This package makes it
% easy to put subfigures in your figures. e.g., "Figure 1a and 1b". For IEEE
% work, it is a good idea to load it with the tight package option to reduce
% the amount of white space around the subfigures. subfigure.sty is already
% installed on most LaTeX systems. The latest version and documentation can
% be obtained at:
% http://www.ctan.org/tex-archive/obsolete/macros/latex/contrib/subfigure/
% subfigure.sty has been superceeded by subfig.sty.



%\usepackage[caption=false]{caption}
%\usepackage[font=footnotesize]{subfig}
% subfig.sty, also written by Steven Douglas Cochran, is the modern
% replacement for subfigure.sty. However, subfig.sty requires and
% automatically loads Axel Sommerfeldt's caption.sty which will override
% IEEEtran.cls handling of captions and this will result in nonIEEE style
% figure/table captions. To prevent this problem, be sure and preload
% caption.sty with its "caption=false" package option. This is will preserve
% IEEEtran.cls handing of captions. Version 1.3 (2005/06/28) and later 
% (recommended due to many improvements over 1.2) of subfig.sty supports
% the caption=false option directly:
%\usepackage[caption=false,font=footnotesize]{subfig}
%
% The latest version and documentation can be obtained at:
% http://www.ctan.org/tex-archive/macros/latex/contrib/subfig/
% The latest version and documentation of caption.sty can be obtained at:
% http://www.ctan.org/tex-archive/macros/latex/contrib/caption/




% *** FLOAT PACKAGES ***
%
%\usepackage{fixltx2e}
% fixltx2e, the successor to the earlier fix2col.sty, was written by
% Frank Mittelbach and David Carlisle. This package corrects a few problems
% in the LaTeX2e kernel, the most notable of which is that in current
% LaTeX2e releases, the ordering of single and double column floats is not
% guaranteed to be preserved. Thus, an unpatched LaTeX2e can allow a
% single column figure to be placed prior to an earlier double column
% figure. The latest version and documentation can be found at:
% http://www.ctan.org/tex-archive/macros/latex/base/



%\usepackage{stfloats}
% stfloats.sty was written by Sigitas Tolusis. This package gives LaTeX2e
% the ability to do double column floats at the bottom of the page as well
% as the top. (e.g., "\begin{figure*}[!b]" is not normally possible in
% LaTeX2e). It also provides a command:
%\fnbelowfloat
% to enable the placement of footnotes below bottom floats (the standard
% LaTeX2e kernel puts them above bottom floats). This is an invasive package
% which rewrites many portions of the LaTeX2e float routines. It may not work
% with other packages that modify the LaTeX2e float routines. The latest
% version and documentation can be obtained at:
% http://www.ctan.org/tex-archive/macros/latex/contrib/sttools/
% Documentation is contained in the stfloats.sty comments as well as in the
% presfull.pdf file. Do not use the stfloats baselinefloat ability as IEEE
% does not allow \baselineskip to stretch. Authors submitting work to the
% IEEE should note that IEEE rarely uses double column equations and
% that authors should try to avoid such use. Do not be tempted to use the
% cuted.sty or midfloat.sty packages (also by Sigitas Tolusis) as IEEE does
% not format its papers in such ways.


%\ifCLASSOPTIONcaptionsoff
%  \usepackage[nomarkers]{endfloat}
% \let\MYoriglatexcaption\caption
% \renewcommand{\caption}[2][\relax]{\MYoriglatexcaption[#2]{#2}}
%\fi
% endfloat.sty was written by James Darrell McCauley and Jeff Goldberg.
% This package may be useful when used in conjunction with IEEEtran.cls'
% captionsoff option. Some IEEE journals/societies require that submissions
% have lists of figures/tables at the end of the paper and that
% figures/tables without any captions are placed on a page by themselves at
% the end of the document. If needed, the draftcls IEEEtran class option or
% \CLASSINPUTbaselinestretch interface can be used to increase the line
% spacing as well. Be sure and use the nomarkers option of endfloat to
% prevent endfloat from "marking" where the figures would have been placed
% in the text. The two hack lines of code above are a slight modification of
% that suggested by in the endfloat docs (section 8.3.1) to ensure that
% the full captions always appear in the list of figures/tables - even if
% the user used the short optional argument of \caption[]{}.
% IEEE papers do not typically make use of \caption[]'s optional argument,
% so this should not be an issue. A similar trick can be used to disable
% captions of packages such as subfig.sty that lack options to turn off
% the subcaptions:
% For subfig.sty:
% \let\MYorigsubfloat\subfloat
% \renewcommand{\subfloat}[2][\relax]{\MYorigsubfloat[]{#2}}
% For subfigure.sty:
% \let\MYorigsubfigure\subfigure
% \renewcommand{\subfigure}[2][\relax]{\MYorigsubfigure[]{#2}}
% However, the above trick will not work if both optional arguments of
% the \subfloat/subfig command are used. Furthermore, there needs to be a
% description of each subfigure *somewhere* and endfloat does not add
% subfigure captions to its list of figures. Thus, the best approach is to
% avoid the use of subfigure captions (many IEEE journals avoid them anyway)
% and instead reference/explain all the subfigures within the main caption.
% The latest version of endfloat.sty and its documentation can obtained at:
% http://www.ctan.org/tex-archive/macros/latex/contrib/endfloat/
%
% The IEEEtran \ifCLASSOPTIONcaptionsoff conditional can also be used
% later in the document, say, to conditionally put the References on a 
% page by themselves.





% *** PDF, URL AND HYPERLINK PACKAGES ***
%
%\usepackage{url}
% url.sty was written by Donald Arseneau. It provides better support for
% handling and breaking URLs. url.sty is already installed on most LaTeX
% systems. The latest version can be obtained at:
% http://www.ctan.org/tex-archive/macros/latex/contrib/misc/
% Read the url.sty source comments for usage information. Basically,
% \url{my_url_here}.





% *** Do not adjust lengths that control margins, column widths, etc. ***
% *** Do not use packages that alter fonts (such as pslatex).         ***
% There should be no need to do such things with IEEEtran.cls V1.6 and later.
% (Unless specifically asked to do so by the journal or conference you plan
% to submit to, of course. )


% correct bad hyphenation here
\hyphenation{op-tical net-works semi-conduc-tor}


\begin{document}
%
% paper title
% can use linebreaks \\ within to get better formatting as desired
\title{Worldwide Internet Performance Measurements Using Lightweight Measurement Platforms
}
%
%
% author names and IEEE memberships
% note positions of commas and nonbreaking spaces ( ~ ) LaTeX will not break
% a structure at a ~ so this keeps an author's name from being broken across
% two lines.
% use \thanks{} to gain access to the first footnote area
% a separate \thanks must be used for each paragraph as LaTeX2e's \thanks
% was not built to handle multiple paragraphs
%

\author{R.~Les~Cottrell\IEEEauthorrefmark{1},
        Thiago Barbosa\IEEEauthorrefmark{1},
        Bebo White\IEEEauthorrefmark{1},
        Johari~Abdullah\IEEEauthorrefmark{2}
        and~Topher~White\IEEEauthorrefmark{3}
\thanks{\IEEEauthorrefmark{1}SLAC National Accelerator Lab, \{cottrell,bebo,thiago\}@slac.stanford.edu}
\thanks{\IEEEauthorrefmark{2}Universiti Malaysia Sarawak, ajohari@fit.unimas.my}
\thanks{\IEEEauthorrefmark{3}Rainforest Connection, topherwhite@gmail.com}
\thanks{This material is based upon work supported by the U.S. Department of Energy, Office of Science, Office of Basic Energy Sciences, under Contract No. DE-AC02-76SF00515.}
}

% note the % following the last \IEEEmembership and also \thanks - 
% these prevent an unwanted space from occurring between the last author name
% and the end of the author line. i.e., if you had this:
% 
% \author{....lastname \thanks{...} \thanks{...} }
%                     ^------------^------------^----Do not want these spaces!
%
% a space would be appended to the last name and could cause every name on that
% line to be shifted left slightly. This is one of those "LaTeX things". For
% instance, "\textbf{A} \textbf{B}" will typeset as "A B" not "AB". To get
% "AB" then you have to do: "\textbf{A}\textbf{B}"
% \thanks is no different in this regard, so shield the last } of each \thanks
% that ends a line with a % and do not let a space in before the next \thanks.
% Spaces after \IEEEmembership other than the last one are OK (and needed) as
% you are supposed to have spaces between the names. For what it is worth,
% this is a minor point as most people would not even notice if the said evil
% space somehow managed to creep in.



% The paper headers
%\markboth{Journal of \LaTeX\ Class Files,~Vol.~6, No.~1, January~2007}%
%{Shell \MakeLowercase{\textit{et al.}}: Bare Demo of IEEEtran.cls for Journals}
% The only time the second header will appear is for the odd numbered pages
% after the title page when using the twoside option.
% 
% *** Note that you probably will NOT want to include the author's ***
% *** name in the headers of peer review papers.                   ***
% You can use \ifCLASSOPTIONpeerreview for conditional compilation here if
% you desire.



% make the title area
\maketitle


\begin{abstract}
%\boldmath
These instructions give you basic guidelines for preparing camera-ready papers for conference proceedings. 
\end{abstract}
% IEEEtran.cls defaults to using nonbold math in the Abstract.
% This preserves the distinction between vectors and scalars. However,
% if the journal you are submitting to favors bold math in the abstract,
% then you can use LaTeX's standard command \boldmath at the very start
% of the abstract to achieve this. Many IEEE journals frown on math
% in the abstract anyway.

% Note that keywords are not normally used for peerreview papers.
\begin{IEEEkeywords}
About four key words or phrases in alphabetical order, separated by commas. For a list of suggested keywords, send a blank e-mail to keywords@ieee.org or visit http://www.ieee.org/organizations/pubs/ani\_prod/keywrd98.txt.
\end{IEEEkeywords}






% For peer review papers, you can put extra information on the cover
% page as needed:
% \ifCLASSOPTIONpeerreview
% \begin{center} \bfseries EDICS Category: 3-BBND \end{center}
% \fi
%
% For peerreview papers, this IEEEtran command inserts a page break and
% creates the second title. It will be ignored for other modes.
\IEEEpeerreviewmaketitle



\section{Introduction}
% The very first letter is a 2 line initial drop letter followed
% by the rest of the first word in caps.
% 
% form to use if the first word consists of a single letter:
% \IEEEPARstart{A}{demo} file is ....
% 
% form to use if you need the single drop letter followed by
% normal text (unknown if ever used by IEEE):
% \IEEEPARstart{A}{}demo file is ....
% 
% Some journals put the first two words in caps:
% \IEEEPARstart{T}{his demo} file is ....
% 
% Here we have the typical use of a "T" for an initial drop letter
% and "HIS" in caps to complete the first word.
This is a project to build and validate a PingER \cite{matthews2000pinger}  Measurement Agent (MA) based on an inexpensive Raspberry Pi\footnote{What is a Raspberry Pi, see https://www.raspberrypi.org/help/what-is-a-raspberry-pi/}  using a linux distribution called Raspbian as the Operating System. If successful one could consider using these in production: reducing the costs, power drain (they draw about ~3W of 5V DC power compared to typically over 100W for a deskside computer or 20W for a laptop) and space (credit card size). This is the same type of power required for a smartphone, so appropriate off-the-shelf products including a battery and solar cells are becoming readily available. Thus, the Raspberry could be very valuable for sites in developing countries where cost, power utilization and to a lesser extent space may be crucial. However, we need to ensure that the important metrics derived from the measurements made by the Raspberry Pi should not be significantly different from those made by a bare metal PingER MA, or if they are then this needs to be understood and possibly mitigated. In this paper we show the measurement set up and the analysis of the measurements to compare the results for MAs on very different hosts.
% You must have at least 2 lines in the paragraph with the drop letter
% (should never be an issue)
\section{Related Work}
The MA we are proposing to deploy on the Raspberry Pi is part of the PingER project \cite{matthews2000pinger} started in 1995. In 2009, as a joint project between SLAC and ICTP in Trieste Italy, a PingER MA was installed on a 6”x6” board embedded Linux platforms and deployed in Zambia \cite{cotrell2009}. Since then, the Raspberry Pi has been proposed as such a low cost network MA in 2013~\cite{hogg2013}. Following this there have been many MA projects based on the Raspberry Pi. There is also a proposal to install a Raspberry Pi PingER host in remote Sarawak areas \cite{cottrell2015}. However, we can find no references to whether the MA results from the Raspberry Pi platform differ significantly from a bare-metal platform.


\section{Requirement}
Two major points need to be addressed before we can comfortably deploy Raspberry Pi PingER MAs.

\begin{enumerate}
\item The Raspberry Pi PingER MA must be robust and reliable. It needs to run for months to years with no need for intervention. 

\item The important metrics derived from the measurements made by the Raspberry Pi should not be significantly different from those made by a bare metal PingER MA, or if they are then this needs to be understood. 
\end{enumerate}

In addition for some sites with power problems the MA will need to get its power from an alternate source such as solar. 

In this paper we mainly address item 2. We define the important metrics measured by PingER as being the minimum, average, median and jitter of the Round Trip Times (RTTs), the packet loss, together with the reachability (i.e. a target host is unreachable when no ping requests are responded by the target host). These are the main metrics that impact applications such as: throughput; real time applications such as voice over IP, streaming video, haptics, gaming; and estimating the geolocation of a host by pinging it from well known landmarks.  Such differences might result in significant discontinuities in the metric measurements if we were to change the monitoring host from a bare metal server to a Raspberry Pi.

The jitter can be represented in many ways including the standard deviation or Inter Quartile Range (IQR) of the RTT distributions, or the standard deviation or of the Inter Packet Delay (IPD). We call e Variability (IPDV) \cite{cottrell_tutorial}.

% needed in second column of first page if using \IEEEpubid
%\IEEEpubidadjcol


\begin{table*}[!th]
{
\caption{An Example of a Table}
\label{table_example}
\hfill{}
\renewcommand{\arraystretch}{1.4}
\centering
\begin{tabular}{|c|c|c|c|c|c|}
\hline
\textbf{Host, location}&\textbf{Latitude}& \textbf{Longitude} & \textbf{Great Circle distance} & \textbf{Min RTT} & \textbf{Directivity}\\
\hline
pinger.slac.stanford.edu           & 37.4190 N & 122.2085 W & 0 km      & 0.0003 ms & 0.001\\
pinger-raspberry.slac.stanford.edu & 37.4190 N & 122.2085 W & 0 km      & 0.0003 ms & 0.001\\
sitka.triumf.ca, Vancouver, Canada & 49.2475 N & 123.2308 W & 1319.6 km & 13.196 ms & 0.6\\
pinger.cern.ch, Geneva Switzerland & 46.23   N & 6.07 E     & 9390.6 km & 93.90 ms  & 0.63\\
\hline
\end{tabular}}
\hfill{}
\end{table*}


\section{Methodology}

\subsection{Pinger}
The measurement tool was a PingER MA in all cases. PingER (Ping End-to-end Reporting) is the name given to the Internet End-to-end Performance Measurement (IEPM) project to monitor end-to-end performance of Internet links. Originally, in 1995 it was for the High Energy Physics community, however, this century it has been more focused on measuring the Digital Divide from an Internet Performance viewpoint. The project now involves measurements to over 700 sites in over 160 countries. It uses the ubiquitous ping facility  so no special software has to be installed on the targets being measured by the MAs.

PingER measurements are made by ~60 MAs in 23 countries. They make measurements to over 700 targets in ~ 160 countries containing more than 99\% of the world's connected population. The measurement cycle is scheduled at roughly 30 minute intervals. At each measurement cycle, each MA issues a set of 100 Byte pings and a set of 1000 Byte ping requests to each target in the MA’s list of  targets, stopping when the MA receives 10 ping responses or it has issued 30 ping requests. The number of ping responses is referred to as N and is in the range 0 - 10. The data recorded for each set of pings consists of: the MA and target names and IP addresses; a time-stamp; the number of bytes in the ping request; the number of ping requests and responses (N); the minimum Round Trip Time (RTT) (Min\_RTT), the average RTT (Avg\_RTT) and maximum RTT (Max\_RTT) of the N  ping responses; followed by the N ping sequence numbers, followed by the N RTTs. From the N RTTs we derive various metrics including: the minimum ping RTT; average RTT; maximum  RTT;  standard deviation (stdev) of RTTs, 25\% probability (first quartile) of RTT; 75\% probability (third quartile) of RTT;  Inter Quartile Range (IQR);  loss; and reachability (host is unreachable if it gets 100\% loss). We also derive the Inter Packet delay (IPD) and the Inter Packet Delay Variability (IPDV) as the IQR of the IPDs.

The data is publicly available and since the online data goes back to January 1998, it currently provides ~19 years of historical data on worldwide Internet performance.





\subsection{Measurement Agents}
Since we believed, both a priori and from observations, that the major impact on the measurements was the network and not the servers' hardware or OS, we chose to make detailed analysis of a small subset of the PingER measurements. We chose the two representative MAs at SLAC and  two representative sites in Vancouver, Canada and Geneva Switzerland that are very reliable and well separated from SLAC, and hence with very different RTTs. The two MAs at SLAC were:

\begin{enumerate}
\item A 10 year old re-purposed Dell Poweredge 2650 3GHz with one physical processor with 16GBytes RAM re-purposed bare metal pinger.slac.stanford.edu server running Red Hat Linux  2.6.32-504.8.1.el6.i686. More information can be found at \url{https://confluence.slac.stanford.edu/display/IEPM/ePinger+Project+at+SLAC}.

\item A Raspberry Pi Armv61 pinger-raspberry.slac.stanford.edu server running  Gnu Linux
\begin{enumerate}
\item The Raspberry purchased  is a  version 1 of Raspberry Pi, model B. It has 512MB RAM, on a 700Mhz ARM CPU and a 32GB SD Card. It has 2 USB ports, 1 100Mb/s Ethernet interface and 1 HDMI port. For reasons of economy it does not have a Real Time Clock (RTC).  Instead, the Pi is intended to be connected to the Internet via Ethernet or WiFi, updating the time automatically from the global ntp (nework time protocol) servers (see \url{https://learn.adafruit.com/adding-a-real-time-clock-to-raspberry-pi/overview)}

\item b.	The Voltage requirement for the power is 5V+-5\%. Keep in mind that it is necessary to have a keyboard, a mouse and a HDMI monitor to do the installation process, but once PingER is working they are not necessary anymore.  We measured the power (Wattage) during normal use and it is 2.7 Watts. When using the Dell mouse, with an LED, powered from the Raspberry Pi it crept up to 3.2Watts.

For applications in remote areas with limited power, the Raspberry Pi needs to be able to run 24 hours a day with only solar derived power. Let's say the power required is 3W at 5V or (3/5)A=0.6A. If we have a 10Ah battery, then at 0.6A it should have power for 20Ah/0.6A ~ 16.6 hours. Then we need a solar cell to be able to refill the battery in a few hours of sunlight. Let's take a 20W  5V solar panel = 20/5 =4A solar panel. So initial guess to re-charge the 10Ah battery is 10Ah/4A = 2.5 hours. But inefficiencies~\cite{solar}  of say 2.5 extends this to 6.25 hours. 

\end{enumerate}
\end{enumerate}

Both the SLAC MAs  were in the same building at SLAC, i.e. roughly at latitude 37.4190 N, longitude 122.2085 W, but on different floors. The machines were about 30 metres apart or about 0.0003 ms based on the speed of light in a directly connected fibre. 

Information on the various hosts involved is given in the table below. The Directivity  in the table below provides a measure of how direct the route is between the MA and target. The 

Directivity is given as:

 
\begin{align}
Directivity &= \frac{Great\quad Circle\quad Distance[km] \quad\footnotemark }
{RTT[ms] * 100[km/ms]}
                                   \notag
\end{align}
\footnotetext{between MA and target }

The Directivity is $<=  1$, and a value of 1 means the RTT is the same as given by the speed of light in a fibre.


% An example of a floating figure using the graphicx package.
% Note that \label must occur AFTER (or within) \caption.
% For figures, \caption should occur after the \includegraphics.
% Note that IEEEtran v1.7 and later has special internal code that
% is designed to preserve the operation of \label within \caption
% even when the captionsoff option is in effect. However, because
% of issues like this, it may be the safest practice to put all your
% \label just after \caption rather than within \caption{}.
%
% Reminder: the "draftcls" or "draftclsnofoot", not "draft", class
% option should be used if it is desired that the figures are to be
% displayed while in draft mode.
%
%\begin{figure}[!t]
%\centering
%\includegraphics[width=2.5in]{myfigure}
% where an .eps filename suffix will be assumed under latex, 
% and a .pdf suffix will be assumed for pdflatex; or what has been declared
% via \DeclareGraphicsExtensions.
%\caption{Simulation Results}
%\label{fig_sim}
%\end{figure}

% Note that IEEE typically puts floats only at the top, even when this
% results in a large percentage of a column being occupied by floats.


% An example of a double column floating figure using two subfigures.
% (The subfig.sty package must be loaded for this to work.)
% The subfigure \label commands are set within each subfloat command, the
% \label for the overall figure must come after \caption.
% \hfil must be used as a separator to get equal spacing.
% The subfigure.sty package works much the same way, except \subfigure is
% used instead of \subfloat.
%
%\begin{figure*}[!t]
%\centerline{\subfloat[Case I]\includegraphics[width=2.5in]{subfigcase1}%
%\label{fig_first_case}}
%\hfil
%\subfloat[Case II]{\includegraphics[width=2.5in]{subfigcase2}%
%\label{fig_second_case}}}
%\caption{Simulation results}
%\label{fig_sim}
%\end{figure*}
%
% Note that often IEEE papers with subfigures do not employ subfigure
% captions (using the optional argument to \subfloat), but instead will
% reference/describe all of them (a), (b), etc., within the main caption.


% An example of a floating table. Note that, for IEEE style tables, the 
% \caption command should come BEFORE the table. Table text will default to
% \footnotesize as IEEE normally uses this smaller font for tables.
% The \label must come after \caption as always.
%
%\begin{table}[!t]
%% increase table row spacing, adjust to taste
%\renewcommand{\arraystretch}{1.3}
% if using array.sty, it might be a good idea to tweak the value of
% \extrarowheight as needed to properly center the text within the cells
%\caption{An Example of a Table}
%\label{table_example}
%\centering
%% Some packages, such as MDW tools, offer better commands for making tables
%% than the plain LaTeX2e tabular which is used here.
%\begin{tabular}{|c||c|}
%\hline
%One & Two\\
%\hline
%Three & Four\\
%\hline
%\end{tabular}
%\end{table}



% Note that IEEE does not put floats in the very first column - or typically
% anywhere on the first page for that matter. Also, in-text middle ("here")
% positioning is not used. Most IEEE journals use top floats exclusively.
% Note that, LaTeX2e, unlike IEEE journals, places footnotes above bottom
% floats. This can be corrected via the \fnbelowfloat command of the
% stfloats package.
\vspace{1em}
The measurements were made:
\begin{itemize}
\item between pinger.slac.stanford.edu and pinger-raspberry.slac.stanford.edu;

\item from both pinger.slac.stanford.edu and  pinger-raspberry.slac.stanford.edu to the targets at sitka.triumf.ca and pinger.cern.ch;

\item from the two MAs at sitka.triumf.ca and ping.cern.ch to pinger.slac.stanford.edu and pinger-raspberry.edu.
\end{itemize}

\begin{table*}[!t]
{
\caption{An Example of a Table}
\label{table_compare}
\hfill{}
\renewcommand{\arraystretch}{1.45}
\centering
\begin{tabular}{ccccccccc}
\hline
\textbf{Monitor Target /}&
\textbf{pinger to}& 
\textbf{raspberry to} & 
\textbf{pinger to} & 
\textbf{raspberry to} & 
\textbf{TRIUMF to} &
\textbf{TRIUMF  to} &
\textbf{pinger to} &
\textbf{raspberry to}\\

\textbf{Metric}&
\textbf{raspberry}& 
\textbf{pinger} & 
\textbf{TRIUMF} & 
\textbf{TRIUMF} & 
\textbf{pinger} &
\textbf{raspberry} &
\textbf{CERN} &
\textbf{CERN}\\


\hline
Time period  & Jun 17-Jul 16  & Jun 17-Jul 16 & Jun 17-Jul 14 & Jun 17-Jul 14 & Jul 14-Jul 20 & Jul 14-Jul 20 & Jun 17-Jul 12 & Jun 17-Jul 12\\

Samples  & 1361  & 1429 & 1362 & 1282 & 322 & 294 & 1283 & 1326\\

M=Min RTT ms  & 0.476  & 0.465 & 23.382 & 22.333 & 22.222 & 22.604 & 150.935 & 151.398\\

S=Error ms  & 0.023  & 0.024 & 13.5 & 6.45 & 6.288 & 0.067 & 0.026 & 2.258\\

Z  & 0.331	&-0.331	& 0.070	& -0.070 &	-0.061 &	0.061 & 	-0.205 &	0.205\\

M=Avg RTT ms &	0.542 &	0.526 &	24.041 & 23.855 & 22.422 & 22.813 & 151.06 & 151.512\\

S=Error  ms	&0.038&	0.117&	18.764&	9.236&	0.989&	0.712&	0.392&	2.267\\

Z&	0.130&	-0.130&	0.009&	-0.009&	-0.321&	0.321&	-0.220&	0.220\\

Samples&	10890&	10850&	12820&	13400&	6720&	6440&	12830&	13400\\

M=Median RTT ms&	0.542&	0.51&	24.041&	23.763&	22.378&	22.773&	150&	151\\
S=Error ms&	0.05&	0.052&	20.311&	12.215&	1.312&	1.156&	1.315&	2.37\\
Z&	0.444&	-0.444&	0.012&	-0.012&	-0.226&	0.226&	-0.369&	0.369\\
M=IPDV  ms&	0.07&	0.05&	0.19&	0.21&	0.2&	0.19&	0.01&	0\\

\hline
\end{tabular}}
\hfill{}
\end{table*}

\vspace{1em}

For each pair of hosts (MA and target) using the PingER measurements:
\begin{itemize}
\item for all the 30 minute measurement sets we plotted the Min\_RTT, Avg\_RTT and Max\_RT and loss as a  time series.

\item for all the N ping responses in all the sets we plotted the RTT distributions and recorded the minimum RTT, average RTT, maximum RTT, standard deviation of RTT, 25\% RTT, 75\% RTT Median RTT, IQR RTT, and loss

\item for all the pings in all the sets we plotted the Inter Packet Delay (IPD) distributions and recorded  the  minimum IPD, average IPD, maximum IPD, standard deviation of IPD, 25\% IPD, 75\% IPD, Median IPD, IQR IPD and loss.
\end{itemize}


\section{Results}
Table \ref{table_compare} compares pinger.slac.stanford results with pinger-raspberry.slac.stanford.edu results. It shows the more important aggregate metrics measured from an MA to a target. The columns are arranged in pairs. The first of each pair is for pinger.slac.stanford.edu, the second for pinger-raspberry.slac.stanford.edu. Each pair is measured over roughly the same time period identified in the Time period row. Different pairs are measured over different time periods.

The errors (+-) are estimated as follows for the relevant time period: 
\begin{itemize}
\item The M\textit{in\_RTT} error is the standard deviation of the \textit{Min\_RTTs}.

\item The \textit{Avg\_RTT} error is the standard deviation of the \textit{Avg\_RTTs}. 

\item The Median RTT error is the standard deviation of all the N RTTs for the time period

\item The IPDV error is the standard deviation of the hourly IPDVs for the time period
\end{itemize}

\subsection{Z-test}
Since the distributions are roughly normal (see for example the figure in the next section), to find the probability of the distributions overlapping we used the Z-test. For all the ‘ms’ rows in the table below, we calculated $Z = (M1 - M2)/sqrt(S_1^2-S_2^2)$ where M1 and M2 are the values, S1 and S2 are the errors. The subscripts 1 and 2 are those shown in the heading row. All values of Z were $<= 0.444$ and if the Z statistic is less then 2 the two samples are the same . Therefore we believe the differences between the pinger and pinger-raspberry measurements are not statistically significant. 

\subsection{Kolmogorov-Smirnov test}
The Kolmogorov-Smirnov test (KS-test) tries to determine if two datasets differ significantly. The KS-test has the advantage of making no assumption about the distribution of data. In other words it is non-parametric and distribution free. The method is explained here  and makes use of an Excel tool called "Real Statistics". The tests were made using the raw data and distributions, both methods had similar results except for the 100Bytes Packet that  had a great difference in the results. The results using raw data says both the 100 Byte packet and 1000 Byte packet samples do not come from the same distribution with a significant difference. 

% %table
\begin{table}[!t]
%% increase table row spacing, adjust to taste
\renewcommand{\arraystretch}{1.3}
% if using array.sty, it might be a good idea to tweak the value of
% \extrarowheight as needed to properly center the text within the cells
\caption{An Example of a Table}
\label{table_example}
\centering
%% Some packages, such as MDW tools, offer better commands for making tables
%% than the plain LaTeX2e tabular which is used here.
\begin{tabular}{|c|c|c|c|c|c}
\hline
       & Raw data  & Distribution & Raw data  & Distribution\\
       & 100 Packets  & 100 Packets & 1000 Packets  & 1000 Packets\\
\hline
D-stat  & 0.194674 & 0.039323 & 0.205525 & 0.194379\\\hline
P-value & 4.57E-14 & 0.551089 & 2.07E-14 & 7.32E-14\\\hline
D-crit  & 0.0667   & 0.067051 & 0.0667   & 0.067051\\\hline
Size of  & 816 & 816 & 816 & 816\\
Raspberry &&&&\\\hline
Size of   & 822 & 822 & 822 & 822\\ 
Pinger &&&&\\
\hline
Alpha  & \multicolumn{4}{c|}{0.05}\\
\hline
\end{tabular}
\end{table}

If D-stat is greater than D-crit the samples are not considered from the same distribution with a (1-Alpha) of accuracy. Remember that D-stat is the maximum difference between the two cumulative frequency curves as shown in the following formula.

% %formula
\begin{align}
D_{m,n} &= \Max\limits_x|F(x) - G(x)|
                                   \notag
\end{align}

Upon further investigation the main reason for difference appears to be due to an offset in the measured RTTs. Looking at the following Figure~\ref{fig_sim} of the RTT frequency distributions between pinger.slac.stanford.edu and pinger-raspberry.slac.stanford.edu it can be seen that the frequency distribution from pinger to raspberry is shifted to the right by approximately 0.08 ms compared to from raspberry to pinger. Otherwise the distributions are similar.

\begin{figure}[!htb]
\centering
\includegraphics[width=\linewidth]{freq}
\caption{Simulation Results}
\label{fig_sim}
\end{figure}

\section{Future Work}
Building upon the expected advantages of deploying PingER functionality onto inexpensive hardware, such as a Raspberry Pi, we will also explore development of PingER software to be run on Android-based smartphones and tablets as a Java APK. This offers several potential advantages, including expected simplification of installation/setup and cost. To accelerate the process, we plan to leverage the existing codebase of active open-source IoT projects running on Android, including Rainforest Connection (RFCx). This is expected to lower the barrier-to-entry for potential PingER MA clients, as Android phones are readily available worldwide—either inexpensively, or free of cost. Android-based PingER MAs will likely obtain network connectivity from local WiFi networks, contrary to the hardwired ethernet connections expected from a Raspberry Pi PingER MA. The addition of WiFi interfaces to the PingER network may introduce additional latencies/disruptions that will also be studied.

The PingER MA also has been successful installed on a Virtual Machine  There appears to be little difference, however we have not made an exhaustive analysis of any significant statistical differences

\section{Conclusion}
The Raspberry Pi appears to be an excellent candidate to deploy as a PingER MA. The measurements have been shown to not significantly differ from those of the previous SLAC baremetal conventional Intel rack-mounted based 2U server. The power draw is $< 3W$ and appears to be sustainable with an off the shelf solar cell and battery. We still need to verify the long term reliability and robustness of this solution.





% if have a single appendix:
%\appendix[Proof of the Zonklar Equations]
% or
%\appendix  % for no appendix heading
% do not use \section anymore after \appendix, only \section*
% is possibly needed

% use appendices with more than one appendix
% then use \section to start each appendix
% you must declare a \section before using any
% \subsection or using \label (\appendices by itself
% starts a section numbered zero.)
%


%\appendices
%\section{Proof of the First Zonklar Equation}
%Appendix one text goes here.

% you can choose not to have a title for an appendix
% if you want by leaving the argument blank
%\section{}
%Appendix two text goes here.


% use section* for acknowledgement
\section*{Acknowledgment}


The authors would like to thank...



% trigger a \newpage just before the given reference
% number - used to balance the columns on the last page
% adjust value as needed - may need to be readjusted if
% the document is modified later
%\IEEEtriggeratref{8}
% The "triggered" command can be changed if desired:
%\IEEEtriggercmd{\enlargethispage{-5in}}

% references section

% can use a bibliography generated by BibTeX as a .bbl file
% BibTeX documentation can be easily obtained at:
% http://www.ctan.org/tex-archive/biblio/bibtex/contrib/doc/
% The IEEEtran BibTeX style support page is at:
% http://www.michaelshell.org/tex/ieeetran/bibtex/
%\bibliographystyle{IEEEtran}
% argument is your BibTeX string definitions and bibliography database(s)
%\bibliography{IEEEabrv,../bib/paper}
%
% <OR> manually copy in the resultant .bbl file
% set second argument of \begin to the number of references
% (used to reserve space for the reference number labels box)
\bibliographystyle{IEEEtran}
% argument is your BibTeX string definitions and bibliography database(s)
\bibliography{references}

% biography section
% 
% If you have an EPS/PDF photo (graphicx package needed) extra braces are
% needed around the contents of the optional argument to biography to prevent
% the LaTeX parser from getting confused when it sees the complicated
% \includegraphics command within an optional argument. (You could create
% your own custom macro containing the \includegraphics command to make things
% simpler here.)
%\begin{biography}[{\includegraphics[width=1in,height=1.25in,clip,keepaspectratio]{mshell}}]{Michael Shell}
% or if you just want to reserve a space for a photo:


% if you will not have a photo at all:

% insert where needed to balance the two columns on the last page with
% biographies
%\newpage


% You can push biographies down or up by placing
% a \vfill before or after them. The appropriate
% use of \vfill depends on what kind of text is
% on the last page and whether or not the columns
% are being equalized.

%\vfill

% Can be used to pull up biographies so that the bottom of the last one
% is flush with the other column.
%\enlargethispage{-5in}



% that's all folks
\end{document}


