sales@gambitcomm.com   (603) 889 5100.

MIMIC Simulator - A large-scale simulation solution

 Home / Products / MIMIC Simulator

Overview

MIMIC is an extremely scalable SNMP simulator. It supports up to 100,000 simulated devices on a 64-bit processor (Intel Xeon or AMD64) and 10,000 on a 32-bit processor. MIMIC simulations are highly optimized for the use of the CPU and memory. They are tested regularly to make sure that acceptable performance numbers are met even with large numbers of SNMP agents.

When you are looking to do scalability testing, you will have two primary concerns. First, whether MIMIC can simulate a large number of SNMP agents? Second, will the performance be adequate to run many agents on one workstation? We take these concerns very seriously. We support our claims with actual performance tests, rather than interpolating them from small simulation scenarios.

This page will give you a good idea about MIMIC's performance numbers on various platforms and scenarios. It includes the test results in a series of reports for different hardware platforms and operating systems. It also includes recommendations for a suitable system. This will help you decide how MIMIC compares with other simulators and what system configuration you need.

Also, check out the truth about "unlimited agent licenses" here

Performance Tests

Each hardware platform / operating system combination has different performance characteristics. For MIMIC, performance is primarily governed by the amount of physical memory (RAM). The memory requirements depend on the simulations you are going to run. For instance, a high-end router simulation with hundreds of interfaces, RMON tables, etc. is going to take more memory than the simulation of an end system.

It is obvious that you see the best performance with a small number (10 to 25) of simulated devices (about 20,000 PDUs per second on commonly available desktop PCs). The real concerns arise when using a fully loaded workstation with 10,000 to 100,000 SNMP agents. You'll want at least hundreds of cumulative PDUs per second to make a simulation viable. Our tests confirm the maximum claimed number to prove scalability.

The performance test is designed to measure peak performance of MIMIC on various supported platforms under common access scenarios. The supported platforms are Windows, Linux and Solaris. The variables in the test are the number of agents running simultaneously, and the number of agents being accessed. It is assumed that the most common SNMP request is a GETNEXT, as is usually done in table traversals.

Reports

The following is a selection of reports that have been published to the MIMIC User community:

  • Windows Server 2000 to 2008 on Pentium4 HT 3GHz
  • Windows Server 2003 to 2008 on dual-core Pentium 1.8GHz
  • Windows: Pentium4 HT 3GHz vs. dual-core Pentium 1.8GHz
  • Windows vs. Linux on Pentium4 HT 3GHz
  • Windows vs. Linux on dual-core Pentium
  • Fedora 9: Dell dual-core vs. Sunfire dual-CPU
  • Fedora vs. Solaris Intel on dual-CPU Sunfire V20z
  • Linux vs. Solaris on quad-CPU Sunfire V40z
  • High scalability (64-bit) for 10 Linux distributions on quad-CPU Sunfire V40z
  • Windows 64-bit bakeoff on dual-core Intel Pentium
  • Fedora 13 vs. RHEL 4
  • Fedora 13 vs. Windows Server 2003
Here is an excerpt from one of the reports:

"Analysis

The purpose of this report is to show the difference in performance of Windows Server 2003, Windows XP, Windows Vista, and Windows Server 2008 on a hyperthreaded 3 GHz Pentium4 vs. a dual-core 1.8 GHz Pentium E2160. 32-bit and 64-bit mode on the dual-core system are very similar, so only 32-bit numbers are shown.

If you are interested in fastest numbers for a single agent, you want to look at the top row of each matrix. If you are interested in highest scalability, with multiple agents being accessed, you want to concentrate on the bottom row of each matrix.

Windows Server 2003 seems to perform much worse on the dual-core Pentium than the hyperthreaded Pentium, by an average of 50%. This seems logical, as dual-core CPUs are probably not well supported in this old OS.

The table comparing Windows Server 2003 on the hyperthreaded Pentium vs. the dual-core shows 18,000+ PDU/sec at 10 agents vs. 11,000+ PDUs/sec. At 20,000 agents, performance is 847 PDUs/sec vs. 487 PDUs/sec.

The difference on Windows XP is not as large in favor of the hyperthreaded Pentium, by an average of 50% upto 5000 agents, where at the high-scalability end a couple of tests are slightly in favor of the dual-core CPU.

Windows Vista performs much better on the dual-core CPU at the high-scaleability end (by an average of 50% at 10,000 agents), but performs better on the hyperthreaded Pentium on the low-end numbers. This would indicate better support for multi-processing on dual-core CPUs.

Windows Server 2008 performs slightly better on the dual-core CPU at the high-scaleability end (5,000 and 10,000 agents), but performs much better on the hyperthreaded Pentium on the low-end numbers (upto 2,000 agents). This would indicate better support for multi-processing on dual-core CPUs."

With each release of MIMIC, we're constantly improving the performance. Please contact our sales department for the latest detailed performance test reports.

Recommendations :

Memory:

As a ball-park estimate, we like to see at least 1MB of dedicated physical RAM per simulated agent, e.g., a 100 agent scenario should run fine on a 128MB system (depending on how much memory is used by the OS and other processes). For better performance (less swapping), 2MB per agent is recommended. When the agents are running the same simulation, MIMIC optimizes memory usage to contain only one copy of the simulation data for all agents of the same type.

You can more accurately measure this by running a simulation configuration, and checking on memory usage before and after starting the desired agent simulations. Notice that MIMIC uses memory on demand, so you should measure the memory after doing a walk of the desired tables (or a complete MIB walk). Eg. On Windows NT use the Windows Task Manager to check "Memory Usage", and on Unix use the "top" utility. The memory usage by MIMIC is approximately the same for all platforms.

CPU

The CPU is of secondary importance. Most modern processors (e.g., Intel Pentium 3GHz or faster) are adequate. MIMIC works with multi-processor systems, since it is a multi-threaded, distributed application. Agent thread processing will be distributed across multiple CPUs.

Ethernet adapters:

The final bottleneck would be the network pipe to your agents. 10Mb Ethernet is adequate for low-volume traffic, 100Mb or 1Gb is better for more demanding applications. MIMIC works with multiple network adapters on your system, so you can talk to the simulations over separate network pipes. MIMIC works with the OS-native protocol stacks, so that all network interface cards that your OS supports can be used. You can even run MIMIC over PPP or wireless.

MIMIC - The Right Decision

When you are making a decision to buy a simulator for scalability testing, your concerns about feasibility and performance are very valid. We make sure that MIMIC can simulate the number of agents you buy on a reasonably sized system, which gives you adequate performance numbers. This is why we have an upper limit of 100,000 agents. We don't believe in offering a vague number like "unlimited" because there is no such thing as "unlimited" when you have operating system, CPU and memory limitations.

We strongly recommend doing comparison tests with a large number of SNMP agents. You will find that no other products in the market can reach the desired number (above 1,000) of agents plus, the performance for a large number of agents is not even close to what you get with MIMIC. MIMIC's numbers are drastically better.

You're embarking on a critical decision on what solution is right for scalability; you owe it to yourself to do the comparisons.