An integrated power, area, and timing modeling framework for multicore and manycore architectures
| / | | _ \ / | _|
| |/| |/ | |_) / _ \ | |
| | | | (| _/ ___ | |
|| |_|_|| // __|
--Architectural integrated power, area, and timing modeling framework, focuses on power and area modeling, with a target clock rate as a design constraint.
-Consider power, area, and timing simultaneously
-Complete power envelope
-Power management techniques
---Manycore processor modeling framework
-Different cores, uncore, and system (I/O) components
-Holistically modeling across stacks: Technology models from ITRS projections (also supports user defined vdd), processor modeling based on modern processors
---Flexible, extensible, and high (i.e., architecture) level framework
-A framework for architecture research
-Flexible to make researchers's life easier
Pre-populated micro-architecture configurations (can be changed by experienced users too!)
Multilevel automatic optimization
-Hierarchical modeling framework for easy extension and porting
Standalone for TDP
Paired up with performance simulators (or machine profiling statistics) for fine-grained study
---a hardware design EDA platform; nor a performance simulator
-Use RTL/SPICE/...(not McPAT) if focusing on details of complex logic or analog components
Empirical and curve-fitting based modeling for complex logic and analog building blocks (the most practical modeling methodology for high level framework).
Solution1: Users replace those models with in-house models obtained from EDA tools
Solution2: Users contribute their EDA based detailed models back to the community for sharing
-Use performance simulators for performance (McPAT cannot do performance simulations)
---a restrictive environment
-It is a framework (rather than a black-box tool)
-Its built-in models are for references and for providing methodological examples.
McPAT's built-in model includes simplified assumptions (e.g. unified instruction window for all instruction types)
McPAT provides building blocks so that it is composable
Users should always understand the methodology when using the built-in models or compose their own models.
---finished!
-There is always room for improvement . . .
-Thanks for the continueous contributing from the user community!
====================
For complete documentation of the McPAT, please refer to the following paper,
"McPAT: An Integrated Power, Area, and Timing Modeling
Framework for Multicore and Manycore Architectures",
that appears in MICRO 2009. Please cite the paper, if you use
McPAT in your work. The bibtex entry is provided below for your convenience.
@inproceedings{mcpat:micro,
author = {Sheng Li and Jung Ho Ahn and Richard D. Strong and Jay B. Brockman and Dean M. Tullsen and Norman P. Jouppi},
title = "{McPAT: An Integrated Power, Area, and Timing Modeling Framework for Multicore and Manycore Architectures}",
booktitle = {MICRO 42: Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture},
year = {2009},
pages = {469--480},
}
McPAT takes input parameters from an XML-based interface,
then it computes area and peak power of the
Please note that the peak power is the absolute worst case power,
which could be even higher than TDP.
4.2 Pass the statistics
There are two options to get the correct stats: a) the performance
simulator can capture all the stats in detail and pass them to McPAT;
b). Performance simulator can only capture partial stats and pass
them to McPAT, while McPAT can reason about the complete stats using
the partial information and the configuration. Therefore, there are
some overlap for the stats.
4.3 Interface XML file structures (PLEASE READ!)
The XML is hierarchical from processor level to micro-architecture
level. McPAT support both heterogeneous and homogeneous manycore processors.
1). For heterogeneous processor setup, each component (core, NoC, cache,
and etc) must have its own instantiations (core0, core1, ..., coreN).
Each instantiation will have different parameters as well as its stats.
Thus, the XML file must have multiple "instantiation" of each type of
heterogeneous components and the corresponding hetero flags must be set
in the XML file. Then state in the XML should be the stats of "a" instantiation
(e.g. "a" cores). The reported runtime dynamic is of a single instantiation
(e.g. "a" cores). Since the stats for each (e.g. "a" cores) may be different,
we will see a whole list of (e.g. "a" cores) with different dynamic power,
and total power is just a sum of them.
2). For homogeneous processors, the same method for heterogeneous can
also be used by treating all homogeneous instantiations as heterogeneous.
However, a preferred approach is to use a single representative for all
the same components (e.g. core0 to represent all cores) and set the
processor to have homogeneous components (e.g. <param name="homogeneous_cores
" value="1"/> ). Thus, the XML file only has one instantiation to represent
all others with the same architectural parameters. The corresponding homo
flags must be set in the XML file. Then, the stats in the XML should be
the aggregated stats of the sum of all instantiations (e.g. aggregated stats
of all cores). In the final results, McPAT will only report a single
instantiation of each type of component, and the reported runtime dynamic power
is the sum of all instantiations of the same type. This approach can run fast
and use much less memory.
====================
McPAT includes its special version of Cacti (called Cacti-P) based on Cacti6.5 release. The major changes of
the special Cacti, called Cacti-P in this distro, (compared to cacti6.5) include the following new features.
The inclosed Cacti-P can run stand-alone if users want to use these features.
For complete documentation of Cacti-P, please refer to the following paper,
"CACTI-P: Architecture-Level Modeling for SRAM-based Structures with Advanced Leakage Reduction Techniques",
that appeared in ICCAD2011. Please cite the paper, if you use
Cacti-P in your work. The bibtex entry is provided below for your convenience.
@inproceedings{cacti-p:iccad,
author = {Sheng Li and Ke Chen and Jung Ho Ahn and Jay B. Brockman and Norman P. Jouppi},
title = {CACTI-P: Architecture-level modeling for SRAM-based structures with advanced leakage reduction techniques},
booktitle = {ICCAD: International Conference on Computer-Aided Design},
year = {2011},
pages = {694-701},
}
====================
McPAT uses an opensource XML parser written and kindly specially licensed by Mr. Frank Vanden Berghen.
The detailed information about this XML parser can be found at the license information in xmlParse.cc/xmlParse.h
====================
McPAT is in its beginning stage. We are still improving the tool.
Please come back to its website for newer versions.
McPAT has been constantly and rapidly improved with new models and latest technology.
Please always refer to its code for most up-to-date and most accurate information.
If you have any comments, questions, or suggestions, please write to us:
Sheng Li
Sheng.sli@gmail.com
HewlettPackard/mcpat
June 9, 2014
July 2, 2025
C++