-
Notifications
You must be signed in to change notification settings - Fork 94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Is there any detailed description about config? #183
Comments
Yes. Quoting the README:
Just study the .proto files under pkg/proto/configuration to figure out what options are available. The Protobuf language guide may also be of use.
Sure. If bazel-remote works for you, be sure to just use that. Do note that you will not be able to make use of Buildbarn specific data stores, such as the File System Access Cache (FSAC). |
Thx for your kindly responce, that really helps a lot.
So, what is the advantages of using FSAC instead of continuing using bazel-remote? Replacing bazel-remote to another cache is also in our choice list, for our bazel-remote service are still in building. So we can tolerate changing our remote cache. But i did not find and information about FSAC for us to evaluate our ROI. And another question. After reading the pb and bb_deployment, I noticed that there is a demultiplexing node, it seems to be a load balancer? What is the key means of this map? I draw a picture with my own understanding, but the question is how does demultiplexing node work? I read source code and find it just simply match longest prefix, that really confused me:
I'm not sure if my understanding is right, really hope your reply. thx alot. |
The File System Access Cache is needed if you want to spin up workers using the virtual file system, and want to have parallel prefetching of input files. That can be quite advantageous for actions that are file system intensive, especially if the latency between workers and storage gets higher.
It's not a load balancer. It's a way to route requests based on
That's stated almost literally in one of the sentences above the screenshot:
Generally distributed. You can make it distributed by just using the
The URL scheme you use above is used by Bazel if you use the HTTP based protocol for caching. This protocol is generally not used by Buildbarn. We use the gRPC based protocol (which I linked above). That one allows specifying the instance name as part of each request. |
Thx for your generous responce. With your help I finnally find out how to build a bb_storage node. Now I'm trying to use the 'ShardingBlobAccessConfiguration' to build a bb_storage cluster. I plan to build a shard node and two local storage node. So I wote a config for shard node as below:
As you see, i use to grpc backend as my storage node. These two node's config are totally the same as config in README. Then I tested this cluster, but found that only few cache hit when I just build bb_storage. Detailly, if I only use one single storage node, there was 854/1118 action hit, but when I use shard cluster, only 248/1118 action hit. I read some source code, and guess it may because the actionCache cannot be distributed. Then I change the actionCache's backend as local, it works. So, my question is:
|
Did you remove completenessChecking from the individual shards? You need to remove it there, otherwise each shard only wants to return AC entries if all references CAS objects are present in that shard (which won't be the case). |
Gorgeous, it works. sry for my stupid hahaha. Do you have any plan to enrich bb_storage's doc or accept some pull request about this? I do agree bb_storage is a great repo. But honestly speaking, it's really suffered to read protobuf's comment and source code to find out how config works, especially for a non-English speaker. |
Hi,
I'm studying buildbarn and trying to build a remote exection cluster. After reading docs in this repo, i still got some question:
thx for your help
The text was updated successfully, but these errors were encountered: