<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Hi JC, all,<br>
<br>
I should say more words about compatibility.<br>
<br>
In comparing with server-only tools(which are often pretty good
maintained and controlled <br>
on limited node set), test tools often work on wider sets.
Minimally, it should work <br>
on some clients and also on clients with different versions then
servers, include clients in real clusters,<br>
developers virtual clusters and so on.<br>
<br>
As I know, Lustre users could have environment with Lustre latest
servers and 1.8 clients, <br>
some companies use RedHat5.x clients and RedHat6.x(SL6.x) server,
other use Ubuntu. <br>
<br>
RH5 has only python2.4, SL61 has python2.4 and python2.6, and
looks like only <br>
last Fedora will have python3. In same time, Ubuntu says that from
next release want to have only <span class="st">Python 3. </span><br>
Which version should we use and how long backward compatibility
will be supported by <span class="st">Python and distros<em> </em>for
<br>
selected version<em>?</em></span><br>
<br>
Precision Python version could be installed from non standard
repos, compiled from sources also as used <br>
"non standard installation". Last item also mean testing own
installation on wide set of distros. Also we should <br>
remember about external Python libraries which also could be
touched by breaking legacy compatibility. <br>
<br>
I think, testing system should be friendly to developers as
possible and pushing to install precision version while <br>
one or more pythons already in os could not be the simplest
solution.<br>
<br>
Now Lustre tests compatibility for wide set of system is solved by
shell and standard utilities. Perl also has great <br>
compatibility history, many scripts could work on latest version
as 10 years ago. It is reason why I see Perl as <br>
good decision.<br>
<br>
From compatibility(and my) point of view, also Java is preferable
solution then Python. It has few good described ways <br>
of installation, proved compatibility, great library managers
(maven, ant+ivy) and could support scripting <br>
languages(JPython, JRuby and more). <br>
But it needs more memory and pretty big start time. <br>
<br>
Thanks,<br>
Roman<br>
On 10/23/2012 11:39 PM, Jacques-Charles Lafoucriere wrote:<br>
</div>
<blockquote cite="mid:5086F285.6000809@cea.fr" type="cite">
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
hello all<br>
</blockquote>
.......<br>
<blockquote cite="mid:5086F285.6000809@cea.fr" type="cite"> about
python, what do you mean by non standard installation ? <br>
if your python configuration is right, the local differences
should be hidden to the test framework<br>
<br>
Bye<br>
<br>
JC<br>
<br>
<div class="moz-cite-prefix">On 10/23/2012 08:36 PM, Nathan Rutman
wrote:<br>
</div>
<blockquote
cite="mid:9E235E88-FAD1-44BF-A4DC-12A5801E0467@xyratex.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<div>At LAD'12 we proposed a plan for improving the Lustre test
framework as an important part of the Lustre quality story.
One of the discussion points there was that the bash language
of the current tests was lacking in a variety of areas. We're
moving forward with this work but need community agreement on
the best course. </div>
<div><br>
</div>
<div>Given the requirements and language options below, the
reasonable choices rapidly diminish to a showdown between perl
and python. I think we're leaning at this point toward perl,
based on it's superior speed and inter-version compatibility.
The final piece of the puzzle is the knowledge of existing
Lustre test writers, so please chime in. (But note that
"popularity" is the reason we chose bash the first time, and
look where that got us...)</div>
<div><br>
</div>
<div>
<div style="margin: 0px 0px 0px 12px; text-indent: -12px;
font-size: 13px; font-family: Arial; color: rgb(81, 6, 0); "><span
class="Apple-tab-span" style="white-space:pre"> </span>requirements</div>
<div style="margin: 0px 0px 0px 30px; text-indent: -30px;
font-size: 13px; font-family: Arial; color: rgb(108, 103,
1); "><span class="Apple-tab-span" style="white-space:pre">
</span>1. easy to use</div>
<div style="margin: 0px 0px 0px 30px; text-indent: -30px;
font-size: 13px; font-family: Arial; color: rgb(108, 103,
1); "><span class="Apple-tab-span" style="white-space:pre">
</span>2. strict structure</div>
<div style="margin: 0px 0px 0px 30px; text-indent: -30px;
font-size: 13px; font-family: Arial; color: rgb(108, 103,
1); "><span class="Apple-tab-span" style="white-space:pre">
</span>3. universally available</div>
<div style="margin: 0px 0px 0px 30px; text-indent: -30px;
font-size: 13px; font-family: Arial; color: rgb(108, 103,
1); "><span class="Apple-tab-span" style="white-space:pre">
</span>4. widely maintained</div>
<div style="margin: 0px 0px 0px 30px; text-indent: -30px;
font-size: 13px; font-family: Arial; color: rgb(108, 103,
1); "><span class="Apple-tab-span" style="white-space:pre">
</span>5. widely understood</div>
<div style="margin: 0px 0px 0px 30px; text-indent: -30px;
font-size: 13px; font-family: Arial; color: rgb(108, 103,
1); "><span class="Apple-tab-span" style="white-space:pre">
</span>6. good filesystem interface: posix API</div>
<div style="margin: 0px 0px 0px 30px; text-indent: -30px;
font-size: 13px; font-family: Arial; color: rgb(108, 103,
1); "><span class="Apple-tab-span" style="white-space:pre">
</span>7. fast - replace e.g. createmany with embedded
function</div>
<div style="margin: 0px 0px 0px 30px; text-indent: -30px;
font-size: 13px; font-family: Arial; color: rgb(108, 103,
1); "><span class="Apple-tab-span" style="white-space:pre">
</span>8. operate remote instances</div>
<div style="margin: 0px 0px 0px 30px; text-indent: -30px;
font-size: 13px; font-family: Arial; color: rgb(108, 103,
1); "><span class="Apple-tab-span" style="white-space:pre">
</span>9. inter-version compatibility</div>
<div style="margin: 0px 0px 0px 12px; text-indent: -12px;
font-size: 13px; font-family: Arial; color: rgb(81, 6, 0); "><span
class="Apple-tab-span" style="white-space:pre"> </span>options</div>
<div style="margin: 0px 0px 0px 30px; text-indent: -30px;
font-size: 13px; font-family: Arial; color: rgb(108, 103,
1); "><span class="Apple-tab-span" style="white-space:pre">
</span>bash - capable, but too flexible, easy to abuse</div>
<div style="margin: 0px 0px 0px 30px; text-indent: -30px;
font-size: 13px; font-family: Arial; color: rgb(108, 103,
1); "><span class="Apple-tab-span" style="white-space:pre">
</span>perl - forward compatible, universal, more widely
understood, xperior, compact; hard to read later</div>
<div style="margin: 0px 0px 0px 48px; text-indent: -48px;
font-size: 13px; font-family: Arial; color: rgb(0, 105,
107); "><span class="Apple-tab-span" style="white-space:pre">
</span>posix::open, opendir, lseek, etc.</div>
<div style="margin: 0px 0px 0px 66px; font-size: 11px; color:
rgb(103, 103, 103); "><span class="Apple-tab-span"
style="color: rgb(0, 105, 107); font-family: Arial;
font-size: 13px; text-indent: -48px; white-space: pre; ">
</span><span style="color: rgb(0, 105, 107); font-family:
Arial; font-size: 13px; text-indent: -48px; ">parallel::MPI</span></div>
<div style="margin: 0px 0px 0px 48px; text-indent: -48px;
font-size: 13px; font-family: Arial; color: rgb(0, 105,
107); "><span class="Apple-tab-span" style="white-space:pre">
</span>~2x faster than python</div>
<div style="margin: 0px 0px 0px 48px; text-indent: -48px;
font-size: 13px; font-family: Arial; color: rgb(0, 105,
107); "><span class="Apple-tab-span" style="white-space:pre">
</span>more version compatible</div>
<div style="margin: 0px 0px 0px 30px; text-indent: -30px;
font-size: 13px; font-family: Arial; color: rgb(108, 103,
1); "><span class="Apple-tab-span" style="white-space:pre">
</span>python - very clear structure, swig module for c
inclusion; non-standard installations, support</div>
<div style="margin: 0px 0px 0px 48px; text-indent: -48px;
font-size: 13px; font-family: Arial; color: rgb(0, 105,
107); "><span class="Apple-tab-span" style="white-space:pre">
</span>os.open: all c flags<span class="Apple-tab-span"
style="white-space: pre; "> </span></div>
<div style="margin: 0px 0px 0px 48px; text-indent: -48px;
font-size: 13px; font-family: Arial; color: rgb(0, 105,
107); "><span class="Apple-tab-span" style="white-space:
pre; "> </span>MPI bindings</div>
<div style="margin: 0px 0px 0px 48px; text-indent: -48px;
font-size: 13px; font-family: Arial; color: rgb(0, 105,
107); "><span class="Apple-tab-span" style="white-space:pre">
</span>tab/space requirements make remote editing more
difficult</div>
<div style="margin: 0px 0px 0px 30px; text-indent: -30px;
font-size: 13px; font-family: Arial; color: rgb(108, 103,
1); "><span class="Apple-tab-span" style="white-space:pre">
</span>cucumber - ruby based, difficult deployment</div>
<div style="margin: 0px 0px 0px 30px; text-indent: -30px;
font-size: 13px; font-family: Arial; color: rgb(108, 103,
1); "><span class="Apple-tab-span" style="white-space:pre">
</span>java - easy deployment, dev environ, debugger, fast;
must compile</div>
<div style="margin: 0px 0px 0px 30px; text-indent: -30px;
font-size: 13px; font-family: Arial; color: rgb(108, 103,
1); "><span class="Apple-tab-span" style="white-space:pre">
</span>ruby - compact</div>
</div>
<div><br>
</div>
<div><br>
</div>
<div>
<div><a moz-do-not-send="true"
href="http://silicainsilico.wordpress.com/2012/03/26/switching-from-perl-to-python-speed/">http://silicainsilico.wordpress.com/2012/03/26/switching-from-perl-to-python-speed/</a></div>
<div><a moz-do-not-send="true"
href="http://tenser.typepad.com/tenser_said_the_tensor/2006/08/python_vs_perl_.html">http://tenser.typepad.com/tenser_said_the_tensor/2006/08/python_vs_perl_.html</a></div>
<div><a moz-do-not-send="true"
href="http://opennomad.com/content/performance-different-scripting-languages-shell-v-perl-v-python-v-ruby">http://opennomad.com/content/performance-different-scripting-languages-shell-v-perl-v-python-v-ruby</a></div>
<div><a moz-do-not-send="true"
href="http://hentenaar.com/serendipity/index.php?/archives/27-Benchmark-PHP-vs.-Python-vs.-Perl-vs.-Ruby.html">http://hentenaar.com/serendipity/index.php?/archives/27-Benchmark-PHP-vs.-Python-vs.-Perl-vs.-Ruby.html</a></div>
</div>
<div><br>
</div>
<div><br>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Lustre-devel mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Lustre-devel@lists.lustre.org">Lustre-devel@lists.lustre.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://lists.lustre.org/mailman/listinfo/lustre-devel">http://lists.lustre.org/mailman/listinfo/lustre-devel</a>
</pre>
</blockquote>
<br>
</blockquote>
<br>
</body>
</html>