]> pere.pagekite.me Git - homepage.git/blobdiff - blog/index.rss
Generated.
[homepage.git] / blog / index.rss
index a9695469c5ffab5b56d7cb5947dbf314d09ae025..c0c91c80ff6ae447520b7a5eee4669ee72e00e6a 100644 (file)
@@ -6,6 +6,46 @@
                 <link>http://people.skolelinux.org/pere/blog/</link>
                 <atom:link href="http://people.skolelinux.org/pere/blog/index.rss" rel="self" type="application/rss+xml" />
        
+       <item>
+               <title>Coz profiler for multi-threaded software is now in Debian</title>
+               <link>http://people.skolelinux.org/pere/blog/Coz_profiler_for_multi_threaded_software_is_now_in_Debian.html</link>
+               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Coz_profiler_for_multi_threaded_software_is_now_in_Debian.html</guid>
+                <pubDate>Sun, 13 Nov 2016 12:30:00 +0100</pubDate>
+               <description>&lt;p&gt;&lt;a href=&quot;http://coz-profiler.org/&quot;&gt;The Coz profiler&lt;/a&gt;, a nice
+profiler able to run benchmarking experiments on the instrumented
+multi-threaded program, finally
+&lt;a href=&quot;https://tracker.debian.org/pkg/coz-profiler&quot;&gt;made it into
+Debian unstable yesterday&lt;/A&gt;.  LluĂ­s Vilanova and I have spent many
+months since
+&lt;a href=&quot;http://people.skolelinux.org/pere/blog/Coz_can_help_you_find_bottlenecks_in_multi_threaded_software___nice_free_software.html&quot;&gt;I
+blogged about the coz tool&lt;/a&gt; in August working with upstream to make
+it suitable for Debian.  There are still issues with clang
+compatibility, inline assembly only working x86 and minimized
+JavaScript libraries.&lt;/p&gt;
+
+&lt;p&gt;To test it, install &#39;coz-profiler&#39; using apt and run it like this:&lt;/p&gt;
+
+&lt;p&gt;&lt;blockquote&gt;
+&lt;tt&gt;coz run --- /path/to/binary-with-debug-info&lt;/tt&gt;
+&lt;/blockquote&gt;&lt;/p&gt;
+
+&lt;p&gt;This will produce a profile.coz file in the current working
+directory with the profiling information.  This is then given to a
+JavaScript application provided in the package and available from
+&lt;a href=&quot;http://plasma-umass.github.io/coz/&quot;&gt;a project web page&lt;/a&gt;.
+To start the local copy, invoke it in a browser like this:&lt;/p&gt;
+
+&lt;p&gt;&lt;blockquote&gt;
+&lt;tt&gt;sensible-browser /usr/share/coz-profiler/viewer/index.htm&lt;/tt&gt;
+&lt;/blockquote&gt;&lt;/p&gt;
+
+&lt;p&gt;See the project home page and the
+&lt;a href=&quot;https://www.usenix.org/publications/login/summer2016/curtsinger&quot;&gt;USENIX
+;login: article on Coz&lt;/a&gt; for more information on how it is
+working.&lt;/p&gt;
+</description>
+       </item>
+       
        <item>
                <title>How to talk with your loved ones in private</title>
                <link>http://people.skolelinux.org/pere/blog/How_to_talk_with_your_loved_ones_in_private.html</link>
@@ -895,75 +935,5 @@ electronic form.&lt;/p&gt;
 </description>
        </item>
        
-       <item>
-               <title>Coz can help you find bottlenecks in multi-threaded software - nice free software</title>
-               <link>http://people.skolelinux.org/pere/blog/Coz_can_help_you_find_bottlenecks_in_multi_threaded_software___nice_free_software.html</link>
-               <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Coz_can_help_you_find_bottlenecks_in_multi_threaded_software___nice_free_software.html</guid>
-                <pubDate>Thu, 11 Aug 2016 12:00:00 +0200</pubDate>
-               <description>&lt;p&gt;This summer, I read a great article
-&quot;&lt;a href=&quot;https://www.usenix.org/publications/login/summer2016/curtsinger&quot;&gt;coz:
-This Is the Profiler You&#39;re Looking For&lt;/a&gt;&quot; in USENIX ;login: about
-how to profile multi-threaded programs.  It presented a system for
-profiling software by running experiences in the running program,
-testing how run time performance is affected by &quot;speeding up&quot; parts of
-the code to various degrees compared to a normal run.  It does this by
-slowing down parallel threads while the &quot;faster up&quot; code is running
-and measure how this affect processing time.  The processing time is
-measured using probes inserted into the code, either using progress
-counters (COZ_PROGRESS) or as latency meters (COZ_BEGIN/COZ_END).  It
-can also measure unmodified code by measuring complete the program
-runtime and running the program several times instead.&lt;/p&gt;
-
-&lt;p&gt;The project and presentation was so inspiring that I would like to
-get the system into Debian.  I
-&lt;a href=&quot;https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=830708&quot;&gt;created
-a WNPP request for it&lt;/a&gt; and contacted upstream to try to make the
-system ready for Debian by sending patches.  The build process need to
-be changed a bit to avoid running &#39;git clone&#39; to get dependencies, and
-to include the JavaScript web page used to visualize the collected
-profiling information included in the source package.
-But I expect that should work out fairly soon.&lt;/p&gt;
-
-&lt;p&gt;The way the system work is fairly simple.  To run an coz experiment
-on a binary with debug symbols available, start the program like this:
-
-&lt;p&gt;&lt;blockquote&gt;&lt;pre&gt;
-coz run --- program-to-run
-&lt;/pre&gt;&lt;/blockquote&gt;&lt;/p&gt;
-
-&lt;p&gt;This will create a text file profile.coz with the instrumentation
-information.  To show what part of the code affect the performance
-most, use a web browser and either point it to
-&lt;a href=&quot;http://plasma-umass.github.io/coz/&quot;&gt;http://plasma-umass.github.io/coz/&lt;/a&gt;
-or use the copy from git (in the gh-pages branch).  Check out this web
-site to have a look at several example profiling runs and get an idea what the end result from the profile runs look like.  To make the
-profiling more useful you include &amp;lt;coz.h&amp;gt; and insert the
-COZ_PROGRESS or COZ_BEGIN and COZ_END at appropriate places in the
-code, rebuild and run the profiler.  This allow coz to do more
-targeted experiments.&lt;/p&gt;
-
-&lt;p&gt;A video published by ACM
-&lt;a href=&quot;https://www.youtube.com/watch?v=jE0V-p1odPg&quot;&gt;presenting the
-Coz profiler&lt;/a&gt; is available from Youtube.  There is also a paper
-from the 25th Symposium on Operating Systems Principles available
-titled
-&lt;a href=&quot;https://www.usenix.org/conference/atc16/technical-sessions/presentation/curtsinger&quot;&gt;Coz:
-finding code that counts with causal profiling&lt;/a&gt;.&lt;/p&gt;
-
-&lt;p&gt;&lt;a href=&quot;https://github.com/plasma-umass/coz&quot;&gt;The source code&lt;/a&gt;
-for Coz is available from github.  It will only build with clang
-because it uses a
-&lt;a href=&quot;https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55606&quot;&gt;C++
-feature missing in GCC&lt;/a&gt;, but I&#39;ve submitted
-&lt;a href=&quot;https://github.com/plasma-umass/coz/pull/67&quot;&gt;a patch to solve
-it&lt;/a&gt; and hope it will be included in the upstream source soon.&lt;/p&gt;
-
-&lt;p&gt;Please get in touch if you, like me, would like to see this piece
-of software in Debian.  I would very much like some help with the
-packaging effort, as I lack the in depth knowledge on how to package
-C++ libraries.&lt;/p&gt;
-</description>
-       </item>
-       
         </channel>
 </rss>