From: Eric Barton <eeb@sun.com>
To: lustre-devel@lists.lustre.org
Subject: [Lustre-devel] Vector I/O api
Date: Sat, 12 Jul 2008 17:46:49 +0100 [thread overview]
Message-ID: <00e401c8e43e$e1775aa0$0281a8c0@ebpc> (raw)
In-Reply-To: <4878CFC8.3040203@sun.com>
Wangdi,
There seems to be some momentum behind getting readx/writex
adopted as posix standard system calls. That seems the right
API to exploit (or anticipate if it's not implemented yet).
Note that the memory and file descriptors are not required to
be isomorphic (i.e. file and memory fragments don't have to
correspond directly).
struct iovec {
void *iov_base; /* Starting address */
size_t iov_len; /* Number of bytes */
};
struct xtvec {
off_t xtv_off; /* Starting file offset */
size_t xtv_len; /* Number of bytes */
};
ssize_t readx(int fd, const struct iovec *iov, size_t iov_count,
struct xtvec *xtv, size_t xtv_count);
ssize_t writex(int fd, const struct iovec *iov, size_t iov_count,
struct xtvec *xtv, size_t xtv_count);
Cheers,
Eric
> -----Original Message-----
> From: lustre-devel-bounces at lists.lustre.org [mailto:lustre-devel-bounces at lists.lustre.org] On Behalf Of Tom.Wang
> Sent: 12 July 2008 4:38 PM
> To: Peter Braam
> Cc: lustre-devel
> Subject: Re: [Lustre-devel] Vector I/O api
>
>
> Peter Braam wrote:
> > Tom -
> >
> > In a recent call with CERN the request came up to construct a call
> > that can in parallel transfer an array of extents in a single file to
> > a list of buffers and vice-versa.
> > This call should be executed with read-ahead disabled, it will usually
> > be made when the user is well informed of the I/O that is about to
> > take place.
> > Is this easy to get into the Lustre client (using our I/O library)?
> > Do you have this already for MPI/IO use?
> >
> > Thanks.
> >
> > Peter
> Hello, Peter
>
> If you mean provide this list buffer read/write API in MPI by our
> library, it is easy.
> Because MPI already provide such API, you can define proper
> discontingous buf_type
> and file_type of these extents, and use (MPI_File_Write/read_all) to
> read/write these
> buffers in one call . We only need disable read-ahead here. So it should
> be easy to
> get into our I/O library.
>
> But if you mean provide such API in llite, I am not sure it is easy.
> because it seems we
> could only use ioctl to implement such non-posix API IMHO, which always
> has page-size
> limit for transferring buffers here? It is probably I misunderstand
> something here.
>
> Thanks
> WangDi
> >
>
>
> This kind of list buffers transferring can be implemented with proper
> MPI file_view
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Lustre-devel mailing list
> > Lustre-devel at lists.lustre.org
> > http://lists.lustre.org/mailman/listinfo/lustre-devel
> >
>
>
> --
> Regards,
> Tom Wangdi
> --
> Sun Lustre Group
> System Software Engineer
> http://www.sun.com
>
> _______________________________________________
> Lustre-devel mailing list
> Lustre-devel at lists.lustre.org
> http://lists.lustre.org/mailman/listinfo/lustre-devel
>
next prev parent reply other threads:[~2008-07-12 16:46 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-12 3:56 [Lustre-devel] Vector I/O api Peter Braam
2008-07-12 15:37 ` Tom.Wang
2008-07-12 16:46 ` Eric Barton [this message]
2008-07-12 18:15 ` Tom.Wang
2008-07-12 20:23 ` Peter Braam
2008-07-12 21:29 ` Tom.Wang
2008-07-13 2:55 ` jay
2008-07-13 4:30 ` Peter Braam
2008-07-12 17:34 ` Nikita Danilov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='00e401c8e43e$e1775aa0$0281a8c0@ebpc' \
--to=eeb@sun.com \
--cc=lustre-devel@lists.lustre.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.