-
Notifications
You must be signed in to change notification settings - Fork 1
Proposal_Timeline
(source: http://learnyouahaskell.com,
cc Miran Lipovača)
The application for the Google Summer of Code should also contain a timeline to show what work is planned to be done in which week and timespan. Here is the timeline I wrote in the proposal.
#Timeline
Before starting - from now on up to 19th May: Reading and working with the code, deepening my knowledge about transalign.
After reading the paper and learning about the project in theory, it is important to use the program as proposed to see how it works in practice. To get to know how the program works internally, playing around with the code is an important part and will give deeper insights in the way of coding in detail.
1st and 2nd week - 19th May to 2nd June: Time and space profiling, get a deeper insight in time and space usage of the program.
GHC provides flags which can be used for the time and space profiling. Apparently, the flags won't affect the code since they are directly read by the Haskell runtime system. When using flags and enabling the statistics reporting, the results include statistics about performance and space usage of the program, e.g. time spent for garbage collection or the amount of allocation space used. As some concluding facts, the productivity of the program is given. At the end of this two weeks, I plan to have a complete analysis of the program's time and space profiling statistics.
Milestone 1: Have a complete analysis of the program's time and space profiling statistics.
3rd and 4th week - 2nd June to 16th June: Strict and lazy evaluation, usage of vector library and ADPfusion. Analysis of the code in order to find the parts which can be improved regarding running time and needed space. When those parts are found, I will start converting the code to high-performance Haskell by using and including the vector library and the ADPfusion library. Depending on the time I need, I can start to think about a way to parallelize the program using the repa package.
Milestone 2: Vector library and ADPfusion included.
5th week - 16th June to 23rd June: Do another profiling to see improvements before the midterm evaluation. To see some improvements before the midterm evaluation, do another profiling to compare it to the first statistics. At the same time, continue working on the parallelization.
Milestone 3: Have another profiling statistic, which shows improvements.
6th and 7th week - 23rd June to 7th August: Further improvements, parallelization and if there is time left, starting to write a web application.
After the completion of the parallelization, a third profiling will be done. Depending on the profiling results and remaining time, I will focus on further improvements.
If there is time left, I will think about how to make transalign available as an easy accessible web service. This includes getting information about the server system, planning how to program the interface between the transalign program and the web front-end and how to build the web front-end itsself.
Milestone 4: Have a parallelization of the program and a plan (and possibly more details and some code) for a web application.
Last weeks - 7th August to 18th August: One week for unpredictable problems and one week for documentation as suggested in the GSoC timeline.
Milestone 5: Have a complete documentation and possibly a web application.
Back to main page.