#LyX 1.6.5 created this file. For more info see http://www.lyx.org/\lyxformat 345\begin_document\begin_header\textclass beamer\begin_preamble\usetheme{Warsaw}% or ...\setbeamercovered{transparent}% or whatever (possibly just delete it)\end_preamble\use_default_options false\language english\inputencoding auto\font_roman times\font_sans default\font_typewriter default\font_default_family default\font_sc false\font_osf false\font_sf_scale 100\font_tt_scale 100\graphics default\paperfontsize default\spacing single\use_hyperref false\papersize default\use_geometry false\use_amsmath 2\use_esint 0\cite_engine basic\use_bibtopic false\paperorientation portrait\secnumdepth 2\tocdepth 2\paragraph_separation indent\defskip medskip\quotes_language english\papercolumns 1\papersides 1\paperpagestyle default\tracking_changes false\output_changes false\author "" \author "" \end_header\begin_body\begin_layout TitleOS bypass performance without OS bypass\begin_inset OptArgstatus open\begin_layout Plain LayoutShort Paper Title\begin_inset Note Notestatus collapsed\begin_layout Plain Layoutoptional, use only with long paper titles\end_layout\end_inset\end_layout\end_inset\end_layout\begin_layout DateUsenix 2010\end_layout\begin_layout BeginFrameOutline\end_layout\begin_layout Standard\begin_inset CommandInset tocLatexCommand tableofcontents\end_inset\end_layout\begin_layout SectionCurrying and process-private system calls\end_layout\begin_layout BeginFrameStandard path\end_layout\begin_layout Standard\begin_inset Graphics filename ospath.eps width 80text%\end_inset\end_layout\begin_layout ItemizeOS overhead known to be primary limit even with very efficient devies\end_layout\begin_layout BeginFrameOS Bypass\end_layout\begin_layout Standard\begin_inset Graphics filename osbypass.eps width 80text%\end_inset\end_layout\begin_layout ItemizeMove Os functionality into the library\end_layout\begin_layout ItemizeAs long as you can relink \emph onevery\emph default program that uses the network, it's fine\end_layout\begin_layout ItemizeAnd single-user\end_layout\begin_layout BeginFramePushing IO back into the kernel via currying and process-private system calls\end_layout\begin_layout Standard\begin_inset Graphics filename curry.eps width 80text%\end_inset\end_layout\begin_layout BeginFrameHow it is used\end_layout\begin_layout Itemizefd = open( \begin_inset Quotes eld\end_inset/dev/torusctl\begin_inset Quotes erd\end_inset)\end_layout\begin_layout Itemizenewsyscall = write(fd, \begin_inset Quotes eld\end_insetfastpath pointer size\begin_inset Quotes erd\end_inset);\end_layout\begin_layout Itemizeparamters and operation \begin_inset Quotes eld\end_insetcurried\begin_inset Quotes erd\end_inset into new system all\end_layout\begin_layout Itemizenewsyscall attached to this process and its children only\end_layout\begin_layout Itemizenewsyscall(); -- no parameters, fast path\end_layout\begin_layout Itemizeno parameters and bypasses all system call checking \end_layout\begin_layout Itemize700 ns measured time on barrier\end_layout\begin_layout ItemizeNow any program, not just mpi programs, can use the network\end_layout\begin_layout ItemizeBeing integrated into new mpi library now\end_layout\begin_layout EndFrame\end_layout\end_body\end_document
#LyX 1.6.5 created this file. For more info see http://www.lyx.org/
\lyxformat 345
\begin_document
\begin_header
\textclass beamer
\begin_preamble
\usetheme{Warsaw}
% or ...
\setbeamercovered{transparent}
% or whatever (possibly just delete it)
\end_preamble
\use_default_options false
\language english
\inputencoding auto
\font_roman times
\font_sans default
\font_typewriter default
\font_default_family default
\font_sc false
\font_osf false
\font_sf_scale 100
\font_tt_scale 100
\graphics default
\paperfontsize default
\spacing single
\use_hyperref false
\papersize default
\use_geometry false
\use_amsmath 2
\use_esint 0
\cite_engine basic
\use_bibtopic false
\paperorientation portrait
\secnumdepth 2
\tocdepth 2
\paragraph_separation indent
\defskip medskip
\quotes_language english
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\author ""
\author ""
\end_header
\begin_body
\begin_layout Title
OS bypass performance without OS bypass
\begin_inset OptArg
status open
\begin_layout Plain Layout
Short Paper Title
\begin_inset Note Note
status collapsed
\begin_layout Plain Layout
optional, use only with long paper titles
\end_layout
\end_inset
\end_layout
\end_inset
\end_layout
\begin_layout Date
Usenix 2010
\end_layout
\begin_layout BeginFrame
Outline
\end_layout
\begin_layout Standard
\begin_inset CommandInset toc
LatexCommand tableofcontents
\end_inset
\end_layout
\begin_layout Section
Currying and process-private system calls
\end_layout
\begin_layout BeginFrame
Standard path
\end_layout
\begin_layout Standard
\begin_inset Graphics
filename ospath.eps
width 80text%
\end_inset
\end_layout
\begin_layout Itemize
OS overhead known to be primary limit even with very efficient devies
\end_layout
\begin_layout BeginFrame
OS Bypass
\end_layout
\begin_layout Standard
\begin_inset Graphics
filename osbypass.eps
width 80text%
\end_inset
\end_layout
\begin_layout Itemize
Move Os functionality into the library
\end_layout
\begin_layout Itemize
As long as you can relink
\emph on
every
\emph default
program that uses the network, it's fine
\end_layout
\begin_layout Itemize
And single-user
\end_layout
\begin_layout BeginFrame
Pushing IO back into the kernel via currying and process-private system
calls
\end_layout
\begin_layout Standard
\begin_inset Graphics
filename curry.eps
width 80text%
\end_inset
\end_layout
\begin_layout BeginFrame
How it is used
\end_layout
\begin_layout Itemize
fd = open(
\begin_inset Quotes eld
\end_inset
/dev/torusctl
\begin_inset Quotes erd
\end_inset
)
\end_layout
\begin_layout Itemize
newsyscall = write(fd,
\begin_inset Quotes eld
\end_inset
fastpath pointer size
\begin_inset Quotes erd
\end_inset
);
\end_layout
\begin_layout Itemize
paramters and operation
\begin_inset Quotes eld
\end_inset
curried
\begin_inset Quotes erd
\end_inset
into new system all
\end_layout
\begin_layout Itemize
newsyscall attached to this process and its children only
\end_layout
\begin_layout Itemize
newsyscall(); -- no parameters, fast path
\end_layout
\begin_layout Itemize
no parameters and bypasses all system call checking
\end_layout
\begin_layout Itemize
700 ns measured time on barrier
\end_layout
\begin_layout Itemize
Now any program, not just mpi programs, can use the network
\end_layout
\begin_layout Itemize
Being integrated into new mpi library now
\end_layout
\begin_layout EndFrame
\end_layout
\end_body
\end_document