Current: wrapper reports frequent checkpointing to client,
but actually checkpoints only when the VM is stopped
Problem: large amounts of work would be wasted if
BOINC stops in an ungraceful way (e.g., power failure)
Solution:
Don't report frequent checkpointing.
Every CPU scheduling period (typically once/hour)
stop the VM (creating a checkpoint)
and call boinc_temporary_exit(0).
If the client wants to keep running this job,
it will start us immediately.
svn path=/trunk/boinc/; revision=24068
- change names of CPU and network-limiting functions
to express their units (always do this).
- wrapper monitors status.suspend_network
and suspends/resumes network accordingly
- wrapper sets CPU and network bandwidth limits on startup
(Rom: should this be done before run() rather than after?)
Note: App versions using this wrapper should always have
<dont_throttle/> in their version.xml,
to tell the client that the app throttles itself.
svn path=/trunk/boinc/; revision=24054
reporting incremental runtime exery x seconds of runtime.
- client: more XML parsing cleanup
- credit trickle handler: do sanity checks on CPU speed
svn path=/trunk/boinc/; revision=24017
Additionally, the VM can be throttled by parsing in the wrapper the <max_vm_cpu_pct> specific project preference.
svn path=/trunk/boinc/; revision=23976
- vbox wrapper: on startup, rename image file to "vm_image_SLOT.vdi",
where SLOT is the slot number.
Vbox requires unique names for VM image files.
svn path=/trunk/boinc/; revision=23930
The new VirtualBox 4.1 supports VBoxManage unregisterVM in all the platforms. There was a bug that didn't allow to run that
command to remove the VM, affecting only Windows 64 bits, but this new version has fixed it.
svn path=/trunk/boinc/; revision=23883
get a bunch of flicking windows when we preform and operation against
VirtualBox.
samples/vboxwrapper/
vbox.cpp,
svn path=/trunk/boinc/; revision=23501
and is_registered functions using the vboxmanage app.
- VBOX: Simplify the virtualbox_vbm_popen function and remove a buffer
copy operation.
samples/vboxwrapper/
vbox.cpp, .h
svn path=/trunk/boinc/; revision=23483
CERN). Where possible stick with the POSIX API set and remove Windows
specific code. (Example vbm_popen).
NOTE: Not usable at the moment.
samples/vboxwrapper/cernvm
cernvmwrapper.cpp
samples/vboxwrapper/
vbox.cpp, .h
vboxwrapper.cpp
samples/vboxwrapper/
vm.cpp, .h
win_build/
vboxwrapper.vcproj
svn path=/trunk/boinc/; revision=23458
VM has been running since the last state change, we'll use that
instead.
- vboxwrapper: provide basic stub functions for starting/stopping/
suspending/resuming a VM. Leave wrapper functionality in
vboxwrapper, and VM specific functionality in vbox_*. Ideally
only the stub functions would have to change for other VM
implementations.
samples/vboxwrapper/
vbox.cpp, .h
vbox_win.cpp
vboxwrapper.cpp
win_build/
vboxwrapper.vcproj
svn path=/trunk/boinc/; revision=22753
API set. Use the existing wrapper as the baseline. Current
wrapper just dumps the existing VMs defined on the machine.
More to follow.
samples/vboxwrapper/mscom/
VirtualBox.h
VirtualBox.tlb
VirtualBox_i.c
samples/vboxwrapper/
vbox.h
vbox_win.cpp
vboxwrapper.cpp
win_build/
boinc.sln
vboxwrapper.vcproj
svn path=/trunk/boinc/; revision=22745