Skip to content

What are the available features of this emulation tool and how do I set it up (MEMU Version)? #29

@aaqdas

Description

@aaqdas

Hi,

I understand that the tool has the following features (MEMU Version)

  • Simulates Multiple Hosts
  • Multiple Hosts can Share a CXL 3.0 Memory Device
  • Supports Back-Invalidate Snoops

Here is how we build the tool and simulate

  • Build the QEMU Integration
cd qemu_integration && mkdir build
cd build 
cmake ...
make -j 8
sudo make install
  • Start MemSim Server and QEMU VMs (after adjusting the hostnames and IPs in CXL Images)
# Inside qemu_integration/build
./start_server 9999 ./topology_simple.txt
# In Terminal 1
../launch_qemu_cxl.sh
# In Terminal 2
../launch_qemu_cxl1.sh
  • Expose CXL Memory Node as a DAX
# In both QEMU VMs, run the following
sh ./setup_cxl_numa.sh # Make sure to adjust the IP 

I want to make sure the steps I have performed are in line with the setup. I want to simulate two hosts which share a Type 3 CXL memory device and see the requests on back-invalidate snoop channel

How do I run a workload on both QEMU virtual machines and how utilize the shared memory?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions