10 jan 2014 kl. 12:09 skrev √iktor Ҡlang <[email protected]>:

> 
> 
> 
> On Fri, Jan 10, 2014 at 11:58 AM, Rüdiger Möller <[email protected]> wrote:
> 
> 
> Am Freitag, 10. Januar 2014 11:05:49 UTC+1 schrieb rkuhn:
> That looks like you are using ThreadPoolExecutor, but instead of guessing it 
> would be much nicer if you could just publish the complete config matching 
> these plots.
> 
> I use the config someone posted above
> 
> // Create an Akka system
>         ActorSystem system = ActorSystem.create("PiSystem", 
> ConfigFactory.parseString(
>                 "akka {\n" +
>                         "  actor.default-dispatcher {\n" +
>                         "      fork-join-executor {\n" +
>                         "        parallelism-min = 2\n" +
>                         "        parallelism-factor = 0.4\n" +
> 
> 
> Cool, I recommend you to tune the parellelism-factor between 0.3 and 1.0 to 
> find the optimum.

I should add that having more threads than (active) actors will be detrimental 
to performance in most cases due to thread hopping (caused by aggressive work 
stealing). ForkJoinPool works best if all its threads have something to do, in 
which case the thread-local submission queues become effective and cache 
locality is improved. This means that for the low parallelism data points you 
will find opportunity for performance gains by reducing the number of 
threads—this learning process is exhibited by every external benchmark I have 
seen so far.

Of course you can always screw up worse, e.g. by setting parallelism-factor=100 
… (sorry for the tangential side-rant).

Regards,

Roland

>  
>                         "        parallelism-max = 16\n" +
>                         "      }\n" +
>                         "      throughput = 1000\n" +
>                         "  }\n" +
>                         "\n" +
>                         "  log-dead-letters = off\n" +
>                         "\n" +
>                         "  actor.default-mailbox {\n" +
>                         "    mailbox-type = 
> \"akka.dispatch.SingleConsumerOnlyUnboundedMailbox\"\n" +
>                         "  }\n" +
>                         "}"
>         )
>         );
> 
>  
> 
> BTW: do I read that correctly that on Xeon Akka (with its full semantics) 
> scales exactly as well as your “cut corners” prototype? ;-) (which would not 
> surprise me at all … )
> 
> 
> Yes, however the "cut corners" were not that massive in impact. CPU 
> architecture matters (surprise). Don't get obsessed with the prototype, you 
> know as I know we are living in a marketing driven world, so in order to 
> evaluate products I always create a quick prototype to have a baseline to 
> compare with. It frequently happens, that hyped products turn out to be 
> pretty lame (e.g. like being 5 times slower). I usually recheck then if I 
> omitted something important in the prototype and do a quick profile on the 
> product. And in many cases i find some "Character c ..; out.write( 
> c.toString().toByteArray() )" which means "stop-evaluating" ;-).
> 
> I'd say Akka is pretty close to what's possible (general purpose) on the JVM. 
> I'd suspect <5-10% potential for application-specific optimization. That's 
> good ! I am still a bit puzzled regarding proxy dispatch of typed actors (u 
> know: programmers want code completion ;-) ), well just my gut ..
> 
> - ruediger
> 
> Thanks,
> 
> Roland
> 
> 10 jan 2014 kl. 10:58 skrev Rüdiger Möller <[email protected]>:
> 
>> Just for the books:
>> 
>> a) had cut to many corners in my reference prototype impl.
>> b) on Xeon it looks quite different compared to Opteron
>> 
>> Results with corrections on 
>> 2 socket Opteron each 8 core 16 T (16 real cores overall) @ 2.1 Ghz
>> 2 socket Xeon each 6 core 12 T (12 real cores) @ 3 Ghz
>> Resulting charts:
>> http://imgur.com/0RnbRsX
>> 
>> regards,
>> Rüdiger
>> 
>> -- 
>> >>>>>>>>>> Read the docs: http://akka.io/docs/
>> >>>>>>>>>> Check the FAQ: http://akka.io/faq/
>> >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "Akka User List" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> 
>> Visit this group at http://groups.google.com/group/akka-user.
>> For more options, visit https://groups.google.com/groups/opt_out.
> 
> 
> 
> 
> Dr. Roland Kuhn
> Akka Tech Lead
> Typesafe – Reactive apps on the JVM.
> twitter: @rolandkuhn
> 
> 
> 
> -- 
> >>>>>>>>>> Read the docs: http://akka.io/docs/
> >>>>>>>>>> Check the FAQ: http://akka.io/faq/
> >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
> --- 
> You received this message because you are subscribed to the Google Groups 
> "Akka User List" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/akka-user.
> For more options, visit https://groups.google.com/groups/opt_out.
> 
> 
> 
> -- 
> Cheers,
> √
> 
> Viktor Klang
> Director of Engineering
> Typesafe
> 
> Twitter: @viktorklang
> 
> -- 
> >>>>>>>>>> Read the docs: http://akka.io/docs/
> >>>>>>>>>> Check the FAQ: http://akka.io/faq/
> >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
> --- 
> You received this message because you are subscribed to the Google Groups 
> "Akka User List" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/akka-user.
> For more options, visit https://groups.google.com/groups/opt_out.



Dr. Roland Kuhn
Akka Tech Lead
Typesafe – Reactive apps on the JVM.
twitter: @rolandkuhn


-- 
>>>>>>>>>>      Read the docs: http://akka.io/docs/
>>>>>>>>>>      Check the FAQ: http://akka.io/faq/
>>>>>>>>>>      Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to