And now, a memory appliance

16 02 2008

We now have an appliance for every component of the technology stack where high-performance and/or low latency is a requirement. I fumbled upon this new memory appliance from violin and was pretty impressed.

Their datasheet suggests that their appliance (Violin 1010) contains about 84 VIMM’s (Violin Intelligent Memory Module) which could have a combination of both DRAM and NAND flash memory. The DRAM module has a max of 6G and 6*84 gives us a max of 504G of memory. If one opts for a 64G flash memory, per VIMM, that gives us a max of 5TB.

The appliance itself could be hooked on to a server via the 10-20 Gbit/s PCI interface and the data is protected by both ECC and RAID. They claim to bring down the io latency to 3 microseconds, which is not a small feat. The device has the capacity to do 3 Million random I/O per second, per interface. The device also claims to be “green”, owing to its low power consumption.

What kind of applications benefit from using this device? Well, any application with large cache sizes, large datasets, applications which require extended memory, memory mapped files and so forth. How about if we can just dump all the database index files on this appliance (sort of a “RAM disk”), that could potentially boost the query performance by leaps and bounds? I also heard that they do have potential wall-street clients testing their devices in a stealth mode 😉

The benefits are definitely immense, but at what cost? Their site informs us that the starter kit will come for under $50K and comes with 20 6GB VIMM’s.

If you are too curious to take a look at this baby, go here.





Messaging at wire speed?

21 07 2007

My ex-boss mentioned about Tervela a while ago and I finally got a chance to learn more about it.

Coming from the Java world and having been exposed to JMS implementations like Tibco EMS, Websphere MQ and ActiveMQ; this came as a surprise to me and I would like to share this with everyone.

Tervela’s product is a messaging appliance which runs on the metal.

Its key features are as follows:

  • Message transformation and routing at the network level (layers 1-3). This will pretty much eliminate the network interrupts, which would otherwise overload the processor with interrupts for every packet that was received (thus increasing the latency). Besides this, the requirement for queuing of messages at the entire network stack, which is pretty common with software based messaging systems running at the application level messaging, is eliminated too.
  • Native instruction sets optimized for specific tasks and its pipelined architecture (no scheduling and interrupts so reduced latency).
  • No broadcast storms (a result of crybaby phenomenon). A typical scenario will be when a consumer is unable to catch up with the message load and thus drops some packets and requests for re-transmission. This is very common in multicast based communications and the re-transmitted message is eventually sent to all the consumers, instead of sending it to the consumer who requested it.
  • Custom routing algorithms eliminating filtering of the messages at the client level.

As you can see, the appliance mainly targets the financial verticals and will be a good fit for handling market data feeds at wire speeds (pub-sub domains). If you are looking for JMS semantics, look elsewhere 😉