<article>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#article09_10_16_1945255</id>
	<title>Apple's Grand Central Dispatch Ported To FreeBSD</title>
	<author>ScuttleMonkey</author>
	<datestamp>1255686420000</datestamp>
	<htmltext>bonch writes <i>"Apple's Grand Central Dispatch, which was recently <a href="http://libdispatch.macosforge.org/">open sourced</a>, has been <a href="http://www.freebsd.org/news/status/report-2009-04-2009-09.html#Grand-Central-Dispatch---FreeBSD-port">ported to FreeBSD</a> and is planned to be included by default in FreeBSD 8.1.  Also known as libdispatch, the API allows the use of function-based callbacks but will also support blocks if built using FreeBSD's clang compiler package.  There's already discussion of modifying BSD's system tools to use the new technology."</i>  The port was originally unveiled last month at the 2009 Developer Summit in Cambridge.  <a href="http://wiki.freebsd.org/200909DevSummit?action=AttachFile&amp;do=view&amp;target=20090918-devsummit-gcd-public.pdf">Slides from that presentation</a> are available via the Dev Summit wiki.</htmltext>
<tokenext>bonch writes " Apple 's Grand Central Dispatch , which was recently open sourced , has been ported to FreeBSD and is planned to be included by default in FreeBSD 8.1 .
Also known as libdispatch , the API allows the use of function-based callbacks but will also support blocks if built using FreeBSD 's clang compiler package .
There 's already discussion of modifying BSD 's system tools to use the new technology .
" The port was originally unveiled last month at the 2009 Developer Summit in Cambridge .
Slides from that presentation are available via the Dev Summit wiki .</tokentext>
<sentencetext>bonch writes "Apple's Grand Central Dispatch, which was recently open sourced, has been ported to FreeBSD and is planned to be included by default in FreeBSD 8.1.
Also known as libdispatch, the API allows the use of function-based callbacks but will also support blocks if built using FreeBSD's clang compiler package.
There's already discussion of modifying BSD's system tools to use the new technology.
"  The port was originally unveiled last month at the 2009 Developer Summit in Cambridge.
Slides from that presentation are available via the Dev Summit wiki.</sentencetext>
</article>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773467</id>
	<title>Apple's Grand Central Dispatch Ported To FreeBSD</title>
	<author>omar.sahal</author>
	<datestamp>1255690500000</datestamp>
	<modclass>Offtopic</modclass>
	<modscore>-1</modscore>
	<htmltext>This would be interesting if BSD had not been dying. Netcraft now confirms it: It is official;

One more crippling bombshell hit the already beleaguered *BSD community when IDC confirmed that *BSD market share has dropped yet again, now down to less than a fraction of 1 percent of all servers. Coming close on the heels of a recent Netcraft survey which plainly states that *BSD has lost more market share, this news serves to reinforce what we've known all along. *BSD is collapsing in complete disarray, as fittingly exemplified by failing dead last in the recent Sys Admin comprehensive networking test.

You don't need to be a Kreskin to predict *BSD's future. The hand writing is on the wall: *BSD faces a bleak future. In fact there won't be any future at all for *BSD because *BSD is dying. Things are looking very bad for *BSD. As many of us are already aware, *BSD continues to lose market share. Red ink flows like a river of blood.</htmltext>
<tokenext>This would be interesting if BSD had not been dying .
Netcraft now confirms it : It is official ; One more crippling bombshell hit the already beleaguered * BSD community when IDC confirmed that * BSD market share has dropped yet again , now down to less than a fraction of 1 percent of all servers .
Coming close on the heels of a recent Netcraft survey which plainly states that * BSD has lost more market share , this news serves to reinforce what we 've known all along .
* BSD is collapsing in complete disarray , as fittingly exemplified by failing dead last in the recent Sys Admin comprehensive networking test .
You do n't need to be a Kreskin to predict * BSD 's future .
The hand writing is on the wall : * BSD faces a bleak future .
In fact there wo n't be any future at all for * BSD because * BSD is dying .
Things are looking very bad for * BSD .
As many of us are already aware , * BSD continues to lose market share .
Red ink flows like a river of blood .</tokentext>
<sentencetext>This would be interesting if BSD had not been dying.
Netcraft now confirms it: It is official;

One more crippling bombshell hit the already beleaguered *BSD community when IDC confirmed that *BSD market share has dropped yet again, now down to less than a fraction of 1 percent of all servers.
Coming close on the heels of a recent Netcraft survey which plainly states that *BSD has lost more market share, this news serves to reinforce what we've known all along.
*BSD is collapsing in complete disarray, as fittingly exemplified by failing dead last in the recent Sys Admin comprehensive networking test.
You don't need to be a Kreskin to predict *BSD's future.
The hand writing is on the wall: *BSD faces a bleak future.
In fact there won't be any future at all for *BSD because *BSD is dying.
Things are looking very bad for *BSD.
As many of us are already aware, *BSD continues to lose market share.
Red ink flows like a river of blood.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773825</id>
	<title>Re:Multicore Enhancements!! :)</title>
	<author>moosesocks</author>
	<datestamp>1255693020000</datestamp>
	<modclass>Informativ</modclass>
	<modscore>5</modscore>
	<htmltext><p>Ars Technica has a <a href="http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/12" title="arstechnica.com">great overview</a> [arstechnica.com] of what GCD is, and why it's important.</p><p>I haven't done much multithreaded programming in C, although this looks like an absolute godsend to those who do.  Maybe someday we can actually have a modern desktop as responsive as BeOS was...</p><p>The article also contains a bit of information about Apple's compiler strategy and refinements to the C language itself.  Most of these have been open-sourced under a permissive license, which is pretty damn cool.</p></htmltext>
<tokenext>Ars Technica has a great overview [ arstechnica.com ] of what GCD is , and why it 's important.I have n't done much multithreaded programming in C , although this looks like an absolute godsend to those who do .
Maybe someday we can actually have a modern desktop as responsive as BeOS was...The article also contains a bit of information about Apple 's compiler strategy and refinements to the C language itself .
Most of these have been open-sourced under a permissive license , which is pretty damn cool .</tokentext>
<sentencetext>Ars Technica has a great overview [arstechnica.com] of what GCD is, and why it's important.I haven't done much multithreaded programming in C, although this looks like an absolute godsend to those who do.
Maybe someday we can actually have a modern desktop as responsive as BeOS was...The article also contains a bit of information about Apple's compiler strategy and refinements to the C language itself.
Most of these have been open-sourced under a permissive license, which is pretty damn cool.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773495</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29777933</id>
	<title>FreeBSD technical progress</title>
	<author>Anonymous</author>
	<datestamp>1255798200000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>On one hand, FreeBSD is leading the way in adopting cool technology - ZFS, DTrace, PF, and now GDC.<br>But, they still do not have a UVC driver, and the 70's installer technology still craps out on some platforms.<br>So, on the server, it rules, but on the desktop/laptop, well, it kinda blows.</p></htmltext>
<tokenext>On one hand , FreeBSD is leading the way in adopting cool technology - ZFS , DTrace , PF , and now GDC.But , they still do not have a UVC driver , and the 70 's installer technology still craps out on some platforms.So , on the server , it rules , but on the desktop/laptop , well , it kinda blows .</tokentext>
<sentencetext>On one hand, FreeBSD is leading the way in adopting cool technology - ZFS, DTrace, PF, and now GDC.But, they still do not have a UVC driver, and the 70's installer technology still craps out on some platforms.So, on the server, it rules, but on the desktop/laptop, well, it kinda blows.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29774035</id>
	<title>Re:Bad Apple</title>
	<author>Anonymous</author>
	<datestamp>1255694340000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext>Thanks for yesterday's trash.</htmltext>
<tokenext>Thanks for yesterday 's trash .</tokentext>
<sentencetext>Thanks for yesterday's trash.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773419</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29776327</id>
	<title>Re:What is this?</title>
	<author>angelbunny</author>
	<datestamp>1255773540000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Think of it like this: You want to thread your code if possible to make it productive. You also want your code to be designed for the future. Today most computers might have 2 to 4 cores but 5 years from now it might be 32 cores. Because of this you make your program have tons of threads. Now your know your code is ready for multi core and for the future!</p><p>The problem is threads have a very large overhead. As I see it (and I'm not an expert) it isn't much processing overhead but more memory overhead. This is why in the last couple of years cpus have had giant caches. That way it can hold all of that thread data. If your cpu needs to swap data around because it is cluttered with thread overhead then it looses efficiency and can easily turn into a slug compared to what it can be. Look at Vuze (Azureus) for example. It has approx 220 to 260 threads at any given time. I'm on a core 2 duo. Why doesn't it have 2 threads? 260 threads just overwhelms any current cpu to the point where people bitch about it and move to an alternative like torrent(utorrent). If those 260 threads where queues then on my core 2 duo it would probably be 2 threads total for every program running on the system using GCD. No extra bloated overhead. If I was on a 32 core system then it would most likely be 32 threads. GCD manages tons of queues into a thread.</p><p>It is not only far more productive to do this but the developer does not have to worry about restricting his or herself when it comes to splitting the tasks up.</p></htmltext>
<tokenext>Think of it like this : You want to thread your code if possible to make it productive .
You also want your code to be designed for the future .
Today most computers might have 2 to 4 cores but 5 years from now it might be 32 cores .
Because of this you make your program have tons of threads .
Now your know your code is ready for multi core and for the future ! The problem is threads have a very large overhead .
As I see it ( and I 'm not an expert ) it is n't much processing overhead but more memory overhead .
This is why in the last couple of years cpus have had giant caches .
That way it can hold all of that thread data .
If your cpu needs to swap data around because it is cluttered with thread overhead then it looses efficiency and can easily turn into a slug compared to what it can be .
Look at Vuze ( Azureus ) for example .
It has approx 220 to 260 threads at any given time .
I 'm on a core 2 duo .
Why does n't it have 2 threads ?
260 threads just overwhelms any current cpu to the point where people bitch about it and move to an alternative like torrent ( utorrent ) .
If those 260 threads where queues then on my core 2 duo it would probably be 2 threads total for every program running on the system using GCD .
No extra bloated overhead .
If I was on a 32 core system then it would most likely be 32 threads .
GCD manages tons of queues into a thread.It is not only far more productive to do this but the developer does not have to worry about restricting his or herself when it comes to splitting the tasks up .</tokentext>
<sentencetext>Think of it like this: You want to thread your code if possible to make it productive.
You also want your code to be designed for the future.
Today most computers might have 2 to 4 cores but 5 years from now it might be 32 cores.
Because of this you make your program have tons of threads.
Now your know your code is ready for multi core and for the future!The problem is threads have a very large overhead.
As I see it (and I'm not an expert) it isn't much processing overhead but more memory overhead.
This is why in the last couple of years cpus have had giant caches.
That way it can hold all of that thread data.
If your cpu needs to swap data around because it is cluttered with thread overhead then it looses efficiency and can easily turn into a slug compared to what it can be.
Look at Vuze (Azureus) for example.
It has approx 220 to 260 threads at any given time.
I'm on a core 2 duo.
Why doesn't it have 2 threads?
260 threads just overwhelms any current cpu to the point where people bitch about it and move to an alternative like torrent(utorrent).
If those 260 threads where queues then on my core 2 duo it would probably be 2 threads total for every program running on the system using GCD.
No extra bloated overhead.
If I was on a 32 core system then it would most likely be 32 threads.
GCD manages tons of queues into a thread.It is not only far more productive to do this but the developer does not have to worry about restricting his or herself when it comes to splitting the tasks up.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773871</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773495</id>
	<title>Multicore Enhancements!! :)</title>
	<author>Anonymous</author>
	<datestamp>1255690740000</datestamp>
	<modclass>Interestin</modclass>
	<modscore>5</modscore>
	<htmltext>My first question was "So...what does this do?"

Apparently it is a more efficient way of scheduling threads on multi-core systems

<a href="http://images.apple.com/macosx/technology/docs/GrandCentral\_TB\_brief\_20090903.pdf" title="apple.com" rel="nofollow">http://images.apple.com/macosx/technology/docs/GrandCentral\_TB\_brief\_20090903.pdf</a> [apple.com]

apple's site says this: "Grand Central Dispatch (GCD) in Mac OS X Snow Leopard addresses this pressing need. It&rsquo;s a set of first-of-their-kind technologies that makes it much easier for developers to squeeze every last drop of power from multicore systems. With GCD, threads are handled by the operating system, not by individual applications. GCD-enabled programs can automatically distribute their work across all available cores, resulting in the best possible performance whether they&rsquo;re running on a dual-core Mac mini, an 8-core Mac Pro, or anything in between. Once developers start using GCD for their applications, you&rsquo;ll start noticing significant improvements in performance. "

So this seems good then.</htmltext>
<tokenext>My first question was " So...what does this do ?
" Apparently it is a more efficient way of scheduling threads on multi-core systems http : //images.apple.com/macosx/technology/docs/GrandCentral \ _TB \ _brief \ _20090903.pdf [ apple.com ] apple 's site says this : " Grand Central Dispatch ( GCD ) in Mac OS X Snow Leopard addresses this pressing need .
It    s a set of first-of-their-kind technologies that makes it much easier for developers to squeeze every last drop of power from multicore systems .
With GCD , threads are handled by the operating system , not by individual applications .
GCD-enabled programs can automatically distribute their work across all available cores , resulting in the best possible performance whether they    re running on a dual-core Mac mini , an 8-core Mac Pro , or anything in between .
Once developers start using GCD for their applications , you    ll start noticing significant improvements in performance .
" So this seems good then .</tokentext>
<sentencetext>My first question was "So...what does this do?
"

Apparently it is a more efficient way of scheduling threads on multi-core systems

http://images.apple.com/macosx/technology/docs/GrandCentral\_TB\_brief\_20090903.pdf [apple.com]

apple's site says this: "Grand Central Dispatch (GCD) in Mac OS X Snow Leopard addresses this pressing need.
It’s a set of first-of-their-kind technologies that makes it much easier for developers to squeeze every last drop of power from multicore systems.
With GCD, threads are handled by the operating system, not by individual applications.
GCD-enabled programs can automatically distribute their work across all available cores, resulting in the best possible performance whether they’re running on a dual-core Mac mini, an 8-core Mac Pro, or anything in between.
Once developers start using GCD for their applications, you’ll start noticing significant improvements in performance.
"

So this seems good then.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773971</id>
	<title>Re:Bad Apple</title>
	<author>Anonymous</author>
	<datestamp>1255693860000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>STFU...there's a reason they ported BSD rather than Linux...</p></htmltext>
<tokenext>STFU...there 's a reason they ported BSD rather than Linux.. .</tokentext>
<sentencetext>STFU...there's a reason they ported BSD rather than Linux...</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773419</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773985</id>
	<title>Re:GCD is not multithreading, it's thread manageme</title>
	<author>mwvdlee</author>
	<datestamp>1255694100000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Do I understand it correctly if I oversimplify it as "centralized thread pool"?</p></htmltext>
<tokenext>Do I understand it correctly if I oversimplify it as " centralized thread pool " ?</tokentext>
<sentencetext>Do I understand it correctly if I oversimplify it as "centralized thread pool"?</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773739</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773451</id>
	<title>They should use clang instead of GCC</title>
	<author>Anonymous</author>
	<datestamp>1255690440000</datestamp>
	<modclass>Flamebait</modclass>
	<modscore>0</modscore>
	<htmltext><p>I noticed in their last slide they asked how to put closures into GCC.  Why bother?  Just use the Apple LLVM clang front end where it is already implemented and ditch GCC altogether.</p></htmltext>
<tokenext>I noticed in their last slide they asked how to put closures into GCC .
Why bother ?
Just use the Apple LLVM clang front end where it is already implemented and ditch GCC altogether .</tokentext>
<sentencetext>I noticed in their last slide they asked how to put closures into GCC.
Why bother?
Just use the Apple LLVM clang front end where it is already implemented and ditch GCC altogether.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773701</id>
	<title>Re:had to look it up..</title>
	<author>UnknowingFool</author>
	<datestamp>1255692180000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>I'm not an expert but I think this now opens up multi-core to individual applications.  Before, the OS and system managed which processes should be passed to cores based on threads.  Now with GCD, applications can be written that blocks of code could be flagged so that the OS can know to passed.
</p><p>
The example given in Wikipedia is the analyseDocument method which is used in a document to count the number of words.  Without GCD, the main thread that runs this method will have to wait until the method is done.  For a small document that delay is not noticeable to the user but will be with a large document.  With GCD, the developer can make the method GCD aware.  If it takes too long in the main thread, GCD will pass it to another core to handle.
</p><p>If my understanding is correct, there are some programs that are multi-core aware but they have to be written at a very low level to take advantage of it.  This new API abstracts at a higher level so that all developers have to do is write methods in a certain way.</p></htmltext>
<tokenext>I 'm not an expert but I think this now opens up multi-core to individual applications .
Before , the OS and system managed which processes should be passed to cores based on threads .
Now with GCD , applications can be written that blocks of code could be flagged so that the OS can know to passed .
The example given in Wikipedia is the analyseDocument method which is used in a document to count the number of words .
Without GCD , the main thread that runs this method will have to wait until the method is done .
For a small document that delay is not noticeable to the user but will be with a large document .
With GCD , the developer can make the method GCD aware .
If it takes too long in the main thread , GCD will pass it to another core to handle .
If my understanding is correct , there are some programs that are multi-core aware but they have to be written at a very low level to take advantage of it .
This new API abstracts at a higher level so that all developers have to do is write methods in a certain way .</tokentext>
<sentencetext>I'm not an expert but I think this now opens up multi-core to individual applications.
Before, the OS and system managed which processes should be passed to cores based on threads.
Now with GCD, applications can be written that blocks of code could be flagged so that the OS can know to passed.
The example given in Wikipedia is the analyseDocument method which is used in a document to count the number of words.
Without GCD, the main thread that runs this method will have to wait until the method is done.
For a small document that delay is not noticeable to the user but will be with a large document.
With GCD, the developer can make the method GCD aware.
If it takes too long in the main thread, GCD will pass it to another core to handle.
If my understanding is correct, there are some programs that are multi-core aware but they have to be written at a very low level to take advantage of it.
This new API abstracts at a higher level so that all developers have to do is write methods in a certain way.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773505</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29774071</id>
	<title>Re:What is this?</title>
	<author>Anonymous</author>
	<datestamp>1255694820000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>You know what, I knew people were going to ask what this is, so I had a link in the original submission that went to Apple's technology page that goes into detail, but the editor removed it.</p><p>Basically, this framework allows the operating system to manage a global pool of threads based on available system resources, and your application submits blocks of work which the operating system will assign to a thread and run as needed.  Normally, an application has to manage its own threads (an expensive operation) and try to figure out how many threads it needs to use.  One of the difficulties of concurrent programming is that too many or too few threads can affect performance.</p><p>It's also convenient for the programmer to be able to submit a block of asynchronous code in a single function call.  It's really a very easy API to use.</p><p>Posted anonymously because my account has been modbombed into oblivion and can't post anymore.</p></htmltext>
<tokenext>You know what , I knew people were going to ask what this is , so I had a link in the original submission that went to Apple 's technology page that goes into detail , but the editor removed it.Basically , this framework allows the operating system to manage a global pool of threads based on available system resources , and your application submits blocks of work which the operating system will assign to a thread and run as needed .
Normally , an application has to manage its own threads ( an expensive operation ) and try to figure out how many threads it needs to use .
One of the difficulties of concurrent programming is that too many or too few threads can affect performance.It 's also convenient for the programmer to be able to submit a block of asynchronous code in a single function call .
It 's really a very easy API to use.Posted anonymously because my account has been modbombed into oblivion and ca n't post anymore .</tokentext>
<sentencetext>You know what, I knew people were going to ask what this is, so I had a link in the original submission that went to Apple's technology page that goes into detail, but the editor removed it.Basically, this framework allows the operating system to manage a global pool of threads based on available system resources, and your application submits blocks of work which the operating system will assign to a thread and run as needed.
Normally, an application has to manage its own threads (an expensive operation) and try to figure out how many threads it needs to use.
One of the difficulties of concurrent programming is that too many or too few threads can affect performance.It's also convenient for the programmer to be able to submit a block of asynchronous code in a single function call.
It's really a very easy API to use.Posted anonymously because my account has been modbombed into oblivion and can't post anymore.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773871</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29777249</id>
	<title>Hottest Selling Bape new style man Shoes Quick   G</title>
	<author>Anonymous</author>
	<datestamp>1255791600000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Welcome TO Our Website:  Http://www.tntshoes.com</p><p>
&nbsp; &nbsp; we are a prefession online store, you can see more photos and price in our website which is show in the photos<br>
&nbsp; &nbsp; &nbsp; &nbsp; please email me by: www.shopperstrade@hotmail.com<br>lv Handbags , dior, D&amp;G channell coach etc $23-32 free shipping.the name of our website is in the photos blow is our website, hellow we are a online fasion shopping mall"</p><p>
&nbsp; OUR WEBSITE:<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; YAHOO:shoppertrade@yahoo.com.cn</p><p>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MSN:shoppertrade@hotmail.com</p><p>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Http://www.tntshoes.com</p></htmltext>
<tokenext>            Welcome TO Our Website : Http : //www.tntshoes.com     we are a prefession online store , you can see more photos and price in our website which is show in the photos         please email me by : www.shopperstrade @ hotmail.comlv Handbags , dior , D&amp;G channell coach etc $ 23-32 free shipping.the name of our website is in the photos blow is our website , hellow we are a online fasion shopping mall "   OUR WEBSITE :                                                         YAHOO : shoppertrade @ yahoo.com.cn                                                                 MSN : shoppertrade @ hotmail.com                                                                       Http : //www.tntshoes.com</tokentext>
<sentencetext>
            Welcome TO Our Website:  Http://www.tntshoes.com
    we are a prefession online store, you can see more photos and price in our website which is show in the photos
        please email me by: www.shopperstrade@hotmail.comlv Handbags , dior, D&amp;G channell coach etc $23-32 free shipping.the name of our website is in the photos blow is our website, hellow we are a online fasion shopping mall"
  OUR WEBSITE:
                                                        YAHOO:shoppertrade@yahoo.com.cn
                                                                MSN:shoppertrade@hotmail.com
                                                                      Http://www.tntshoes.com</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29774033</id>
	<title>Re:What is this?</title>
	<author>99BottlesOfBeerInMyF</author>
	<datestamp>1255694340000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><div class="quote"><p>Is this just apple "inventing" kernel level threads or is it something new?</p></div><p>This is Apple making optimization of threading to multiple cores and GPU's easy for developers. This is a library to take work off the shoulders of developers for making faster, more efficient programs by letting developers chunk up their app and letting the OS (which has more information) make choices for the applications as to what becomes a thread. It is not a fundamental architecture change or anything new on the level you're talking about.</p></div>
	</htmltext>
<tokenext>Is this just apple " inventing " kernel level threads or is it something new ? This is Apple making optimization of threading to multiple cores and GPU 's easy for developers .
This is a library to take work off the shoulders of developers for making faster , more efficient programs by letting developers chunk up their app and letting the OS ( which has more information ) make choices for the applications as to what becomes a thread .
It is not a fundamental architecture change or anything new on the level you 're talking about .</tokentext>
<sentencetext>Is this just apple "inventing" kernel level threads or is it something new?This is Apple making optimization of threading to multiple cores and GPU's easy for developers.
This is a library to take work off the shoulders of developers for making faster, more efficient programs by letting developers chunk up their app and letting the OS (which has more information) make choices for the applications as to what becomes a thread.
It is not a fundamental architecture change or anything new on the level you're talking about.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773871</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773521</id>
	<title>Re:Apple's Grand Central Dispatch Ported To FreeBS</title>
	<author>Anonymous</author>
	<datestamp>1255690920000</datestamp>
	<modclass>Insightful</modclass>
	<modscore>2</modscore>
	<htmltext><p>Netcraft confirms it: This joke is dying.</p></htmltext>
<tokenext>Netcraft confirms it : This joke is dying .</tokentext>
<sentencetext>Netcraft confirms it: This joke is dying.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773467</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773871</id>
	<title>What is this?</title>
	<author>Anonymous</author>
	<datestamp>1255693320000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>Can someone explain how this is different from a normal OS with kernel level threads and not userland threads?  What can this do that e.g. Windows threading, native posix threading (NPTL) in Linux, etc...  Is this just apple "inventing" kernel level threads or is it something new?</htmltext>
<tokenext>Can someone explain how this is different from a normal OS with kernel level threads and not userland threads ?
What can this do that e.g .
Windows threading , native posix threading ( NPTL ) in Linux , etc... Is this just apple " inventing " kernel level threads or is it something new ?</tokentext>
<sentencetext>Can someone explain how this is different from a normal OS with kernel level threads and not userland threads?
What can this do that e.g.
Windows threading, native posix threading (NPTL) in Linux, etc...  Is this just apple "inventing" kernel level threads or is it something new?</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773505</id>
	<title>had to look it up..</title>
	<author>TheBilgeRat</author>
	<datestamp>1255690860000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>So, basically this is a tool to streamline concurrent code on multi core machines?  Did BSD not have something like this already?</htmltext>
<tokenext>So , basically this is a tool to streamline concurrent code on multi core machines ?
Did BSD not have something like this already ?</tokentext>
<sentencetext>So, basically this is a tool to streamline concurrent code on multi core machines?
Did BSD not have something like this already?</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29801921</id>
	<title>WholaseAfflictionn*Shirt for male Inexpensive Sel</title>
	<author>Anonymous</author>
	<datestamp>1255955940000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Welcome to our website:    Http://www.tntshoes.com</p><p>We can supply women shoes, brand shoe, safety shoe, clothes, sports products, craftwork and electronic products.<br>(1) Material:100\% authentic leather<br>(2) High quality sports shoes with reasonable prices<br>(3) Small trial orders accepted<br>(4) With original box,<br>(5) Size: US 8-13, Euro 41-47<br>(6) Inner packing:1cardoard box</p><p>We have various styles sport shoes on the company website. If you ask for details,<br>please visit our website or contact us directly</p><p>
&nbsp; OUR WEBSITE:<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; YAHOO:shoppertrade@yahoo.com.cn</p><p>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MSN:shoppertrade@hotmail.com</p><p>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</p></htmltext>
<tokenext>Welcome to our website : Http : //www.tntshoes.comWe can supply women shoes , brand shoe , safety shoe , clothes , sports products , craftwork and electronic products .
( 1 ) Material : 100 \ % authentic leather ( 2 ) High quality sports shoes with reasonable prices ( 3 ) Small trial orders accepted ( 4 ) With original box , ( 5 ) Size : US 8-13 , Euro 41-47 ( 6 ) Inner packing : 1cardoard boxWe have various styles sport shoes on the company website .
If you ask for details,please visit our website or contact us directly   OUR WEBSITE :                                                         YAHOO : shoppertrade @ yahoo.com.cn                                                                 MSN : shoppertrade @ hotmail.com                                                          </tokentext>
<sentencetext>Welcome to our website:    Http://www.tntshoes.comWe can supply women shoes, brand shoe, safety shoe, clothes, sports products, craftwork and electronic products.
(1) Material:100\% authentic leather(2) High quality sports shoes with reasonable prices(3) Small trial orders accepted(4) With original box,(5) Size: US 8-13, Euro 41-47(6) Inner packing:1cardoard boxWe have various styles sport shoes on the company website.
If you ask for details,please visit our website or contact us directly
  OUR WEBSITE:
                                                        YAHOO:shoppertrade@yahoo.com.cn
                                                                MSN:shoppertrade@hotmail.com
                                                         </sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29776039</id>
	<title>duh!</title>
	<author>kojot350</author>
	<datestamp>1255722480000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><div class="quote"><p>Apparently it is a more efficient way of scheduling threads on multi-core systems<nobr> <wbr></nobr>...<br><nobr> <wbr></nobr>...So this seems good then.</p></div><p>duh!</p></div>
	</htmltext>
<tokenext>Apparently it is a more efficient way of scheduling threads on multi-core systems ... ...So this seems good then.duh !</tokentext>
<sentencetext>Apparently it is a more efficient way of scheduling threads on multi-core systems ... ...So this seems good then.duh!
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773495</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29775009</id>
	<title>It is from APPLE, FFS!!</title>
	<author>Anonymous</author>
	<datestamp>1255703820000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext>Similar to how iphone was the first real phone, this is the first real threading supergoo invented evaar!! Wasn't the name of Apple a dead giveaway already??</htmltext>
<tokenext>Similar to how iphone was the first real phone , this is the first real threading supergoo invented evaar ! !
Was n't the name of Apple a dead giveaway already ?
?</tokentext>
<sentencetext>Similar to how iphone was the first real phone, this is the first real threading supergoo invented evaar!!
Wasn't the name of Apple a dead giveaway already?
?</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773871</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29775827</id>
	<title>Re:OpenMP</title>
	<author>GrahamCox</author>
	<datestamp>1255717620000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><i> GCD is quite inconvenient without closures</i> <br> <br>
Except that it does have closures, only Apple prefer to call them blocks. The Cocoa APIs have been extensively revved to include many block-based enhancements to existing APIs that previously used more awkward callbacks.</htmltext>
<tokenext>GCD is quite inconvenient without closures Except that it does have closures , only Apple prefer to call them blocks .
The Cocoa APIs have been extensively revved to include many block-based enhancements to existing APIs that previously used more awkward callbacks .</tokentext>
<sentencetext> GCD is quite inconvenient without closures  
Except that it does have closures, only Apple prefer to call them blocks.
The Cocoa APIs have been extensively revved to include many block-based enhancements to existing APIs that previously used more awkward callbacks.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773645</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773565</id>
	<title>In other news...</title>
	<author>Anonymous</author>
	<datestamp>1255691160000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Package XYZ ported from Ubuntu to Debian!</p></htmltext>
<tokenext>Package XYZ ported from Ubuntu to Debian !</tokentext>
<sentencetext>Package XYZ ported from Ubuntu to Debian!</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29775987</id>
	<title>Re:Comparisons?</title>
	<author>shutdown -p now</author>
	<datestamp>1255721640000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p><div class="quote"><p>Has anyone written a comparison of GCD, Intel Thread Building Blocks, and VC++ 2010's own task-based concurrency library?</p></div><p>One thing that comes to mind immediately is that GCD uses Apple's own extension to ISO C for closures (which, IIRC, they have already submitted for standardization - though how long this may take is an interesting question), which means that GCD is usable from a plain C application.</p><p>Parallel Patterns Library (VC++2010 analog) is a strictly C++ library, where tasks and task groups are classes. Consequently, Microsoft also extended C++ with closures for that, but rather than build their own, they simply took lambdas from the draft spec for the upcoming C++0x. So it's kinda "more standard" (though I'm not sure who else actually supports C++0x lambdas at the moment; g++ doesn't), but not usable from plain C.</p><p>It may not be a big difference for Windows developer - virtually no Win32 apps are written in plain C, anyway, so targeting C++ there makes sense. But for Unix-likes, C is still the least common denominator, which is why, I guess, Apple went that way.</p></div>
	</htmltext>
<tokenext>Has anyone written a comparison of GCD , Intel Thread Building Blocks , and VC + + 2010 's own task-based concurrency library ? One thing that comes to mind immediately is that GCD uses Apple 's own extension to ISO C for closures ( which , IIRC , they have already submitted for standardization - though how long this may take is an interesting question ) , which means that GCD is usable from a plain C application.Parallel Patterns Library ( VC + + 2010 analog ) is a strictly C + + library , where tasks and task groups are classes .
Consequently , Microsoft also extended C + + with closures for that , but rather than build their own , they simply took lambdas from the draft spec for the upcoming C + + 0x .
So it 's kinda " more standard " ( though I 'm not sure who else actually supports C + + 0x lambdas at the moment ; g + + does n't ) , but not usable from plain C.It may not be a big difference for Windows developer - virtually no Win32 apps are written in plain C , anyway , so targeting C + + there makes sense .
But for Unix-likes , C is still the least common denominator , which is why , I guess , Apple went that way .</tokentext>
<sentencetext>Has anyone written a comparison of GCD, Intel Thread Building Blocks, and VC++ 2010's own task-based concurrency library?One thing that comes to mind immediately is that GCD uses Apple's own extension to ISO C for closures (which, IIRC, they have already submitted for standardization - though how long this may take is an interesting question), which means that GCD is usable from a plain C application.Parallel Patterns Library (VC++2010 analog) is a strictly C++ library, where tasks and task groups are classes.
Consequently, Microsoft also extended C++ with closures for that, but rather than build their own, they simply took lambdas from the draft spec for the upcoming C++0x.
So it's kinda "more standard" (though I'm not sure who else actually supports C++0x lambdas at the moment; g++ doesn't), but not usable from plain C.It may not be a big difference for Windows developer - virtually no Win32 apps are written in plain C, anyway, so targeting C++ there makes sense.
But for Unix-likes, C is still the least common denominator, which is why, I guess, Apple went that way.
	</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773569</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773419</id>
	<title>Bad Apple</title>
	<author>Anonymous</author>
	<datestamp>1255690320000</datestamp>
	<modclass>Funny</modclass>
	<modscore>5</modscore>
	<htmltext><p>Always taking from the open source community, and never giving back!</p></htmltext>
<tokenext>Always taking from the open source community , and never giving back !</tokentext>
<sentencetext>Always taking from the open source community, and never giving back!</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29776313</id>
	<title>Re:OpenMP</title>
	<author>angelbunny</author>
	<datestamp>1255772820000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>I personally haven't used openMP before so my level of ignorance is high but is openMP dead? Not because of grand central but because of openCL. Doesn't openCL take everything in openMP and allow the dev to work with more than just CPUs?</p><p>I know I'm being a bit offtopic here but seriously: Is there any reason to use openMP any more now that openCL exists?</p></htmltext>
<tokenext>I personally have n't used openMP before so my level of ignorance is high but is openMP dead ?
Not because of grand central but because of openCL .
Does n't openCL take everything in openMP and allow the dev to work with more than just CPUs ? I know I 'm being a bit offtopic here but seriously : Is there any reason to use openMP any more now that openCL exists ?</tokentext>
<sentencetext>I personally haven't used openMP before so my level of ignorance is high but is openMP dead?
Not because of grand central but because of openCL.
Doesn't openCL take everything in openMP and allow the dev to work with more than just CPUs?I know I'm being a bit offtopic here but seriously: Is there any reason to use openMP any more now that openCL exists?</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773645</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773401</id>
	<title>eat my shorts slashdot !!</title>
	<author>Anonymous</author>
	<datestamp>1255690200000</datestamp>
	<modclass>Troll</modclass>
	<modscore>-1</modscore>
	<htmltext><p>Eat my shorts slashdot !!</p></htmltext>
<tokenext>Eat my shorts slashdot !
!</tokentext>
<sentencetext>Eat my shorts slashdot !
!</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773793</id>
	<title>Re:OpenMP</title>
	<author>fred fleenblat</author>
	<datestamp>1255692840000</datestamp>
	<modclass>Interestin</modclass>
	<modscore>2</modscore>
	<htmltext><p>it seems like the ability to share work across machines, not just cores, would be a critical difference.</p></htmltext>
<tokenext>it seems like the ability to share work across machines , not just cores , would be a critical difference .</tokentext>
<sentencetext>it seems like the ability to share work across machines, not just cores, would be a critical difference.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773645</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29778071</id>
	<title>Delegated Answer</title>
	<author>Midnight Thunder</author>
	<datestamp>1255799460000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>See this page on Ars Technica for an explanation: <a href="http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/12" title="arstechnica.com">http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/12</a> [arstechnica.com]</p></htmltext>
<tokenext>See this page on Ars Technica for an explanation : http : //arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/12 [ arstechnica.com ]</tokentext>
<sentencetext>See this page on Ars Technica for an explanation: http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/12 [arstechnica.com]</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773871</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29774893</id>
	<title>Re:What is this?</title>
	<author>ceoyoyo</author>
	<datestamp>1255702500000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>It's a system of centralized thread queues combined with a nice syntax for easily creating work units to feed to those threads.  Yes, bits and pieces of GCD are available in other ways but, as is usual for Apple, they've taken a bunch of existing ideas and put them together into a really nice, integrated package.</p></htmltext>
<tokenext>It 's a system of centralized thread queues combined with a nice syntax for easily creating work units to feed to those threads .
Yes , bits and pieces of GCD are available in other ways but , as is usual for Apple , they 've taken a bunch of existing ideas and put them together into a really nice , integrated package .</tokentext>
<sentencetext>It's a system of centralized thread queues combined with a nice syntax for easily creating work units to feed to those threads.
Yes, bits and pieces of GCD are available in other ways but, as is usual for Apple, they've taken a bunch of existing ideas and put them together into a really nice, integrated package.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773871</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29775581</id>
	<title>Re:Multicore Enhancements!! :)</title>
	<author>Anonymous</author>
	<datestamp>1255713180000</datestamp>
	<modclass>Informativ</modclass>
	<modscore>1</modscore>
	<htmltext><p>Other posters have provided good answers, however they also miss some important aspects of GCD and repeat less interesting marketing points.</p><p>From my experience the main features of GCD are:</p><p>- It removes the need to determine how many threads should be used to execute parallel sub-tasks.<br>
&nbsp; &nbsp; One just specifies the tasks and let the system (user-level runtime + kernel) determine how many threads should be dedicated to this work.</p><p>
&nbsp; &nbsp; Many comments across the web note that this is useful across processes. In my mind the major benefit is to enable composition of parallel subdivision. In Pthread one would typically say "I have N cores, let's split this task up to to C*N threads (with C close to 1)". That's workable if you do so at high-level of the application logic, but it leads to an explosion in thread count when done in libraries. Your code may be called by M threads in parallel and, unless very careful, you can end-up creation M*C*N threads. Repeats across a few layers and you easily overwhelm the system.</p><p>
&nbsp; &nbsp; With GCD you specify the work items, the serialization constraints by pushing to serial or parallel queues. The system decides how to service how to allocate threads to processes and queues.</p><p>- It brings run loops to Posix-level programming<br>
&nbsp; &nbsp; Developing around run loops is a different programming style which is mostly familiar in UI code. GCD extends this style to low-level code. This is a very powerful programming style which, when used properly, brings similar benefits to control flow that object-oriented programming brings to data management.</p><p>- It unifies Posix-level event handling<br>
&nbsp; &nbsp; No more sigwait / signal handler / select / poll / waitpid / blocking read() / usleep() for various event sources.<br>
&nbsp; &nbsp; One just create dispatch sources, points them to a queue unto which to execute handlers, and voila.</p><p>
&nbsp; &nbsp; GCD is not the only attempt at unification. Kqueues / epoll+signal fd + timer fd / etc. are similar/earlier attempts, and indeed GCD is built on top of kqueues on Mac OS X.  What's significant with GCD is that the APIs are simple enough that they remove a lot of the traps of those other APIs. GCD also takes care of the dispatching logic which is one of the tricky aspect of dealing with those APIs.</p></htmltext>
<tokenext>Other posters have provided good answers , however they also miss some important aspects of GCD and repeat less interesting marketing points.From my experience the main features of GCD are : - It removes the need to determine how many threads should be used to execute parallel sub-tasks .
    One just specifies the tasks and let the system ( user-level runtime + kernel ) determine how many threads should be dedicated to this work .
    Many comments across the web note that this is useful across processes .
In my mind the major benefit is to enable composition of parallel subdivision .
In Pthread one would typically say " I have N cores , let 's split this task up to to C * N threads ( with C close to 1 ) " .
That 's workable if you do so at high-level of the application logic , but it leads to an explosion in thread count when done in libraries .
Your code may be called by M threads in parallel and , unless very careful , you can end-up creation M * C * N threads .
Repeats across a few layers and you easily overwhelm the system .
    With GCD you specify the work items , the serialization constraints by pushing to serial or parallel queues .
The system decides how to service how to allocate threads to processes and queues.- It brings run loops to Posix-level programming     Developing around run loops is a different programming style which is mostly familiar in UI code .
GCD extends this style to low-level code .
This is a very powerful programming style which , when used properly , brings similar benefits to control flow that object-oriented programming brings to data management.- It unifies Posix-level event handling     No more sigwait / signal handler / select / poll / waitpid / blocking read ( ) / usleep ( ) for various event sources .
    One just create dispatch sources , points them to a queue unto which to execute handlers , and voila .
    GCD is not the only attempt at unification .
Kqueues / epoll + signal fd + timer fd / etc .
are similar/earlier attempts , and indeed GCD is built on top of kqueues on Mac OS X. What 's significant with GCD is that the APIs are simple enough that they remove a lot of the traps of those other APIs .
GCD also takes care of the dispatching logic which is one of the tricky aspect of dealing with those APIs .</tokentext>
<sentencetext>Other posters have provided good answers, however they also miss some important aspects of GCD and repeat less interesting marketing points.From my experience the main features of GCD are:- It removes the need to determine how many threads should be used to execute parallel sub-tasks.
    One just specifies the tasks and let the system (user-level runtime + kernel) determine how many threads should be dedicated to this work.
    Many comments across the web note that this is useful across processes.
In my mind the major benefit is to enable composition of parallel subdivision.
In Pthread one would typically say "I have N cores, let's split this task up to to C*N threads (with C close to 1)".
That's workable if you do so at high-level of the application logic, but it leads to an explosion in thread count when done in libraries.
Your code may be called by M threads in parallel and, unless very careful, you can end-up creation M*C*N threads.
Repeats across a few layers and you easily overwhelm the system.
    With GCD you specify the work items, the serialization constraints by pushing to serial or parallel queues.
The system decides how to service how to allocate threads to processes and queues.- It brings run loops to Posix-level programming
    Developing around run loops is a different programming style which is mostly familiar in UI code.
GCD extends this style to low-level code.
This is a very powerful programming style which, when used properly, brings similar benefits to control flow that object-oriented programming brings to data management.- It unifies Posix-level event handling
    No more sigwait / signal handler / select / poll / waitpid / blocking read() / usleep() for various event sources.
    One just create dispatch sources, points them to a queue unto which to execute handlers, and voila.
    GCD is not the only attempt at unification.
Kqueues / epoll+signal fd + timer fd / etc.
are similar/earlier attempts, and indeed GCD is built on top of kqueues on Mac OS X.  What's significant with GCD is that the APIs are simple enough that they remove a lot of the traps of those other APIs.
GCD also takes care of the dispatching logic which is one of the tricky aspect of dealing with those APIs.</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773495</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773645</id>
	<title>OpenMP</title>
	<author>jipn4</author>
	<datestamp>1255691820000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>It's unclear that this buys you much over OpenMP 3.0.  GCD gives you a little bit more flexibility, but that's not needed in many applications, and GCD is quite inconvenient without closures.</p></htmltext>
<tokenext>It 's unclear that this buys you much over OpenMP 3.0 .
GCD gives you a little bit more flexibility , but that 's not needed in many applications , and GCD is quite inconvenient without closures .</tokentext>
<sentencetext>It's unclear that this buys you much over OpenMP 3.0.
GCD gives you a little bit more flexibility, but that's not needed in many applications, and GCD is quite inconvenient without closures.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773569</id>
	<title>Comparisons?</title>
	<author>PhrostyMcByte</author>
	<datestamp>1255691220000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext>Has anyone written a comparison of GCD, Intel Thread Building Blocks, and VC++ 2010's own task-based concurrency library?</htmltext>
<tokenext>Has anyone written a comparison of GCD , Intel Thread Building Blocks , and VC + + 2010 's own task-based concurrency library ?</tokentext>
<sentencetext>Has anyone written a comparison of GCD, Intel Thread Building Blocks, and VC++ 2010's own task-based concurrency library?</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29776413</id>
	<title>They've reinvented SIMULA and PLANC</title>
	<author>Anonymous</author>
	<datestamp>1255776660000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>This is exactly what many SIMULA-systems did under the hood. Except SIMULA hid the dirty details better and the language worked on systems that didn't support a "Grand Central Dispatch" (there is even an really inefficient and awfull SIMULA to C compiler).</p><p>I've never programmed in PLANC (the system programming language used by Norsk Data and, as far as I know, the first hardware independent system programming language), but, as I recall, it had similar, if not identical, language constructs as those devised by apple.</p><p>Me think US corporations should start looking at the world around them and stop reinventing things already invented. They would save a lot of money and effort.</p></htmltext>
<tokenext>This is exactly what many SIMULA-systems did under the hood .
Except SIMULA hid the dirty details better and the language worked on systems that did n't support a " Grand Central Dispatch " ( there is even an really inefficient and awfull SIMULA to C compiler ) .I 've never programmed in PLANC ( the system programming language used by Norsk Data and , as far as I know , the first hardware independent system programming language ) , but , as I recall , it had similar , if not identical , language constructs as those devised by apple.Me think US corporations should start looking at the world around them and stop reinventing things already invented .
They would save a lot of money and effort .</tokentext>
<sentencetext>This is exactly what many SIMULA-systems did under the hood.
Except SIMULA hid the dirty details better and the language worked on systems that didn't support a "Grand Central Dispatch" (there is even an really inefficient and awfull SIMULA to C compiler).I've never programmed in PLANC (the system programming language used by Norsk Data and, as far as I know, the first hardware independent system programming language), but, as I recall, it had similar, if not identical, language constructs as those devised by apple.Me think US corporations should start looking at the world around them and stop reinventing things already invented.
They would save a lot of money and effort.</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29774201</id>
	<title>Re:Bad Apple</title>
	<author>Anonymous</author>
	<datestamp>1255695780000</datestamp>
	<modclass>None</modclass>
	<modscore>0</modscore>
	<htmltext><p>Little touchy there, aren't we Mr. Shuttleworth?</p></htmltext>
<tokenext>Little touchy there , are n't we Mr. Shuttleworth ?</tokentext>
<sentencetext>Little touchy there, aren't we Mr. Shuttleworth?</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773971</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29778059</id>
	<title>Explanation at Ars Technica</title>
	<author>Midnight Thunder</author>
	<datestamp>1255799280000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>Ars Technica has a great explanation on <a href="http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/12" title="arstechnica.com">Grand Central Dispatch</a> [arstechnica.com] (GCD), and how <a href="http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/9" title="arstechnica.com">LLVM</a> [arstechnica.com] and <a href="http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/14" title="arstechnica.com">OpenCL</a> [arstechnica.com] fits into the grand scheme of things:</p><p><a href="http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars" title="arstechnica.com">http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars</a> [arstechnica.com]</p><p>Note: all links from same article, which is 23 proper pages long (not 5 line jobs).</p></htmltext>
<tokenext>Ars Technica has a great explanation on Grand Central Dispatch [ arstechnica.com ] ( GCD ) , and how LLVM [ arstechnica.com ] and OpenCL [ arstechnica.com ] fits into the grand scheme of things : http : //arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars [ arstechnica.com ] Note : all links from same article , which is 23 proper pages long ( not 5 line jobs ) .</tokentext>
<sentencetext>Ars Technica has a great explanation on Grand Central Dispatch [arstechnica.com] (GCD), and how LLVM [arstechnica.com] and OpenCL [arstechnica.com] fits into the grand scheme of things:http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars [arstechnica.com]Note: all links from same article, which is 23 proper pages long (not 5 line jobs).</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773495</parent>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773739</id>
	<title>GCD is not multithreading, it's thread management</title>
	<author>Anonymous</author>
	<datestamp>1255692420000</datestamp>
	<modclass>Informativ</modclass>
	<modscore>5</modscore>
	<htmltext><p>Grand Central is not introducing multithreading - it's introducing comprehensive thread management. So, how many threads are you going to spin for that task? Too many, and you waste a lot of time on thread management and preemption. Too few, and you have processors sitting idle. Now how will you handle this with multiple CPU's? Multiple cores? Hyperthreading? Different cache amounts and layout? OpenCL and GPU processing? Do you know what the rest of the operating system is doing to plan appropriately?</p><p>In short, your program can at best make a stab at these issues, and possibly even do a reasonable job if you put a lot of time, effort, and profiling into it. Or you could just use GCD, and let the framework handle it all for you, regardless of whether you're on a Core Solo Mac Mini or a Mac Pro with mutliple OpenCL graphics cards.</p><p>It's good stuff. And Apple gave it to the community (much like WebKit enhancements, launchd, etc).</p></htmltext>
<tokenext>Grand Central is not introducing multithreading - it 's introducing comprehensive thread management .
So , how many threads are you going to spin for that task ?
Too many , and you waste a lot of time on thread management and preemption .
Too few , and you have processors sitting idle .
Now how will you handle this with multiple CPU 's ?
Multiple cores ?
Hyperthreading ? Different cache amounts and layout ?
OpenCL and GPU processing ?
Do you know what the rest of the operating system is doing to plan appropriately ? In short , your program can at best make a stab at these issues , and possibly even do a reasonable job if you put a lot of time , effort , and profiling into it .
Or you could just use GCD , and let the framework handle it all for you , regardless of whether you 're on a Core Solo Mac Mini or a Mac Pro with mutliple OpenCL graphics cards.It 's good stuff .
And Apple gave it to the community ( much like WebKit enhancements , launchd , etc ) .</tokentext>
<sentencetext>Grand Central is not introducing multithreading - it's introducing comprehensive thread management.
So, how many threads are you going to spin for that task?
Too many, and you waste a lot of time on thread management and preemption.
Too few, and you have processors sitting idle.
Now how will you handle this with multiple CPU's?
Multiple cores?
Hyperthreading? Different cache amounts and layout?
OpenCL and GPU processing?
Do you know what the rest of the operating system is doing to plan appropriately?In short, your program can at best make a stab at these issues, and possibly even do a reasonable job if you put a lot of time, effort, and profiling into it.
Or you could just use GCD, and let the framework handle it all for you, regardless of whether you're on a Core Solo Mac Mini or a Mac Pro with mutliple OpenCL graphics cards.It's good stuff.
And Apple gave it to the community (much like WebKit enhancements, launchd, etc).</sentencetext>
</comment>
<comment>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29774303</id>
	<title>Re:Comparisons?</title>
	<author>jhol13</author>
	<datestamp>1255696620000</datestamp>
	<modclass>None</modclass>
	<modscore>1</modscore>
	<htmltext><p>How about Java? (Concurrent maps are very "cute").</p></htmltext>
<tokenext>How about Java ?
( Concurrent maps are very " cute " ) .</tokentext>
<sentencetext>How about Java?
(Concurrent maps are very "cute").</sentencetext>
	<parent>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773569</parent>
</comment>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_09_10_16_1945255_13</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29774201
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773971
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773419
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_09_10_16_1945255_0</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29778059
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773495
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_09_10_16_1945255_17</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29775827
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773645
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_09_10_16_1945255_15</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773985
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773739
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_09_10_16_1945255_4</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29776327
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773871
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_09_10_16_1945255_11</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29774303
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773569
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_09_10_16_1945255_10</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29775581
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773495
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_09_10_16_1945255_14</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29774035
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773419
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_09_10_16_1945255_1</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29776313
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773645
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_09_10_16_1945255_8</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773521
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773467
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_09_10_16_1945255_19</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29774893
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773871
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_09_10_16_1945255_18</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773793
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773645
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_09_10_16_1945255_5</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29778071
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773871
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_09_10_16_1945255_2</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29774033
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773871
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_09_10_16_1945255_6</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29775987
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773569
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_09_10_16_1945255_9</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29774071
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773871
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_09_10_16_1945255_12</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29776039
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773495
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_09_10_16_1945255_16</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29775009
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773871
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_09_10_16_1945255_3</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773701
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773505
</commentlist>
</thread>
<thread>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#thread_09_10_16_1945255_7</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773825
http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773495
</commentlist>
</thread>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation09_10_16_1945255.1</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773645
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29775827
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29776313
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773793
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation09_10_16_1945255.8</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773569
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29775987
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29774303
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation09_10_16_1945255.6</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773419
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773971
--http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29774201
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29774035
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation09_10_16_1945255.9</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773451
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation09_10_16_1945255.0</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773467
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773521
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation09_10_16_1945255.7</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773739
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773985
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation09_10_16_1945255.4</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773495
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773825
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29775581
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29778059
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29776039
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation09_10_16_1945255.2</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773505
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773701
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation09_10_16_1945255.5</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773871
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29774071
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29774033
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29778071
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29775009
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29774893
-http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29776327
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation09_10_16_1945255.10</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29777933
</commentlist>
</conversation>
<conversation>
	<id>http://www.semanticweb.org/ontologies/ConversationInstances.owl#conversation09_10_16_1945255.3</id>
	<commentlist>http://www.semanticweb.org/ontologies/ConversationInstances.owl#comment09_10_16_1945255.29773565
</commentlist>
</conversation>
