Coder Social home page Coder Social logo

Distributed cache about infra HOT 6 CLOSED

radicle-dev avatar radicle-dev commented on June 2, 2024
Distributed cache

from infra.

Comments (6)

kim avatar kim commented on June 2, 2024

from infra.

geigerzaehler avatar geigerzaehler commented on June 2, 2024

Yes, it is nice that the local cache is so fast and remote caches are going to be quite slow. However, the three-in-four chance of a cache miss might lead to slower build times on average compared to remote caching. I’ll gather some build time data from the registry to compare these options.

There also may be other options to increase the cache hit likelihood. Maybe we can define affinity for projects to agents. Or maybe we can asynchronously distribute the master build cache.

from infra.

kim avatar kim commented on June 2, 2024

I’ll gather some build time data

Yes please. I think that if your caches are so volatile that you end up with a lot of work on a cache miss -- even when the cache state starts from master -- something is fishy about your caching strategy.

Maybe we can define affinity for projects to agents.

Not sure. Affinity of branch builds to where they were scheduled previously might be nice, but that assumes mostly-idle agents. I don't think we can influence this anyway -- the scheduling decision is made on buildkite's servers.

Or maybe we can asynchronously distribute the master build cache.

The master build cache is agent-scoped because there is no guarantee that builds are strictly sequential. We could lift this restriction if we'd adopt a bors-style model.

from infra.

kim avatar kim commented on June 2, 2024

[the buildkite-agent binary] needs the agent token, which is a security concern

Actually, that seems less of an issue than I thought. See here for what an agent can do. One can mess with the current pipeline (which is fine), start a nested agent (which is silly), or run a job (which is also silly). Wdyt?

from infra.

geigerzaehler avatar geigerzaehler commented on June 2, 2024

[the buildkite-agent binary] needs the agent token, which is a security concern

Actually, that seems less of an issue than I thought. See here for what an agent can do. One can mess with the current pipeline (which is fine), start a nested agent (which is silly), or run a job (which is also silly). Wdyt?

Are you suggesting using buildkite artifact for caching? This is something we could investigate.

from infra.

geigerzaehler avatar geigerzaehler commented on June 2, 2024

This has been solved for the master cache volume. Because of snapshotting this also reduces the issue for branch builds.

from infra.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.