DPDK patches and discussions
 help / color / mirror / Atom feed
From: Jane Shen <jshen@mavenir.com>
To: "Jayakumar, Muthurajan" <muthurajan.jayakumar@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] Physical core vs. hyper threaded core
Date: Mon, 3 Mar 2014 19:49:45 +0000	[thread overview]
Message-ID: <96144595DCDF66419CB40342CCD31E2E3E4430D6@mbx024-e1-nj-4.exch024.domain.local> (raw)
In-Reply-To: <5D695A7F6F10504DBD9B9187395A21797C6E76A0@ORSMSX103.amr.corp.intel.com>

Thanks Muthurajan.

" because there are some resources statically partitioned"

What are these resources and in general what types of operations from the software will be impacted? Like memory access, IO access etc.?

Under what condition would sharing sibling lcores for 2 DPDK threads would be recommended (or at least worth trying)? 

Thanks,
-Jane

-----Original Message-----
From: Jayakumar, Muthurajan [mailto:muthurajan.jayakumar@intel.com] 
Sent: Sunday, March 02, 2014 8:54 PM
To: Jayakumar, Muthurajan; Jane Shen; dev@dpdk.org
Subject: RE: Physical core vs. hyper threaded core

In your scenario, NO interference with DPDK. Perfect.

-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jayakumar, Muthurajan
Sent: Sunday, March 02, 2014 6:23 PM
To: Jane Shen; dev@dpdk.org
Subject: Re: [dpdk-dev] Physical core vs. hyper threaded core

Thanks Jane. Great. So interference with DPDK. Perfect. 

The reason for using physical core is, you get more resources compared to using in hyperthreaded mode this is because there are some resources statically partitioned and so when one disables hyperthreaded mode and use physical core, then all the resources that are in the core are available.

So, when all the work - Rx, Processing, Tx are to be done by one core itself, then using full physical core without hyperthreading may be the better choice. 
Whereas, in case one application demands pipelined implementation and you are choosing 2 lcores to implement, then one may be better off enabling hyperthreading and pipelining the functionality between the siblings because in this case inter-lcore communication cost is more important.

Thanks,  

-----Original Message-----
From: Jane Shen [mailto:jshen@mavenir.com] 
Sent: Sunday, March 02, 2014 6:14 PM
To: Jayakumar, Muthurajan; dev@dpdk.org
Subject: RE: Physical core vs. hyper threaded core

Thanks Muthurajan.

We were testing with core 0-7 to DPDK and 8-15 to Linux SIP processes. The core numbers are based on the Linux /etc/cpuinfo. These processes don't have direct coupling with DPDK. They may share some memory with the DPDK via IPC.

What was the reason that it is recommended to use the physical core only for DPDK? Based on your comment below, sounds like that restriction should be removed.


Thanks,
-Jane


-----Original Message-----
From: Jayakumar, Muthurajan [mailto:muthurajan.jayakumar@intel.com] 
Sent: Sunday, March 02, 2014 7:49 PM
To: Jane Shen; dev@dpdk.org
Subject: RE: Physical core vs. hyper threaded core

Jane, 
Great. You are correct. Have tried enabling hyperthreading and it works. 

For example, if we want to have the functionality partitioning such that Rx + Packet Processing + Tx = all of these three functions can be done in  2 cores  - By positioning Rx in one lcore and by positioning Packet processing and Tx in the sibling hyperthread lcore of the same physical core, you get tight coupling because L1 cache and L2 cache are shared between the hyperthreaded cores belonging to same physical core.   

Curious to know - in your configuration, the SIP based signaling threads - 

Option A) are they sharing sibling of DPDK threads?

Option B) Or all DPDK threads are tightly coupled with sibling threads and SIP based signaling threads are on separate cores?

If  it is Option B) more tight coupling within the DPDK threads and less interference from signaling threads. 

Thanks, 


-----Original Message-----
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Jane Shen
Sent: Sunday, March 02, 2014 4:56 PM
To: dev@dpdk.org
Subject: [dpdk-dev] Physical core vs. hyper threaded core

Hi,

I understand that DPDK should use the physical core. But here is what we tested:

-          Enable HT

-          Assign 8 cores of the CPU (an 8-core Sandybridge CPU) to DPDK.

Surprisingly enough, we noticed that the remaining 8 cores (b/c there are total of 16 cores after HT) can still handle other Linux processes which are SIP based signaling transactions.

Anybody can shed some light on how this worked? Is there anybody tried similar thing? What has been your experience?

Thanks,
-Jane

  reply	other threads:[~2014-03-03 19:48 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-03  0:56 Jane Shen
2014-03-03  1:49 ` Jayakumar, Muthurajan
2014-03-03  2:14   ` Jane Shen
2014-03-03  2:22     ` Jayakumar, Muthurajan
2014-03-03  2:54       ` Jayakumar, Muthurajan
2014-03-03 19:49         ` Jane Shen [this message]
2014-03-03 20:11           ` Jayakumar, Muthurajan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=96144595DCDF66419CB40342CCD31E2E3E4430D6@mbx024-e1-nj-4.exch024.domain.local \
    --to=jshen@mavenir.com \
    --cc=dev@dpdk.org \
    --cc=muthurajan.jayakumar@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).