Thilina Gunarathne
Thinking Aloud in Paradise Island
Presenting at the SC11 Doctoral Symposium : Architectures for Iterative Data Intensive Analysis Computations on Clouds and Heterogeneous Environments
Cloud computing paradigms for biomedical applications
- Gunarathne, T., Wu, T.-L., Choi, J. Y., Bae, S.-H. and Qiu, J. (2011), Cloud computing paradigms for pleasingly parallel biomedical applications. Concurrency and Computation: Practice and Experience. doi: 10.1002/cpe.1780
Optimizing OpenCL Kernels for Iterative Statistical Applications on GPUs
- Thilina Gunarathne, Bimalee Salpitikorala, Arun Chauhan and Geoffrey Fox. (2011) Optimizing OpenCL Kernels for Iterative Statistical Algorithms on GPUs. In Proceedings of the Second International Workshop on GPUs and Scientific Applications (GPUScA), PACT 2011. Galveston, Tx.
Portable Parallel Programming on Cloud and HPC: Scientific Applications of Twister4Azure
- Thilina Gunarathne, Bingjing Zhang, Tak-Lon Wu, Judy Qiu.(2011) Portable Parallel Programming on Cloud and HPC: Scientific Applications of Twister4Azure, 4th IEEE/ACM International Conference on Utility and Cloud Computing (UCC 2011) , Melbourne, Australia.
Map Reduce on Azure (MRRoles4Azure)
MapReduceRoles4Azure (MRRoles4Azure) is a distributed decentralized MapReduce runtime for Windows Azure that was developed using Azure cloud infrastructure services.MapReduceRoles4Azure uses Azure Queues for map and reduce task scheduling,Azure Tables for metadata & monitoring data storage, Azure Blob storage for input, output and intermediate data storage and the Window Azure Computeworker roles to perform the computations. The usage of the cloud infrastructure services allows the MapReduceRoles4Azure implementation to take advantage of the scalability, high availability and the distributed nature of such services guaranteed by the cloud service providers to avoid single point of failures, bandwidth bottlenecks (network as well as storage bottlenecks) and management overheads.
Generating documentation for .NET projects
Installing Sun (Oracle) JDK 6 on Ubuntu
$sudo add-apt-repository ppa:sun-java-community-team/sun-java6
$sudo apt-get update
$sudo apt-get install sun-java6-jdk
$sudo apt-get install sun-java6-plugin
# to set this as default java version
$sudo update-java-alternatives -s java-6-sun
Do a "java -version" to ensure everything worked well.
Experience with adapting a WS-BPEL runtime for eScience workflows
The paper I presented in the SC09 GCE workshop.
Abstract
"Scientists believe in the concept of collective intelligence and are increasingly collaborating with their peers, sharing data and simulation techniques. These collaborations are made possible by building eScience infrastructures. eScience infrastructures build and assemble various scientific workflow and data management tools which provide rich end user functionality while abstracting the complexities of many underlying technologies. For instance, workflow systems provide a means to execute complex sequence of tasks with or without intensive user intervention and in ways that support flexible reordering and reconfiguration of the workflow. As the workflow technologies continue to emerge, the need for interoperability and standardization clamorous. The Web Services Business Process Execution Language (WS-BPEL) provides one such standard way of defining workflows. WS-BPEL specification encompasses broad range of workflow composition and description capabilities that can be applied to both abstract as well as concrete executable components.
Scientific workflows with their agile characteristics present significant challenges in embracing WS-BPEL for eScience purposes. In this paper we discuss the experiences in adopting a WS-BPEL runtime within an eScience infrastructure with reference to an early implementation of a custom eScience motivated BPEL like workflow engine. Specifically the paper focuses on replacing the early adopter research system with a widely used open source WS-BPEL runtime, Apache ODE, while retaining the interoperable design to switch to any WS-BPEL compliant workflow runtime in future. The paper discusses the challenges encountered in extending a business motivated workflow engine for scientific workflow executions. Further, the paper presents performance benchmarks for the developed system."
Shell scripting examples : file distribution
- Command line arguments
Shell scripts expose command line arguments using $1, $2, $3,.. variables corresponding to the order of args.
You can check the given number of arguments using s#if [ $# -ne 3 ]
....
fi
- Assigning the list of files in a dir to an array
filelist=(`ls /tmp`)
- Arithmetic operations
result=$(($x/$y))
- Looping through an array
for file in ${filelist[@]}; do
....
done - Simple for loop
for (( i=0;i<10; i++))
do
....
done - Simple while loop. -lt stands for "less than", while -le stands for "less than or equal to"
while [ $i -lt 10 ]; do
....
i++
done - Secure copy a file to a different machine.
scp $dir/$file $node_address:$dest_dir
Some helpful links...
http://www.arachnoid.com/linux/shell_programming.html
http://www.freeos.com/guides/lsst/
http://www.tech-recipes.com/rx/636/bash-shell-script-iterate-through-array-values/
Debugging SSL
- Testing the mutual authenticaton enabled server SSL setup
- Verifying the certificate
The above command threw an error mentioning that the "purpose" of our client certificate is not sslclient, which in fact was the bug responsible for many of my fallen hair during the last week. Eventually we found that our existing system which is based on Puretls does not validate this certificate extensions, which made our exisiting system to work even with this bug.
All and all I found openssl command line program to be a very usefull/helpfull extensive tool which comes very handy when debuging SSL setups.