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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to