On Mon, Oct 30, 2023 at 7:39 PM Mike Taylor <miketa...@chromium.org> wrote:
> On 10/30/23 12:59 PM, Corentin Wallez wrote: > > On Fri, Oct 27, 2023 at 2:19 AM Domenic Denicola <dome...@chromium.org> > wrote: > >> >> >> On Thu, Oct 26, 2023 at 7:21 PM François Beaufort <fbeauf...@google.com> >> wrote: >> >>> >>> >>> On Thu, Oct 26, 2023 at 11:05 AM Domenic Denicola <dome...@chromium.org> >>> wrote: >>> >>>> >>>> >>>> On Thu, Oct 26, 2023 at 5:21 PM 'François Beaufort' via blink-dev < >>>> blink-dev@chromium.org> wrote: >>>> >>>>> Contact emails >>>>> >>>>> fbeauf...@google.com, cwal...@google.com >>>>> >>>>> Explainer >>>>> >>>>> https://github.com/gpuweb/gpuweb/issues/614 >>>>> >>>>> Specification >>>>> >>>>> https://gpuweb.github.io/gpuweb/#timestamp >>>>> >>>>> Summary >>>>> >>>>> WebGPU timestamp queries allow WebGPU applications to measure >>>>> precisely (down to the nanosecond) how much time their GPU commands take >>>>> to >>>>> execute, especially at the beginning and end of passes. Timestamp queries >>>>> are heavily used to gain insights into the performance and behavior of GPU >>>>> workloads. >>>>> >>>>> While the WebGPU specification makes timestamp queries an optional >>>>> feature due to timing attack concerns, we believe that timestamp queries >>>>> quantization provides a good middle ground by reducing the precision of >>>>> timers. To offer even more advanced protection against timing attacks and >>>>> fingerprinting, timestamp queries are also coarsened based on site >>>>> isolation status: >>>>> >>>>> - Isolated contexts: timestamp queries are exposed with a resolution >>>>> of 100 microseconds. >>>>> >>>>> - Non-isolated contexts: timestamp queries are not exposed at all. >>>>> >>>> >>>> By "isolated" do you mean "has the cross-origin isolated capability >>>> <https://html.spec.whatwg.org/#concept-settings-object-cross-origin-isolated-capability> >>>> "? >>>> >>> >>> Yes. >>> >>> >>>> >>>> I wasn't able to find any spec or tests for this requirement, which >>>> seems like a potential interoperability issue. >>>> >>> >>> The WebGPU spec currently says: "The feature is optional, and a WebGPU >>> implementation may limit its exposure only to those scenarios that are >>> trusted." >>> See >>> https://gpuweb.github.io/gpuweb/#security-timing:~:text=The%20feature%20is%20optional%2C%20and%20a%20WebGPU%20implementation%20may%20limit%20its%20exposure%20only%20to%20those%20scenarios%20that%20are%20trusted >>> >> >> I realize that. I was suggesting that, for interoperability purposes, you >> should consider specifying the actual condition, instead of leaving it >> vague and optional. (E.g. at least in other standards bodies, we have >> guidance to avoid optional or implementation-defined features; instead, we >> try to work together with other browser engines to come to a common, >> interoperable implementation, backed by a test suite.) >> >> I hope the API Owners can consider this when deciding whether or not to >> approve, as I believe that letting these sorts of non-specified and >> non-tested features be shipped is harmful for the platform's health. >> >> > I'll add discussion of that to the agenda for this week's WebGPU meeting: > can we agree on the availability of timestamp queries (provided there is > hardware support) and the quantization depending on contexts. (but to be > perfectly honest I think we'll have pushback). Of course the WebGPU > standard body tries to avoid implementation-defined features, and instead > have deterministic and tested features, but timestamps is one of the ones > that might need to be an exception to it. Let's see what consensus the > group comes to! > > > Thank you - looking forward to the update. > Good news! The members of the GPU for the Web Community Group have accepted a proposal <https://github.com/gpuweb/gpuweb/issues/4175#issuecomment-1789865938> to allow timestamps regardless of site isolation, always with the non-isolated resolution from hr-time <https://w3c.github.io/hr-time/#dfn-coarsen-time> (100us). Check out the spec PR at https://github.com/gpuweb/gpuweb/pull/4359 and updated spec at https://gpuweb.github.io/gpuweb/#security-timing. This decision aims to address the interoperability concerns raised earlier. -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAPpwU5LGiBzsfgLwvH5DDWXqU9Wh3B4vsgDcCgSUSe98PFHDxw%40mail.gmail.com.