Skip to content

TELOS-syslab/Threadlet-AE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

Threadlet is a hardware-supported thread abstraction implemented in a Rocket-based processor and used by LoomOS, an Asterinas-based operating system. This artifact provides the source code and experiment entry points for the following evaluation figures:

  • Figure 7: context-switch, scheduling, thread-to-thread notification, and device-to-thread notification latency;
  • Figure 8: scheduling overhead and throughput;
  • Figure 10: networking performance with different kinds of requests;
  • Figure 12: MCS lock throughput and average latency.

Repository Structure

Threadlet-AE/
|-- chipyard/                       Hardware configuration and integration
|   `-- generators/rocket-chip/     Threadlet CPU hardware implementation
|-- loomOS/                         Asterinas-based Threadlet OS
|   |-- kernel/                     LoomOS kernel source
|   |-- ostd/                       Architecture and low-level OS support
|   |-- eval/                       FPGA experiment launchers and log analyzers
|   `-- tools/                      FPGA boot configuration and utilities
|-- benchmark/                      Workload and benchmark source code
|-- script/                         Artifact experiment and plotting entry points
|-- result/                         Parsed CSV results and generated PNG figures
`-- README.md

The hardware implementation is under chipyard/generators/rocket-chip, while the FPGA experiment launchers and hardware-log analyzers are under loomOS/eval.

Build LoomOS

Start the LoomOS build container from the artifact directory:

cd Threadlet-AE/loomOS
./docker_start_debug.sh

Inside the container, build the RISC-V LoomOS kernel and all experiment device trees:

cd /root/asterinas
./build-os.sh

The build command produces the optimized RISC-V kernel used by the FPGA experiments and compiles the device-tree source files under loomOS/tools into DTB files.

Running the Experiments

Run the figure scripts one at a time from the artifact script directory. The recommended order is important because the Figure 7 analysis consumes logs generated by the other experiments.

cd Threadlet-AE/script
./figure8.sh
./figure10.sh
./figure12.sh
./figure7.sh

Figure 7 need to uses the hardware logs produced by Figures 8, 10, and 12, so figure7.sh must run after all three experiments have completed.

Each script runs its LoomOS experiment, parses the hardware log into a CSV file, and generates the corresponding PNG in Threadlet-AE/result.

Results

All paths below are relative to Threadlet-AE/.

Figure Parsed data Generated figure
Figure 7 result/fig7/threadlet.csv result/fig7/figure7.png
Figure 8 result/fig8/threadlet.csv result/fig8/figure8.png
Figure 10 result/fig10/threadlet.csv result/fig10/figure10.png
Figure 12 result/fig12/threadlet.csv result/fig12/figure12.png

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages