[Barrelfish-users] about bulk transfer

Andrew Baumann Andrew.Baumann at microsoft.com
Tue Mar 19 23:31:38 CET 2013

Hi Mats,

You are correct on both counts. The main instance of 2 that I'm aware of is communication between network drivers and clients. There is also stuff like domain spanning (for multi-threaded shared memory programs) or device driver access (e.g. the framebuffer) that just wouldn't work without shared memory, so I doubt you care about those.


-----Original Message-----
From: Mats Brorsson [mailto:matsbror at kth.se] 
Sent: Tuesday, 19 March 2013 04:09
To: barrelfish-users at lists.inf.ethz.ch
Subject: Re: [Barrelfish-users] about bulk transfer

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.


Mats Brorsson
Professor of Computer Architecture

-----Original Message-----

Message: 1
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"

Hi Xiaowen,

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?

Best regards,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20130318/a87e59c2/attachment-0001.html 

Barrelfish-users mailing list
Barrelfish-users at lists.inf.ethz.ch

More information about the Barrelfish-users mailing list