]> pere.pagekite.me Git - homepage.git/blobdiff - blog/index.html
Generated.
[homepage.git] / blog / index.html
index 98b5491edb1655ff03a2c2e4f0f406d9efc52d41..c223fd2eb98df0e357c3d5322030fb64765e2353 100644 (file)
 
 
     
+    <div class="entry">
+      <div class="title"><a href="http://people.skolelinux.org/pere/blog/Coz_profiler_for_multi_threaded_software_is_now_in_Debian.html">Coz profiler for multi-threaded software is now in Debian</a></div>
+      <div class="date">13th November 2016</div>
+      <div class="body"><p><a href="http://coz-profiler.org/">The Coz profiler</a>, a nice
+profiler able to run benchmarking experiments on the instrumented
+multi-threaded program, finally
+<a href="https://tracker.debian.org/pkg/coz-profiler">made it into
+Debian unstable yesterday</A>.  LluĂ­s Vilanova and I have spent many
+months since
+<a href="http://people.skolelinux.org/pere/blog/Coz_can_help_you_find_bottlenecks_in_multi_threaded_software___nice_free_software.html">I
+blogged about the coz tool</a> 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.</p>
+
+<p>To test it, install 'coz-profiler' using apt and run it like this:</p>
+
+<p><blockquote>
+<tt>coz run --- /path/to/binary-with-debug-info</tt>
+</blockquote></p>
+
+<p>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
+<a href="http://plasma-umass.github.io/coz/">a project web page</a>.
+To start the local copy, invoke it in a browser like this:</p>
+
+<p><blockquote>
+<tt>sensible-browser /usr/share/coz-profiler/viewer/index.htm</tt>
+</blockquote></p>
+
+<p>See the project home page and the
+<a href="https://www.usenix.org/publications/login/summer2016/curtsinger">USENIX
+;login: article on Coz</a> for more information on how it is
+working.</p>
+</div>
+      <div class="tags">
+        
+        
+        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>. 
+        
+        
+      </div>
+    </div>
+    <div class="padding"></div>
+    
     <div class="entry">
       <div class="title"><a href="http://people.skolelinux.org/pere/blog/How_to_talk_with_your_loved_ones_in_private.html">How to talk with your loved ones in private</a></div>
       <div class="date"> 7th November 2016</div>
@@ -962,82 +1008,6 @@ electronic form.</p>
     </div>
     <div class="padding"></div>
     
-    <div class="entry">
-      <div class="title"><a href="http://people.skolelinux.org/pere/blog/Coz_can_help_you_find_bottlenecks_in_multi_threaded_software___nice_free_software.html">Coz can help you find bottlenecks in multi-threaded software - nice free software</a></div>
-      <div class="date">11th August 2016</div>
-      <div class="body"><p>This summer, I read a great article
-"<a href="https://www.usenix.org/publications/login/summer2016/curtsinger">coz:
-This Is the Profiler You're Looking For</a>" 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 "speeding up" parts of
-the code to various degrees compared to a normal run.  It does this by
-slowing down parallel threads while the "faster up" 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.</p>
-
-<p>The project and presentation was so inspiring that I would like to
-get the system into Debian.  I
-<a href="https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=830708">created
-a WNPP request for it</a> 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 'git clone' 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.</p>
-
-<p>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:
-
-<p><blockquote><pre>
-coz run --- program-to-run
-</pre></blockquote></p>
-
-<p>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
-<a href="http://plasma-umass.github.io/coz/">http://plasma-umass.github.io/coz/</a>
-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 &lt;coz.h&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.</p>
-
-<p>A video published by ACM
-<a href="https://www.youtube.com/watch?v=jE0V-p1odPg">presenting the
-Coz profiler</a> is available from Youtube.  There is also a paper
-from the 25th Symposium on Operating Systems Principles available
-titled
-<a href="https://www.usenix.org/conference/atc16/technical-sessions/presentation/curtsinger">Coz:
-finding code that counts with causal profiling</a>.</p>
-
-<p><a href="https://github.com/plasma-umass/coz">The source code</a>
-for Coz is available from github.  It will only build with clang
-because it uses a
-<a href="https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55606">C++
-feature missing in GCC</a>, but I've submitted
-<a href="https://github.com/plasma-umass/coz/pull/67">a patch to solve
-it</a> and hope it will be included in the upstream source soon.</p>
-
-<p>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.</p>
-</div>
-      <div class="tags">
-        
-        
-        Tags: <a href="http://people.skolelinux.org/pere/blog/tags/debian">debian</a>, <a href="http://people.skolelinux.org/pere/blog/tags/english">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/nice free software">nice free software</a>. 
-        
-        
-      </div>
-    </div>
-    <div class="padding"></div>
-    
     <p style="text-align: right;"><a href="index.rss"><img src="http://people.skolelinux.org/pere/blog/xml.gif" alt="RSS feed" width="36" height="14" /></a></p>
     <div id="sidebar">
       
@@ -1069,7 +1039,7 @@ C++ libraries.</p>
 
 <li><a href="http://people.skolelinux.org/pere/blog/archive/2016/10/">October (3)</a></li>
 
-<li><a href="http://people.skolelinux.org/pere/blog/archive/2016/11/">November (3)</a></li>
+<li><a href="http://people.skolelinux.org/pere/blog/archive/2016/11/">November (4)</a></li>
 
 </ul></li>
 
@@ -1308,7 +1278,7 @@ C++ libraries.</p>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath">chrpath (2)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (138)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/debian">debian (139)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu">debian edu (157)</a></li>
 
@@ -1320,7 +1290,7 @@ C++ libraries.</p>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser">drivstoffpriser (4)</a></li>
 
- <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (331)</a></li>
+ <li><a href="http://people.skolelinux.org/pere/blog/tags/english">english (332)</a></li>
 
  <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami">fiksgatami (23)</a></li>