Skip to content

Commit 9c9abd5

Browse files
authored
Tidy up Data Layer documentation (#1087)
- Explicitly include change to scraping mode as non-goal (feedback on #1023) - Spelling errors Signed-off-by: Etai Lev Ran <[email protected]>
1 parent b20b999 commit 9c9abd5

File tree

1 file changed

+8
-6
lines changed
  • docs/proposals/1023-data-layer-architecture

1 file changed

+8
-6
lines changed

docs/proposals/1023-data-layer-architecture/README.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Author(s): @elevran @nirrozenbaum
1010

1111
The EPP Architecture proposal identifies the need for an extensible
1212
[Data Layer](../0683-epp-architecture-proposal/README.md#data-layer).
13-
Recently, the scheduling subsystem underwent a major [architecure change](../0845-scheduler-architecture-proposal/README.md)
13+
Recently, the scheduling subsystem underwent a major [architecture change](../0845-scheduler-architecture-proposal/README.md)
1414
to allow easier extension and pluggability. This proposal aims to apply
1515
similar extensibility to the Data Layer subsystem, allowing custom inference
1616
gateways to extend the Gateway API Inference extension (GIE) for their use
@@ -20,7 +20,7 @@ See [this document](https://docs.google.com/document/d/1eCCuyB_VW08ik_jqPC1__z6F
2020

2121
## Goals
2222

23-
The Data Layer pluggability effort aims to address the folllowing goals and
23+
The Data Layer pluggability effort aims to address the following goals and
2424
requirements:
2525

2626
- Make endpoint attributes used by GIE components accessible via well defined
@@ -56,6 +56,8 @@ The Data Layer pluggability effort aims to address the folllowing goals and
5656
- Inference scheduler Plugins, that rely on custom data collection, accept that
5757
the [Model Server Protocol](../003-model-server-protocol/README.md) no longer
5858
provides guarantees on portability of a model server out of the box.
59+
- Intent is *not* to introduce a new scraping mechanism, and continue to support
60+
the current model of Go-routine per endpoint.
5961

6062
## Proposal
6163

@@ -72,7 +74,7 @@ There are two existing Data Sources in the Data Layer: a Pod reconciler that
7274
The proposal is to make the Data Layer more extensible approaching by introducing
7375
these two interfaces:
7476

75-
- An **Attribute Collection** plugin interface responsible for extratcing relevant
77+
- An **Attribute Collection** plugin interface responsible for extracting relevant
7678
attributes from a data source and storing them into the Data Layer for consumption
7779
by other components. The plugin can be registered with existing or new
7880
*Data Sources* (see below) and sources would call their registered plugins
@@ -97,7 +99,7 @@ In order to make iterative progress and validate the design alongside, we
9799
1. Refactor the metrics scraping code into separate Data Source and Data Collection
98100
plugin interfaces.
99101
1. Following that, and based on any lessons learnt, we’ll refactor the existing
100-
Kubernetes Pod recocilation loop to the new plugin interfaces.
102+
Kubernetes Pod reconciliation loop to the new plugin interfaces.
101103

102104
### Suggested Data Layer Plugin Interfaces
103105

@@ -163,9 +165,9 @@ type DataSource interface {
163165

164166
## Open Questions
165167

166-
1. Type safety in extensible data colletion: `map[string]interface{}` seems
168+
1. Type safety in extensible data collection: `map[string]interface{}` seems
167169
like the simplest option to start, but may want to evolve to support
168-
type safety using generics or codegen.
170+
type safety using generics or code generation.
169171
1. Should we design a separate interface specifically for k8s object watching
170172
under GIE control or do we want these to be managed as yet another data source?
171173
This affects the design (e.g., who owns the k8s caches, clients, etc.).

0 commit comments

Comments
 (0)