Hi,As I understood that the fork-join-executor is the default dispatcher when non is provided when creating the actor systemCan someone explain me the following:
- fork-join-executor {
- # Min number of threads to cap factor-based parallelism number to
- parallelism-min = 8
- # The parallelism factor is used to determine thread pool size using the
- # following formula: ceil(available processors * factor). Resulting size
- # is then bounded by the parallelism-min and parallelism-max values.
- parallelism-factor = 3.0
- # Max number of threads to cap factor-based parallelism number to
- parallelism-max = 64
- # Setting to "FIFO" to use queue like peeking mode which "poll" or "LIFO" to use stack
- # like peeking mode which "pop".
- task-peeking-mode = "FIFO"
- }
ALthough i understand each word, i don't understand the full semantic of what is explained here.- What does mean ceil ? in ceil(available processors * factor)
- What means factor-based parallelism ?
Can someone overall explain to me in english what means the configuration above. By reading many post here and there, i had somewhat understood that by default, akka, would set up a threadPoolexecutor that allocate and thread per core. Hence if you have 2 two core processor, you would end up with 4 threads. Which is how much parallel you can really be anyway. Above that it is concurrent but not full strictly speaking parallel. Although that is another issue.So if someone could explain the above configuration in term of processor and core and the resulting number of threads with 2 examples of machine (per their processor configuration) that would be great.
--
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>> 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 akka-user+...@googlegroups.com.
To post to this group, send email to akka...@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.
You received this message because you are subscribed to a topic in the Google Groups "Akka User List" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/akka-user/eR4fShuWm6w/unsubscribe.
To unsubscribe from this group and all its topics, send an email to akka-user+...@googlegroups.com.
Thank you victor.
However,
1 - does it means that akka configuration is not related to the number of cores but the processor only ? So wether your processor has two cores or 4 cores or just 1, is not taken into account at all, i.e. in deciding how much thread you would allocate in your thread pool?
Or
2 - by processor u actually mean "a core" I.e in "4 processors" your actually mean a quad-core processor or dual-core processor hyper-threaded.
Could you please clarify this "processor" thing in term of typical machine configuration ?
Just to be clear, the meaning of parallelism is not stricto sensus. In other words, when i think parallelism, i think parallel execution. While given that we are not at 1 thread per OS reported processor, but 3, i conclude that this is more like a concurrency factor. I mean concurrent is not parallel. That was the my original confusion i.e. understanding what is meant by parallelism here.But i guess this is parallel in the loose sense, as in scala parallel collection. They can be fully operated in parallel but r actually operated concurrently.I just wanted to be clear on the semantic? Is my understanding right ? We are talking of parallelism in a loose sense and not stricto sensus.