Skip to content

yale-nova/pulse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PULSE

PULSE is a distributed pointer-traversal framework for disaggregated memory that accelerates linked data structure access near memory to overcome the limitations of CPU-side caching, enabling low-latency, high-throughput, and energy-efficient execution. See our ASPLOS'25 paper for a comprehensive system description.

Directory Structure

<PULSE>
│   README.md
└───apps: RPC/RPC-ARM/Cache+RPC implementations
│   │   webservice
│   │   wiredtiger
│   │   btrdb
└───benchmark: Simulation benchmarks
└───docker-swap: Workload local/remote memory analysis using Docker swap memory
└───docs: [WIP] Documentation for setting up the testing environment
└───fpga: PULSE accelerator implementation
└───pulse-lib: PULSE common libraries
│       │  src/cache: PULSE application cache implementation
│       │  src/ds: PULSE data structures
│       │  src/erpc: PULSE RPC library implementation based on [eRPC](https://github.com/erpc-io/eRPC)
└───scripts: Scripts for building, processing results, etc.
└───third_party: Third-party libraries

Installation

Before installing PULSE, please ensure that you have set up the required dependencies by following the installation instructions for the following repositories:

  • eRPC – for running RPC-related benchmarks.
  • MIND – for running MIND-related benchmarks.
  • xup_vitis_network_example – for benchmarks involving the PULSE accelerator.

Source build

To build PULSE host-side code:

git clone https://github.com/Yale-NeRD/pulse
cd pulse
mkdir -p build
cd build
cmake ..
make -j && make install

To build PULSE accelerator code:

cd pulse/fpga/
make all DEVICE=<full platform path> INTERFACE=<interface number> DESIGN=pc

About

Accelerating Distributed Pointer-Traversals on Disaggregated Memory (ASPLOS 25')

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published