Triton-private Repository branch, master, updated. dea32ecc4756ced6307d7e9820858917f92aa043
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Triton-private Repository". The branch, master has been updated via dea32ecc4756ced6307d7e9820858917f92aa043 (commit) via 8d011bf3e088502fcf9e2976fba63098edecc39e (commit) via 0b7fdb8124b438fd179d53fb8973882a625d7524 (commit) from 643a7fae59bfbbf6d779a32161587f94b2233be6 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit dea32ecc4756ced6307d7e9820858917f92aa043 Author: Dries Kimpe <[email protected]> Date: Fri Mar 16 21:06:16 2012 -0500 Remove unused files commit 8d011bf3e088502fcf9e2976fba63098edecc39e Author: Dries Kimpe <[email protected]> Date: Fri Mar 16 21:05:40 2012 -0500 Some notes commit 0b7fdb8124b438fd179d53fb8973882a625d7524 Author: Dries Kimpe <[email protected]> Date: Fri Mar 16 20:57:39 2012 -0500 Minor fixes. Final version. ----------------------------------------------------------------------- Summary of changes: papers/2011/aesop/TO_IMPROVE | 20 ++++++ papers/2011/aesop/evaluation.tex | 22 ++++--- papers/2011/aesop/intro.tex | 4 +- papers/2011/aesop/listings/listing-1.ae | 22 ------- papers/2011/aesop/listings/listing-1.ae.tex | 32 ---------- papers/2011/aesop/script2tex.pl | 84 --------------------------- 6 files changed, 35 insertions(+), 149 deletions(-) create mode 100644 papers/2011/aesop/TO_IMPROVE delete mode 100644 papers/2011/aesop/listings/listing-1.ae delete mode 100644 papers/2011/aesop/listings/listing-1.ae.tex delete mode 100755 papers/2011/aesop/script2tex.pl Diff of changes: diff --git a/papers/2011/aesop/TO_IMPROVE b/papers/2011/aesop/TO_IMPROVE new file mode 100644 index 0000000..043fd0a --- /dev/null +++ b/papers/2011/aesop/TO_IMPROVE @@ -0,0 +1,20 @@ +Things we can improve: + +- Evaluation: + - A point we're trying to make is that we can retarget and still obtain optimal performance. + We don't show that. We don't show retargetting since we only run on one system. + Even more so, it seems that straight threads (per client or per op) perform very well; + + So, we map from linear flow to linear flow performance (as events perform badly on this system). + + - What's the point of publishing the -null graphs? We could drop them, and the paper would not become + weaker. Actually, to explain the performance difference, we even say that if you don't use + the blocking functions (write ipv async write), the performance drops to the aesop level. + + So, in other words, we claim we can retarget but even on our test system for the -null case, + we don't manage to reach optimal performance and as an explanation we're saying that it is because + the async API does not perform as well as the thread API? + + Wasn't that the point of aesop, to be able to retarget to the optimal API? + + diff --git a/papers/2011/aesop/evaluation.tex b/papers/2011/aesop/evaluation.tex index 67343d0..88b9932 100644 --- a/papers/2011/aesop/evaluation.tex +++ b/papers/2011/aesop/evaluation.tex @@ -125,12 +125,11 @@ on 65 nodes; one server node and 1-64 client nodes. \subsection{Run-time Efficiency} -Figure~\ref{fig:runtime} shows the results for the four runtime test types -with each plotted as the median of five samples with the error bars -represtenting the minimum and maximum rates. -Figure~\ref{fig:write} shows the request servicing rate of the concurrent write -workload for each server implementation as the number of client processes -is scaled from 16 to 1,024. In this graph we see that {\aesop} does not +Figure~\ref{fig:runtime} shows, for each of the four test types, +the median, minimum, and maximum number of requests completed per second. Each +test type was executed 5 times, with the number of clients ranging from 16 to +1,024. +In Figure~\ref{fig:write} we see that {\aesop} does not perform as well as the other servers for a small number of clients (delivering 79 operations per second at the smallest scale, versus 132 ops/s for the thread-per-op server). However, {\aesop} is the fastest server at the largest @@ -171,11 +170,16 @@ system. Another notable observation in these graphs is that the \aesop server is competitive at small scale and, in fact, is the fastest implementation in the 16-client-process read-null test and nearly the fastest in the -16-client-process write-null test. These results support the observation from the previous -section that poor \aesop performance at small scale is likely a tuning flaw -in the file resource used in the \aesop standard library, rather than a +16-client-process write-null test. These results support the observation + that poor \aesop performance at small scale is likely a tuning flaw +in the \aesop implementation of I/O functionality, rather than a fundamental programming language problem. +%However, Figure~\ref{fig:runtime} shows the results obtained on a single +%system. On a different system the event server, which showed the least The main goal of performing this evaluation is to determine if it is +%indeed possible to tune \aesop to, + + The test client also measures the latency of each individual request and then computes the minimum and maximum latency, the first quartile latency, and the third diff --git a/papers/2011/aesop/intro.tex b/papers/2011/aesop/intro.tex index 4d37cc8..ec4fa03 100644 --- a/papers/2011/aesop/intro.tex +++ b/papers/2011/aesop/intro.tex @@ -100,8 +100,8 @@ core algorithm description is decoupled from these architecture-specific details, the run-time system can be tuned to match different system architectures, different device APIs, and different workloads without any change to the core system software algorithms. Unlike event-driven -architectures, the \aesop extensions do not suffer from an inversion of -control, preserving readable control flow regardless of how many steps or +architectures, +\aesop preserves readable control flow regardless of how many steps or concurrent devices are utilized in a given algorithm. \aesop also offers functionality that is not available in a traditional multithreaded or event-driven framework -- for example the ability to cleanly cancel outstanding diff --git a/papers/2011/aesop/listings/listing-1.ae b/papers/2011/aesop/listings/listing-1.ae deleted file mode 100644 index 0a7977f..0000000 --- a/papers/2011/aesop/listings/listing-1.ae +++ /dev/null @@ -1,22 +0,0 @@ -aesop void doWrite (...) { - pwait { - pbranch { - aesop_timer (TIMEOUT); - ae_cancel_branches (); - } - pbranch { - replicateWrite (...); - ae_cancel_branches (); - } - } -} - -aesop void replicateWrite (...) { - pwait { - pprivate int i; - for (i=0; i<REPLICAS; ++i) - pbranch { - replicateWriteTo (i); - } - } -} diff --git a/papers/2011/aesop/listings/listing-1.ae.tex b/papers/2011/aesop/listings/listing-1.ae.tex deleted file mode 100644 index 238a1b7..0000000 --- a/papers/2011/aesop/listings/listing-1.ae.tex +++ /dev/null @@ -1,32 +0,0 @@ - -\begin{center} -\scriptsize - -\fbox{ -\begin{tabular}{r|l} - 1 & {\tt aesop\ void\ doWrite\ (...)\ \{ } \\ - 2 & {\tt \ \ pwait\ \{ } \\ - 3 & {\tt \ \ \ \ pbranch\ \{ } \\ - 4 & {\tt \ \ \ \ \ \ aesop\_timer\ (TIMEOUT); } \\ - 5 & {\tt \ \ \ \ \ \ ae\_cancel\_branches\ (); } \\ - 6 & {\tt \ \ \ \ \} } \\ - 7 & {\tt \ \ \ \ pbranch\ \{ } \\ - 8 & {\tt \ \ \ \ \ \ replicateWrite\ (...); } \\ - 9 & {\tt \ \ \ \ \ \ ae\_cancel\_branches\ (); } \\ -10 & {\tt \ \ \ \ \} } \\ -11 & {\tt \ \ \} } \\ -12 & {\tt \} } \\ -13 & {\tt } \\ -14 & {\tt aesop\ void\ replicateWrite\ (...)\ \{ } \\ -15 & {\tt \ \ pwait\ \{ } \\ -16 & {\tt \ \ \ \ pprivate\ int\ i; } \\ -17 & {\tt \ \ \ \ for\ (i=0;\ i<REPLICAS;\ ++i) } \\ -18 & {\tt \ \ \ \ \ \ pbranch\ \{ } \\ -19 & {\tt \ \ \ \ \ \ \ \ replicateWriteTo\ (i); } \\ -20 & {\tt \ \ \ \ \ \ \} } \\ -21 & {\tt \ \ \} } \\ -22 & {\tt \} } \\ - -\end{tabular} -} -\end{center} diff --git a/papers/2011/aesop/script2tex.pl b/papers/2011/aesop/script2tex.pl deleted file mode 100755 index 20ef069..0000000 --- a/papers/2011/aesop/script2tex.pl +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/perl -n - -# Process code for insertion into LaTeX so verbatim is not required - -# example usage: script2tex.pl file.c > file.c.tex - -# Makes a nice line-numbered table -# Uses \tt -# Escapes curly braces -# Escapes percent sign (%) -# Allows for bold sections -# Use _B_ to get {\bf (BOLD) -# Use _C_ to get } (CLOSE BRACE) -# Escapes underscores -# Escapes spaces (for indentation) -# Puts C++ comments in textrm -# Puts shell (hash) comments in textrm -# Use "-Example- 32" to get a label - -# If NO_BOX is non-empty in the environment, suppress the fbox - -BEGIN { - $N = 1; - $EXAMPLE = -1; - $BOX = 1; - if ($ENV{NO_BOX} != "") { - $BOX = 0; - } - - print "\n"; - print "\\begin{center}\n"; - print "\\scriptsize\n\n"; - if ($BOX == 1) { - print "\\fbox{\n"; - } - print "\\begin{tabular}{r|l}\n"; -} - -{ - chomp; - if (/.*-Example- (.*)/) { - $EXAMPLE = $1; - } - else { - printf("%2i & ", $N); - printf("{\\tt "); - s/{/\\{/g; - s/}/\\}/g; - s/%/\\%/g; - s{//(.*)}{// \\textrm{$1}}g; - s{#(.*)}{\\# \\textrm{$1}}g; - s/ /\\ /g; - s/_B_/{\\bf /g; - s/_C_/}/g; - s/_/\\_/g; - printf("%-40s", $_); - printf("} "); - printf("\\\\\n"); - $N++; - } -} - -END { - print "\n"; - if ($EXAMPLE != -1) { - print "\\hline\n"; - } - print "\\end{tabular}\n"; - if ($BOX == 1) { - print "}\n"; - } - if ($EXAMPLE != -1) { - print "\\\\\n"; - print "\\vspace{1mm}\n"; - print "\\textbf{Example $EXAMPLE}\n"; - } - print "\\end{center}\n"; -} - -# Local Variables: -# indent-tabs-mode: f -# tab-width: 2 -# perl-indent-level: 2 -# End: hooks/post-receive -- Triton-private Repository
participants (1)
-
noreply@mcs.anl.gov