OpenMx in the Cloud
Posted on

Forums
I’m looking to integrate MSEM (one of: OpenMx, MPlus, LISREL, etc) into an application I am developing for schools on a .NET Microsoft Azure Cloud platform — multiple schools will access the application simultaneously, and the application will call the MSEM modelling unit to estimate a specific model and return the estimates to a database for benchmarking purposes.
Would I need to run OpenMx inside a VM, or is there a server version? Can multiple instances of OpenMx run inside the same VM? or Would we need to run multiple VMs, each for an instant of OpenMx?
How does OpenMx utilise multiple-cores — can it can run multiple models (jobs) simultaneously? or does it simply run parallel processing for a single job via the multiple-cores?
The Azure Cloud expands elastically to meet requirements — while serial processing (pseudo batch mode) would work OK, processing multiple jobs in parallel would be preferred.
What type of licensing would apply to the above application.
MSEM
Thank you for your interest in OpenMx! To answer your questions:
1. OpenMx can be run interactively or in batch mode in R. There are versions for Windows, Linux and OSX, and this applies to all of them.
2. There are several variants of multicore utilization. At the most fine-grained, raw data likelihoods can be calculated by splitting the data across multiple cores, and aggregating the log-likelihoods when all threads are complete. Next would be by declaring mxModels (say different data groups or models) as independent, so they can be evaluated in parallel. Finally, other parallelizations via the R parallel or snowfall libraries could be used to wrap around various model-fitting components, including fitting multiple models simultaneously.
3. Licensing is open source, GNU General Public License from the Free Software Foundation. However, if you (or anyone) would like to make a financial contribution to the continued development of OpenMx, we'd certainly appreciate it!
Log in or register to post comments
In reply to MSEM by neale
Parallel Processing
Do I need to invoke anything to implement this feature, eg. specify a parameter for it, or does the application automatically detect the number of processors available and adapt to what it finds?
Cheers
Peter
Log in or register to post comments
In reply to Parallel Processing by cuttance
Yes, correct, see this thread for how-to
http://openmx.psyc.virginia.edu/wiki/speed-parallel-running-and-efficiency
Log in or register to post comments