From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_00,FROM_WORDY autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,cd86d70d109cd9b1 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit From: "Chip Orange" Newsgroups: comp.lang.ada References: Subject: Re: multicore-multithreading benchmarks Date: Tue, 26 Dec 2006 16:58:22 -0500 Organization: FPSC X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.3028 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3028 NNTP-Posting-Host: 207.156.28.7 Message-ID: <459192a7$1@news.hcs.net> X-Trace: news.hcs.net 1167168167 207.156.28.7 (26 Dec 2006 16:22:47 -0500) Path: g2news2.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!elnk-atl-nf1!newsfeed.earthlink.net!bigfeed2.bellsouth.net!news.bellsouth.net!news.hcs.net!not-for-mail Xref: g2news2.google.com comp.lang.ada:8020 Date: 2006-12-26T16:58:22-05:00 List-Id: wrote in message news:itydnQzMmL9XTBHYnZ2dnUVZ_r-onZ2d@comcast.com... > >We can note that with N= 10000, 8 CPUs are often slightly slower in >>Nyberg's; Alexander's; and my measurements (below) than 7 so-called >>"CPUs", though this is not nearly as dramatic as the erratic timings > The timings are short and thus highly subject to other things going on. > Trysortn already does four runs and returns the average, but, especially > when the "noise" is bursty, the result is still very erratic. The N=1000 > case should probably be dropped since it's too fast for good timings, and > too small for a multitasking advantage. Even N=10_000 is pretty small. > It would be interesting though to see the results for N=10**7 since that > ought to show some cache contention under multi-tasking. > Thanks for posting the timings on your 4 core machine. They seem > broadly in agreement on the value of additional CPUs/cores. Hi Tom, I'm just beginning to learn Ada, but one of the attributes that drew me to it was the chance to learn a new paradigm of programming: that is, dividing a programming goal into tasks that can be performed concurrently in order to achieve much higher efficiencies. I appreciate TrySortn very much as a learning aid, but I'm wondering how a programmer should go about determining the number of cores dynamicly in order to make the best guess as to how many tasks to break his problem into? Is there a standard Ada library that would give some system info on the number of cores, and/or, perhaps some info on how heavily loaded the system is (perhaps if it's already heavily loaded you wouldn't necessarily want to try to set a task going to each core?). Thanks for any suggestions. Chip