MLwiN system requirements

Note: If your existing version is MLwiN 2.10 Beta and you wish to install the latest MLwiN, we recommend uninstalling this version before installing a new one.

MLwiN 2.10 (and subsequent versions) can be installed on the following operating systems:


Other minimum requirements


32 Mb RAM; 100Mb hard disk.

The actual amount of memory and disk space required will depend on the data being analysed.


Linux/Mac OS X Compatibility


MLwiN is Windows-only software and therefore will not run natively on these machines. There are three options for running on these systems detailed below:

Running in Wine

Wine (see http://www.winehq.org) is a compatibility layer that allows many applications originally designed to run under Windows to work on x86/x64 systems running Linux or MacOS X. We are unable to offer individual support on setting this up, however the following should provide an outline of the steps required.

Installing Wine

On Linux systems Wine is often available as a package provided with the distribution. If this is unavailable or out of date you can also download an installation package for many popular distributions from http://www.winehq.org/download/.

On Mac OS X you can install Wine using the following instructions provided by Tom Palmer (see http://wiki.winehq.org/MacOSX for alternative installation methods):

To be on the safe side start by doing a Time Machine backup of your Mac.

Install XQuartz.app from https://xquartz.macosforge.org/landing/. Once installed launch it.

Install the command line development tools by either installing Xcode from the App Store, opening it, going to Preferences and selecting install Xcode Command Line Tools on the Locations tab or running the following command in a terminal:

xcode-select --install

Install Macports from http://www.macports.org/install.php

Once Macports is installed install the wine-devel port using the Terminal command, note you will need an Admin password:

sudo port install wine-devel

This takes a very long time (possibly as long as 1hr on slow Macs)

Installing MLwiN

Once Wine is installed use the following command to install MLwiN (this assumes that the MLwiN installer is in the current directory):

msiexec -i MLwiN.msi

If you also want to use MLwiN via its GUI interface you will also need to run the following commands

winetricks vb6run
winetricks mfc42
winetricks corefonts

NOTE: If winetricks fails to run due to xdg-open being missing you can edit this call in the script to use open instead. You can find where the winetricks script is located with the command:

which winetricks

Running MLwiN

You should then be able to run MLwiN with the command:

wine <full path to mlwin.exe>

If you are going to run more than one Windows application in a session you can improve startup times with the following command at the beginning of the session:

wineserver -p

If you want to avoid the wine prefix and are running Linux you can use the command as root:

echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register

If you are running on Mac OS X or don't have root access to the machine you could alternatively use a wrapper script to run MLwiN. In the i386 subdirectory where you installed MLwiN create a file called mlwin.sh with the following contents:

#!/bin/sh
wine mlwin.exe $@

In the same directory create a file called mlnscript.sh containing the following:

#!/bin/sh
wine mlnscript.exe $@

Create a file called mlnscript.sh in the x64 subdirectory where you installed MLwiN with the following contents:

#!/bin/sh
wine mlnscript.exe $@

Finally you need to make these scripts executable with the chmod command, i.e.:

chmod +x mlwin.sh

These files should now work the same way as if you were running on Windows, allowing you to open MLwiN or call it from a package such as runmlwin/R2MLwiN.

Dual Boot

This method requires that you have a valid Windows license.

If you are using Mac OS X the installation can be automated with Boot Camp (http://www.apple.com/support/bootcamp/).

If you are running Linux then you have to either partition your hard drive, or install a second one and then set up Windows on this drive.

Virtual machine

There are a variety of software packages that will allow you to set up a virtual Windows PC. These are both commercial (for example www.vmware.com/products/fusion/ or www.parallels.com) or free (for example Oracle's VirtualBox) All of these require a legal copy of Windows to use. Instructions for VirtualBox are given below.

  1. Install VirtualBox. You can download this for free from https://www.virtualbox.org/wiki/Downloads
  2. Create a virtual machine and install Windows into it. You will need a Windows CDRom or image as well as a valid Windows license. Instructions for creating the virtual machine can be found at the following link: https://www.virtualbox.org/manual/ch01.html#gui-createvm
    If you are installing MLwiN for use with runmlwin we recommend setting a password for the Windows user.
  3. Once you have the virtual machine set up you need to install the VirtualBox guest additions to enable the virtual machine to communicate with the operating system. To do this choose the following menu item:
    Devices->Install Guest Additions
  4. Share the folder (via Devices->Shared Folders) containing your MLwiN installer and then run the installer inside the virtual machine. If you are setting this up for use with runmlwin you need to choose custom install and modify the installation directory so that it does not contain any spaces.



MLwiN compatibility with Windows Vista, Server, x64 Edition, MCE and multi-core/multi-processor environments


Although MLwiN should work on these systems it is not possible for us to test every combination.

If you do experience problems then it is possible to use virtualisation software such as Virtual PC 2007 or VMware to enable you to run Windows XP along side your normal operating system, for the purposes of running MLwiN. If you have Windows 7 Professional or higher then you can make use of Windows XP Mode.

64 bit windows benefits

Although MLwiN is a 32-bit application running it on a 64-bit machine will allow it to access 4Gb of address space, rather than the usual 2Gb. This should allow smoother processing and manipulation of larger datasets.

Multi-core, multi-processor possible benefits

MLwiN has been designed for a single CPU and is single-threaded. In multi-processor environments the most benefit MLwiN would gain would be that it could have one of the CPUs to itself without having to fight with other applications and the operating system.

Redesigning MLwiN to take advantage of multiple processors would be a major undertaking, for which we have no immediate plans.


FAQ: Is it possible to run MLwiN on a Citrix-desktop?


Example question:

We are currently re-designing our network, which means that our MLwiN users will have to access the data MLwiN uses through a Citrix-"window" and they will not be allowed to put the data onto their local hard disk. This means that MLwiN cannot run on their computers but must reside in the secure network, and either be processed on the Citrix-server/Citrix-desktop, or running on a dedicated application-server

Answer:

We do not have a Citrix system here to test MLwiN on, so cannot give a definitive answer, however we have had reports of people using MLwiN successfully on this and similar systems. MLwiN 2.10 should have more success that previous versions as it no longer attempts to write files temporarily to its program directory.

One thing to note is that MLwiN loads the whole data set being analysed into memory, so if your users are running models on large data sets on the same machine you may run into memory issues.

Running more complex models can also be quite CPU intensive. Whether this is an issue for you will depend on the number of processors in your server machine and the number of simultaneous MLwiN users. Each instance of MLwiN can only make use of a single processor, so as long as the number of copies running a model is less than or equal to the number of processors in the machine there should be no slowdown compared with running it on the user's machine.

More software FAQS >>