kserve/modelmesh-serving

Controller for ModelMesh

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 36 minutes ago
Added to GitGenius on January 17th, 2025
Created on July 9th, 2021
Open Issues & Pull Requests: 104 (+0)
Number of forks: 137
Total Stargazers: 245 (+0)
Total Subscribers: 17 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 167.8 days
Mean response time: 224.7 days
90th percentile: 504.1 days
Tracked items: 25

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 30
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 655 days
Stale 30+ days: 30
Stale 90+ days: 30

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (13)
  • question (3)
  • dependencies (2)
  • help wanted (2)
  • documentation (1)
  • enhancement (1)
  • good first issue (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

ModelMesh Serving is a Kubernetes controller written in Go that manages ModelMesh, a general-purpose model serving management and routing layer. The repository has been archived with users directed to the main KServe repository for ongoing development. The project functions as a central orchestration point for deploying and managing machine learning models at scale across Kubernetes clusters.

The architecture comprises several interconnected components distributed across multiple repositories. The core consists of the ModelMesh Serving controller itself, which this repository contains, and the ModelMesh containers that handle model placement orchestration and request routing. The modelmesh-runtime-adapter serves as an intermediary layer, running in model serving pods to bridge ModelMesh with third-party model servers. This adapter also incorporates puller logic responsible for retrieving models from storage and managing their lifecycle through load and unload operations.

ModelMesh Serving provides out-of-the-box integration with multiple established model serving runtimes including Nvidia's Triton Inference Server, Seldon's MLServer, OpenVINO Model Server, and TorchServe. The system supports extensibility through custom ServingRuntime resources, allowing operators to integrate additional model servers beyond the default offerings. A KServe V2 REST Proxy component translates RESTful HTTP APIs into gRPC, enabling inference requests using the KServe V2 REST Predict Protocol to reach models that only support the V2 gRPC Predict Protocol.

The project relies on helper libraries including kv-utils for key-value store operations abstracted over etcd and Zookeeper, and litelinks-core, an RPC and service discovery library based on Apache Thrift used for internal ModelMesh communications. Issues across all components are tracked centrally in this repository despite the distributed nature of the codebase.

The project is classified across multiple domains reflecting its comprehensive scope: model management, deployment, scalability, Kubernetes orchestration, inference serving, microservices architecture, MLOps workflows, and API gateway functionality. This classification underscores ModelMesh Serving's role as a sophisticated platform for managing machine learning model deployment and serving at enterprise scale within containerized environments.