![]() |
Ghent University, BelgiumKenneth Hoste and Lieven Eeckhoutkenneth.hoste@ugent.be , leeckhou@elis.ugent.be[ what? ] :: [ news ] :: [ download ] :: [ how? ] :: [ publications ] :: [ links ] |
![]() |
MICA is short for Microarchitecture-Independent Characterization of Applications.
MICA is a Pin tool which allows the user to collect a number of program characteristics to quantify runtime program behavior.
These program characteristics are totally independent of the microarchitecture (cache configuration, branch predictor, ...) on which the measurements are done, in contrast to other workload characterization techniques using simulation or hardware performance counters.
(Feb. 27th 2011)
I am no longer actively working in the field of computer architecture research.
Nevertheless, I will try and support MICA in the coming years.
If you notice that the last release of MICA isn't working for you, e.g. with the latest Pin kit, please contact me (kenneth.hoste@ugent.be)
March 26th 2012
Release of MICA v0.40
Aug. 29th 2011
Release of MICA v0.32
Feb. 28th 2011
Release of MICA v0.31
Feb. 27th 2011
Release of MICA v0.3
Sep. 22th 2009
Release of MICA v0.23:
Jun. 13th 2008
Release of MICA v0.22, including:
May 20th 2008
Release of MICA v0.21, including:
Mar. 26th 2008
Fixed some faulty hyperlinks in the publication section, and added a new paper on phase-level workload characterization, to be presented at ISPASS-2008 (Austin (TX), April 2008). This is the first paper that actually uses MICA...
Dec. 3rd 2007
Release of MICA v0.2, which includes some important bug fixes and added features:
Sept. 29th 2007
Official introduction of MICA at the Pin tutorial at IISWC-2007. Slides for the presentation are available here, full code examples used in the tutorial are available here (gzipped tarball here).
Sept. 26th 2007
A sneak preview of MICA was shown as part of an presentation I was giving at Intel Hudson (near Boston (MA), US). The Pin development team gave a lot of great feedback on how MICA could be improved and extended, and they were interested in using part of the code for their ongoing research.
You can download MICA below. The Pin tool is released under a BSD license, which basically means "do what you want with it, just don't pretend it's yours".
If you are using MICA for a paper, please refer to the IEEE Micro article below for the microarchitecture-independent characterization methodology.
A README-file containing information about using the tool and the outputs it produces is available in the release.
A good place to start is the IISWC-2007 Pin tutorial presentation, available here.
For further questions about the use and implementation of MICA, please mail Kenneth Hoste (kehoste@elis.ugent.be).
MICA is very easy to use, just like any other Pin tool. To analyze the /bin/ls program in Linux, measuring all available characteristics for the full run of the program, execute:
For now, please contact Kenneth Hoste (kenneth.hoste@ugent.be) if you experience any problems using MICA. A MICA mailinglist will probably be set up some time soon.
If you have improved MICA (fixed bugs, added features, ...), and want to contribute your efforts, please contact Kenneth Hoste (kenneth.hoste@ugent.be).
Microarchitecture-Independent Workload Characterization
[abstract; paper: PDF]
IEEE Micro Hot Tutorials, May/June 2007 (Vol. 27, No. 3) pp. 63-72
Performance Prediction based on Inherent Program Similarity
[abstract; paper: PDF, PS; presentation]
PACT-2006, Sept. 2006; Seattle, WA (US)
Comparing Benchmarks Using Key Microarchitecture-Independent Characteristics
[abstract; paper: PDF; presentation ]
IISWC2006, Oct. 2006; San Jose, CA (US)
Analyzing Commercial Processor Performance Numbers for Predicting Performance of Applications of Interest
[abstract; paper: PDF; poster ]
SIGMETRICS'07, June 2007; San Diego, CA (US)
Characterizing the Unique and Diverse Behaviors in Existing and Emerging General-Purpose and Domain-Specific Benchmark Suites
[PDF]
ISPASS-2008, April. 2008; Austin, TX (US)
Scheduling on Heterogeneous Multicore Processors Using Architectural Signatures
[PDF]
WIOSCA-2008 (ISCA workshop), June 2008; Beijing, China
HASS: A Scheduler for Heterogeneous Multicore Systems
[PDF]
Operating Systems Review, vol. 43, issue 2, pp. 66-75, April 2009
(Special Issue on the Interaction among the OS, Compilers and Multicore processors)
Analysis, Estimation and Optimization of Computer System Performance Using Machine Learning
[PDF]