With the following org-mode file:
* test
** foo
#+begin_src shell :async t
sleep 3
echo foo
#+end_src
** bar
#+begin_src shell :async t
echo bar
#+end_src
With point at beginning of buffer, type M-x org-babel-execute-subtree RET. Source code blocks are now evaluated in parallel, such that the result below the second header (bar) shows up before the first (foo).
Please consider adding support for sequential evaluation of source code blocks with org-babel-execute-subtree.