[Barrelfish-users] about bulk transfer
matsbror at kth.se
Tue Mar 19 12:09:04 CET 2013
I'm not as into the code as Xiaowen, but can I interpret this as:
1: The current bulk transfer API implementation uses shared memory?
2: There might be other places in the BF code that assumes shared memory?
If you try to port BF to a system without shared memory, number 1 above is fixable, but number 2 causes a lot of problems if there is no repository about where they are.
Professor of Computer Architecture
Date: Mon, 18 Mar 2013 17:42:24 +0000
From: Andrew Baumann <Andrew.Baumann at microsoft.com>
Subject: Re: [Barrelfish-users] about bulk transfer
To: Xiaowen Wang <xiaowenw at kth.se>,
"barrelfish-users at lists.inf.ethz.ch"
<barrelfish-users at lists.inf.ethz.ch>
<6e985f808232451ba31049b25062b878 at SN2PR03MB061.namprd03.prod.outlook.com>
Content-Type: text/plain; charset="us-ascii"
It is not possible to turn off bulk transfer. Instead, you need to provide an alternative implementation of the bulk transfer API for moving data between cores on your system. This might involve an underlying message transport, but in general our message transports are optimized for short typed messages, and would be extremely inefficient for moving bulk data, so we don't do this by default.
Unfortunately the current bulk transfer API is pretty limited and can only be used for one-way data movement, so there is still code lurking in Barrelfish that assumes it can map frame capabilities to share memory coherently. Improving the bulk transfer API so that this is not necessary is an ongoing topic of research... we have a new API, but the implementation is not yet ready for release.
From: Xiaowen Wang [mailto:xiaowenw at kth.se]
Sent: Friday, 15 March 2013 10:13
To: barrelfish-users at lists.inf.ethz.ch
Subject: [Barrelfish-users] about bulk transfer
I have a problem about bulk transfer during communication between dispatchers. As far as I know, bulk transfer is to use shared memory to implement massive data transfer. But assume in our system, like distributed system, we don't want to use shared memory method, so is it possible to turn off bulk transfer in Barrelfish? And how to do it?
By the way, is there some limitation on bulk transfer? e.g. bulk transfer can be only used by processes on the some core? or any two dispatchers, on matter on the same core or different cores, can set up bulk transfer?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Barrelfish-users