[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MirageOS-devel] Lwt is deprecated - Async?

I've mirrored this thread on https://github.com/mirage/mirage/issues/282 to 
make it easier to keep track of progress towards an Async_xen.


On 2 Jul 2014, at 08:46, Anil Madhavapeddy <anil@xxxxxxxxxx> wrote:

> On 1 Jul 2014, at 20:28, Masoud Koleini <Masoud.Koleini@xxxxxxxxxxxxxxxx> 
> wrote:
>> Hi All,
>> I am working on porting Frenetic OpenFlow to Mirage. Recently, Frenetic has 
>> replaced Lwt library with Async, since Lwt is now deprecated and not 
>> actively maintained.
>> Is there any plan to support Async in future Mirage developments? Do you 
>> have any suggestion to make Frenetic, or any Async based code, to interact 
>> with Mirage Lwt-based libraries?
> Hi Masoud,
> Great to hear that you're porting Frenetic to Mirage!  We've been making 
> steady progress on porting Async to the Xen backend, but it's still going to 
> take some time to complete.  Here's the steps:
> - Lwt splits out the logical threading core (the Lwt module) and the 
> Unix-specific execution portions (Lwt_unix).  Async needs to be restructured 
> along similar lines, which has already begun: there is a Core_kernel that is 
> Unix-independent and is used by our Irmin db.  There is also an Async_kernel.
> - An Async_xen needs to be written which implements the subset of Async_unix 
> functionality necessary to drive traffic.  Async_unix is much bigger than 
> Lwt_unix, so finding a viable subset is important (for instance, 
> Async_unix.Reader and Async_xen.Reader need to have a similar module type, 
> but cannot be exactly the same).
> - Frenetic needs to use Async_kernel in the OS-independent portions, instead 
> of using Async (which packs in both Async_kernel and Async_unix).
> In the short term, it's worth porting the low-level protocol portions first, 
> for instance the Openflow switch logic.  Haris did some of this last year, so 
> it's worth figuring out the differences between that Openflow switch and the 
> Frenetic interfaces, and ensuring that they are compatible.
> A Mirage OpenFlow switch, with a controller running in a Unix VM (perhaps 
> connected via vchan) is something that wouldn't take too long to build, and 
> doesn't require the full Async port to be completed since the controller 
> could run under Unix for now.
> Let me know if this e-mail made any sense, Masoud :-)   Happy to clarify 
> further.
> -anil
> _______________________________________________
> MirageOS-devel mailing list
> MirageOS-devel@xxxxxxxxxxxxxxxxxxxx
> http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

MirageOS-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.