X-Git-Url: http://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/878cbf60f5bc3d51a314370e4e0464e1d8a19763..67c72508423527be4030a4f47f13f22b2fa5537e:/blog/archive/2016/08/index.html diff --git a/blog/archive/2016/08/index.html b/blog/archive/2016/08/index.html index 55e8fb63b3..dcc7726a8e 100644 --- a/blog/archive/2016/08/index.html +++ b/blog/archive/2016/08/index.html @@ -21,6 +21,88 @@

Entries from August 2016.

+
+
+ Coz can help you find bottlenecks in multi-threaded software - nice free software +
+
+ 11th August 2016 +
+
+

This summer, I read a great article +"coz: +This Is the Profiler You're Looking For" 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.

+ +

The project and presentation was so inspiring that I would like to +get the system into Debian. I +created +a WNPP request for it 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.

+ +

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: + +

+coz run --- program-to-run
+

+ +

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 +http://plasma-umass.github.io/coz/ +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 <coz.h> 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.

+ +

A video published by ACM +presenting the +Coz profiler is available from Youtube. There is also a paper +from the 25th Symposium on Operating Systems Principles available +titled +Coz: +finding code that counts with causal profiling.

+ +

The source code +for Coz is available from github. It will only build with clang +because it uses a +C++ +feature missing in GCC, but I've submitted +a patch to solve +it and hope it will be included in the upstream source soon.

+ +

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.

+ +
+
+ + + Tags: debian, english, nice free software. + + +
+
+
+
Sales number for the Free Culture translation, first half of 2016 @@ -216,7 +298,7 @@ Frikanalen and NUUG. Check it out. :)

  • July (2)
  • -
  • August (3)
  • +
  • August (4)
  • @@ -455,7 +537,7 @@ Frikanalen and NUUG. Check it out. :)

  • chrpath (2)
  • -
  • debian (133)
  • +
  • debian (134)
  • debian edu (157)
  • @@ -467,7 +549,7 @@ Frikanalen and NUUG. Check it out. :)

  • drivstoffpriser (4)
  • -
  • english (325)
  • +
  • english (326)
  • fiksgatami (23)
  • @@ -499,7 +581,7 @@ Frikanalen and NUUG. Check it out. :)

  • multimedia (39)
  • -
  • nice free software (7)
  • +
  • nice free software (8)
  • norsk (276)