MD-SAL APPLICATION AWARE DATA STORE (AADS) Chandramouli Venkataraman ([email protected]) www.opendaylight.org MD-SAL - Today Controller Platform APP DOM tree Data store: Request Notification Routing Routing /config /operational MD-SAL Clustering Service OF Plugin www.opendaylight.org 2 MD-SAL Data Store – Scaling concerns 1. Centralized DOM Tree based data store Yang model to DOM tree mapping Not suitable for a lot of applications • OF objects can be stored in hash-map for better performance Too many tree nodes • Single OF object maps to a sub-tree with match/action nodes • tree traversal costs www.opendaylight.org 3 MD-SAL Data Store – Scaling concerns 1. Applications don’t have flexibility to choose their data structures based on their performance and scale requirements Scaling becomes directly proportional to centralized datastore’s perfromance www.opendaylight.org 4 BA – BI Infrastructure - complicated BA applications need to go through a set of broker interfaces before reaching DOM data store JAVA objects to DOM mapping overheads www.opendaylight.org 5 AADS – Introduction AADS let’s applications Create/delete their own data stores Choose the type of data structures like hash-table according to their needs Efficiently realize storage objects in alignment with Yang models and manipulate them Decide on structuring data for efficient partition Handle transactions in a flexible manner as per their needs Not intended to replace existing MD-SAL Centralized Data Store www.opendaylight.org 6 AADS – Introduction (cont.) What applications are we talking about? NSF applications like topology manager Network technologies like OF MD-SAL Services that applications must be able to leverage Data store services Request Routing Clustering Services Notification services www.opendaylight.org 7 AADS – Conceptual View Controller Platform OF FRMv2 APP (AADS) OF Hash Table : /config /operational Request Notification Routing Routing MD-SAL Clustering Service OF Plugin www.opendaylight.org 8 MD-SAL - AADS & DOM DS Controller Platform APP2 (Uses AADS) APP1 (Uses DOM) AADS Data store: /config DOM tree Data store: /config Request Notification /operational Routing Routing /operational MD-SAL Clustering Service OF Plugin www.opendaylight.org 9 AADS - Requirements 1. 2. 3. 4. 5. Provide a data store framework to applications that allows them to create/delete data stores dynamically Should be able to support different data stores in parallel Yang related functionalities like augmentation should be supported Existing ODL interfaces like RESTCONF should be supported Provide a transaction library for applications www.opendaylight.org 10 AADS - Requirements Provide data change events to be registered at data nodes in the data stores (provide appropriate hooks for applications to register the same) 2. Capable of supporting a flexible clustering service like AKKA based clustering service or data-store clustering service 3. Hide clustering interface from applications as much as possible 4. Provide appropriate hooks for futures/callbacks that applications can register to handle replication, distribution across controller nodes 1. www.opendaylight.org 11 AADS - Requirements Provide mechanisms to register dependencies by other applications 2. Re-use the existing MD-SAL RPC, Remote RPC, notification framework 3. Should co-exist with the existing MD-SAL centralized data store framework 4. Applications that use DOM store and those that use AADS should be able to inter-work with each other 1. www.opendaylight.org 12 MD-SAL - DOM & AADS API View Controller Platform APP2 (Uses AADS) APP1 (Uses DOM) MD-SAL API MD-SAL API EXT (AADS) AADS Layer DOM Layer MD-SAL MD Clustering Service OF Plugin www.opendaylight.org 13 AADS – 20K FEET Component View MD-SAL API Notification Broker MD-SAL AADS API Extn. Data Broker RPC Broker Data replication MD-SAL Core Data sharding In-Memory Datastore Notifications Clustering Services Distribution Layer DOM Store State Trasfer AADS Store AADS Backend (??) Akka Framework Transport (Def Netty) OSGi Container Intrusional changes in Helium MD-SAL and sub-components Code base – class-level, module-level, new abstractions and implementation New codebase for AADS proposal www.opendaylight.org 14 Q&A www.opendaylight.org 15
© Copyright 2026 Paperzz