HTTP-FUSE CLOOP with Software RAID and DNS-Balance for Embedded Linux

A Presentation by Jun Kanai

This demonstration proposes a method to improve performance and
tolerance of network virtual block device "HTTP-FUSE CLOOP". HTTP-FUSE
CLOOP is virtual network block device. It reconstructs loopback device
from split block files on HTTP Servers. It has some benefits by
comparison of other network block device. It doesn't require special
server software. It can be implemented on normal Web hosting
service. It also allows replacing hosting servers dynamically because
it based on connection-less HTTP protocol. Unfortunately HTTP-FUSE
CLOOP is sensitive for network latency and network disconnection
because HTTP-FUSE CLOOP is a kind of loopback block device and accepts
only one read-request at a time. So it can't deal with multiple
read-requests. To solve the problem we integrated HTTP-FUSE CLOOP with
Software RAID (Linux "MD" driver), proxy cache servers and DNS-Balance.

HTTP Proxy cache servers, software RAID, and DNS server realize
efficient performance for HTTP-FUSE CLOOP. HTTP Proxy (Squid) caches
block files and makes short network latency. Software RAID is applied
to HTTP-FUSE CLOOP and allows parallel read-requests. It makes wide
bandwidth of HTTP-FUSE CLOOP when several Proxy Cache servers are
prepared. DNS-Balance allocates suitable proxies to Software RAID
HTTP-FUSE CLOOP. As the result of evaluations, the performance of
four-server RAID array was 4.1 times. It is caused by allowing
multiple read-requests and blockfiles are cached on memory of servers
than normal HTTP-FUSE CLOOP.

Additionally, software RAID and DNS-Balance provide fault tolerance
for HTTP-FUSE CLOOP. Software RAID realizes fault tolerance by a
redundancy of RAID1 in network problems. DNS realizes fault tolerance
in server problems. DNS software "DNS-Balance" detects server problems
and assigns an optimum server for clients when DNS requests is issued
periodically. Therefore, DNS provides fault tolerance for clients
which are already assigned to failed servers by switching servers
dynamically.

We implemented HTTP-FUSE CLOOP on ARM Linux Machine "Armadillo" as well
as X86 for normal desk top. It shows convenience for embedded
Linux because normal Embedded Linux has small storage. Software RAID
and DNS-Balance also help performance and tolerance on HTTP-FUSE CLOOP
of embedded Linux.

Direct link to video