Re: [openstack-dev] [Massively distributed] Optimizing the interaction of OpenStack components

2017-05-24 Thread Matt Riedemann

On 5/24/2017 9:59 AM, Matt Riedemann wrote:
I started going down a path the other night of trying to see if we could 
bulk query floating IPs when building the internal instance network info 
cache [1] but it looks like that's not supported. The REST API docs for 
Neutron say that you can't OR filter query parameters together, but at 
the time looking at the code it seemed like it might be possible.


Kevin Benton pointed out the bug in my code, so the bulk query for 
floating IPs is working now it seems:


https://review.openstack.org/#/c/465792/

http://logs.openstack.org/92/465792/3/check/gate-tempest-dsvm-neutron-full-ubuntu-xenial/fd0e93f/logs/screen-q-svc.txt.gz#_May_24_20_54_02_457529

So we can probably iterate on that a bit to bulk query other things, but 
I'd have to dig through the code to see where we're doing that.


--

Thanks,

Matt

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [Massively distributed] Optimizing the interaction of OpenStack components

2017-05-24 Thread Matt Riedemann

On 5/11/2017 1:44 PM, Georg Kunz wrote:
Nevertheless, one concrete thing which came to my mind, is this proposed 
improvement of the interaction between Nova and Neutron:


https://review.openstack.org/#/c/390513/

In a nutshell, the idea is that Neutron adds more information to a port 
object so that Nova does not need to make multiple calls to Neutron to 
collect all required networking information. It seems to have stalled 
for the time being, but bringing forward the edge computing use case 
might increase the interest again.




Yes we've needed a sort of bulk query capability with the networking API 
for years. I started going down a path the other night of trying to see 
if we could bulk query floating IPs when building the internal instance 
network info cache [1] but it looks like that's not supported. The REST 
API docs for Neutron say that you can't OR filter query parameters 
together, but at the time looking at the code it seemed like it might be 
possible.


Chris Friesen from Wind River has also been looking at some of this 
lately, see [2].


But getting people looking at doing performance profiling at scale and 
then identifying the major pain points would be really really helpful 
for the upstream development team that don't have access to those types 
of resources. Then we could prioritize investigating ways to fix those 
issues to improve performance.


[1] https://review.openstack.org/#/c/465792/
[2] http://lists.openstack.org/pipermail/openstack-dev/2017-May/117096.html

--

Thanks,

Matt

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [Massively distributed] Optimizing the interaction of OpenStack components

2017-05-24 Thread Matt Riedemann

On 5/24/2017 6:48 AM, Ronan-Alexandre Cherrueau wrote:

You can find examples of such diagrams
that have been automatically generated on the website where we host
results of our experiments[5].


This is nice, I've seen others do things like this before with Rally and 
osprofiler. The super thin vertical is hard to follow though, it would 
be nice if the graph could be expanded horizontally.


--

Thanks,

Matt

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [Massively distributed] Optimizing the interaction of OpenStack components

2017-05-24 Thread Ronan-Alexandre Cherrueau
Georg,

> I unfortunately missed to join yesterday's working group meeting. Just
> to confirm, the IRC meetings are every two weeks on Wednesday at 15 UTC.
> Is that still correct?

IRC meetings of Performance WG chaired by Dina Belova are every Tuesday,
15:30 UTC in `#openstack-performance'. IRC meetings of Fog Edge
Massively Distributed Clouds WG chaired by Adrien Lebre and Anthony
Simonet are every Wednesday of even weeks, 15 UTC in
`#openstack-meeting'. So, next Fog Edge Massively Distributed Clouds WG
IRC meeting starts in 1 hour and 20 minutes.

Best regards,

On Wed, May 24, 2017 at 2:16 PM, Georg Kunz  wrote:
> Hi Ronan,
>
>> First of all, sorry for the late response. I took a one-week vacation after 
>> the
>> Summit to visit the US.
>
> No problem at all. I hope you had a great time.
>
>> > Nevertheless, one concrete thing which came to my mind, is this
>> > proposed improvement of the interaction between Nova and Neutron:
>> > https://review.openstack.org/#/c/390513/
>> >
>> > In a nutshell, the idea is that Neutron adds more information to a
>> > port object so that Nova does not need to make multiple calls to
>> > Neutron to collect all required networking information. It seems to
>> > have stalled for the time being, but bringing forward the edge
>> > computing use case might increase the interest again.
>>
>> Thanks for pointing such amelioration. This is a good use case to start 
>> with. It
>> should help to understand common patterns in the workflow that can be
>> optimized. Let's see if we can implement an analysis with osp-utils that
>> automatically highlight such pattern.
>
> Thanks a lot for the links. I'll dig into the tools to get a better 
> understanding and
> make up my mind on how a potential analysis might look like.
>
> I unfortunately missed to join yesterday's working group meeting. Just to 
> confirm,
> the IRC meetings are every two weeks on Wednesday at 15 UTC. Is that still 
> correct?
>
> Best regards
> Georg
>
>> Any comments/remarks on how we can do that is more than welcome.
>>
>> Best regards,
>>
>> [1] https://github.com/BeyondTheClouds/enos
>> [2] https://www.youtube.com/watch?v=xwT08H02Nok
>> [3] https://osprofiler.readthedocs.io/
>> [4] https://github.com/BeyondTheClouds/osp-utils
>> [5] http://enos.irisa.fr/html/seqdiag/v1/
>



-- 
Ronan-A. Cherrueau
https://rcherrueau.github.io

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [Massively distributed] Optimizing the interaction of OpenStack components

2017-05-24 Thread Georg Kunz
Hi Ronan,

> First of all, sorry for the late response. I took a one-week vacation after 
> the
> Summit to visit the US.

No problem at all. I hope you had a great time.

> > Nevertheless, one concrete thing which came to my mind, is this
> > proposed improvement of the interaction between Nova and Neutron:
> > https://review.openstack.org/#/c/390513/
> >
> > In a nutshell, the idea is that Neutron adds more information to a
> > port object so that Nova does not need to make multiple calls to
> > Neutron to collect all required networking information. It seems to
> > have stalled for the time being, but bringing forward the edge
> > computing use case might increase the interest again.
> 
> Thanks for pointing such amelioration. This is a good use case to start with. 
> It
> should help to understand common patterns in the workflow that can be
> optimized. Let's see if we can implement an analysis with osp-utils that
> automatically highlight such pattern.

Thanks a lot for the links. I'll dig into the tools to get a better 
understanding and
make up my mind on how a potential analysis might look like.

I unfortunately missed to join yesterday's working group meeting. Just to 
confirm,
the IRC meetings are every two weeks on Wednesday at 15 UTC. Is that still 
correct?

Best regards
Georg

> Any comments/remarks on how we can do that is more than welcome.
> 
> Best regards,
> 
> [1] https://github.com/BeyondTheClouds/enos
> [2] https://www.youtube.com/watch?v=xwT08H02Nok
> [3] https://osprofiler.readthedocs.io/
> [4] https://github.com/BeyondTheClouds/osp-utils
> [5] http://enos.irisa.fr/html/seqdiag/v1/

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [Massively distributed] Optimizing the interaction of OpenStack components

2017-05-24 Thread Ronan-Alexandre Cherrueau
Hi Georg,

First of all, sorry for the late response. I took a one-week vacation
after the Summit to visit the US.

> Hi Ronan, hi Adrien,
>
> we talked yesterday in the edge/massively distributed working group
> meeting about optimizations of the control traffic between OpenStack
> components. Besides investigating different message busses, we agreed
> that it is also worth looking at how different OpenStack components
> interact. My understanding is that you have already developed tracing
> tools for this.

Actually, we (Inria) developed a tool called EnOS[1] that lets us
conduct performance analysis of different OpenStack deployments.
Briefly, EnOS provides a simple topology definition and traffic shaping
so you can deploy an OpenStack you envision, and then run benchmarking
tools such as Rally (for control plane) and Shaker (for data plane) to
measure OpenStack performance. We made a presentation during the Boston
Summit that shows how we use EnOS to measure OpenStack performance in a
Wide Area Network context[2].

During our experiments, most of the time we struggle to understand the
workflow of OpenStack. Not everybody here is an expert in Nova plus
Neutron plus Glance plus Keystone plus "whatever OpenStack services you
consider in your deployment" so we add into EnOS the ability to produce
OSProfiler traces[3] based on a Rally scenario. OSProfiler is an
OpenStack profiling tool developed by folks of the performance team.
Traces generated by OSProfiler give a fine-grained understanding of your
workflow. Maybe too much fine-grained. Thus, we also developed a tool,
called osp-utils[4], that enables us query an OSProfiler trace (filter,
fold, count...) and automatically produce a sequence diagram to show
interactions between services. You can find examples of such diagrams
that have been automatically generated on the website where we host
results of our experiments[5]. In these sequence diagrams, we choose to
filter calls so that we only keep those that end by an RPC. This is why
there are no interactions with Keystone or with the Database. But you
can also choose to filter or fold on any information available in a
call. Anyway, we believe that such view that clearly states interactions
between services is helpful for the community. We also think that a
query language for OSProfiler traces would help to run some analysis for
the optimizations of the control traffic between OpenStack components.

Please note that osp-utils tool is just a prototype right now -- something
developed during some sleepless nights ;). So the code and documentation
must be improved.

> Nevertheless, one concrete thing which came to my mind, is this proposed
> improvement of the interaction between Nova and Neutron:
> https://review.openstack.org/#/c/390513/
>
> In a nutshell, the idea is that Neutron adds more information to a port
> object so that Nova does not need to make multiple calls to Neutron to
> collect all required networking information. It seems to have stalled
> for the time being, but bringing forward the edge computing use case
> might increase the interest again.

Thanks for pointing such amelioration. This is a good use case to start
with. It should help to understand common patterns in the workflow that
can be optimized. Let's see if we can implement an analysis with
osp-utils that automatically highlight such pattern.

Any comments/remarks on how we can do that is more than welcome.

Best regards,

[1] https://github.com/BeyondTheClouds/enos
[2] https://www.youtube.com/watch?v=xwT08H02Nok
[3] https://osprofiler.readthedocs.io/
[4] https://github.com/BeyondTheClouds/osp-utils
[5] http://enos.irisa.fr/html/seqdiag/v1/

On Thu, May 11, 2017 at 8:44 PM, Georg Kunz  wrote:
> Hi Ronan,
>
> hi Adrien,
>
>
>
> we talked yesterday in the edge/massively distributed working group meeting
> about optimizations of the control traffic between OpenStack components.
> Besides investigating different message busses, we agreed that it is also
> worth looking at how different OpenStack components interact. My
> understanding is that you have already developed tracing tools for this.
>
>
>
> Nevertheless, one concrete thing which came to my mind, is this proposed
> improvement of the interaction between Nova and Neutron:
>
> https://review.openstack.org/#/c/390513/
>
>
>
> In a nutshell, the idea is that Neutron adds more information to a port
> object so that Nova does not need to make multiple calls to Neutron to
> collect all required networking information. It seems to have stalled for
> the time being, but bringing forward the edge computing use case might
> increase the interest again.
>
>
>
> Best regards
>
> Georg
>
>
> __
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>

-- 
Ronan-A. Cherr

[openstack-dev] [Massively distributed] Optimizing the interaction of OpenStack components

2017-05-11 Thread Georg Kunz
Hi Ronan,
hi Adrien,

we talked yesterday in the edge/massively distributed working group meeting 
about optimizations of the control traffic between OpenStack components. 
Besides investigating different message busses, we agreed that it is also worth 
looking at how different OpenStack components interact. My understanding is 
that you have already developed tracing tools for this.

Nevertheless, one concrete thing which came to my mind, is this proposed 
improvement of the interaction between Nova and Neutron:
https://review.openstack.org/#/c/390513/

In a nutshell, the idea is that Neutron adds more information to a port object 
so that Nova does not need to make multiple calls to Neutron to collect all 
required networking information. It seems to have stalled for the time being, 
but bringing forward the edge computing use case might increase the interest 
again.

Best regards
Georg
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev