fosbook: Three-tier Web Apps on fos
Charles Gruenwald III, Nathan Beckmann, Harshad Kasture, Christopher R. Johnson, Barry Kasindorf, Lawrence Stewart, Anant Agarwal
fos features a POSIX compatibility layer, The Factored OS (fos) is a scalable operating which allows most applications to be ported with system built from the ground up to support little or no modification. fos supports pipes, cloud and multicore systems. sockets, ext2, pthreads, etc..
OS services in fos are factored out of the kernel and into concurrent, distributed sets of user space processes called fleets.
We’ve constructed fosbook, a mock three-tier Network Stack Block Diagram web application using lighttpd, memcached, and SQLite. fosbook runs across multiple VMs in the cloud. CM
Page allocator service - Process (bound to core)
fos provides a single system image to user processes. Services seamlessly span machines through message passing.
Client
init netlink netlink lighttpd xenbus netlink netlink Mem- cached
xenbus ffs proxy proxy name netstack ffs nameffs recv send
blockblock proxy proxy nameffs netstack pms devdev send recv
fosbook pms
System Architecture
fos services share state through new distributed data structures that are locality-aware. lighttpd file sys name name SQLite CGI
process process mem- proxy proxy manage. manage. cached
F G mem- net net lighttpd lighttpd A cached transport transport I E F net net G H C E lighttpd i link link A B
i D I libfos libfos libfos libfos libfos libfos
App App App App App App Legend Request fosbook CGI Data retrieval Response Coherent DHT Distributed Resource Pool Anatomy of a Request