python / python/cpython

Tachyon Oracle

Open
#153,804 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

stdlib topic-profiling type-feature
Dominant language
Python
Stars
77.2k
Forks
35.9k
PR merge metrics
PR metrics pending

Description

Feature or enhancement

Proposal:

The big question is: how we can ensure that Tachyon is trustworthy?

In particular: the profiler reports some frames, effectively: some distribution of gathered samples. How do we know if they actually match reality? How well do they match reality?

Do we even report the distribution of samples that's similar to how the actual app behaves? Do we report impossible frames?

These are not theoretical questions, as demonstrated by #151426, #151613 or #151022.

Especially in the non-blocking mode we don't have fully atomic reads. If we use too many remote calls, traverse the frames, coro or task-waiters in an inefficient way, or invalidate the cache incorrectly - there's a room for introducing the noise (bias? drift? whatever the name).

Unfortunately, the CI is not the right tool for the job, given that we should avoid flaky tests at all costs and the statistical nature of Tachyon means that we cannot aim for 100% perfection. Even in the blocking mode, we simply cannot guarantee that we block the target ideally.

With the pipeline of changes happening the Tachyon, I think we should introduce some "harness" for this purpose.

This was discussed offline with @pablogsal

Has this already been discussed elsewhere?

No response given

Links to previous discussion of this feature:

No response

Linked PRs
  • gh-153806

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the Tachyon context in issues #151426, #151613, and #151022, then inspect linked work gh-153806. The proposal does not name files, tests, or an entry point; done would mean defining a harness that assesses whether reported sample distributions and frames match observed application behavior, including non-blocking-mode noise.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
devtools, observability, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.