Channels ▼

Cameron and Tracey Hughes

Dr. Dobb's Bloggers

Below C level ...

May 31, 2009

I guess it all depends on where you jump into the fray with this parallelism stuff. In the server world, most of the applications are concerned with transaction throughput and the number of simultaneous user requests that can be successfully processed. So various schemes are concocted to deal with the load of simultaneous user requests. So multicore configurations have an obvious application at the server level. In the application world, things are not always so clear, but requirements for concurrency pop up.For instance, my DVD burning application and CD ripping application are one in the same. I have multiple drives, so ripping a CD while simultaneously burning a DVD shouldn't prevent me from using the same software to browse my selection of files to backed up as soon as the DVD is finished burning right? Surely this application will be multithreaded and if multiple processors are available, then all the better. Then there is the parallelism that basic operating systems will deploy at any given time. The operating system is running all sorts of background processing, daemons, subroutines, and processes. In a single-processor environment, the operating system has to totally depend on time slicing and swapping so that each process gets it fair share of the CPU. Although this time slicing and swapping doesn't go away in a multicore environment, there are more CPUs to divide the work between. This is a very different kind of parallel programming than what happens in a multithreaded single-user application. The parallel programming that goes on in a multithreaded single-user application is a very different kind of programming than what happens with multi-user, server-based applications. Although many of the mechanisms are the same, they are applied in very different ways.

But our foray into parallelism is for the moment focused on applying parallelism to goal-driven agents. That is, we have certain problem solving agents that we would like to solve their given problem in an acceptable time frame. Because the problems we give the agents are, shall we say AI-complete, then the agent have fairly a heavy burden to bear. The agents typically have one problem to solve or question to answer. Again, the questions although deceptively simple are extremely hard for the agents to answer. The same goes with the problems they are asked to solve. We are hoping that parallelism and multicore will help to ease the burden. Hoping... Remember our question:

Which tastes better coke or pepsi?

We forgot to mention that we give this question to our agents audibly.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.