Thanks Shankaranarayanan for your detailed explanation. -- Regards, Leon Jensen
On Mon, Apr 1, 2019 at 8:09 AM Shankaranarayanan P N <[email protected]> wrote: > Hi Leon, > > HAS uses its own heuristic algorithm and solver to solve the placement > problem, rather than use the Minizinc (CMSO is another such independent > solver). The architecture of HAS and the related details can be found here: > https://wiki.onap.org/pages/viewpage.action?pageId=16005528#HomingandAllocationService(HAS)-HASArchitecture(R2). > There are a few key reasons as to why HAS uses a heuristic solver: > > * The search space for the placement problem is quite large since new > services can be constructed of existing service instances, and it is very > expensive to pre-aggregate all the data needed prior to solving. This > necessitates an incremental approach to solving the placement problem, > which is what the current heuristic does. > * Evaluating constraints like service and cloud capacity require expensive > interactions with the controllers and multi-vim, and the corresponding > state is highly dynamic which requires coupling the heuristic search with > resource reservations and rollbacks. > * Almost every network service and its VNFs/PNFs that needs to be placed > has its own set of constraints and optimization objectives (which needs to > be totally policy driven). It is challenging to come up with an > optimization model to be used with a generic solver, that allows different > sets of constraints and objectives to be selected during runtime. > > Please let me know if this makes sense. > > Thanks, > Shankar. > *--------------------------------------------------------------* > *Shankaranarayanan Puzhavakath Narayanan* > *Senior Inventive Scientist* > *Network and Cloud Systems Research* > *AT&T Labs Research* > > > On Sun, Mar 31, 2019 at 2:53 PM Leon Jensen <[email protected]> > wrote: > >> Thanks alot Shankaranarayana!! >> >> I understood the process to invoke minizinc. >> >> I was looking for minizinc reference in HAS repository and I was not able >> to find use of minizinc in its solver. >> So, It raises me another question, that HAS does not use minizinc to >> solve placement problem, is there any specific reason ? >> >> Please correct if I am missing idea of OOF. >> >> -- >> Regards, >> Leon >> >> On Sun, Mar 31, 2019 at 8:34 PM Shankaranarayanan P N < >> [email protected]> wrote: >> >>> Hi Leon, >>> >>> Although the use of Minizinc in OOF is applicable to many optimizations, >>> I believe this would be easier to understand by looking at this through the >>> lens of a specific use case - PCI optimization, which leverages the >>> MiniZinc approach. This should give you more details on the use case >>> itself. >>> https://wiki.onap.org/display/DW/5G+-+OOF+%28ONAP+Optimization+Framework%29+and+PCI+%28Physical+Cell+ID%29+Optimization >>> <https://wiki.onap.org/display/DW/5G+-+OOF+(ONAP+Optimization+Framework)+and+PCI+(Physical+Cell+ID)+Optimization> >>> >>> >>> MiniZinc is invoked through the OSDF component in OOF, which hosts of >>> the minizinc model for the PCI optimization. Please see the following >>> architecture diagram that shows where OSDF sits within the OOF framework. >>> >>> >>> https://wiki.onap.org/display/DW/OOF+Dublin+%28R4%29+Architecture+Alignment#OOFDublin(R4)ArchitectureAlignment-OOFDependencygraph >>> <https://wiki.onap.org/display/DW/OOF+Dublin+(R4)+Architecture+Alignment#OOFDublin(R4)ArchitectureAlignment-OOFDependencygraph> >>> >>> >>> Finally, here’s the relevant code that packages the data needed for the >>> optimization and invokes Minizinc from within OSDF: >>> >>> >>> https://gerrit.onap.org/r/gitweb?p=optf/osdf.git;a=blob;f=osdf/optimizers/pciopt/solver/optimizer.py;h=5a1a5c28ae5b2490de96c93eed4bb9bcc560da47;hb=HEAD >>> >>> and here’s the mini zinc model: >>> https://gerrit.onap.org/r/gitweb?p=optf/osdf.git;a=blob;f=osdf/optimizers/pciopt/solver/min_confusion.mzn;h=ff56c181cc731c303d9bc52835d220f82d98074d;hb=HEAD >>> >>> >>> Thanks, >>> Shankar. >>> *--------------------------------------------------------------* >>> *Shankaranarayanan Puzhavakath Narayanan* >>> *Senior Inventive Scientist* >>> *Network and Cloud Systems Research* >>> *AT&T Labs Research* >>> >>> >>> On Thu, Mar 28, 2019 at 5:10 AM Leon Jensen <[email protected]> >>> wrote: >>> >>>> Hello OOF team, >>>> >>>> I read in the wiki pages [0] that OSDF [1] used uses minizinc to solve >>>> the problem, so I was traversing the code to understand how to invoke >>>> minizinc to solve the problem and model the problem. >>>> >>>> I tried to find wiki to understand model formulation and solving it but >>>> not able to get any helpful resource. So could someone please give me >>>> overview of this entire process >>>> - Model the problem >>>> - Invoking the minizinc >>>> - Exposing solution as rest endpoint >>>> >>>> I will appreciate your help. >>>> >>>> [0] >>>> https://github.com/onap/optf-osdf/blob/master/docs/sections/architecture.rst >>>> [1] https://github.com/onap/optf-osdf >>>> -- >>>> Regards, >>>> Leon Jensen >>>> >>>> >>>> -- -- Regards, Leon Jensen -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#16425): https://lists.onap.org/g/onap-discuss/message/16425 Mute This Topic: https://lists.onap.org/mt/30809564/21656 Group Owner: [email protected] Unsubscribe: https://lists.onap.org/g/onap-discuss/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
