comp.lang.ada
 help / color / mirror / Atom feed
From: Colin Paul Gloster <Colin_Paul_Gloster@ACM.org>
Subject: Re: a multicore XMOS CPU
Date: Mon, 15 Feb 2010 12:45:25 +0000
Date: 2010-02-15T12:45:25+00:00	[thread overview]
Message-ID: <alpine.LNX.2.00.1002151237150.17315@Bluewhite64.example.net> (raw)
In-Reply-To: <39162be9-a630-420d-bcc8-11bd20427f71@h2g2000yqj.googlegroups.com>

[-- Attachment #1: Type: TEXT/PLAIN, Size: 2528 bytes --]

On Thu, 11 Feb 2010, Ludovic Brenta wrote:

|------------------------------------------------------------------------|
|"darek <darek.maksim...@gmail.com> wrote on comp.lang.ada:              |
|>   1. How to distribute  tasks between cores ? It is responsibility of |
|> the Ada run-time or the programmer shall do it explicitly (each core  |
|> up to 8 real-time threads) via pragmas (I think, extending the        |
|> language definition is not a good idea)?"                             |
|------------------------------------------------------------------------|

If you can accomplish a compiler which will automatically take up all
of the cores, then congratulations. However, it is not unreasonable
for the end users to be required to determine this scheduling. For
example, I often need to run many programs and I have many cores for
them. It often does not matter whether I run them all at onece, one
per core, or one after the other, taking up many cores each time. It
is trivial to efficiently put each on one core each.

|------------------------------------------------------------------------|
|"I'd think the easiest, as a first step would be to mimic the extended  |
|C they provide and then, maybe, provide for dynamic thread allocation   |
|from within the kernel (see below).                                     |
|                                                                        |
|>  2. Is it possible to create from publicly available source GNAT code |
|> a system that does not require any OS support (a bare metal solution)?|
|                                                                        |
|Yes, it is possible. However I think tasking support requires a kernel  |
|such as the OpenRavenscar kernel[1].                                    |
|                                                                        |
|[1] http://polaris.dit.upm.es/~ork/                                     |
|                                                                        |
|[..]"                                                                   |
|------------------------------------------------------------------------|

Beware of ORK. It had a bug in it which had been fixed in GNAT seven
years earlier. Not to mention the excessive overhead of ORK (as
opposed to RAVENSCAR) for a virtually null program taking up nearly
half of the memory you have (per core or overall, it was not clear
from the product brief what the memory was being quoted for).

  reply	other threads:[~2010-02-15 12:45 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-10 19:10 a multicore XMOS CPU darek
2010-02-11 11:45 ` Ludovic Brenta
2010-02-15 12:45   ` Colin Paul Gloster [this message]
2010-02-12 14:51 ` Lucretia
2010-02-15 12:46   ` Colin Paul Gloster
2010-02-15 13:10 ` Colin Paul Gloster
2010-02-15 13:55   ` KarlNyberg
2010-02-15 15:31     ` Colin Paul Gloster
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox