<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7651.28">
<TITLE>RE: [Haifux] Lecture proposal - high performance multi threadedprogramming</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->

<P><FONT SIZE=2>Hi,<BR>
aye!<BR>
<BR>
Bye!<BR>
<BR>
<BR>
Yossi A.<BR>
<BR>
<BR>
-----Original Message-----<BR>
From: haifux-bounces@haifux.org on behalf of Shachar Shemesh<BR>
Sent: Tue 4/29/2008 8:30 AM<BR>
To: Haifa Linux Club<BR>
Subject: [Haifux] Lecture proposal - high performance multi threadedprogramming<BR>
<BR>
Abstract:<BR>
With a bit of manual reading, anyone can learn how to create a program<BR>
that has more than one thread of execution. This breaks down, very<BR>
rapidly, however, as the inter-dependencies inside the program start to<BR>
burden you down, to the point where you get race bugs that are close to<BR>
impossible to find. Fixing those typically involve using the various<BR>
locking mechanisms. The result is, more often than not, a program that<BR>
both works much slower than the number of threads and processors would<BR>
suggest it should, AND at the same time still has race conditions.<BR>
<BR>
This lecture will try to give rules relating to how to construct your<BR>
program to begin with so that it will provide high performance, be<BR>
maintainable (for some definition of maintainable), and be bug<BR>
efficient. In other words, this lecture is about learning to think<BR>
&quot;multi-threaded&quot;. In fact, efficient enough multi-threaded design do not<BR>
even need to have more than one thread of execution......<BR>
<BR>
All in favor say &quot;aye&quot;.<BR>
<BR>
Shachar<BR>
_______________________________________________<BR>
Haifux mailing list<BR>
Haifux@haifux.org<BR>
<A HREF="http://hamakor.org.il/cgi-bin/mailman/listinfo/haifux">http://hamakor.org.il/cgi-bin/mailman/listinfo/haifux</A><BR>
<BR>
</FONT>
</P>

</BODY>
</HTML>