After some web research, I have realized that a kind of "standard" still does not exits. So here is my personal solution using algorithm2e
:
\usepackage[linesnumbered,ruled,vlined]{algorithm2e}
...
\begin{algorithm}
\DontPrintSemicolon
\SetKwBlock{DoParallel}{do in parallel}{end}
\KwIn{Some inputs}
\KwOut{The ouput}
\DoParallel{
Compute a \;
Compute b \;
Compute c \;
}
\DoParallel{
a1\;
b1\;
c1\;
}
\Return{the solution}\;
\caption{Parallel Algo}
\label{algo:parallelAlgorithm}
\end{algorithm}
The result is:

It is based on defining a new command using the expression \SetKwBlock
. The manual of the package can be found here.
Also, I have just added almost the same solution to a similar question on StackOverflow. The answer and the question can be found here.
Using the strategy of defining your keywords in order to describe your algorithm with the details you prefer, it should be always possible. Take into consideration that:
- more details → more you will be close to your programming languages.
- fewer details → more it can be seen as a pseudo-code.
Concluding: it is always a matter of trade-offs: you decide where is the limit (taking into account the target people you refer to).
The same strategy has been used in journal papers (for instance, see Algorithm 3 and 4 of this IEEE journal paper).
algorithm2e
, the package I am using. To be honest, a general answer on how to structure a pseudocode (not only in LaTeX, that I am using right now) can be sufficient