Hi Bogdan,

cloud manager is a loosely defined entity ;-)

In the context of NFV orchestration will not deal with this.

VNF manager may but there is lack of "sensing" information.

If you think of an AWS/Azure image, then this simply does not work.

FF

On 4 October 2017 at 15:27, Bogdan Pricope <bogdan.pric...@linaro.org>
wrote:

> There are (at least) three cases:
>
> 1.       Discovery is done by odp
>
> 2.       Discovery is done by application
>
> 3.       Discovery is done by a third party entity
>
>
>
> For cloud, I would expect a cloud administrator entity will know
> exactly the configuration of each ‘target’ and this can be provided to
> ‘target’ as an environment variable or a file.
>
>
> This information can be used to:
>
> 1.       Generate an odp.conf file (with a predefine structure),
> identifying the module(s) to load.
>
>
> e.g.
>
> module:
>
> {
>
>        modules = ("libodp_thunderx.so.0");
>
> };
>
>
>
> 2.       Download the actual module libs (e.g. from a network drive)
> if cannot be deployed with the application (at the same time)
>
>
>
> Ultimately, odp.conf stored in a predetermined location or indicated
> as an environment variable will be used by odp-core library to load
> the module(s).
>
>
>
> ODP_SYSCONFIG_FILE=/tmp/odp.conf ./example/generator/odp_generator -I
> 1 -m r -c 0x8
>
>
>
> /Bogdan
>
> On 4 October 2017 at 15:54, Bill Fischofer <bill.fischo...@linaro.org>
> wrote:
> > On Wed, Oct 4, 2017 at 7:47 AM, Savolainen, Petri (Nokia - FI/Espoo) <
> > petri.savolai...@nokia.com> wrote:
> >
> >>
> >>
> >> > -----Original Message-----
> >> > From: Andriy Berestovskyy [mailto:Andriy.Berestovskyy@
> caviumnetworks.com
> >> ]
> >> > Sent: Tuesday, October 03, 2017 8:22 PM
> >> > To: Savolainen, Petri (Nokia - FI/Espoo) <petri.savolai...@nokia.com
> >;
> >> Ola
> >> > Liljedahl <ola.liljed...@linaro.org>; lng-odp@lists.linaro.org
> >> > Subject: Re: [lng-odp] generic core + HW specific drivers
> >> >
> >> > Hey,
> >> > Please see below.
> >> >
> >> > On 03.10.2017 10:12, Savolainen, Petri (Nokia - FI/Espoo) wrote:
> >> > > So, we should be able to deliver ODP as a set of HW independent and
> >> > > HW specific packages (libraries). For example, minimal install would
> >> > >  include only odp, odp-linux and odp-test-suite, but when on arm64
> >> > > (and especially when on ThunderX) odp-thunderx would be installed
> >> >
> >> > There are architecture dependencies (i.e. i386, amd64, arm64 etc), but
> >> > there are no specific platform dependencies (i.e. Cavium ThunderX,
> >> > Cavium Octeon, NXP etc).
> >> >
> >> > In other words, there is no such mechanism in packaging to create a
> >> > package odp, which will automatically install package odp-thunderx
> only
> >> > on Cavium ThunderX platforms.
> >>
> >> I'd expect that ODP main package (e.g. for arm64) would run a script
> >> (written by us) during install which digs out information about the
> system
> >> and sets up ODP paths accordingly. E.g. libs/headers from odp-thunderx
> >> package would added to search paths when installing into a ThunderX
> system.
> >> If system is not recognized,  ODP libs/header paths would point into
> >> odp-linux.
> >>
> >>
> > That's still trying to make this a static configuration that can be done
> at
> > install time. What about VMs/containers that are instantiated on
> different
> > hosts as they are deployed? This really needs to be determined at run
> time,
> > not install time.
> >
> >
> >>
> >> >
> >> >
> >> > > Package:
> >> > > * odp * depends on: odp-linux
> >> > > * odp-linux * depends on: odp
> >> >  > * odp-thunderx [arm64] * depends on: odp
> >> >
> >> > So installing odp-thunderx we will end up with odp, odp-linux and
> >> > odp-thunderx, so still we have switch runtime between odp-linux and
> >> > odp-thunderx...
> >>
> >> I hope it's a matter of probing and installing paths on install time,
> >> instead of runtime. It's hard to believe that ODP would be the first
> >> package ever to choose and install a library from a set of alternative
> >> libraries.
> >>
> >
> > ODP is a pioneer in the sense that it's offering access to platform
> > acceleration capabilities, not simple attached device variants. So we may
> > well be first in this sense.
> >
> >
> >>
> >> >
> >> >
> >> > All other projects you are mentioning (kernel, DPDK, Xorg) use
> >> > architecture dependency (different packages for different
> architectures)
> >> > combined with run time configuration/probing. A kernel driver might be
> >> > installed, but it will be unused until configured/probed.
> >>
> >> Those projects aim to maximize code re-use of the core part and minimize
> >> size of the driver part. Optimally, we'd do the opposite - minimize the
> >> core part to zero and dynamically link application directly to the right
> >> "driver" (== HW specific odp implementation).
> >>
> >> If there's no core part, run time probing is not needed - install time
> >> probing and lib/header path setup is enough.
> >>
> >
> > You're describing the embedded build case, which is similar to what we
> have
> > today with --enable-abi-compat=no. That's not changing. We're only
> talking
> > about what happens for --enable-abi-compat=yes builds.
> >
> >
> >>
> >>
> >> >
> >> > To support multiple platforms, runtime configuration/probing is
> >> > inevitable. The real question is who does this probing: ODP itself or
> >> > each application independently. To avoid code duplication, ODP looks
> >> > like a better choice...
> >>
> >> Install time probe/conf would be the best choice. The second best would
> be
> >> a dummy "core ODP" implementation which would be just a giant function
> >> pointer array (redirect every ODP API call to its implementation in a HW
> >> specific lib).
> >>
> >
> > That's effectively what this is, except that the population of that
> > indirection array is done at runtime and may vary from run to run based
> on
> > the environment (e.g., is the app running in this container/VM authorized
> > to use feature X on this platform? If not, fall back to the generic SW
> > implementation, etc.)
> >
> >
> >>
> >> -Petri
> >>
> >>
> >>
>



-- 
[image: Linaro] <http://www.linaro.org/>
François-Frédéric Ozog | *Director Linaro Networking Group*
T: +33.67221.6485
francois.o...@linaro.org | Skype: ffozog

Reply via email to