I think it is slightly more than that.

These days  software is licensed by core (generally speaking).   That is
the physical processor.   * A core may have one or more threads - or
logical processors*. Virtualization adds some fun to the mix.   Generally
what they present is ‘virtual processors’.   What that equates to depends
on the virtualization layer itself.   In some simpler VM’s - it is
virtual=logical.   In others, virtual=logical but they are constrained to
be from the same cores - e.g. if you get 6 virtual processors, it really is
3 full cores with 2 threads each.   Rational is due to the way OS
dispatching works on ‘logical’ processors vs. cores and POSIX threaded
applications.

HTH

Dr Mich Talebzadeh



LinkedIn * 
https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw
<https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw>*



http://talebzadehmich.wordpress.com



On 13 June 2016 at 18:17, Mark Hamstra <m...@clearstorydata.com> wrote:

> I don't know what documentation you were referring to, but this is clearly
> an erroneous statement: "Threads are virtual cores."  At best it is
> terminology abuse by a hardware manufacturer.  Regardless, Spark can't get
> too concerned about how any particular hardware vendor wants to refer to
> the specific components of their CPU architecture.  For us, a core is a
> logical execution unit, something on which a thread of execution can run.
> That can map in different ways to different physical or virtual hardware.
>
> On Mon, Jun 13, 2016 at 12:02 AM, Mich Talebzadeh <
> mich.talebza...@gmail.com> wrote:
>
>> Hi,
>>
>> It is not the issue of testing anything. I was referring to documentation
>> that clearly use the term "threads". As I said and showed before, one line
>> is using the term "thread" and the next one "logical cores".
>>
>>
>> HTH
>>
>> Dr Mich Talebzadeh
>>
>>
>>
>> LinkedIn * 
>> https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw
>> <https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw>*
>>
>>
>>
>> http://talebzadehmich.wordpress.com
>>
>>
>>
>> On 12 June 2016 at 23:57, Daniel Darabos <
>> daniel.dara...@lynxanalytics.com> wrote:
>>
>>> Spark is a software product. In software a "core" is something that a
>>> process can run on. So it's a "virtual core". (Do not call these "threads".
>>> A "thread" is not something a process can run on.)
>>>
>>> local[*] uses java.lang.Runtime.availableProcessors()
>>> <https://github.com/apache/spark/blob/v1.6.1/core/src/main/scala/org/apache/spark/SparkContext.scala#L2608>.
>>> Since Java is software, this also returns the number of virtual cores. (You
>>> can test this easily.)
>>>
>>>
>>> On Sun, Jun 12, 2016 at 9:23 PM, Mich Talebzadeh <
>>> mich.talebza...@gmail.com> wrote:
>>>
>>>>
>>>> Hi,
>>>>
>>>> I was writing some docs on Spark P&T and came across this.
>>>>
>>>> It is about the terminology or interpretation of that in Spark doc.
>>>>
>>>> This is my understanding of cores and threads.
>>>>
>>>>  Cores are physical cores. Threads are virtual cores. Cores with 2
>>>> threads is called hyper threading technology so 2 threads per core makes
>>>> the core work on two loads at same time. In other words, every thread takes
>>>> care of one load.
>>>>
>>>> Core has its own memory. So if you have a dual core with hyper
>>>> threading, the core works with 2 loads each at same time because of the 2
>>>> threads per core, but this 2 threads will share memory in that core.
>>>>
>>>> Some vendors as I am sure most of you aware charge licensing per core.
>>>>
>>>> For example on the same host that I have Spark, I have a SAP product
>>>> that checks the licensing and shuts the application down if the license
>>>> does not agree with the cores speced.
>>>>
>>>> This is what it says
>>>>
>>>> ./cpuinfo
>>>> License hostid:        00e04c69159a 0050b60fd1e7
>>>> Detected 12 logical processor(s), 6 core(s), in 1 chip(s)
>>>>
>>>> So here I have 12 logical processors  and 6 cores and 1 chip. I call
>>>> logical processors as threads so I have 12 threads?
>>>>
>>>> Now if I go and start worker process
>>>> ${SPARK_HOME}/sbin/start-slaves.sh, I see this in GUI page
>>>>
>>>> [image: Inline images 1]
>>>>
>>>> it says 12 cores but I gather it is threads?
>>>>
>>>>
>>>> Spark document
>>>> <http://spark.apache.org/docs/latest/submitting-applications.html>
>>>> states and I quote
>>>>
>>>>
>>>> [image: Inline images 2]
>>>>
>>>>
>>>>
>>>> OK the line local[k] adds  ..  *set this to the number of cores on
>>>> your machine*
>>>>
>>>>
>>>> But I know that it means threads. Because if I went and set that to 6,
>>>> it would be only 6 threads as opposed to 12 threads.
>>>>
>>>>
>>>> the next line local[*] seems to indicate it correctly as it refers to
>>>> "logical cores" that in my understanding it is threads.
>>>>
>>>>
>>>> I trust that I am not nitpicking here!
>>>>
>>>>
>>>> Cheers,
>>>>
>>>>
>>>>
>>>> Dr Mich Talebzadeh
>>>>
>>>>
>>>>
>>>> LinkedIn * 
>>>> https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw
>>>> <https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw>*
>>>>
>>>>
>>>>
>>>> http://talebzadehmich.wordpress.com
>>>>
>>>>
>>>>
>>>
>>>
>>
>

Reply via email to