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

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



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


 


Rackspace

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