[Barrelfish-users] Capabilities in Barrelfish

Timothy Roscoe troscoe at inf.ethz.ch
Mon Aug 10 11:11:28 CEST 2015


Dear Utsav, 

Please reply to the barrelfish-users list rather than to me
personally, so that others can contribute and/or (hopefully) benefit
from the information. 

Also, my name isn't "Tim", but "Timothy", and most people call me
"Mothy".

Your best source for information on using the capability system is to
read the relevant Barrelfish Technical Notes, look at the
memory allocation code (the memory server, and the implementation of
morecore in the Barrelfish library), and ask questions on the
barrelfish-users list. 

Best regards,

 -- Timothy Roscoe

At Sat, 8 Aug 2015 23:45:43 -0700, Utsav Popli <utsav2601 at gmail.com> wrote:
> Hello Tim,
> Thank you so much for your guidance. And I am really sorry for my delay in
> response. I was out for couple of dayz with no access to internet. Anyhow,
> I will surely go through the articles that you have described.
> Yes you got it right, we are trying to provide a  equivalent of docker
> container abstraction on top of Barrelfish. We tried finding some coding
> samples for capabilities but failed to do so. Do you have any good resource
> for finding good code samples over capabilities?
> Thank you
> 
> Best
> Utsav Popli
> 
> 
> 
> 
> On Tue, Aug 4, 2015 at 2:39 AM, Timothy Roscoe <troscoe at inf.ethz.ch> wrote:
> 
> >
> > Dear Utsav,
> >
> > [ CC'ing the Barrelfish-Users list, which is the appropriate place for
> >   this kind of discussion ]
> >
> > It's not quite clear from your email what you are trying to achieve -
> > if your goal is to run Docker applications, this may be a challenge.
> > Docker applications are, essentially, written to the Linux ABI, and
> > Barrelfish by design provides a very different interface to the OS.
> > First off you'd need some kind of Linux compatibility layer (for
> > example, Graphene) ported to Barrelfish.
> >
> > If, instead, you want to provide the equivalent of a container
> > abstraction on top of Barrelfish, then the capability system is a good
> > place to start, since all memory-based resources in Barrelfish are
> > referred to by capabilities (or should be).  First, you need to
> > understand what capabilities are and how they are used in general (I
> > can recommend Hank Levy's book), and also how the Barrelfish
> > capability system works (our research papers talk about some of this,
> > and there's a nice research paper on the SeL4 cap system which was the
> > inspiration for the one in Barrelfish).
> >
> > The Barrelfish memory system is based on exposing both physical
> > resources and virtual memory mappings directly to application
> > runtimes, rather than hiding them behind a kernel abstraction like
> > Linux does.  This is a rather different tradeoff - to migrate a domain
> > you would need to rebuild the page table mappings yourself, and this
> > would involve a certain amount of capability (pointer) swizzling at
> > the far end.
> >
> > The good news is that the capability system makes it straightforward
> > to virtualize the namespace of the process, and Barrelfish's
> > RBED-based per-core scheduler provides good performance isolation.
> >
> > As for running Barrelfish in some cloud system, I don't know if anyone
> > has ever booted Barrelfish on some IaaS service, but we have run
> > Barrelfish in the past under HyperV and KVM, so it might be possible.
> > The biggest problems are likely to be drivers support for virtual
> > devices (for example, the Barrelfish Tulip driver used for HyperV has
> > not been maintained in a long time) and debugging.
> >
> > This sounds like a large and complex project, even without providing
> > the rich management framework and functionality that Docker provides.
> >
> >  -- Mothy
> >
> > At Sun, 2 Aug 2015 13:47:58 -0700, Utsav Popli <utsav2601 at gmail.com>
> > wrote:
> > > Hello Timothy,
> > > My name is Utsav Popli, a graduate student at San jose state university.
> > I
> > > am working on my master's project and as per my project I need to create
> > a
> > > 'Docker' like framework for Barrelfish.  In which a process can run in an
> > > isolated container and the container can be migrated onto cloud. I was
> > > going through your ppt on Capabilities and somehow I think that's what
> > what
> > > we have been looking for. But because of no guidance and proper
> > resources I
> > > am finding it very hard even to start.
> > > I will be really pleased if you will be able to guide/mentor us for our
> > > project.
> > > Thanking you
> > >
> > > Regards
> > > Utsav Popli
> > > +13096600501
> > >
> >
> 



More information about the Barrelfish-users mailing list