|
M-Opt is a tool designed to generate, for a given application data access pattern, the optimum data memory hierarchy and the data compression/decompression decisions. M-Opt also returns optimal data assignment to memory components. Tool is based on, XPress-MP, a commercial ILP (integer linear programming) solver from Dash Optimization. M-Opt is composed of two parts: 1. Data Memory Hierarchy Design 2. Data Compression |
|
2. Data Compression One of the techniques that can be used to reduce memory space consumption (occupancy) of embedded applications is data compression. The goal of data compression is to represent an information source (e.g., a data file, a speech signal, an image, or a video signal) as accurately as possible using the fewest number of bits. While data compression can be an effective way of reducing memory space consumption of embedded applications, it needs to be invoked with care since performance and power costs of decompression can be overwhelming. Therefore, compression/decompression decisions must be made based on a careful analysis of data access pattern of the application. |
|
1. Data Memory Hierarchy Design A critical component of a chip multiprocessor is its memory subsystem. This is because both power and performance behavior of a chip multiprocessor is largely shaped by its on-chip memory. For embedded systems that repeatedly execute the same application, it makes sense to design a customized, software-managed on-chip memory architecture. M-Opt returns an application-specific data memory hierarchy design for chip multiprocessors, based on the given data access pattern and the other input parameters. ILP solver returns the sizes of the memory components in the data memory hierarchy, how these memory components are shared across multiple processors in the system, and what data each memory component is to hold. |
|
M-Opt — Data Compression ILP template file and sample input file can be used along with XPress-MP to obtain the optimum data block locations and their forms (compressed or uncompressed) along with the compression and decompression decisions. |
|
M-Opt — Data Memory Hierarchy Design ILP template file and sample input file can be used along with XPress-MP to obtain the sizes of the memory components in the optimum data memory hierarchy, how these memory components are shared across multiple processors in the system, and what data each memory component is to hold. |

|
M-Opt — How To Use 1. Install XPress-MP. 2. Modify the input file to reflect the properties of the given application and memory. For example the data access pattern of the application should be modified. 3. Modify the template file for possible modifications such as some design parameters. For example the number of processors in the chip multiprocessor should be updated as requested. 4. Run the template file on XPress-MP with the specific input file. 5. XPress-MP will return the optimum solution (if any) along with the values for each variable. 6. These values can be analyzed by the programmer, by a software, or by XPress-MP to obtain the optimum data memory hierarchy or data compression/decompression decisions. |