Doex Elixir handle multiple core utilization automatically?

Yes, you need to send messages to communicate between processes and yes the erlang VM handles core utilisation automatically. The BEAM, the erlang VM, automatically uses all the cores it is allowed to use and spreads the processes over them. It will also actively load balance over the cores. It does this automatically so you never to think about this, your program will run effectively on any number of cores without you having to specifically handle this.