Hello,<br><br>I added some additional goals below.<br><br><br><div class="gmail_quote">On Thu, Mar 27, 2008 at 2:23 PM, Donnie Jones &lt;<a href="mailto:donnie@darthik.com">donnie@darthik.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<h2 style="font-weight: normal;"><font size="2">Hello Everyone,</font></h2>GSoC Project: Parallel Profiling Tools for GHC.<br>Student: Donnie Jones<br>Mentor: Simon Marlow<br>Project based upon suggestion by Simon Marlow:<font size="2">&nbsp; <br>



</font><div style="margin-left: 40px;"><font size="2"><a href="http://hackage.haskell.org/trac/summer-of-code/ticket/1559" target="_blank">http://hackage.haskell.org/trac/summer-of-code/ticket/1559</a></font><br></div>
<br>Overview:<br>For Haskell there are currently no tools to investigate the performance
of parallel programs.&nbsp; This project would extend the Haskell compiler
GHC to support profiling of parallel programs.&nbsp; <br><br>Parallel
programs are inherently difficult to analyze and the prevalence of
multi-core processors has increased the need for tools to facilitate
gaining performance from parallelism.&nbsp; The ability to profile parallel
programs in GHC could lead to improvements in GHC&#39;s RTS, and insights
into writing parallel Haskell code.&nbsp; <br><br>Goals:<br>&nbsp; * Investigate the use of the GranSim framework for parallel profiling in GHC<br>&nbsp;&nbsp;&nbsp; i. Decide what is needed to commit the GranSim port to the GHC tree<br>&nbsp;&nbsp;&nbsp; i. Build additional profiling tools upon the GranSim framework<br>

<br>&nbsp; * Testing of performance hit accrued from parallel profiling<br>&nbsp;&nbsp;&nbsp; i. Investigate improving performance, possible modifications to GranSim port<br><br>&nbsp; * Construct tests to measure the performance improvements of parallel programs<br>

&nbsp;&nbsp;&nbsp; i. Building benchmarks for parallel programs, related to ticket:&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://hackage.haskell.org/trac/summer-of-code/ticket/1544" target="_blank">http://hackage.haskell.org/trac/summer-of-code/ticket/1544</a><br>

<br>&nbsp; * Improve upon GranSim visualization of profiles to clarify parallel profiling<br>&nbsp;&nbsp;&nbsp; i. Possibly add new visualization profiles, if time allows</blockquote><div><br><br>&nbsp; * Develop a single application for visualization of profiles<br id="oibz">

&nbsp;&nbsp;&nbsp; i. application would build visualizations <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; of the desired information as needed<br id="gd9g">
&nbsp;&nbsp;&nbsp; i. application would generate reports with specific numbers <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from the analysis, rather than only images with graphs<br id="vcaq">
&nbsp;&nbsp;&nbsp; i. application would interactively sort / rank threads based <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; upon states, such as running, blocking, etc.<br id="wlkh">
&nbsp;&nbsp;&nbsp; i. application would integrate the visualization tools <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; into a single program (which may lead to support for <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; other profiling models than just parallelism)<br id="n.pq">
<br>&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<div style="margin-left: 40px;"><br></div>I am sure that further details will need to be developed with the help of Simon Marlow; however, I am unsure if some of these details can be defined without first investigating the potential use of GranSim.<br>

<br>I look forward to your feedback.<br>

Thank you.<br>__<br><font color="#888888">Donnie Jones<br>
</font></blockquote></div><br><br>Thank you.<br>__<br>Donnie Jones<br>