Archives for: July 2004
Whole Genome Comparison using Commodity Workstations
"Whole Genome Comparison using Commodity Workstations," Arpith Chacko Jacob, Sugata Sanyal, 2003.
http://www.arpith.com/media/papers/jacob03pdsw.pdf
Abstract— Whole genome comparison consists of comparing or aligning two genome sequences in the hope that analogous functional or physical characteristics may be observed. Sequence comparison is done via a number of slow rigorous algorithms, or faster heuristic approaches. However, due to the large size of genomic sequences, the capacity of current software is limited. In this work, we design a parallel-distributed system for the Smith-Waterman dynamic programming sequence comparison algorithm. We use subword parallelism to speedup sequence to sequence comparison using Streaming SIMD Extensions (SSE) on Intel Pentium processors. We compare two approaches, one requiring explicit data dependency handling and the other built to automatically handle dependencies. We achieve a speedup of 10 - 30 and establish the optimum conditions for each approach. We then implement a scalable and fault-tolerant distributed version of the genome comparison process on a network of workstations based on a static work allocation algorithm. We achieve speeds upwards of 8000 MCUPS on 64 workstations, one of the fastest implementations of the Smith-Waterman algorithm.
'Addis Ababa, Ethiopia' by David Kirba
After working on a studio shoot of the Indian Batsmen and not getting their autographs because "I'm not a cricket fan," David's latest work is on the front page of BBC News Online!
The BBC News Online Photographer of the Year competition aims to find the best photographer - decided by internet users - from a selection of photos sent in on various themes. Round one was on "Street Life" and David's entry was one of 14 featured on the BBC's site.
Contact
The best way to contact me is via email. I usually check my account several times a day.
Personal messages may be sent to my address at . If you would like to email large attachments or forwards, please use the address .
I should be able to reply to your email within a day or two.
Thank you.
About
I live, breathe computers (well not really, I _try_ to have a life! ). This site is my first attempt to add a human side to my online presence. I intend to write regularly and post images of life from across the pond.
I study at Washington University in Saint Louis, doing my Masters in Computer Science. I did my undergraduate at Vellore Institute of Technology, and worked with SCM Microsystems for a year.
This site runs highly customized versions of b2evolution and coppermine gallery. The site design was "borrowed" from elements around the web; icons used on this website were made available by generous artists. The site has been tested on Internet Explorer 6.0, Opera 7.52 and Mozilla Firefox 0.9.2.
A big thank you to David Kirba for letting me use his photograph for my logo. If you need a shoot done in Chennai or want to see his amazing stock photos, get in touch with him at .
uClinux porting HOWTO
uClinux is a popular port of the Linux operating system to processors without a MMU (Memory Management Unit). Kernel versions 2.0.x, 2.4.x, and 2.6.x are supported to varying degrees on numerous architectures.
The uClinux distribution contains the following main components: the uClinux kernel, various libraries and numerous linux utilities. In this article some of the tasks that need to be done to port the uClinux kernel to a new architecture are examined. The information is specific to the 2.4.x uClinux kernel and the Samsung S3C44B0X, a 32-bit processor with an ARM7TDMI core.
The latest uClinux distribution uClinux-dist-20040408, can be downloaded from here. The ELF ARM7 toolchain for uClinux can be downloaded from here.
Three are three main levels where porting is required. In the case where the processor core is not supported, a new architecture will have to be added in uclinux/linux-2.4.x/arch/. In our case, support for the ARM7TDMI architecture is already present in uclinux/linux-2.4.x/arch/armnommu/ considerably reducing the effort required to port uClinux to the s3c44b0x processor. At the second level, support for the particular processor (machine) is to be added using processor specific knowledge such as registers etc. Finally, support for the board containing the processor and peripherals need to be added. This will include adding support for devices on the board that are not yet supported by linux, or configuring existing device drivers.
Jump to page: 1 2 3 4 5 6Application debugging on ARM7TDMI embedded systems
This article describes the steps to be followed to debug applications on embedded ARM7TDMI processors using the GNU Debugger 'GDB' and gdbserver.
Embedded systems typically have memory constraints that restrict the size of executables (with debug information) and debuggers stored in ram. A stripped executable binary of much smaller size is usually placed on the target board, while the executable with debugging information remains on the host development system. Similarly since GDB is a large and sophisticated debugger, a light-weight control program gdbserver was created to be run on the target system.
gdbserver is executed along with the stripped application on the target machine. GDB is loaded on the host system along with the unstripped application, containing debug symbols. GDB communicates with gdbserver via a serial port or TCP/IP to provide a full-fledged debugging environment. In this article a GUI front-end debugger, Data Display Debugger 'DDD' is used.
Of JVMs and other software for ARM Linux
Random notes on the installation of Wonka, Kaffe, PCSC-lite, and Java Native Interface on ARM linux systems.
Wonka-0.9.6 2207 Kb
Wonka binary1042 Kb
Wre.jar (reduced packages, 1209 Kb uncompressed)
Mounting windows shares from Linux
Here's a quick shell script I wrote to mount windows shares from Linux. It may be called with the arguments 'mount' or 'umount' to respectively mount and unmount the windows shares.
if [ $# -le "0" ]; then
echo "Usage: mwfs [mount | umount]"
exit 0
fi
case "$1" in
[mM][oO][uU][nN][tT] ) echo "Mounting wfs..."
echo "Please enter password for acmeuser"
stty -echo
read PASS
stty echo
echo "Mounting //acme/users..."
smbmount //acme/users /home/acmeuser/wfs/users -o username=acmeuser,workgroup=acmeindia,password=$PASS
;;
[uU][mM][oO][uU][nN][tT] ) echo "Unmounting wfs..."
echo "Unmounting //acme/users..."
umount /home/acmeuser/wfs/users/
;;
* )
echo "Invalid parameter"
esac
exit 0
Kermit download software for Linux Systems
During uClinux development, one of the most useful tools is a kermit download utility. Most bootloaders support download of binary images on to their targets via the Kermit protocol on a serial line. In windows the program Hyperterminal may be used to send the file from a host. For unix systems Columbia University released a free program, G-Kermit CU, which can be called by Minicom to perform a kermit transfer.
The following patch allows G-Kermit CU to function as a standalone program, eliminating the need of a terminal program such as Minicom.
Adding a new kernel module into the uClinux distribution
This article details the steps that need to be followed to add a kernel module to the uClinux build process.
Adding user applications into the uClinux distribution
This article details the steps that need to be followed to add a user application to the uClinux build process. Upon building the uClinux distribution, the executable is created and copied to the romfs directory which is included with the final image. After the target board boots up, the binary may be executed from the rom filesystem.
"...remember that courage and strength are naught without prudence, and that a momentary negligence may destroy the happiness of a lifetime..." - Edward Whymper
Edward Whymper 1871,
Scrambles Amongst the Alps.
I came across this quote from an article on Scrambles Amongst the Alps, a first hand account of Edward Whymper's life spent climbing the Alps.
Rated as one of National Geographic's adventure classics, this is one book I would like to get my hands on.