Skip to content

Commit 860d5de

Browse files
committed
Productization of the simple dependency manager
Signed-off-by: Liran Funaro <liran.funaro@gmail.com>
1 parent 3ef17cc commit 860d5de

18 files changed

Lines changed: 467 additions & 241 deletions

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ archbin
1717
# Output of the go coverage tool, specifically when used with LiteIDE
1818
*.out
1919

20+
# Profile output.
21+
*.prof
22+
2023
# Output of the build and experiment runs
2124
out/
2225

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ bench-loadgen: FORCE
151151

152152
# Run dependency detector benchmarks with added op/sec column.
153153
bench-dep: FORCE
154-
$(go_cmd) test ./service/coordinator/dependencygraph/... -bench "BenchmarkDependencyGraph.*" -run="^$$" | awk -f scripts/bench-tx-per-sec.awk
154+
$(go_cmd) test ./service/coordinator/dependencygraph/... -timeout 60m -bench "BenchmarkDependencyGraph.*" -run="^$$" | awk -f scripts/bench-tx-per-sec.awk
155155

156156
# Run dependency detector benchmarks with added op/sec column.
157157
bench-preparer: FORCE

cmd/config/app_config_test.go

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,8 @@ func TestReadConfigCoordinator(t *testing.T) {
118118
Server: makeServer("localhost", 9001),
119119
Monitoring: makeMonitoring("localhost", 2119),
120120
DependencyGraphConfig: &coordinator.DependencyGraphConfig{
121-
NumOfLocalDepConstructors: 1,
122-
WaitingTxsLimit: 100_000,
123-
NumOfWorkersForGlobalDepManager: 1,
121+
NumOfLocalDepConstructors: 1,
122+
WaitingTxsLimit: 100_000,
124123
},
125124
ChannelBufferSizePerGoroutine: 10,
126125
},
@@ -137,9 +136,8 @@ func TestReadConfigCoordinator(t *testing.T) {
137136
Endpoints: []*connection.Endpoint{makeEndpoint("validator-persister", 6001)},
138137
},
139138
DependencyGraphConfig: &coordinator.DependencyGraphConfig{
140-
NumOfLocalDepConstructors: 1,
141-
WaitingTxsLimit: 10_000,
142-
NumOfWorkersForGlobalDepManager: 1,
139+
NumOfLocalDepConstructors: 1,
140+
WaitingTxsLimit: 100_000,
143141
},
144142
ChannelBufferSizePerGoroutine: 10,
145143
},

cmd/config/samples/coordinator.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ validator-committer:
1717

1818
dependency-graph:
1919
num-of-local-dep-constructors: 1
20-
waiting-txs-limit: 10_000
21-
num-of-workers-for-global-dep-manager: 1
20+
waiting-txs-limit: 100_000
2221
per-channel-buffer-size-per-goroutine: 10
2322

2423
logging:

cmd/config/templates/coordinator.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@ validator-committer:
2121

2222
dependency-graph:
2323
num-of-local-dep-constructors: 1
24-
waiting-txs-limit: 10_000
25-
num-of-workers-for-global-dep-manager: 1
24+
waiting-txs-limit: 100_000
2625
# Add monitoring configuration here if applicable
2726
per-channel-buffer-size-per-goroutine: 10
2827

cmd/config/viper.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ func NewViperWithCoordinatorDefaults() *viper.Viper {
2020
v := NewViperWithServiceDefault(9001, 2119)
2121
v.SetDefault("dependency-graph.num-of-local-dep-constructors", 1)
2222
v.SetDefault("dependency-graph.waiting-txs-limit", 100_000)
23-
v.SetDefault("dependency-graph.num-of-workers-for-global-dep-manager", 1)
2423
v.SetDefault("per-channel-buffer-size-per-goroutine", 10)
2524
return v
2625
}

loadgen/client_test.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -150,9 +150,8 @@ func TestLoadGenForCoordinator(t *testing.T) {
150150
VerifierConfig: *test.ServerToClientConfig(sigVerServer.Configs...),
151151
ValidatorCommitterConfig: *test.ServerToClientConfig(vcServer.Configs...),
152152
DependencyGraphConfig: &coordinator.DependencyGraphConfig{
153-
NumOfLocalDepConstructors: 1,
154-
WaitingTxsLimit: 10_000,
155-
NumOfWorkersForGlobalDepManager: 1,
153+
NumOfLocalDepConstructors: 1,
154+
WaitingTxsLimit: 100_000,
156155
},
157156
ChannelBufferSizePerGoroutine: 10,
158157
}

service/coordinator/config.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@ type (
2424

2525
// DependencyGraphConfig is the configuration for dependency graph manager. It contains resource limits.
2626
DependencyGraphConfig struct {
27-
NumOfLocalDepConstructors int `mapstructure:"num-of-local-dep-constructors"`
28-
WaitingTxsLimit int `mapstructure:"waiting-txs-limit"`
29-
NumOfWorkersForGlobalDepManager int `mapstructure:"num-of-workers-for-global-dep-manager"`
27+
NumOfLocalDepConstructors int `mapstructure:"num-of-local-dep-constructors"`
28+
WaitingTxsLimit int `mapstructure:"waiting-txs-limit"`
3029
}
3130
)

service/coordinator/coordinator.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ func NewCoordinatorService(c *Config) *Service {
131131
metrics := newPerformanceMetrics()
132132

133133
depMgr := dependencygraph.NewManager(
134-
&dependencygraph.Config{
134+
&dependencygraph.Parameters{
135135
IncomingTxs: queues.coordinatorToDepGraphTxs,
136136
OutgoingDepFreeTxsNode: queues.depGraphToSigVerifierFreeTxs,
137137
IncomingValidatedTxsNode: queues.vcServiceToDepGraphValidatedTxs,

service/coordinator/coordinator_test.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,8 @@ func newCoordinatorTestEnv(t *testing.T, tConfig *testConfig) *coordinatorTestEn
7575
VerifierConfig: *test.ServerToClientConfig(svServers.Configs...),
7676
ValidatorCommitterConfig: *test.ServerToClientConfig(vcServerConfigs...),
7777
DependencyGraphConfig: &DependencyGraphConfig{
78-
NumOfLocalDepConstructors: 3,
79-
WaitingTxsLimit: 10,
80-
NumOfWorkersForGlobalDepManager: 3,
78+
NumOfLocalDepConstructors: 3,
79+
WaitingTxsLimit: 10,
8180
},
8281
ChannelBufferSizePerGoroutine: 2000,
8382
Monitoring: monitoring.Config{

0 commit comments

Comments
 (0)