From: Nic Henke <nic@cray.com>
To: lustre-devel@lists.lustre.org
Subject: [Lustre-devel] faking LNET scale
Date: Sat, 18 Apr 2009 07:35:33 -0500 [thread overview]
Message-ID: <49E9C915.3080107@cray.com> (raw)
In-Reply-To: <49E8CB7A.1090106@sun.com>
Liang Zhen wrote:
> Nic,
> It's very late night for me now, my head is not clear enough for me to
> make sure whether I'm saying something crazy, :)
Liang,
Thanks for the notes - at worst this is crazy interesting :-) This
looks very doable - I've not dug into the code to see if there are any
implementation gotchas - but it looks like it should work. I'll let you
know what I come up with.
Cheers,
Nic
> LNet always thinks target is remote network(needs router) if it can't
> find a NI with same network ID, for example, if local NI is (ptl0) and
> caller wants to send message to (ptl1), then LNet will:
> 1. Try to find local NI for ptl1, and failed then:
> 2. try to find if ptl1 is a remote network and whether there is router
> for this network (ptl1)
>
> So if you want your server has only one NI instance and can talk with
> a set of different networks, and at the same time, it can talk with
> other remote networks via routers, I would suggest:
> 1. create a new command, for example: lctl add_local_net ptl0
> ptl[1-N], which means LNet should allow NI(ptl0) accessing networks(
> ptl[1-N] as local networks.
> 2. add a new structure in LNet, i.e:
> struct {
> struct list_head ln_list;
> __u32 ln_net;
> lnet_ni_t *ln_localni;
> ......
> }lnet_localnet_t;
> As you see, it's very like current structure lnet_remotenet_t, which
> is pending on lnet_t::ln_remote_nets; we can create a lnet_locallnet_t
> object and add it to global list (i.e: lnet_t::ln_local_nets) by the
> command we mentioned above: lctl add_local_net
> 3. once upper layer caller sending message, lnet_send() should check
> lnet_t::ln_local_nets firstly (before thinking it's a remote network
> and checking on lnet_t::ln_remote_nets), if it is on
> lnet_t::ln_local_netsthen we can take the local NI. on
> lnet_locanet_t::ln_localni;
> 4. We need add a new flag for LND, only LND with the flag can support
> command lctl add_local_net.
> 5. make the LND wouldn't reject messages from different networks.
> again, hope I'm answering what you are asking, :)
>
> Regards
> Liang
next prev parent reply other threads:[~2009-04-18 12:35 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-17 17:10 [Lustre-devel] faking LNET scale Nicholas Henke
2009-04-17 18:33 ` Liang Zhen
2009-04-18 12:35 ` Nic Henke [this message]
2009-04-30 1:21 ` Eric Barton
2009-06-02 17:12 ` Nicholas Henke
2009-06-05 8:57 ` Liang Zhen
2009-04-22 21:37 ` Isaac Huang
2009-04-22 22:20 ` Nic Henke
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=49E9C915.3080107@cray.com \
--to=nic@cray.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.