http://www.erlang.org/doc/man/erl.html#+S

+S TotalSchedulers:OnlineSchedulers


On Wed, Aug 14, 2013 at 9:57 AM, Guido Medina <guido.med...@temetra.com>wrote:

> Hi Matthew,
>
> It is a bit confusing, cause let's say "+S C:T" is defined as:
>
> C = Physical cores?
> T = Total threads or total - physical cores?
>
> Is it a sum of or the physical cores and total of threads? That's the
> confusing part, let's say you have a server with 8 physical cores with no
> hyper threading, so total threads is also 8, would that still be "+S 4:4",
> "+S 8:8" or "+S 8:0"
>
> Thanks,
>
> Guido.
>
>
> On 14/08/13 15:41, Matthew Von-Maszewski wrote:
>
>> "threads=8" is the key phrase … +S 4:4
>>
>> On Aug 14, 2013, at 10:04 AM, Guido Medina <guido.med...@temetra.com>
>> wrote:
>>
>>  For the following information should it be +S 4:4 or +S 4:8?
>>>
>>> root@somehost# lshw -C processor
>>>   *-cpu
>>>        description: CPU
>>>        product: Intel(R) Core(TM) i7 CPU         930  @ 2.80GHz
>>>        vendor: Intel Corp.
>>>        physical id: 4
>>>        bus info: cpu@0
>>>        version: Intel(R) Core(TM) i7 CPU         930  @ 2.80GHz
>>>        serial: To Be Filled By O.E.M.
>>>        slot: CPU 1
>>>        size: 1600MHz
>>>        capacity: 1600MHz
>>>        width: 64 bits
>>>        clock: 133MHz
>>>        capabilities: x86-64 fpu fpu_exception wp vme de pse tsc msr pae
>>> mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse
>>> sse2 ss ht tm pbe syscall nx rdtscp constant_tsc arch_perfmon pebs bts
>>> rep_good nopl xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl
>>> vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm ida dtherm
>>> tpr_shadow vnmi flexpriority ept vpid cpufreq
>>>        configuration: cores=4 enabledcores=4 threads=8
>>>
>>> Thanks,
>>>
>>> Guido.
>>>
>>> On 14/08/13 01:38, Matthew Von-Maszewski wrote:
>>>
>>>> ** The following is copied from Basho's leveldb wiki page:
>>>>
>>>> https://github.com/basho/**leveldb/wiki/Riak-tuning-1<https://github.com/basho/leveldb/wiki/Riak-tuning-1>
>>>>
>>>>
>>>>
>>>> Summary:
>>>>
>>>> leveldb has a higher read and write throughput in Riak if the Erlang
>>>> scheduler count is limited to half the number of CPU cores. Tests have
>>>> demonstrated improvements of 15% to 80% greater throughput.
>>>>
>>>> The scheduler limit is set in the vm.args file:
>>>>
>>>> +S x:x
>>>>
>>>> where "x" is the number of schedulers Erlang may use. Erlang's default
>>>> value of "x" is the total number of CPUs in the system. For Riak
>>>> installations using leveldb, the recommendation is to set "x" to half the
>>>> number of CPUs. Virtual environments are not yet tested.
>>>>
>>>> Example: for 24 CPU system
>>>>
>>>> +S 12:12
>>>>
>>>> Discussion:
>>>>
>>>> We have tested a limited number of CPU configurations and customer
>>>> loads. In all cases, there is a performance increase when the +S option is
>>>> added to the vm.args file to reduce the number of Erlang schedulers. The
>>>> working hypothesis is that the Erlang schedulers perform enough "busy wait"
>>>> work that they always create context switch away from leveldb when leveldb
>>>> is actually the only system task with real work.
>>>>
>>>> The tests included 8 CPU (no hyper threading, physical cores only) and
>>>> 24 CPU (12 physical cores with hyper threading) systems. All were 64bit
>>>> Intel platforms. Generalized findings:
>>>>
>>>>         • servers running higher number of vnodes (64) had larger
>>>> performance gains than those with fewer (8)
>>>>         • servers running SSD arrays had larger performance gains than
>>>> those running SATA arrays
>>>>         • Get and Write operations showed performance gains, 2i query
>>>> operations (leveldb iterators) were unchanged
>>>>         • Not recommended for servers with less than 8 CPUs (go no
>>>> lower than +S 4:4)
>>>>
>>>> Performance improvements were as high as 80% over extended, heavily
>>>> loaded intervals on servers with SSD arrays and 64 vnodes. No test resulted
>>>> in worse performance due to the addition of +S x:x.
>>>>
>>>> The +S x:x configuration change does not have to be implemented
>>>> simultaneously to an entire Riak cluster. The change may be applied to a
>>>> single server for verification. Steps: update the vm.args file, then
>>>> restart the Riak node. Erlang command line changes to schedules were
>>>> ineffective.
>>>>
>>>> This configuration change has been running in at least one large,
>>>> multi-datacenter production environment for several months.
>>>>
>>>>
>>>> ______________________________**_________________
>>>> riak-users mailing list
>>>> riak-users@lists.basho.com
>>>> http://lists.basho.com/**mailman/listinfo/riak-users_**lists.basho.com<http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com>
>>>>
>>>
>>> ______________________________**_________________
>>> riak-users mailing list
>>> riak-users@lists.basho.com
>>> http://lists.basho.com/**mailman/listinfo/riak-users_**lists.basho.com<http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com>
>>>
>>
>
> ______________________________**_________________
> riak-users mailing list
> riak-users@lists.basho.com
> http://lists.basho.com/**mailman/listinfo/riak-users_**lists.basho.com<http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com>
>



-- 
Sean Cribbs <s...@basho.com>
Software Engineer
Basho Technologies, Inc.
http://basho.com/
_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to