RE: Process Control Extensions - kill/reset/throw scheduling, exception handling

From: Bishnupriya Bhattacharya <bpriya@cadence.com>
Date: Thu Sep 02 2010 - 01:33:07 PDT

Jerome,

I did not imply any corrletaion between non-determinism and non-reproducibility. As you mention, it is absolutely critical in a multi-core simulator as in a single-core simulator to have reproducible behavior from one run to another. Yes, it is trickier in multi-core of course, but is required. Identifying what needs to be made MT-safe in SystemC is only one part of the problem, much more is certainly necessary.

Thanks,
-Bishnupriya

-----Original Message-----
From: Jerome CORNET [mailto:jerome.cornet@st.com]
Sent: Thursday, September 02, 2010 1:53 PM
To: Bishnupriya Bhattacharya
Cc: Philipp A. Hartmann; john.aynsley@doulos.com; Jeremiassen, Tor; Stuart Swan; owner-systemc-p1666-technical@eda.org; SystemC P1666 Technical
Subject: Re: Process Control Extensions - kill/reset/throw scheduling, exception handling

  On 9/1/2010 7:13 PM, Bishnupriya Bhattacharya wrote:
> When defining a multi-core solution for SystemC, a key exercise will be to identify the constructs that need to be made MT-safe by putting them in critical sections, e.g. immediate event notification. The process control constructs with immediate semantics will likely fall in that category also. Designs with such "races" are non-deterministic on multi-cores, but so are they on single-cores, since the process execution order is already allowed to be non-deterministic.
Let's do not mix non-determinism with non-reproducibility. A key element of SystemC is the fact that, while the order of execution of processes is non-deterministic (which is desirable), it can however be reproduced from one simulation run to the other. This is far more tricky in multi-core implementations.

I am more than convinced that allowing multi-core implementations for SystemC does not only relies on a couple of "MT-Safe" defined constructs. As John said, the changes are more fundamental... either to the language's definition (with the risk of lifting the entire threading
model) or to the way simulators are implemented (by unlocking well-known issues toward getting a multi-core implementation with constant semantics up and running, which is desirable but non-trivial).

Jerome

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Thu Sep 2 01:33:44 2010

This archive was generated by hypermail 2.1.8 : Thu Sep 02 2010 - 01:33:44 PDT