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
[EMAIL PROTECTED]

begin:vcard
fn:Ed Roskos
n:Roskos;Ed
org:Violin Technologies
adr:;;33 Wood Avenue;Iselin;NJ;08830;USA
email;internet:[EMAIL PROTECTED]
title:Director of Software Engineering
tel;work:732 895 2397
version:2.1
end:vcard

Reply via email to