Skip to content

Dookoen/Halo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Halo: A Hybrid PMem-DRAM Persistent Hash Index with Fast Recovery

Halo is a hybrid PMem-DRAM persistent hash index with fast recovery featuring a specifically designed volatile index and log-structured persistent storage layout. In order to suppress write amplification caused by memory allocators and to facilitate recovery, we propose Halloc, a highly-efficient memory manager for Halo. In addition, we pro- pose mechanisms such as batched writes, prefetching for hybrid reads, and reactive snapshot to further optimize performance.

Paper

This is the code according to our paper Halo: A Hybrid PMem-DRAM Persistent Hash Index with Fast Recovery(accept by SIGMOD '22).

Dependencies

For building

Required

  • libpmem in PMDK
  • libvmem in PMDK

How to build

  • Call make to generate all binaries.

To generate YCSB workloads

cd YCSB
wget https://github.com/brianfrankcooper/YCSB/releases/download/0.17.0/ycsb-0.17.0.tar.gz
tar -xvf ycsb-0.17.0.tar.gz
mv ycsb-0.17.0 YCSB
#Then run workload generator
mkdir workloads
./generate_all_workloads.sh

To generate PiBench workloads

cd PiBench
make
./auto_gene.sh

How to run

See autorun.sh

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 50.3%
  • C 44.2%
  • Shell 2.9%
  • Makefile 0.8%
  • Perl 0.8%
  • PowerShell 0.4%
  • Other 0.6%