ChemIT created a stock Windows 7 image with MATLAB. ChemIT created a stock Linux image with MATLAB. And vetted and tested VM technology to use and wrote up instructions for John. John expanding on on each image and curating this image for distribution to workshop participants.

Goal

Work on creating as small an image as reasonable. This will reduce copying time for everyone, including those maintaining the image and those using it. Especially considering how many times it must be re-downloaded! Makes storage and hosting that much easier, too.

Needs

As of 3/9/15, JohnF writes: Currently, we've got a little bit less than half of people responding, and we have the following dependencies, all on Windows:

  • Matlab 2014b with Parallel computing toolbox.
  • Python(x,y) from google code.
  • The 32-bit LabVIEW runtime engine (appears to be free, and will run on 64 bit).

Specifics on packages using the above software:

  • Two custom packages based on Matlab (both with some compiled code).

  • One custom package based on compiled code + Python.

ChemIT to-do's

Create a VM for John Franck based on ChemIT's base Windows 7 image. We'll remove all the obvious applications to make the VM image as small as possible.

Specs and related decisions

Question or issueInstaller and support "owner"Answer or decisionFactors and notes
OS: Is 64-bit Windows OK? Or, is the 32-bit OS necessary?ChemIT

From John: If that makes the most sense to you, lets proceed forward with 64 bit, then.  I would suspect that at this point, the likelihood of anyone showing up with a 32 bit OS should be pretty low.

ChemIT: Unless otherwise requested, will install 64-bit app when available.

  • ChemIT recommends 64-bit, but must confirm OK with John. Pros and Cons if using 64-bit OS:
    • Pros:
      • 64-bit apps require 64-bit OS. Example: After this spring, Matlab will only be 64-bit, for example.
      • Oliver understands that CISER can only use 64-bit OS. (Should confirm this if instead 32-bit OS still desired.)
    • Cons:
      • If 64-bit, anyone hosting the VM must also be running a 64-bit OS.
App: Keep MS Office?N/AFrom John: Definitely no MS Office.If were to keep, VM container size goes up!

App: What version of MATLAB?

What MATLAB "toolkits" to include/ exclude?

ChemIT

From John: Matlab 2014b with Parallel computing toolbox.

Re: 64-bit version of MATLAB, John says: (64-bit) Matlab sounds fine, though obviously we will have to test the software packages that the demonstrators will be providing.

  • Current version is 2015a (as of 3/9/15!).
  • Only include what is necessary to keep VM file size as small as possible.
  • N.B.: MathWorks is dropping 32-bit Windows version: R2015b will be the last release of the 32-bit version of MATLAB for Windows. MathWorks releases subsequent to R2015b will not be available for the 32-bit Windows operating system. To use releases after R2015b, impacted users are advised to migrate to 64-bit Windows at this time. They can continue to use releases up through R2015b.
App: LabVIEW Run-Time EngineJohn

From John: For labview, we definitely want the 32 bit. The author of the software in question says, "*Even if your OS is 64bit, all programs require the _standard 32 bit LabVIEW Runtime engine_*,"

  • Even though using a 64-bit OS, do NOT use the 64-bit LabVIEW run-time engine. Thus use:

(Do not use, "LabVIEW Run-Time Engine 2014 - (64-bit) - Windows - Windows 8 64-bit/7 64-bit/Vista 64-bit/Server 2008 R2 64-bit")

App: Python(x,y), from Google CodeJohnFrom John: Python(x,y) from google code.https://code.google.com/p/pythonxy/wiki/Downloads
OS config: Is networking from within the VM strictly necessary from the image?ChemIT

From John: If possible, I would like to start setting up the VM with networking enabled, and strip it out later, if that's possible. Why?

  • Installation of some software will be easiest with networking (anda basic browser) enabled.
  • Gives us a chance to double-check with presenters.
  • Even with no network, it's easy to get files from the network to the VM (and back out), through (networked) host. Do this via shared directory. Host will do web browsing, of course, for downloads, etc. What will networking achieve?
  • No networking simplifies configuration and one less service to service, de-bug.
  • Npo networking helps reinforce that these VMs are really not for production in any way.
  • N.B. Matlab licensing will work without networking since can use (expiring) stand-alone licenses.
OS config: Do deployed VMs need to have full Admin rights?N/A, if left as full Admin for any user?

ChemIT: Consider just having account auto-log into full Admin account, with simple p/w. Easiest to de-bug and is the most flexible for user, and safe and robust enough since this VM is not a production container. But note ChemIT's concerns to the right, elaborate further in the Concerns section, below.

From John: I don't see a particular need for admin rights, though since it's just a VM, it might not hurt.

  • The VM we provide John must have full Admin rights, obviously.
  • No full Admin rights to the participants ensures VM less likely to "drift" from working VM. Matches what you are likely to get from any lab computers.
  • No Admin rights reinforce that these VMs are really not for production in any way.

 

ChemIT to first test the image to help answer these questions:

  • Does it run fine on both Mac and a Windows computers?
    • Try at least one of each.
  • Does networking work as expected?
    • Is the NAT configuration best?
  • Is RAM for the VM configured on launch, or is it hardwired in? What is min. RAM which will work? (2 GB?) And how much RAM will participant's laptop need, total?
    • Try on a verity of PC laptops
  • Does a  "snapshot" work the way Oliver hopes it does?
    • Create a (large) base. Then see if (smaller) diff can be added to it, at the destination laptop. (Rather than technique just facilitating creating an updated (but single and large) image.)

Concerns

ConcernWays to address this concernNotes

Any version of this VM must NOT be used for production, please.

Group pledges that:

  • All copies at Cornell must be destroyed after the workshop.
  • No one may use any version of this VM on a Cornell computer, other than in preparation for this workshop.
  • Copies may go out with participants, recognizing that functionality will deteriorate over time, mostly due to expiring licensed software.

Windows OS and MS Office licensing expires in 6 months in environments without KMS (MS site licensing).

Matlab won't work after expiration date set in VM (August?). Date determined by ChemIT and group.

Ideas

For workshop, consider creating instructions analogous to this, but using a Windows VM, not Linux:

Consider using VM "snapshots". This may allow you to distribute a (large) base file (downloaded in advance) and only have participants have to download a (much smaller) diff file to accommodate last-minute changes:

Consider have forked versions so some don't have large pieces of software but will work for most of the workshops. Example: One without MATLAB? Or, without MS Office, if any of them have it?

 

 

  • No labels