Facebook recently deployed Facebook Messages, its first ever user-facing application built on the Apache Hadoop platform. Apache HBase is a database-like layer built on Hadoop designed to support billions of messages per day. This paper describes the reasons why Facebook chose Hadoop and HBase over other systems such as Apache Cassandra and Voldemort and… (More)
Facebook Messages, which combines messages, chat and email into a real-time conversation, is the first application in Facebook to use HBase in production. In this article, we will discuss why we chose HBase for this use case, the early improvements we did to make HBase production ready, engineering and operational challenges encountered along the way, and… (More)
We propose a novel RAM architecture for embedded systems that allows both random-access and sequential access for reads and writes. Using small " links " in each row that points to the next row to be prefetched, our design significantly improves memory access time, while reducing power consumption at the expense of negligible area overhead.
The on-chip memory performance of embedded systems directly affects the system designers' decision about how to allocate expensive silicon area. We investigate a novel random access memory (RAM) architecture for embedded systems that allows both random-access and sequential-access for reads and writes. To realize sequential accesses, small " links " are… (More)
A system prototype of a future compact, low-cost medical ultrasound device is described and presented with experimental results. The prototype system consists of a 32 x 32 element, fully sampled 2-D transducer array and a printed circuit board (PCB) containing 16 custom "front-end" receive channel integrated circuits (ICs) with analog multiplexing and… (More)
The on-chip memory performance of embedded systems directly affects the system designers' decision about how to allocate expensive silicon area. We investigated a novel memory architecture, flexible sequential and random access memory (FSRAM), for embedded systems. To realize sequential accesses, small " links " are added to each row in the RAM array to… (More)