« April 2005 | Main | September 2005 »
May 18, 2005
Brainstorming of virtualization possibilities
I've just been thinking about some new ways that virtualization could be applied. I haven't thought all of these through, so be nice.For large groups of computers (like in large companies or universities) virtualize every workstation. Transparent to users, one virtual machine is what the workstation would normally run and still connects to the keyboard, monitor etc. Advantages I could see:
- Easier and simplified system administration. "Re-imaging" the computer would just be a matter of sending over the pre-defined operating system template to the virtual monitor. Upgrading or making more software available is accomplished by just creating an new VM template and distributing it out to each workstation.
- One VM for the user sitting at the workstation, another VM for system administration automation, and other VMs as per necessity, see below.
- Operating system templates are not machine hardware specific. Normally, machines can be cloned and pushed as one mass to all the workstations, but only if the workstations have all identical hardware, disk geometry etc.. Instead of the system "image" containing specific hardware drivers, the virtual template includes virtual drivers, which will map to different physical hardware depending on the workstation.
- Simpler harnessing of unused compute cycles. Services like SETI@home and Google Compute run in a daemon fashion inside the host operating system. They have the potential of accessing user data and resources. Or, it could follow the current java security model of either requiring all access, or no access at all, which would limit it's usefulness to memory only operations. DOGMA at BYU only utilizes the computer when the screensaver is activated, and does not benefit from the incredible amounts of hardware under-utilization during a user session. If the process hangs, it has the potential of hanging or seriously degrading the operating system performance. By using virtualization, the virtual monitor need only add another dedicated virtual machine for distributed computing.
- The host user operating system can be given priority, so that the user experience is unchanged performance-wise, while allowing the free cpu cycles to be automatically utilized by the node VM.
- The separate node VM has no access to the other virtual machines disk or memory (the vm running for the user). Also protects against malicious code that could be run by the distributed program.
- A disk partition or a mounted loop file can be presented to the node VM allowing disk storage, increasing the node's capacity for work while not comprimising data isolation.
- For any reason, if the node VM locks up or fails, it can easily be restarted or re-imaged easily and remotely. On the same note, if the node VM software needs to be upgraded or enhanced, you just roll out VM templates and restart the new VMs.
- The program which joins the node to the system need not be ported to all operating systems, as it can be targeted for a specific OS environment which will just run virtualized, simplifying development, deployment and consistency.
Posted by Devlin at 01:46 PM | Comments (0)
Playing windows media files in linux
I finally figured one way of getting my Fedora Core 3 machine to play wmv files. I have installed the latest mplayer and mplayer codecs via rpm from http://luna.cs.ccsu.edu/dominik/mplayer/. For some reason my MPlayer 1.0pre7-RPM-3.4.2 crashes when I try to play any wmv files. Anyway, I got Xine to play them for me by editing ~/.xine/config and adding the linedecoder.external.win32_codecs_path:/usr/lib/codecsas /usr/lib/codecs is where mplayer is now keeping its codecs.
Posted by Devlin at 01:38 PM | Comments (0)