further improvements in sequencing techniques have allowed sequences to be produced on a large scale and inserted into a computer .
appropriate programs , capable of processing data , have been developed to facilitate access and make all of the information available throughout the process ( morozova and marra , 2008 ) .
after dna sequencing is necessary to re - build the complete genome from the fragments obtained .
genome assembly uses programs that read the sequences , in some cases find redundancies between them and merge the sequences , forming larger continuous consensus sequences .
multiple rounds of assembly are sometimes required for find the best genome assembly sets . in the end of assembly process is necessary ordering the contigs between them or by anchoring in a reference genome to obtain the genome scaffold ( fagin et al . , 1992 ) .
this entire process requires a large processing capacity , due to enormous amount of sequences generated by modern equipments .
even a simple organism requires many hours of processing and memory for its complete assembly .
the increasing availability of computers with massive computational power connected to high - speed networks has enabled the aggregation of geographically dispersed resources for the execution of large - scale applications .
grid computing is a model that proposes the use of computing resources of several machines located in various places , even on separate continents , to solve problems that require massive computational power , such as data mining , weather forecasting , computational biology , and medical image processing ( foster , 2001 ; foster et al . , 2002 ; berman et al . , 2003 )
grids are currently being used as an alternative for clusters for achieving large - scale processing capacity .
grid computing differs from cluster computing because of the heterogeneity of their resources ( which may consist of computers with different architectures , operating systems , and processing capabilities ) and due to the dynamic character of the same .
cluster computing is defined as the sharing of resources working cooperatively and managed by a single global system synchronized and centralized . in grids , on other hand , each node has its own manager and resource allocation policy , which is not so visible ( foster et al . , 2008 ) .
programs are composed of small pieces with specific responsibilities and clearly defined , called tasks .
each task has a set of attributes , among them the priority that should be assigned according to their importance .
each task is performed independently , but they need to interact with each other so that the system meets its objectives . in order for rules to be applied to a set of tasks that may use information from the various computers , it is necessary to adopt appropriate scheduling policies for each application .
applications of the type bag - of - tasks ( bot ) facilitates scaling because they are composed of independent tasks , allowing the use of policies based on data from only a few systems .
they do not require information on grid infrastructure , such as bandwidth , network topology , and network latency .
policies can be called static or dynamic , depending on how the schedule is set ( foster and kesselman , 2004 ) . in spite of the bot applications are simple
, it is not easy job to make the scheduling in a heterogeneous and dynamic environment such as grid computing .
the scheduling of independents tasks in grid is still difficult due to the use of resources that are shared and due restraint created by other applications , which are running simultaneously . to obtain a good performance in this type of situation requires the use of good information to make scheduling more efficient . in order to achieve this purpose
, we developed a dynamic algorithm for bot applications on grid environments because it has a better match and do not require detailed information ( cirne et al .
the employment of an efficient algorithm for managing resources is crucial to reduce the time needed to finish tasks in a grid . here
, we propose a task scheduling algorithm that takes grid characteristics into account and can be implemented within abyss , software used for parallelized de novo genome assembly , in order to optimize the performance of the genome assembly stage and consequently improve the efficiency of this process as a whole ( bittencourt and madeira , 2006 ; simpson et al . , 2009 ) .
the main goal of our experiments was to evaluate the performance of abyss using the scheduling algorithm that we developed compared to the default scheduler bundled with abyss .
the abyss is a software used for the de novo genome assembly and can be used in grids by using message passing interface ( mpi ) for the communication between nodes ( pacheco , 1996 ) .
reads are distributed among the nodes to form a distributed graph , such that each node knows where the rest of the graph is .
the proposed algorithm acts only at this stage of assembly of the distributed graph ( simpson et al . , 2009 ) .
these experiments allowed us to evaluate the influence of the heterogeneity of networks ( different speeds ) , heterogeneity of the tasks ( size variation ) , and the granularity of tasks ( number of tasks per machine ) .
we used genomic data available from the institute of biological sciences , federal university of para , consisting in a set of 33 millions short reads with fixed length ( 25  bp ) and 110 coverage of corynebacterium pseudotuberculosis i19 genome .
this is a structured set of functions implemented in c language for the simulation driven to events , using an extendend mackup language ( xml ) file as input to define the network topology and the characteristics of resources and responsibilities . in these simulations ,
the network transfer times are negligible , because the focus of this analysis to verify the processing efficiency of the cpus using the proposed task scheduler ( casanova , 2001 ) . in order to run a simulation in simgrid ,
it is necessary to perform the following steps ( legrand et al . , 2003 ) :
model the file of deployment of application , where is specified the location of the creation and allocation of agents .
the experiments were conducted with six heterogeneous machines , i.e. , with different operating systems , hardware , and processing power .
only the k - mer ( length hash ) parameter was changed to 17 , such value has proved satisfactory .
the proposed scheduler does not change the mode of action of abyss , just the way as the tasks are distributed among the nodes .
thus , the final assembly was not altered , because the main goal is not to improve the quality of the assembly using the abyss , but minimize the processing time that this step demands .
the scheduler developed in the c language provides abyss with the capacity to distribute his tasks according to the rules above .
all the files ( the scheduler itself , the configuration files for simgrid , the dataset used , and the detailed instructions ) are available on http://sourceforge.net/p/abyssgrid .
the trend , which can be observed in figure 1 , is that in situations with a greater number of tasks per machine and less granularity , performance improves when there are many tasks .
the situation changes only at the end of the execution due to load imbalance , which degrades performance .
another point to consider is the execution time of tasks , which is relatively long because of the large computational load in the case of genomic data .
figure 2 shows the impact of the heterogeneity of the machines in the grid . each point shows the levels of heterogeneity of tasks .
we can conclude that the scheduler responds effectively in terms of processing time , even when machines are very heterogeneous . as shown in figure 2
, we can observe that processor 3 failed to perform well , because of the considerable heterogeneity of the machines .
the possibility of a slow machine performing a large task is considerable , though it has only a small impact on the execution time of tasks , as was the case for processors 4 and 5 .
figure 3 shows the impact of heterogeneity on the performance of the tasks scheduling algorithm .
we can conclude that the heterogeneity of the tasks did not have a significant impact on the performance of the task scheduler that we proposed , demonstrating its efficiency in this context
figure 4 show that using abyss without our algorithm spent more time spent to execute all the tasks in the same environment .
this is due to the fact that the abyss uses , to distribute its tasks , the first in , first out ( fifo ) algorithm , which does not take into account the differences between the available resources in the environment or its load .
grid computing has greatly advanced because of the demand for scientific applications that require processing , storage , and manipulation of large amounts of information .
fields that require such processing power include molecular biology , astronomy , and earthquake prediction .
genome sequencing techniques are also advancing and generating very large amounts of data that must be processed using resources with great computational power .
computational grids can be used to address this demand for execution of parallel or distributed applications .
though computers have become much more powerful , the genome assembly stage continues to confront limitations because of the type and volume of data generated by next - generation sequencers .
increasing amounts of data exponentially rise the processing time , which can overwhelm the assembly process , so that it becomes necessary to implement techniques that will minimize these limitations .
future work will be based on improvements in the scheduler so the distribution of tasks is made by first checking if the processors available have enough computing power to speed up processing .
based on the experiments , the obtained results were considered satisfactory , since the assembly can be completed , and when such results are compared to the assembly without the use of the scheduler developed , they proved to be faster . the fact of the machines has used different configurations , and the tasks have different sizes , such fact did not affect significantly the completion and assembly performance .
the simulations also showed that the scheduling algorithm submitted to testing can be considered scalable in its entirety , since it reached a minimum efficiency , and for any tested task , there was a minimum number of processors available or imminently available to be perform the processing .
we proposed a scheduling algorithm for computer grids , using the de novo assembly software abyss .
the algorithm proved being very effective in tests with heterogeneous tasks , and there was no impact on processor performance .
however , when granularity increased , we identified a small imbalance , causing decreased processor performance .
the runtime of the tasks did not affect processor performance in the tests that we run .
when the tests were performed with a heterogeneous group of machines , the scheduler responded effectively to the processing challenge .
even when there was deterioration in performance due to a slow machine that was allocated a large task , other processes ended up compensating for the slight loss of time in the task .
the authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest .
 improvements in genome sequencing techniques have resulted in generation of huge volumes of data . as a consequence of this progress , the genome assembly stage demands even more computational power , since the incoming sequence files contain large amounts of data . to speed up the process 
 , it is often necessary to distribute the workload among a group of machines . 
 however , this requires hardware and software solutions specially configured for this purpose . 
 grid computing try to simplify this process of aggregate resources , but do not always offer the best performance possible due to heterogeneity and decentralized management of its resources . 
 thus , it is necessary to develop software that takes into account these peculiarities . in order to achieve this purpose 
 , we developed an algorithm aimed to optimize the functionality of de novo assembly software abyss in order to optimize its operation in grids . 
 we run abyss with and without the algorithm we developed in the grid simulator simgrid . 
 tests showed that our algorithm is viable , flexible , and scalable even on a heterogeneous environment , which improved the genome assembly time in computational grids without changing its quality . 
Introduction
Materials and Methods
Results
Discussion
Conclusion
Conflict of Interest Statement