Memcache on a block device...

Ed Roskos roskos at violin-memory.com
Fri Jul 20 05:21:35 UTC 2007


Howdy Folks,

    I was curious whether anyone knows of any efforts, besides Tugela
cache, to use a block device with memcache.  I work for a company,
Violin Memory, which is completing work on a 2U 1/2 TB DRAM appliance
which acts as an SSD over a PCIe cable to a host computer.  We are
planning on prototyping a server which serves data via a 10 Gb
Ethernet port.  Our goal is to serve data at a rate of about a GB/sec
for memcache queries (with very low latency).  It would be nice to
allow objects to serve from both the server DRAM (for very small
objects which may change via the incr and decr commands) and from our
appliance.

    For the curious, our appliance has both block and char drivers
available, each driving DMA transfers in multiples of 128B (up to 64
KiB) to/from the appliance.  We could do a simple implementation of
mmap() on top of the block device, but we can get better performance
by doing DMA transfers in block-sized chunks via our character driver
(assuming all data are hot).  We are therefore considering
implementing a slab allocator on the server which manages the space on
the appliance.  In such a scenario, the memcache associative array
could contain a value which points to where on the appliance the value
lives, and a new field in the item structure would indicate whether
the modified memcache implementation would interpret the value as a
pointer to the appliance or a value for a small object in server
memory.  Opinions?

    Thanks in advance!

      --Ed.

If there are any content cache/delivery software development folks in
the job market, feel free to toss a resume to
careers at violin-memory.com.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: roskos.vcf
Type: text/x-vcard
Size: 226 bytes
Desc: not available
Url : http://lists.danga.com/pipermail/memcached/attachments/20070719/0fb101ad/roskos.vcf


More information about the memcached mailing list