Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.

Biplob K. Debnath

dblp:71/5869 · DBLP profile ↗
← Back
11ranked-venue papers
7as first author
0since 2021 · last 2011
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 8 · 5 first-authorDatabases, data management, data science and information retrieval · 3 · 2 first-authorArtificial intelligence and machine learning · 1Software engineering, systems software and programming languages · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
4 papers
Storage systems · 91% Memory systems · 9%
Databases, data mining, and information retrieval
1 paper
Indexing and storage engines · 100%

Topics — the 14 heaviest of 14, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Storage systems
flash and SSD
0.342011
FlashStore: High Throughput Persistent Key-Value Store · Proc. VLDB Endow. 2010
CFTL: a convertible flash translation layer adaptive to data access patterns · SIGMETRICS 2010
SkimpyStash: RAM space skimpy key-value store on flash-based storage · SIGMOD Conference 2011
Storage systems
key-value storage
0.222011
SkimpyStash: RAM space skimpy key-value store on flash-based storage · SIGMOD Conference 2011
FlashStore: High Throughput Persistent Key-Value Store · Proc. VLDB Endow. 2010
Storage systems › flash and SSD › flash memory
flash storage
0.122010
FlashStore: High Throughput Persistent Key-Value Store · Proc. VLDB Endow. 2010
ChunkStash: Speeding Up Inline Storage Deduplication Using Flash Memory · USENIX ATC 2010
Indexing and storage engines
hash index
0.112011
SkimpyStash: RAM space skimpy key-value store on flash-based storage · SIGMOD Conference 2011
Storage systems › key-value storage
flash-based key-value store
0.112011
SkimpyStash: RAM space skimpy key-value store on flash-based storage · SIGMOD Conference 2011
Storage systems › flash and SSD › flash memory management › flash translation layer
address mapping
0.112010
CFTL: a convertible flash translation layer adaptive to data access patterns · SIGMETRICS 2010
Storage systems › data reduction
data deduplication
0.112010
ChunkStash: Speeding Up Inline Storage Deduplication Using Flash Memory · USENIX ATC 2010
Storage systems › flash and SSD › flash memory management
flash translation layer
0.112010
CFTL: a convertible flash translation layer adaptive to data access patterns · SIGMETRICS 2010
Storage systems › data reduction › data deduplication
inline deduplication
0.112010
ChunkStash: Speeding Up Inline Storage Deduplication Using Flash Memory · USENIX ATC 2010
Memory systems › cache management › storage caching
non-volatile cache
0.112010
FlashStore: High Throughput Persistent Key-Value Store · Proc. VLDB Endow. 2010
Storage systems › key-value storage
persistent key-value store
0.112010
FlashStore: High Throughput Persistent Key-Value Store · Proc. VLDB Endow. 2010
Storage systems › file systems › write-optimized file system
log-structured file system
0.012011
SkimpyStash: RAM space skimpy key-value store on flash-based storage · SIGMOD Conference 2011
Storage systems
indexing
0.012010
FlashStore: High Throughput Persistent Key-Value Store · Proc. VLDB Endow. 2010
Memory systems
non-volatile memory
0.012010
CFTL: a convertible flash translation layer adaptive to data access patterns · SIGMETRICS 2010

Methods — techniques the papers use, named apart from their topics

load balancing · 0.2linear chaining · 0.2compaction · 0.2bloom filter · 0.2cuckoo hashing · 0.1caching strategy · 0.1
YearPublicationVenuePosition
2011 BloomFlash: Bloom Filter on Flash-Based Storage
abstract
The bloom filter is a probabilistic data structure that provides a compact representation of a set of elements. To keep false positive probabilities low, the size of the bloom filter must be dimensioned a priori to be linear in the maximum number of keys inserted, with the linearity constant ranging typically from one to few bytes. A bloom filter is most commonly used as an in memory data structure, hence its size is limited by the availability of RAM space on the machine. As datasets have grown over time to Internet scale, so have the RAM space requirements of bloom filters. If sufficient RAM space is not available, we advocate that flash memory may serve as a suitable medium for storing bloom filters, since it is about one-tenth the cost of RAM per GB while still providing access times orders of magnitude faster than hard disk. We present BLOOMFLASH, a bloom filter designed for flash memory based storage, that provides a new dimension of trade off with bloom filter access times to reduce RAM space usage (and hence system cost). The simple design of a single flat bloom filter on flash suffers from many performance bottlenecks, including in-place bit updates that are inefficient on flash and multiple reads and random writes spread out across many flash pages for a single lookup or insert operation. To mitigate these performance bottlenecks, BLOOMFLASH leverages two key design innovations: (i) buffering bit updates in RAM and applying them in bulk to flash that helps to reduce random writes to flash, and (ii) a hierarchical bloom filter design consisting of component bloom filters, stored one per flash page, that helps to localize reads and writes on flash. We use two real-world data traces taken from representative bloom filter applications to drive and evaluate our design. BLOOMFLASH achieves bloom filter access times in the range of few tens of microseconds, thus allowing up to order of tens of thousands operations per sec.
Biplob K. Debnath, Sudipta Sengupta, Jin Li 0001, David J. Lilja, David Hung-Chang Du
ICDCS1
2011 A Workload-Aware Adaptive Hybrid Flash Translation Layer with an Efficient Caching Strategy
abstract
In this paper, we propose a Convertible Flash Translation Layer (CFTL) for NAND flash-based storage systems. CFTL is a novel hybrid flash translation layer adaptive to workloads so that it can dynamically switch its mapping scheme to either a page level mapping or a block level mapping scheme to fully exploit the benefits of them. Moreover, we propose an efficient caching strategy to further improve the CFTL performance. Consequently, both the convertible feature and the caching strategy empower CFTL to achieve good read performance as well as good write performance. Our experimental evaluation with various realistic workloads demonstrates that CFTL outweighs other FTL schemes. In particular, our new caching strategy remarkably improves cache hit ratios, by an average of 245%, and exhibits much higher hit ratios especially for randomly read intensive workloads.
Dongchul Park, Biplob K. Debnath, David Hung-Chang Du
MASCOTS2
2011 Sampling-based garbage collection metadata management scheme for flash-based storage
abstract
Existing garbage collection algorithms for the flash-based storage use score-based heuristics to select victim blocks for reclaiming free space and wear leveling. The score for a block is estimated using metadata information such as age, block utilization, and erase count. To quickly find a victim block, these algorithms maintain a priority queue in the SRAM of the storage controller. This priority queue takes O(K) space, where K stands for flash storage capacity in total number of blocks. As the flash capacity scales to larger size, K also scales to larger value. However, due to higher price per byte, SRAM will not scale proportionately. In this case, due to SRAM scarcity, it will be challenging to implement a larger priority queue in the limited SRAM of a large-capacity flash storage. In addition to space issue, with any update in the metadata information, the priority queue needs to be continuously updated, which takes O(lg(K)) operations. This computation overhead also increases with the increase of flash capacity. In this paper, we have taken a novel approach to solve the garbage collection metadata management problem of a large-capacity flash storage. We propose a sampling-based approach to approximate existing garbage collection algorithms in the limited SRAM space. Since these algorithms are heuristic-based, our sampling-based algorithm will perform as good as unsampled (original) algorithm, if we choose good samples to make garbage collection decisions. We propose a very simple policy to choose samples. Our experimental results show that small number of samples are good enough to emulate existing garbage collection algorithms.
Biplob K. Debnath, Krishnan Srinivasan, Weijun Xiao, David J. Lilja, David Hung-Chang Du
MSST1
2011 A Forest-structured Bloom Filter with flash memory
abstract
A Bloom Filter (BF) is a data structure based on probability to compactly represent/record a set of elements (keys). It has wide applications on efficiently identifying a key that has been seen before with minimum amount of recording space used. BF is heavily used in chunking based data de-duplication. Traditionally, a BF is implemented as in-RAM data structure; hence its size is limited by the available RAM space on the machine. For certain applications like data de-duplication that require a big BF beyond the size of available RAM space, it becomes necessary to store a BF into a secondary storage device. Since BF operations are inherently random in nature, magnetic disk provides worse performance for the random read and write operations. It will not be a good fit for storing the large BF. Flash memory based Solid State Drive (SSD) has been considered as an emerging storage device that has superior performance and can potentially replace disks as the preferred secondary storage devices. However, several special characteristics of flash memory make designing a flash memory based BF very challenging. In this paper, our goal is to design an efficient flash memory based BF that is fully aware of these physical characteristics. To this end, we propose a Forest-structured BF design (FBF). FBF uses a combination of RAM and flash memory to design a BF. BF is stored on the flash, while RAM helps to mitigate the impact of slow write performance of flash memory. In addition, in-flash BF is organized in a forest-like structure in order to improve the lookup performance. Our experimental results show that FBF design achieves 2 times faster processing speed with 50% less number of flash write operations when compared with the existing flash memory based BF designs.
Guanlin Lu, Biplob K. Debnath, David Hung-Chang Du
MSST2
2011 SkimpyStash: RAM space skimpy key-value store on flash-based storage
abstract
We present SkimpyStash, a RAM space skimpy key-value store on flash-based storage, designed for high throughput, low latency server applications. The distinguishing feature of SkimpyStash is the design goal of extremely low RAM footprint at about 1 (± 0.5) byte per key-value pair, which is more aggressive than earlier designs. SkimpyStash uses a hash table directory in RAM to index key-value pairs stored in a log-structured manner on flash. To break the barrier of a flash pointer (say, 4 bytes) worth of RAM overhead per key, it "moves" most of the pointers that locate each key-value pair from RAM to flash itself. This is realized by (i) resolving hash table collisions using linear chaining, where multiple keys that resolve (collide) to the same hash table bucket are chained in a linked list, and (ii) storing the linked lists on flash itself with a pointer in each hash table bucket in RAM pointing to the beginning record of the chain on flash, hence incurring multiple flash reads per lookup. Two further techniques are used to improve performance: (iii) two-choice based load balancing to reduce wide variation in bucket sizes (hence, chain lengths and associated lookup times), and a bloom filter in each hash table directory slot in RAM to disambiguate the choice during lookup, and (iv) compaction procedure to pack bucket chain records contiguously onto flash pages so as to reduce flash reads during lookup. The average bucket size is the critical design parameter that serves as a powerful knob for making a continuum of tradeoffs between low RAM usage and low lookup latencies. Our evaluations on commodity server platforms with real-world data center applications show that SkimpyStash provides throughputs from few 10,000s to upwards of 100,000 get-set operations/sec.
Biplob K. Debnath, Sudipta Sengupta, Jin Li 0001
SIGMOD Conference1
2010 Deferred updates for flash-based storage
abstract
The NAND flash memory based storage has faster read, higher power savings, and lower cooling cost compared to the conventional rotating magnetic disk drive. However, in case of flash memory, read and write operations are not symmetric. Write operations are much slower than read operations. Moreover, frequent update operations reduce the lifetime of the flash memory. Due to the faster read performance, flash-based storage is particularly attractive for the read-intensive database workloads, while it can produce poor performance when used for the update-intensive database workloads. This paper aims to improve write performance and lifetime of flash-based storage for the update-intensive workloads. In particular, we propose a new hierarchical approach named as deferred update methodology. Instead of directly updating the data records, first we buffer the changes due to update operations as logs in two intermediate in-flash layers. Next, we apply multiple update logs in bulk to the data records. Experimental results show that our proposed methodology significantly improves update processing overhead and longevity of the flash-based storages.
Biplob K. Debnath, Mohamed F. Mokbel, David J. Lilja, David Hung-Chang Du
MSST1
2010 CFTL: a convertible flash translation layer adaptive to data access patterns
abstract
The flash translation layer (FTL) is a software/hardware in terface inside NAND flash memory. Since FTL has a critical impact on the performance of NAND flash-based devices, a variety of FTL schemes have been proposed to improve their performance. In this paper, we propose a novel hybrid FTL scheme named Convertible Flash Translation Layer (CFTL). Unlike other existing FTLs using static address mapping schemes, CFTL is adaptive to data access patterns so that it can dynamically switch its mapping scheme to either a read-optimized or a write-optimized mapping scheme. In addition to this convertible scheme, we propose an efficient caching strategy to further improve the CFTL performance with only a simple hint. Consequently, both the convertible feature and the caching strategy empower CFTL to achieve good read performance as well as good write performance.
Dongchul Park, Biplob K. Debnath, David Hung-Chang Du
SIGMETRICS2
2010 ChunkStash: Speeding Up Inline Storage Deduplication Using Flash Memory
Biplob K. Debnath, Sudipta Sengupta, Jin Li 0001
USENIX ATC1
2010 FlashStore: High Throughput Persistent Key-Value Store
abstract
We present FlashStore, a high throughput persistent key-value store, that uses flash memory as a non-volatile cache between RAM and hard disk. FlashStore is designed to store the working set of key-value pairs on flash and use one flash read per key lookup. As the working set changes over time, space is made for the current working set by destaging recently unused key-value pairs to hard disk and recycling pages in the flash store. FlashStore organizes key-value pairs in a log-structure on flash to exploit faster sequential write performance. It uses an in-memory hash table to index them, with hash collisions resolved by a variant of cuckoo hashing. The in-memory hash table stores compact key signatures instead of full keys so as to strike tradeoffs between RAM usage and false flash read operations. FlashStore can be used as a high throughput persistent key-value storage layer for a broad range of server class applications. We compare FlashStore with BerkeleyDB, an embedded key-value store application, running on hard disk and flash separately, so as to bring out the performance gain of FlashStore in not only using flash as a cache above hard disk but also in its use of flash aware algorithms. We use real-world data traces from two data center applications, namely, Xbox LIVE Primetime online multi-player game and inline storage deduplication, to drive and evaluate the design of FlashStore on traditional and low power server platforms. FlashStore outperforms BerkeleyDB by up to 60x on throughput (ops/sec), up to 50x on energy efficiency (ops/Joule), and up to 85x on cost efficiency (ops/sec/dollar) on the evaluated datasets.
Biplob K. Debnath, Sudipta Sengupta, Jin Li 0001
Proc. VLDB Endow.1
2009 Large Block CLOCK (LB-CLOCK): A write caching algorithm for solid state disks
abstract
Solid state disks (SSDs) using NAND flash memory are increasingly being adopted in the high-end servers of datacenters to improve performance of the I/O-intensive applications. Compared to the traditional enterprise class hard disks, SSDs provide faster read performance, lower cooling cost, and higher power efficiency. However, write performance of a flash based SSD can be up to an order of magnitude slower than its read performance. Furthermore, frequent write operations degrade the lifetime of flash memory. A nonvolatile cache can greatly help to solve these problems. Although a RAM cache is relative high in cost, it has successfully eliminated the performance gap between fast CPU and slow magnetic disk. Similarly, a nonvolatile cache in an SSD can alleviate the disparity between the flash memory's read and write performance. A small write cache that reduces the number of flash block erase operations, can lead to substantial performance gain for write-intensive applications and can extend the overall lifetime of flash based SSDs. This paper presents a novel write caching algorithm, the Large Block CLOCK (LB-CLOCK) algorithm, which considers `recency' and `block space utilization' metrics to make cache management decisions. LB-CLOCK dynamically varies the priority between these two metrics to adapt to changes in workload characteristics. Our simulation based experimental results show that LB-CLOCK outperforms the best known existing flash caching algorithms for a wide range of workloads.
Biplob K. Debnath, Sunil Subramanya, David Hung-Chang Du, David J. Lilja
MASCOTS1
2007 Towards efficient search on unstructured data: an intelligent-storage approach
abstract
Applications that create and consume unstructured data have grown both in scale of storage requirements and complexity of search primitives. We consider two such applications: exhaustive search and integration of structured and unstructured data. Current block-based storage systems are either incapable or inefficient to address the challenges bought forth by the above applications. We propose a storage framework to efficiently store and search unstructured and structured data while controlling storage management costs. Experimental results based on our prototype show that the proposed system can provide impressive performance and feature benefits.
Aravindan Raghuveer, Meera Jindal, Mohamed F. Mokbel, Biplob K. Debnath, David Hung-Chang Du
CIKM4