150 likes | 237 Views
DNA REASSEMBLY. Using Javaspace Sung-Ho Maeung Laura Neureuter. Overview. Project Description Features of Javaspace Framework - Master/Worker Model - Design Diagram - Remote Method Invocation ( RMI ) Description of Algorithm Performance Lessons Learned Improvements Questions.
E N D
DNA REASSEMBLY Using Javaspace Sung-Ho Maeung Laura Neureuter
Overview • Project Description • Features of Javaspace • Framework • - Master/Worker Model • - Design Diagram • - Remote Method Invocation ( RMI ) • Description of Algorithm • Performance • Lessons Learned • Improvements • Questions
Project Description After DNA strand has been split apart by the “shotgun” approach in order to perform sequencing , it needs to be put back together into original sequence. We used Javaspace to do this “putting back together” of the individual segments.
Features of Javaspace Javaspaces technology is a simple mechanism for dynamic communication, coordination, and sharing of objects between Java clients and servers. In a distributed application, Javaspace acts as a virtual space between providers and requesters of objects. One Advantage: Provides synchronization Javaspace is similar to C-Linda approach, except uses Java. Workers store and access “objects” rather than “tuples”.
Framework – Application Patterns Many different types of patterns can be represented using Javaspace: - The Replicated-Worker Pattern - The Command Pattern - The Marketplace Pattern - others. We chose to use the Master/Worker approach to solving the reassembly problem.
Framework – Remote Method Invocation(RMI) 1/3 • Distributed System using Javaspace • Worker as Server • Master as Client • RMIEntry • Host name • Port
Framework – RMI 2/3 • Worker • Put RMIEntry into javaspace • Host name , port • Master • Get the RMIEntry from javasapce • Make RMI connection • Execute a function of the worker
Algorithm Description • We parse a file into random length segments with overlaps. • Each worker is assigned a random segment by the master. The rest are thrown out into javaspace. • Each worker then reads a segment from javaspace and checks to see if its ends match the one it is holding. • If yes, it combines the segments, and uses this new one to match against. • If not, it reads another. • This continues until each worker has checked all segments. (exhaustive). • When all work is done, master gathers results and prints
What We Learned • JavaSpace Technology • RMI Technology • Javaspace is fun (but slow) • Javaspace might not be the right technology to do reassembly • Not a huge efficiency difference between “parallel” and “distributed” with this type of problem.
Improvements • Algorithm needs work. • Methods of synchronization need to be worked on. • Load balancing • Fuzzy matching implementation