The Execution System provides the execution engine for processing queries and managing the computational workflow of Superlinked applications across different execution modes. Execution environments determine how your application processes data, handles queries, and manages vector storage during development, testing, and production phases. For information about specific vector database integrations, see Vector Databases. For production deployment configuration, see Production Setup.

Execution Environment Reference

EnvironmentPrimary Use CaseData PersistencePerformanceSetup Complexity
In-MemoryDevelopment, prototyping, testingTemporaryFast for small datasetsMinimal
InteractiveJupyter notebooks, experimentationSession-basedModerateLow
REST APIProduction deploymentExternal VDBHigh, scalableHigh

Executor Components Reference

Execution Environment Architecture

Executor Class Hierarchy

Implementation Guide

Key Features

Executor components provide:
  • Multiple Execution Modes: Support for various deployment and execution patterns from development to production
  • Performance Optimization: Choose the right executor for your performance needs and scale requirements
  • Scalability: From local development to distributed production execution with horizontal scaling
  • API Integration: Built-in REST API execution capabilities for web service deployment
  • Error Handling: Robust exception management during execution with meaningful error responses
  • Context Management: Temporal data support for recency calculations and time-aware processing
Different executor types are optimized for specific execution scenarios. In-memory executors provide fast local execution for development, while REST executors enable scalable web service deployment with persistent storage.

Executor Selection Guide

Choose the right executor type for your use case:
  • In Memory Executor: Best for development, testing, and high-performance local execution with small to medium datasets
  • Interactive Executor: Ideal for experimentation, prototyping, and iterative development in Jupyter notebooks
  • Query Executor: Specialized for query-focused applications and search services
  • REST Executor: Perfect for web applications, API-based services, and production deployments requiring persistence
Start with In Memory Executor during development for fast iteration, then transition to REST Executor for production web service deployment with appropriate vector database backend.

Execution Workflow

Executors handle the complete processing pipeline:
  1. Data Ingestion: Accept data through sources (in-memory, REST endpoints, or batch loading)
  2. Schema Validation: Ensure incoming data meets defined schema requirements
  3. Space Processing: Execute vector operations and embedding generation
  4. Index Management: Store and organize vectors in appropriate storage backend
  5. Query Processing: Parse and validate incoming queries with parameter handling
  6. Vector Computation: Execute similarity calculations and retrieval operations
  7. Result Generation: Compile and format query results with ranking and filtering
  8. Response Delivery: Return results through the appropriate interface (direct, HTTP, etc.)
  9. Error Management: Handle exceptions and provide meaningful error responses

Performance Considerations

Executors optimize for:
  • Computation Speed: Efficient vector operations and similarity calculations with optimized algorithms
  • Memory Management: Optimal memory usage during query execution and data processing
  • Concurrency: Support for parallel query processing and multi-client access
  • Resource Utilization: Balanced use of CPU and memory resources across different workloads
  • Storage Efficiency: Appropriate vector database selection based on scale and performance requirements
  • Network Optimization: Efficient data transfer and API response handling for distributed deployments