Skip to content

mairi-ch/teraheap

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TeraHeap: Reducing Memory Pressure in Managed Big Data Frameworks

Description

TeraHeap extends the managed runtime (JVM) to use a second, high-capacity heap over a fast storage device that coexists with the regular heap. TeraHeap provides direct access to objects on the second heap (no S/D). It also reduces GC cost by fencing the garbage collector from scanning the second heap. TeraHeap leverages frameworks’ property of choosing specific objects for off-heap placement and offers frameworks a hint-based interface for moving such objects to the second heap.

Install Prerequisites

Install the following packages:

sudo yum install python3-pip
pip3 install scan-build --user
pip3 install compdb --user

Build

  1. Build allocator.
cd allocator
./build.sh
cd -

Read the README.md file in allocator directory to export the specific environment variables

  1. Build JVM (release mode)
cd jdk8u345
./compile.sh -r
cd -
  1. Build JVM (fastdebug mode)
cd jdk8u345
./compile.sh -d
cd -

Benchmarks

To run benchmarks please clone the repository tera_applications and read the README.md files in each application directory. There are instructions about how to compile and run the different applications.

About

TeraHeap: Reducing Memory Pressure in Managed Big Data Frameworks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 76.4%
  • C++ 11.8%
  • C 6.5%
  • JavaScript 1.2%
  • Roff 1.2%
  • Shell 1.1%
  • Other 1.8%