W3C home > Mailing lists > Public > public-audio@w3.org > July to September 2013

Re: Races - how bad?

From: Ehsan Akhgari <ehsan.akhgari@gmail.com>
Date: Thu, 1 Aug 2013 11:32:20 -0400
Message-ID: <CANTur_5-bH3ugcDZoKk82fmQwXjb2YFHw4JZb==NPz2fW9wKOg@mail.gmail.com>
To: Joseph Berkovitz <joe@noteflight.com>
Cc: "Robert O'Callahan" <robert@ocallahan.org>, Srikumar Karaikudi Subramanian <srikumarks@gmail.com>, Jer Noble <jer.noble@apple.com>, "public-audio@w3.org" <public-audio@w3.org>
On Thu, Aug 1, 2013 at 9:42 AM, Joseph Berkovitz <joe@noteflight.com> wrote:

>
> On Aug 1, 2013, at 8:21 AM, Robert O'Callahan <robert@ocallahan.org>
> wrote:
> > Obviously, even with those restrictions it's still necessarily
> nondeterministic when each batch of operations is applied relative to the
> progress of the audio thread. There's really no way around that; it's a
> minimum amount of nondeterminism that we just have to live with.
>
> That's exactly what I believe too -- and I'm glad you said it, because I
> wanted to call out this point clearly.
>
> Furthermore, the point at which a disconnect() takes effect has AFAICT no
> deterministic time offset in the output stream at which the node ceases to
> contribute. It's a matter of when the audio thread happens to process the
> disconnect operation.
>
> Consequently we are not, as some have claimed, comparing a
> nondeterministic approach (shared memory) with fully deterministic
> alternatives. There is a residual "zero-point nondeterminism" that remains
> after all is said and done. And this nondeterminism is manifested as
> uncertain output at the sample-frame level, not with respect to some set of
> coarse-grained atomic operations in the API on audio content.
>

As I've stated before <
http://lists.w3.org/Archives/Public/public-audio/2013JulSep/0234.html>,
there are two problems that we're dealing with here.  I don't think anybody
has argued that we're trying to build a fully deterministic API.  Almost
all of the hugely successful computing systems I can think of have inherent
non-determinism in them from the perspective of one application running on
that platform.  Reading/writing data without any synchronization from
multiple threads is a different kind of problem.

Cheers,
--
Ehsan
<http://ehsanakhgari.org/>
Received on Thursday, 1 August 2013 15:33:31 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:03:23 UTC