1. Computer problem? Tech Support Guy is completely free -- paid for by advertisers and donations. Click here to join today! If you're new to Tech Support Guy, we highly recommend that you visit our Guide for New Members.

Making your application code multicore ready

Discussion in 'Software Development' started by lotuseclat79, Oct 27, 2011.

Thread Status:
Not open for further replies.
Advertisement
  1. lotuseclat79

    lotuseclat79 Thread Starter

    Joined:
    Sep 12, 2003
    Messages:
    20,583
    Making your application code multicore ready (2 web pages).

    -- Tom
     
  2. sepala

    sepala

    Joined:
    May 20, 2010
    Messages:
    4,038
    Before I view the page, could you please explain what is multicore?
     
  3. Ent

    Ent Trusted Advisor

    Joined:
    Apr 11, 2009
    Messages:
    5,467
    First Name:
    Josiah
    Multicore refers to a CPU which has a number of processing "cores" doing tasks in parallel, almost as though there were 2 or more processors in the one machine. Obviously this means your program can be completed faster, but only if you write it in such a way that it can be split between the cores. Otherwise your program only executes on a single core.
     
  4. sepala

    sepala

    Joined:
    May 20, 2010
    Messages:
    4,038
    Thanks for the clearance Ent. I just got mixed up with 'cores' :D
     
  5. jiml8

    jiml8 Guest

    Joined:
    Jul 2, 2005
    Messages:
    2,634
    Color me skeptical.

    I think the difficulty of having an expert parellelize the code is overstated and I think the tool capability is probably vastly overstated.

    The subtle errors discussed in the article when mutexes and locks are introduced are all avoided, as a class of errors, through a proper discipline and approach to the synchronization process. Stick with the discipline and you won't have deadlocks or races. Period. It isn't really that hard.

    I do real-time, event-driven, asynchronous, multi-device, parallel code all the time. I make decisions about parallelization based on MANY different criteria, many of which will not appear at all in the code base, and I seriously doubt that any tool will successfully replicate that process.

    I also believe that reliance on automated tools as a substitute for knowledge is the quick path to a deficient system.
     
  6. lotuseclat79

    lotuseclat79 Thread Starter

    Joined:
    Sep 12, 2003
    Messages:
    20,583
    Hi jimI8,

    Since you parallelize code on a regular basis, of course, it's very easy to see how your reflections represent your skeptical point-of-view - a practical approach.

    The fact is that there is much research involving parallelizing code from a tools point of view - and, tools that do so, have been around since the mid 80s when large shared multiprocessors like Encore and Sequent built boards with two processors (i.e. the precursors to multicores) and the OSes were tuned to load balance and migrate processes/threads.

    My own experience is in doing a parallel runtime system for a concurrent language (Ada) for just such a multiprocessor that garnered a less than 1% locking collision rate and was nearly linear in performance increase as more processors were added to the execution mix (from 2-18). Discipline does matter, but science and experience go hand in hand in terms of developing the tools that can discern the finer points and differences that avoid synchronization problems of both omission and commission.

    No one is recommending a reliance on automated tools as a substitute for knowledge, rather the tools are being crafted to include the knowledge and decision criteria in the tools.

    -- Tom
     
  7. lotuseclat79

    lotuseclat79 Thread Starter

    Joined:
    Sep 12, 2003
    Messages:
    20,583
    Major breakthrough improves software reliability and security.

    Efficient Deterministic Multithreading through Schedule Relaxation (PDF download link: 535.4 KB).

    -- Tom
     
  8. Sponsor

As Seen On
As Seen On...

Welcome to Tech Support Guy!

Are you looking for the solution to your computer problem? Join our site today to ask your question. This site is completely free -- paid for by advertisers and donations.

If you're not already familiar with forums, watch our Welcome Guide to get started.

Join over 733,556 other people just like you!

Loading...
Thread Status:
Not open for further replies.

Short URL to this thread: https://techguy.org/1024275

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice