1. Introduction to MTS¶
1.1 Welcome¶
Thank you for choosing the Memory Tuning System (MTS) from 60East Technologies. MTS is a replacement memory allocator that dramatically improves the run time performance of your applications. MTS can provide an order of magnitude performance gain over other memory managers. On systems with multiple processors, where resource contention can cause serious performance problems, MTS maximizes system utilization by reducing heap contention.
1.2 Product Overview¶
MTS was designed to solve common performance problems caused by heap contention in single-threaded and multithreaded applications on systems that dynamically allocate and de-allocate memory. MTS often requires no modifications to existing application source code. The allocator works transparently with both C and C++ programs.
MTS is built for multiple allocators working together within multiple virtual heaps. MTS divides the application heap into virtual partitions. These virtual partitions run independently and cooperatively to ensure that multiple threads run at full speeds on their respective CPUs with no lock contention. Some of the highlights of MTS include:
- 3x - 7x faster than the standard Glibc allocator, yet space efficient, and deterministic
- Provides the standard Malloc api calls (malloc, free, realloc, calloc, ...), allowing completely transparent usage
- Improves application responsiveness under heavy loads
- Transparent parallel performance using a virtual partition design
- Scalable to multi-gigabyte size programs
- Highly optimized for increased performance in both single-threaded and multithreaded applications
- Collects extensive usage statistics
- Recovers from memory overwrites
1.3 Software Requirements¶
MTS is supported under the following platforms:
- Linux (2.4 kernel or later)
- Microsoft Windows 2003, XP, 2000 and NT
1.4 Organization of this Manual¶
This manual is divided into the following chapters:
- Chapter 1 — Introduction to MTS; (this chapter) describes the product, provides information on using this manual efficiently, and explains how to obtain technical support.
- Chapter 2 — MTS Basics; provides general information about installing and working with MTS.
- Chapter 3 through Chapter 7 contain platform-specific information:
- Chapter 3 — Using MTS on Linux
- Chapter 4 — Using MTS on Microsoft Windows
- Appendix A — Building the MTS Demo Programs explains how to build and run the MTS demo programs
- Appendix B — Preloading Libraries at Runtime explains the procedure for setting the environment for library preloading
- Appendix C - Listing of Environment Variables that effect MTS functionality
- Appendix D — Lists the changes between MTS releases
1.5 Technical Support¶
For an outline of your specific support policies, please see your 60East License Agreement. Support contracts can be purchased through your 60East account representative.
1.5.1 Obtaining Support¶
You can save time if you complete the following steps before you contact 60East Support:
Check the documentation.
The problem may already be solved and documented in the user’s guide or reference guide for the product.
Isolate the problem.
If you require Support Services, please isolate the problem to the smallest test case possible. Most problems can be reproduced with fewer than 100 lines of code. Capture erroneous output into a text file along with the command line used to generate the errors. Please also include the makefile or link line used to link your application with MTS.
- Collect your information.
- Your product version number.
- Your compiler and operating system, and their version numbers.
- The patch level of your operating system and/or compiler, if applicable. The patch level can often be related to the problem you are experiencing.
- Submit your request.
1.5.2 Contacting 60East Support¶
Please contact 60East Support Services according to the terms of your 60East License Agreement.