Hi Wei,

The changes should be platform agnostic. You should be able to perform the
same tests on linux/arm.

On Mon, Apr 23, 2018 at 7:34 AM, Wei Chen <wei.c...@arm.com> wrote:

> Hi Nikhil,
>
>
>
> Is there anything we have to do to perform the same tests
>
> On Arm64?
>
>
>
> Regards,
>
> Wei Chen
>
>
>
> *From:* solo5@lists.h3q.com <solo5@lists.h3q.com> *On Behalf Of *nikhil ap
> *Sent:* 2018年4月20日 22:56
> *To:* solo5@lists.h3q.com
> *Subject:* [solo5] Improving solo5's network performance
>
>
>
> Hi Guys,
>
>
>
> Summarising the discussions we've had so far and the work I've been doing:
>
>    - Implemented network interface using shmstream (shared memory) in
>    order to reduce the number of hypercalls and thus reduce the number of
>    VMEntries and VMExits.
>    - Separate IO thread is implemented in ukvm-bin to read/write packets
>    from the shared memory.
>    - IO thread currently supports polling mode and event mode.
>    - Event-driven model is implemented using eventfds and io-thread waits
>    for events using epoll.
>    - The applications could run both the modes without any changes to
>    their APIs.
>    - Currently shmstream mode can be set with --shm option.
>
>
>    - Ex: ./ukvm-bin --net=tap100 --shm=poll test_ping_serve.ukvm
>
>
>    - However, in case of event-mode, for better performance, the
>    application can chose to notify ukvm-bin after queuing *all* the packets in
>    the shared memory instead of a single packet transmit by using a new solo5
>    public APIs:   solo5_net_queue() and solo5_net_flush();
>    - Solo5 performance was tested with IncludeOS (IncludeOS had to be
>    modified to address the recent API changes in solo5) and with UDP traffic.
>    - Summarising the results below
>
> +--------------------------------------------------+--------
> --------------------------------------------------------------+
>
> | Experiment
> | PPS with 1300 byte packets as receiver |
>
> +--------------------------------------------------+--------
> --------------------------------------------------------------+
>
> | With Qemu and vhost=on                                         |   460k
>                                                      |
>
> +--------------------------------------------------+--------
> --------------------------------------------------------------+
>
> | With Qemu and vhost=off                                         | 310k
>                                                      |
>
> +--------------------------------------------------+--------
> --------------------------------------------------------------+
>
> | With solo5/ukvm                                                        |
> 160k                                                      |
>
> +--------------------------------------------------+--------
> --------------------------------------------------------------+
>
> | With solo5/ukvm withseccomp                                  | 440k
>                                                 |
>
> +--------------------------------------------------+--------
> --------------------------------------------------------------+
>
> | With solo5/ukvm withshmstream and eventthread    | 435k
>                                     |
>
> +--------------------------------------------------+--------
> --------------------------------------------------------------+
>
> | With solo5/ukvm withshmstream and polling thread | 490k
>                                     |
>
> +--------------------------------------------------+--------
> --------------------------------------------------------------+
>
>
>
> UDP Performance stats collected after running each test for 30 seconds
>
> +---------------------------------------+-------------------
> +--------------------+---------------------------+
>
> | Model                                                     |
> VMentries/VMexits | CPU usage                |
>
> +---------------------------------------+-------------------
> +--------------------+---------------------------+
>
> | Solo5/ukvm today                                   | 8.7 Million
>       | 100%                          |
>
> +---------------------------------------+-------------------
> +--------------------+---------------------------+
>
> | Solo5 with shmstream and polling          | 215K                      |
> 200%                         |
>
> +---------------------------------------+-------------------
> +--------------------+---------------------------+
>
> | Solo5 with shmstream and event-driven | 260K                      |
> 160%                         |
>
> +---------------------------------------+-------------------
> +--------------------+---------------------------+
>
> | Qemu with Vhost                                     | 20 Million
>        | 100% + 50% (Vhost) |
>
> +---------------------------------------+-------------------
> +--------------------+---------------------------+
>
>
>
> TODO: Support IO thread with hybrid mode. I.E with both event driven and
> polling mode. Similar to NAPI.
>
>
>
> --
>
> Regards,
>
> Nikhil
> IMPORTANT NOTICE: The contents of this email and any attachments are
> confidential and may also be privileged. If you are not the intended
> recipient, please notify the sender immediately and do not disclose the
> contents to any other person, use it for any purpose, or store or copy the
> information in any medium. Thank you.
>



-- 
Regards,
Nikhil

Reply via email to