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.
Hi
Thank you for your interest in OpenMx! To answer your questions:
I see from the notes in the features page that OpenMx will now automatically run jobs in parallel — either by slicing an individual job into parallel pieces, or by running multiple different jobs in parallel — is that correct?
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
For raw data (continuous or ordinal) the finest grain parallel processing occurs by chopping the dataset into different chunks, and computing the log-likelihoods of the data in each chunk in parallel. This works well on a SMP type architecture.
http://openmx.psyc.virginia.edu/wiki/speed-parallel-running-and-efficiency