Skip to main content

Use case 3: Interference between GUPS and PARSEC app

Use a PARSEC application to access local memory with 50% CPU utilization, while simultaneously running the GUPS benchmark on the same core to access CXL memory.


Steps:

  1. Run the PARSEC raytrace application with 50% CPU to access local memory
sudo cpulimit -l 50 -- numactl --physcpubind=32 --membind=4 /path/to/parsec/bin/parsecmgmt -a run -p raytrace -i native
  1. Run the GUPS benchmark on the same core (CPU 32) with 30% CPU to access CXL memory
sudo cpulimit -l 30 -- numactl --membind=4 /home/xiaoli/TPP/colloid-6.3/apps/gups/gups-r 1
  1. Monitor CXL-induced stalls on core 32 using online estimation mode
python3.8 main.py monitor -app_exist parsec_gups -online esti -savename parsec_gups -path DRd,RFO,HWPF,DWr,LD,ST -pmu default
  1. Or monitor the variation in queueing degree
python3.8 main.py monitor -app_exist parsec_gups -online analy -savename parsec_gups -path DRd,RFO,HWPF,DWr,LD,ST -pmu default