From: Liang Zhen <Zhen.Liang@Sun.COM>
To: lustre-devel@lists.lustre.org
Subject: [Lustre-devel] faking LNET scale
Date: Sat, 18 Apr 2009 02:33:30 +0800 [thread overview]
Message-ID: <49E8CB7A.1090106@sun.com> (raw)
In-Reply-To: <49E8B7E9.5080101@cray.com>
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, :)
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
Nicholas Henke wrote:
> Greetings -
>
> I was looking into ways to simulate scale at the LNET level. It would allow us
> to test the LNDs better with less hardware, not to mention things like LNet
> SelfTest and friends.
>
> With the work in bug 15332 to add multiple nets per NIC, it seemed fairly close
> that we could use that to generate multiple LND connections from a single NIC.
> Ideally we'd have a server or router that would have just one LND instance
> (ptl0) and the client nodes with multiple interfaces (ptl1, ptl2, ...). This
> would increase the load on those server nodes to something interesting.
>
> However, to do this either hacking up lnet_ptlcompat_matchXXX to look at another
> flag besides the_lnet.ln_ptlcompat or some other way of allowing a server with a
> single NET (ptl0) to accept requests from a variety of nets (ptl1, ptl2, etc).
> One cannot use multiple interfaces for the same net type with ln_ptlcompat enabled.
>
> Is there a better way to do this ? What would be the least abusive of th e rules ?
>
> Cheers,
> Nic
> _______________________________________________
> Lustre-devel mailing list
> Lustre-devel at lists.lustre.org
> http://lists.lustre.org/mailman/listinfo/lustre-devel
>
next prev parent reply other threads:[~2009-04-17 18:33 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 [this message]
2009-04-18 12:35 ` Nic Henke
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=49E8CB7A.1090106@sun.com \
--to=zhen.liang@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.