<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Wei-keng, I begin to read your paper with interest !<br>
Rob, thanks a lot for your explanations !<br>
<br>
Of course, I will experiment this code and will be happy giving news
from me.<br>
<br>
As far as I understand this new method, it could be better using PFR on
Lustre instead of Lustre ADIO Driver.<br>
This because PFR does the stripe alignment, but also brings a lot of
optimizations. I am right ?<br>
<br>
Regards,<br>
<br>
Pascal<br>
<br>
Rob Latham a &eacute;crit&nbsp;:
<blockquote cite="mid:20100826220050.GN25108@mcs.anl.gov" type="cite">
  <pre wrap="">On Thu, Aug 26, 2010 at 11:04:17AM +0200, Pascal Deveze wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">Hi,

I recently saw that there are new files in adio/common
(ad_aggregate_new.c, ad_io_coll.c, ...). The are implementing a "new
2 phase method" using "file realms".
This is very interesting to me, but I do not have any information.
Are there some paper (architecture, white paper or High Level
Design) describing this new method ?
    </pre>
  </blockquote>
  <pre wrap=""><!---->
The code is in ROMIO but only enabled if you set the "romio_cb_pfr"
hint: (PFR == persistent file realms)

Here are all the hints relevant to file realms.  There are quite a
few:

- romio_cb_pfr: set this to use file realms.  if not set, file domains
  will continue to be calculated in the traditional manner.

- romio_cb_fr_types: the "file realm types" can be  "AAR", "FSZ" or
  "USR".  The paper Wei-keng mentioned explains this better. 

  I am slightly embarrassed to admit that while I added hint parsing
  for the rest of these hints, I never did add the hint parsing for
  this one.  You will be stuck with AAR. 

- romio_cb_fr_alignment: easier hint to explain.  Align file realms
  to the given byte boundary.  Certain file systems perform much
  better when writes are aligned to block boundaries

- romio_cb_ds_threshold: normally, two-phase does data sieving 
  if the write request contains any holes.  Set this hint (a
  datatype's size-to-extent ratio), and datatypes less than this ratio will skip the data sieving optimization and instead service the request piecewise.  

- romio_cb_alltoall: the communication phase of two-phase can involve
  either point-to-point communication, or use MPI_Alltoall if this
  hint is set to 'enable' or 'automatic'

If you experiment with this code, I would love to hear your results.
You have a knack for finding bugs :&gt;

==rob

  </pre>
</blockquote>
<br>
</body>
</html>