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.3 required=5.0 tests=BAYES_00,FREEMAIL_FROM, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 103376,292c095d622af1d0 X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Received: by 10.68.192.66 with SMTP id he2mr1731654pbc.6.1336376220818; Mon, 07 May 2012 00:37:00 -0700 (PDT) MIME-Version: 1.0 Path: pr3ni13590pbb.0!nntp.google.com!news2.google.com!news3.google.com!proxad.net!feeder1-2.proxad.net!usenet-fr.net!gegeweb.org!aioe.org!.POSTED!not-for-mail From: anon@att.net Newsgroups: comp.lang.ada Subject: Re: basic question on Ada tasks and running on different cores Date: Mon, 7 May 2012 07:36:57 +0000 (UTC) Organization: Aioe.org NNTP Server Message-ID: References: Reply-To: anon@anon.org NNTP-Posting-Host: u1z33dpOfpD3d12pXn50rw.user.speranza.aioe.org X-Complaints-To: abuse@aioe.org X-Notice: Filtered by postfilter v. 0.8.2 X-Newsreader: IBM NewsReader/2 2.0 Date: 2012-05-07T07:36:57+00:00 List-Id: At the movement anyone uses the keywords, "threads", "tasks" or "multiple cores" what they are asking for is parallelism system. And at this time no standard language come setup for doing parallel. You have to modify a number of compiler sub-systems as well as rewrite the run-time-libraries and this includes GCC. The main problem now is that most to all open source parallel compilers have disappear off the net since Intel introduce the Pentium D and Core 2. An the Ada's run-time-libraries is still concurrent. Ada 2012, does have some intro into CPU control, but when will those features be developed and allow Ada's run-time-libraries to be converted to parallel is any one guess. History of parallel Ada. Back in the 1980s and early 1990s there was the transputers using Ada which allowed some parallel coding. To use parallel one or more multiple transputers daughter boards had to be added to the system design. In this design, the PC system housed the compiler and transputer program loader. The while the Ada code was running the PC handled all hardware I/O required for the Ada program. Then in the the early 1990s when dual and quad processor motherboards were developed, all most every language except Ada had a parallel version. The ARG with the DoD had not fully developed the concept for Ada being parallel. Even though, back in the mid 1990 there was a compiler patch and "back end" replacement for GNAT that did allow some parallel but due to Adacore's design style of GNAT, the parallel system was not fully parallel. In , "Nasser M. Abbasi" writes: > >Assume I am using a PC with say 1,000 cores (may be >in few short years). > >If I use Ada, and create many, many tasks, will these >tasks automatically be scheduled to run on as many >different cores as possible so to spread the load and >achieve the most parallelism possible? > >Is this something that is controlled by Ada run-time >automatically, or is it the OS that that is in charge here >with which task (i.e. thread) runs on which core? > >Will the programmer have to do anything other than just >creating the tasks (and ofcourse protect any critical >section as needed), but not worry about the mapping >of tasks to cores and all the other scheduling issues. > >Sorry for such a basic question, but I have not looked >at this for long time. > >thanks, >--Nasser