From Bioinformatics.Org Wiki
The purpose of this meeting will be to decide where to go with a Winbirch release, specifically, to look into Turtle shell as a possible replacement for Cygwin, or else to examine how to use Cygwin and Turtle shell in tandem.
First, there are a few matters logistic matters to be discussed.
- We have a bin-winxp-32.tar.gz in the Development folder in FTP/BIRCH, which getbirch uses when a Development version is selected (more info )
- I've been unable to work on BIRCH for the past month, but I spent some time this weekend and earlier this week doing:
- Looking over getbirch, starting to refactor out the install scripts so that the can be placed directly in the framework
- Testing getbirch on windows on physical and virtual machines. It currently works without any problems on physical machines, but virtualization is causing some problems.
Windows XP / 7 on Albacore
I tried out getbirch on the windows xp virtual machine on albacore, and I've been having a number of problems with resource constraints:
- There is insufficient disc space in the VM. The entire VM has 10 GB allocated, but even after deleting everything in my user directory, there is only about 700 MB of free space, which is not enough to do a full installation of BIRCH (because of temporary files created while untarring, etc).
- There is insufficient RAM in the VM. The installer dies when it tries to untar the framework because it runs out of memory. I tried increasing the memory allocated by the JVM, but then there isn't enough memory available to run the untar process.
The two above should be easy enough to fix, seeing as how Albacore just got a RAM and disc space upgrade - I think it's time to utilize them!
I have also noticed that the upgrades have not increased the speeds of the VMs. I remember Graham mentioning that the increased RAM would lead to a speed up due to memory caching, but I don't think that this is the case, at least not with high disc I/O operations, since there is nothing to cache (it is just a stream of new data being transferred).
Things to Look into
- Increasing the disc space and memory allocation on the VMs
- Possibly switching to VMWare, since it is well know to be a more performance driven virtualization solution than Virtualbox, and is also in active development. Since we will probably need to recreate the VMs (I don't think there is a way to increase the maximum size of a virtual HD in virtual box), it might be a good time to switch to VMWare anyways. VMWare player is free, and should be a drop in replacement for virtualbox.
Turtle Shell / Cygwin
- How to use turtle shell to replace cygwin/can this be done in a reasonable time frame
- Handling Unix paths within a windows environment (particularly relevant for any python scripts, or scripts that have adopted POSIX conventions)
- How to use bioLegato to dispatch commands within windows (via turtle shell or cygwin)
- Will the maximum command length in windows be an issue here?
- Does turtle shell have full support for scripts like the .profile scripts that specify which applications to use on a given platform?
- Where do we make the modifications in bioLegato to send commands to a Windows Shell?
Add to this during the meeting.
- Continue to refactor getbirch (Dale)
- Update the existing python scripts to implement the same functionality as the scripts in install-birch, create a new directory "install-scripts" to contain these
- Update getbirch to use this directory instead of any internal modules so that it use using the same process as the CLI install, only it provides a GUI layer that allows the selection of different versions of BIRCH, platform detection, etc.
- Look at Turtleshell Javadocs (Dale)
- Look at bioLegato Javadocs, if they exist (Dale)
- Solve the resource constraint problem on the Albacore VMs
- Get bioLegato to start running commands through Cygwin on windows.
- Rip out the piece of Cygwin that does path translation (ie, cygpath and all dependencies)
- Does turtleshell support symbolic links ( virtual symbolic links - simplify path problems).
- Currently deploy with Cygwin and Turtle shell in tandem.
- As features are implemented in Turtle shell (for POSIX interface/emulation), offload these from Cygwin into Turtle shell until Cygwin is no longer needed. Additionally, path translations need to be done.