gem5-resources
gem5-resources copied to clipboard
resources: Add x86-gapbs on Ubuntu 22.04 disk image resource
This commit adds the files necessary to create an x86 Ubuntu 22.04 disk image containing the GAP Benchmark Suite. It only includes the files necessary to create the disk image, and not the disk image itself. The files in the directory "qemu_files" are used to create the disk image and launch a QEMU instance. The directory "packer_files" contains the files needed by Packer to install GAPBS onto the disk image. The README contains detailed instructions on how to build the disk image, and x86-gapbs-benchmarks-2204.py is a sample script.
After the disk image is built, it can be used as a DiskImageResource in a gem5 simulation.
@hnpl your review would be helpful!
@erin-le what testing have you done?
Finally, @KyleRoarty you mentioned that you figured out a way to build this without separately launching qemu (I think). Could you let us know how you did that (and if you could provide a review that could be helpful as well).
I tested different combinations of sizes and benchmarks for the original disk image I made. After testing the original disk image, I wrote instructions to make the disk image, remade the disk image based on those, and ran a few simulations to check that the benchmarks would run and the simulation would finish properly. I did this again after editing the instructions and adding a few files. I used synthetic graphs with sizes between 1 and 16, as well as the USA-road-d.NY.gr real graph. The benchmarks I tested were cc,bc,tc,pr,and bfs. For each benchmark, I tried the following sizes on the original disk: bc: USA-road, 2, 4, 8, 10, 14 bfs: USA-road, 4, 8, 16 cc: USA-road, 2, 3, 10 pr: 2, 5, 6, 7, 8, 9, 12, 14, 16 tc: 2, 7, 10, 12, 16
- Perhaps I've missed it somewhere, but where do you add the ExitEvents? What have you addeded and where?
- Should this be an update of the current x86-gapbs disk image (e.g., a Version 2 of it) or should this be a whole different resources? It seems to me like the former is correct.
- Is the true intention here for this to be on the develop branch? If these changes are compatible with v23.0 then they should be on stable.
Responses to Bobby's review:
- I'm not entirely sure. I think there's an ExitEvent added in
packer_files/gem5-init.sh
(a script that is run on the disk image), where the simulation exits after the benchmark finishes on the disk image, but I could also be misunderstanding what an ExitEvent is. - It looks like the intention was for this to be an update of the current x86-gapbs disk image. In this case, should I put the added
x86-gapbs-ubuntu-22.04
directory under the existingx86-ubuntu
directory and group the files currently in thex86-ubuntu
directory into a sub-directory? - I mainly made the pull request on the develop branch because of the instructions in the README. Would you want me to switch it to the stable branch?
Is this something that could be / is intended to be a generic X86 disk image? I would like to update the GPU disk image to 22.04, but what I want to do is start with a generic X86 disk and install the additional packages to a secondary disk rather than having multiple GBs of redundant files.