NAME

Parallel::Simple::Dynamic - executes the block of program code in parallel on several processors

VERSION

This document describes Parallel::Simple::Dynamic version 0.0.1

SYNOPSIS

use Parallel::Simple::Dynamic;

# A list of items
my @list;

# Creat a new object
my $psd = Parallel::Simple::Dynamic->new();

# Execute the call_back subroutine in 4 parallel processes 
my @result = $psd->drun( { call_back => \&call_back, parts => 4, list => \@list } );

exit;

DESCRIPTION

There are some problems in bioinformatics and other fields that can be separated into a number of parallel tasks with no dependency between them (embarrassingly parallel problem).

Parallel::Simple::Dynamic is an object-oriented module that can be used for execution of this kind of tasks in parallel on multiple processor systems. This can remarkably reduce time of running the program and solving the problem.

METHODS

drun

Processes each segment of data-set in parallel on separate processor. There are three properties of drun method needs to be specified. list is a set of data that needs to be processed, call_back is a subroutine that needs to be executed on this set of data, and parts is a number of processors what you want to use.

partition

Identifies the elements for each data-segment

calc_segments

Splits the set of data into separate independent segments

DEPENDENCIES

Class::Std;
Class::Std::Utils;
Parallel::Simple qw( prun );
POSIX qw(ceil);

AUTHOR

Aleksandra Markovets, <marsa@cpan.org> Roger A Hall, <rogerhall@cpan.org>

BUGS

Please report any bugs or feature requests to bug-parallel-simple-dynamic at rt.cpan.org, or through the web interface at http://rt.cpan.org. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

LICENSE AND COPYRIGHT

Copyright 2010 Aleksandra Markovets.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information