dna reassembly
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
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”.
Visual Representation of Javaspace
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 –Design Diagram
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
Framework – RMI 3/3
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
051015202530
1 3 5 7 9
Number of Workers
Tim
e in
Sec
onds
Single Computer
Paradise
Distributed
Performance Evaluation
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
Questions?