Skip to content
This repository has been archived by the owner on Mar 31, 2023. It is now read-only.

Alcor v0.19-alpha

Pre-release
Pre-release
Compare
Choose a tag to compare
@xieus xieus released this 04 Oct 16:20
· 52 commits to master since this release
016b3e9

Release Summary

This release focuses solely on performance and scalability improvement on agent, controller and agent-controller communication.

Some highlight of the v0.19-alpha release:

  • Deliver ACA ovs-driver v2.0 with 100-1000x latency and scalability improvement to support one-million ports per VPC.
  • Reduce latency of new on-demand workflows by 70% with various optimizations on messaging and multi-threading modes.
  • Improve port api throughout by 60% and achieve up to 16x throughout gain compared to Neutron at performance tipping point.
  • Deliver routing policy feature and complete e2e integration.
  • Onboard Alcor distributed tracing framework enabled by Jaeger/Opentracing for fine-grain performance profiling.
  • Introduce daily Jenkins jobs to automate build, deployment and e2e testing (for Alcor and OVS data plane).
  • Stabilize code and fix 10+ functionality bugs & 20+ performance bugs.

Features Added

New Features Development

  • Alcor Control Agent ovs-driver v2.0 Design & Development
    • New diver communication layer to enhance openflow connection/flow control performance (Agent PRs #261)
    • Host ip lookup optimization (Agent PR #258)
    • Batching and parallel resource state processing for one million OVS flows (Agent PR #264)
  • Alcor routing policy and feature E2E integration
    • Route Manager supports routing rule update (Controller PR #624 )
    • Data Plane Manager supports routing rule update (Controller PR #664)
    • Alcor Control Agent supports OVS programming of routing rules (Agent PRs #244, #247, #254, #257)
    • API GW onboards Nova-compatible route APIs (Controller PRs #676, #677)
    • Alcor Python client and Rally plugin to supports new API perf test (Client PR #1, Alcor Rally PR #1)
  • Alcor distributed tracing framework
    • Enable Jaeger/OpenTracing for Alcor controller (Controller PRs #651, #678)

Alcor Performance & Scalability

  • Performance/Scalability report and plan
    • gRPC performance analysis and channel optimization for Alcor on-demand workflow (Perf PR #7)
    • ACA v2.0 ovs driver refactoring perf report (Perf PR #8)
    • ACA goal state processing report for massive L2/L3 neighbor (Perf PR #9)
    • Alcor performance test plan (Controller PR #643)
  • Controller Performance Design & Improvement
    • Design on Alcor database/cache transactions (Controller PR #611)
    • Optimize VPC creation of default segment table from 10s to 1s (Controller PR #642)
    • Remove RM transactions for a single cache operation (Controller PR #658)
    • Optimize cache write latency in NCM to sub-second and reduce up to 90% latency (Controller PR #659)
    • Transaction atomicity mode change for microservices (Controller PR #673)
    • Fix race condition for Subnet and Port APIs (Controller PR #685)
  • Messaging performance improvement
    • gRPC channel/stub pool and channel keepalive (Controller PR #637)
    • gRPC channel warm-up (Controller PR #670)
    • Async gRPC client, cleanup thread and intelligent sleep (Agent PR #241)
    • Async gRPC server implementation and thread pool for goal state push (Agent PR #255)
    • Adjustable thread pool size based on host core number (Agent PR #256)
    • [Backward compatibility] async grpc server gsv1 support (Agent PR #260)
  • Message Queue scale path improvement
    • Design v1.0 (Controller PR #542)
    • Add gRPC channel to notify node subscribe MQ (Controller PR #612)

Alcor Fundamental

  • Alcor DevOps and CI/CD enhancement
    • Alcor busybox pingtest script improvement (Controller PRs #623, #629, #634, #641)
    • Alcor Jenkins CI workflows fix (Controller PRs #620, #674)
    • Automate building ACA from Jenkins job (Controller PR #687)
  • Alcor K8s deployment improvement (Controller PRs #622, #672, #675)

Stabilization and Bug fix