Various Research Projects
(Bear with me as I merge my PhD and Postdoc Project pages)
Performance Counter Related
Here are various ongoing projects:
- Cluster Building
- General Performance Counter Issues
- PAPI Specific
- Linux perf_events subsystem
- General Interest
Basic Block Vector Related
High Performance Computing
Architectural Feature Disabling
Computer Architecture Software I've Worked On
As a grad student I've worked on various projects. When the code I made is
available there will be a link to it. If there's no link it probably means
it is not in a releasable state; please e-mail me if you are interested and
I'd be glad to share what I have with you.
Fusion Group Projects
- BBV Research -
I've investigated various methods of generating Basic Block
Vectors as needed by the SimPoint analysis tool.
- SimSnap - I've been doing a lot of work
getting the SimSnap simulation acceleration environment to work on various
platforms and simulators. Part of my work was adding File I/O
checkpoint and resume, which the original tool did not have.
Currently the code relies on the C pre-processor to intercept
the I/O calls. Work is underway on a less obtrusive and more
- Cache Tool - This tool gathers
statistics on cache behavior, with the eventual
goal of doing Cache-Conscious Data Placement.
Instrumentation Tools I've Used
- Atom - used for various projects
- FIT -
used for a cache performance tool. Contributed code to the FIT
developers which has been merged into the main codebase.
- cachetool - made a plugin for
Valgrind that generates memory traces for use
with my cache tool.
- exp-bbv -
made a Valgrind plugin that generates
SimPoint info, enabling
Basic Block Vectors (BBVs).
- valtaxi -
made a Valgrind plugin that produces
(TAXI decodes pre-decoded x86 instruction streams into PISA uops
and runs through a modified version of the PISA SimpleScalar).
- Valgrind - Ruby -
an attempt to generate multi-core memory simulatios
by using Valgrind and the Ruby multi-core cache
simulator from GEMS/m5.
- qemusim - a patch to Qemu
to generate SimPoint Basic Block Vectors (BBVs).
- qemu-trace - a patch to
Qemu that generates memory traces for cache simulators.
Simulators I've Worked with:
- GEMS - class project
- nursim - new version of ursim that runs Irix MIPS binaries. Lots of hacking
trying to get simsnap binaries to run.
- Qemu - Investigated using
qemu to generate memory traces (project info
- SimpleScalar Alpha - various projects
- SimpleScalar x86 - trying to get simsnap binaries to run.
- TAXI -
I created a valgrind plugin
(rather than the original
for TAXI and used it to simulate x86 binaries.
- m5 - You can find details
of my work on m5 here
- wattsup-0.2-vmw.tar.gz (9kB)
a slightly modified driver for the Watts Up? Pro power meter.
This works with the specific version of the meter we have, it
is posted here only for reference.
- html2simpoint-0.1.tar.gz (2kB)
Code that converts the Alpha/atom BBV results on the SimPoint website
back into discrete bbv files.
Simple image convolution example. Gives your cache a workout.
Other projects can be found here on my personal webpage:
VMW Software Productions
Back to the main website