Selecting the right hardware can dramatically improve the performance of Xpress.
Xpress is a CPU-intensive application. During the optimization process itself, it operates most efficiently when it has dedicated access to the CPU. If run in conjunction with other applications, or several instances of Xpress are run at once, then the performance of Xpress and any other applications is degraded.
We do not need to remind you that computer hardware specifications change very quickly, and the specifications quoted below are subject to continuous change and improvement. However, the factors themselves will remain important.
Hardware requirements for run-time environments (servers, dedicated workstations)
CPU performance
The single most important characteristic of the hardware is raw CPU speed. The performance of Xpress will scale fairly linearly with effective CPU speed for all sizes of model ( assuming no other constraining factors ).
Xpress currently performs best on the Intel Core CPU architecture. This family of CPUs include the i7/i5 desktop CPUs and the new Nehalem-based Xeon server CPUs ( Models 55xx, 56xx, 36xx ).
Desktop recommendations: Intel i7 930-975
Server recommendations: Intel Xeon X5570, X5670, X5677, X5680
The absolute minimum processor requirement is an Intel Pentium 3 or equivalent.
Memory considerations
For very small models, quantity and speed of memory will have little or no impact on performance as the data will be cached on the CPU. For models that are larger than the available cache, performance will increase slightly with memory speed. If the amount of memory required by Xpress exceeds the available physical memory then performance will seriously degrade as virtual memory is paged in by the operating system. Avoid this situation if at all possible.
Use of the IVE development environment will double the amount of memory required. Use of Parallel MIP will increase the amount of memory required proportional to the number of threads employed in the solve.
Recommendations: 2GB of memory for 32bit operating systems, 6-8GB for 64bit operating systems but contact Support for a more accurate estimate.
Other components
Xpress creates temporary files. The implementation of the I/O routines is such that access speed of the local hard-drive will not perceptably affect the performance of the software. However, we would not recommend these temporary files be directed to considerably slower media such as network drives or usb flash memory.
Operating systems
If performance and cost are the only selection factors then Intel and AMD x86/x64 CPU families, as both the cheapest and fastest mainstream processors available, would be the obvious hardware choice. This restricts the choice of operating system to either Windows or Linux. Our primary development platform is Windows and this is our recommended operating system. The performance of Xpress is independent of the exact flavour of Windows i.e XP, Vista, 7.
View the full list of supported operating systems.
Parallel Solving
Current Intel multi-core CPUs share a single interface to the main memory which is suitable for users of Parallel MIP ( multiple cores solving the same one problem ). Users who wish to run multiple different models concurrently should consider a multi-cpu ( multiple CPU sockets on one motherboard ) system if the model is sufficiently large ( 100,000+ variables and constraints ) to avoid the degradation in performance due to the cores sharing caches and memory controller.
32bit or 64bit
The 64bit software generally runs 5-15% faster than the equivalent 32bit software ( one exception to this trend is where compilation of a mosel model takes a substantial portion of the overall time, as compiling a model in 64bit Mosel takes slightly longer than in 32bits ). However, the main reason for moving to 64bit is the vastly increased potential available memory.
No matter how much physical memory is installed in a machine, the maximum theoretical amount of memory that a 32bit process can access is 4GB. On 32bit Windows the upper limit is even less at 2GB. Larger models can easily exceed this even without the use of IVE or Parallel MIP.
64bit Windows removes this upper limit ( actually there is still an upper limit but it wont be an issue for decades ). Current RAM prices mean that its quite cheap to populate a machine with 8GB or more and the entire physical memory is available to an Xpress process.
Hardware requirements for development environments (professionals who develop optimization models)
Machines (desktops or laptops) used for developing optimization models impose additional requirements above the minimum required for servers or dedicated environments. In addition to running the Xpress optimizer, a development machine commonly runs other software in parallel:
-
A database environment/interface
-
Document-processing applications (for working with model diagrams, viewing software requirements, etc.)
-
Reporting software
-
Communication tools (e.g. email)
-
Software development tools (e.g. Visual Studio, Java SDK, etc.)
-
Other instances of Xpress
-
Parallel Xpress algorithms
Xpress, as documented above, is extremely CPU intensive and the executing software will seriously degrade the usability of any other software trying to share the same CPU core. Therefore 2 CPUs/cores are the absolute minimum required for productive use of a development machine.
Furthermore, Xpress optimization algorithms (particularly Mixed Integer Programming) will take advantage of parallelism to improve solution times for difficult problems. A minimum of 2 threads (cores) are needed to take advantage of the parallelism feature in Xpress. Developers who need to experiment with parallel algorithms within Xpress will benefit from additional CPUs cores and would require a quad-core machine. The following CPU allocation is typical for a development machine:
-
core #1 - office applications, productivity tools, database, etc.
-
core #2 - primary Xpress core (100% utilization)
-
core #3+ - additional cores for Xpress Parallel algorithms ( 100% utilization)
The majority of the Xpress internal development and consultancy work is performed using quad-core machines with a 64bit operating system and a large amount of RAM.
For any questions relating to hardware, please contact FICO Xpress Support