Skip to content

Commit b1a572b

Browse files
committed
addressed review comments and fixed imports ordering across the codebase
Signed-off-by: Maroon Ayoub <[email protected]>
1 parent 98e788b commit b1a572b

File tree

12 files changed

+40
-39
lines changed

12 files changed

+40
-39
lines changed

examples/kv-cache-aware-scorer/kvcache-aware-scorer.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import (
2323
"fmt"
2424
"os"
2525

26-
kvcache "github.com/llm-d/llm-d-kv-cache-manager/pkg/kv-cache"
26+
"github.com/llm-d/llm-d-kv-cache-manager/pkg/kvcache"
2727

2828
"sigs.k8s.io/controller-runtime/pkg/log"
2929
"sigs.k8s.io/gateway-api-inference-extension/pkg/epp/scheduling/plugins"

examples/kv-cache-index/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import (
2121
"os"
2222
"time"
2323

24-
kvcache "github.com/llm-d/llm-d-kv-cache-manager/pkg/kv-cache"
24+
"github.com/llm-d/llm-d-kv-cache-manager/pkg/kvcache"
2525

2626
"k8s.io/klog/v2"
2727
)

pkg/kv-cache/indexer.go renamed to pkg/kvcache/indexer.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ import (
2020
"context"
2121
"fmt"
2222

23-
kvblock "github.com/llm-d/llm-d-kv-cache-manager/pkg/kv-cache/kv-block"
24-
"github.com/llm-d/llm-d-kv-cache-manager/pkg/tokenization"
25-
"github.com/llm-d/llm-d-kv-cache-manager/pkg/tokenization/prefixstore"
2623
"k8s.io/apimachinery/pkg/util/sets"
27-
2824
"k8s.io/klog/v2"
25+
26+
"github.com/llm-d/llm-d-kv-cache-manager/pkg/kvcache/kvblock"
27+
"github.com/llm-d/llm-d-kv-cache-manager/pkg/tokenization"
28+
"github.com/llm-d/llm-d-kv-cache-manager/pkg/tokenization/prefixstore"
2929
)
3030

3131
// Config holds the configuration for the Indexer module.

pkg/kv-cache/kvblock-scorer.go renamed to pkg/kvcache/kvblock-scorer.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ package kvcache
1919
import (
2020
"fmt"
2121

22-
kvblock "github.com/llm-d/llm-d-kv-cache-manager/pkg/kv-cache/kv-block"
23-
2422
"k8s.io/apimachinery/pkg/util/sets"
23+
24+
"github.com/llm-d/llm-d-kv-cache-manager/pkg/kvcache/kvblock"
2525
)
2626

2727
// KVScoringStrategy defines the strategy used to score pods for KV cache block reuse.

pkg/kv-cache/kvblock-scorer_test.go renamed to pkg/kvcache/kvblock-scorer_test.go

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,25 +19,30 @@ package kvcache_test
1919
import (
2020
"testing"
2121

22-
kvblock "github.com/llm-d/llm-d-kv-cache-manager/pkg/kv-cache/kv-block"
23-
24-
kvcache "github.com/llm-d/llm-d-kv-cache-manager/pkg/kv-cache"
22+
"github.com/llm-d/llm-d-kv-cache-manager/pkg/kvcache"
23+
"github.com/llm-d/llm-d-kv-cache-manager/pkg/kvcache/kvblock"
2524

2625
"github.com/stretchr/testify/assert"
2726
)
2827

28+
const (
29+
testModelName = "test-model"
30+
podA = "pod-a"
31+
podB = "pod-b"
32+
)
33+
2934
// TestLongestPrefixScorer verifies scoring based on consecutive block hits from the start.
3035
func TestLongestPrefixScorer(t *testing.T) {
3136
scorer := &kvcache.LongestPrefixScorer{}
3237
blockKeys := stringKeysToKVBlockKeys([]string{"b1", "b2", "b3", "b4", "b5", "b6"})
3338

3439
hitmap := map[kvblock.Key][]string{
35-
{ModelName: "test-model", ChunkHash: "b1"}: {"pod-a"},
36-
{ModelName: "test-model", ChunkHash: "b2"}: {"pod-a"},
37-
{ModelName: "test-model", ChunkHash: "b3"}: {"pod-a"},
38-
{ModelName: "test-model", ChunkHash: "b4"}: {"pod-b"},
39-
{ModelName: "test-model", ChunkHash: "b5"}: {"pod-b"},
40-
{ModelName: "test-model", ChunkHash: "b6"}: {"pod-a"},
40+
{ModelName: testModelName, ChunkHash: "b1"}: {podA},
41+
{ModelName: testModelName, ChunkHash: "b2"}: {podA},
42+
{ModelName: testModelName, ChunkHash: "b3"}: {podA},
43+
{ModelName: testModelName, ChunkHash: "b4"}: {podB},
44+
{ModelName: testModelName, ChunkHash: "b5"}: {podB},
45+
{ModelName: testModelName, ChunkHash: "b6"}: {podA},
4146
}
4247

4348
expected := map[string]int{
@@ -56,7 +61,7 @@ func stringKeysToKVBlockKeys(keys []string) []kvblock.Key {
5661
kvKeys := make([]kvblock.Key, len(keys))
5762
for i, key := range keys {
5863
kvKeys[i] = kvblock.Key{
59-
ModelName: "test-model",
64+
ModelName: testModelName,
6065
ChunkHash: key,
6166
}
6267
}

pkg/kv-cache/kv-block/in-memory.go renamed to pkg/kvcache/kvblock/in-memory.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ import (
3030

3131
const (
3232
defaultInMemoryIndexSize = 1e8 // TODO: change to memory-size based configuration
33-
defaultPodCacheSize = 10 // number of pods per key
33+
defaultPodsPerKey = 10 // number of pods per key
3434
)
3535

3636
// InMemoryIndexConfig holds the configuration for the InMemoryIndex.
@@ -45,7 +45,7 @@ type InMemoryIndexConfig struct {
4545
func DefaultInMemoryIndexConfig() *InMemoryIndexConfig {
4646
return &InMemoryIndexConfig{
4747
Size: defaultInMemoryIndexSize,
48-
PodCacheSize: defaultPodCacheSize,
48+
PodCacheSize: defaultPodsPerKey,
4949
}
5050
}
5151

@@ -107,7 +107,7 @@ func (m *InMemoryIndex) Lookup(ctx context.Context, keys []Key,
107107
for idx, key := range keys {
108108
if pods, found := m.data.Get(key); found { //nolint:nestif // TODO: can this be optimized?
109109
if pods == nil || pods.cache.Len() == 0 {
110-
traceLogger.Info("no pods found for key, cutting search", "key", key.String())
110+
traceLogger.Info("no pods found for key, cutting search", "key", key)
111111
return keys[:idx], podsPerKey, nil // early stop since prefix-chain breaks here
112112
}
113113

@@ -128,7 +128,7 @@ func (m *InMemoryIndex) Lookup(ctx context.Context, keys []Key,
128128
}
129129
}
130130
} else {
131-
traceLogger.Info("key not found in index", "key", key.String())
131+
traceLogger.Info("key not found in index", "key", key)
132132
}
133133
}
134134

@@ -166,7 +166,7 @@ func (m *InMemoryIndex) Add(ctx context.Context, keys []Key, entries []PodEntry)
166166
m.data.Add(key, podCache) // TODO: conflicts here can lead to lost updates, fix locking
167167
}
168168

169-
traceLogger.Info("added pods to key", "key", key.String(), "pods", entries)
169+
traceLogger.Info("added pods to key", "key", key, "pods", entries)
170170
}
171171

172172
return nil
@@ -182,19 +182,19 @@ func (m *InMemoryIndex) Evict(ctx context.Context, key Key, entries []PodEntry)
182182

183183
podCache, found := m.data.Get(key)
184184
if !found || podCache == nil {
185-
traceLogger.Info("key not found in index, nothing to evict", "key", key.String())
185+
traceLogger.Info("key not found in index, nothing to evict", "key", key)
186186
return nil
187187
}
188188

189189
for _, entry := range entries {
190190
podCache.cache.Remove(entry) // TODO: can this be batched to avoid multiple locks?
191191
}
192192

193-
traceLogger.Info("evicted pods from key", "key", key.String(), "pods", entries)
193+
traceLogger.Info("evicted pods from key", "key", key, "pods", entries)
194194

195195
if podCache.cache.Len() == 0 {
196196
m.data.Remove(key)
197-
traceLogger.Info("evicted key from index as no pods remain", "key", key.String())
197+
traceLogger.Info("evicted key from index as no pods remain", "key", key)
198198
}
199199

200200
return nil
File renamed without changes.

pkg/kv-cache/kv-block/redis.go renamed to pkg/kvcache/kvblock/redis.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ func (r *RedisIndex) Lookup(ctx context.Context, keys []Key,
127127
}
128128

129129
if len(filteredPods) == 0 {
130-
logger.Info("no pods found for key, cutting search", "key", key.String())
130+
logger.Info("no pods found for key, cutting search", "key", key)
131131
return keys[:idx], podsPerKey, nil // early stop since prefix-chain breaks here
132132
}
133133

pkg/kv-cache/token-processor.go renamed to pkg/kvcache/token-processor.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,10 @@ import (
2323
"encoding/binary"
2424
"encoding/hex"
2525

26-
kvblock "github.com/llm-d/llm-d-kv-cache-manager/pkg/kv-cache/kv-block"
26+
"github.com/llm-d/llm-d-kv-cache-manager/pkg/kvcache/kvblock"
27+
"github.com/llm-d/llm-d-kv-cache-manager/pkg/utils"
2728

2829
"k8s.io/klog/v2"
29-
30-
"github.com/llm-d/llm-d-kv-cache-manager/pkg/utils"
3130
)
3231

3332
const defaultChunkSize = 256

pkg/tokenization/pool.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,10 @@ import (
2121
"fmt"
2222
"sync"
2323

24-
"github.com/llm-d/llm-d-kv-cache-manager/pkg/tokenization/prefixstore"
25-
24+
"k8s.io/client-go/util/workqueue"
2625
"k8s.io/klog/v2"
2726

28-
"k8s.io/client-go/util/workqueue"
27+
"github.com/llm-d/llm-d-kv-cache-manager/pkg/tokenization/prefixstore"
2928
)
3029

3130
const defaultWorkers = 5

0 commit comments

Comments
 (0)