What do PCWP, PCWC, and P->S mean? Oracle parallel explain plans have a column named IN-OUT, and it often contains values P->S, PCWP, and PCWC. What do these values mean?

Here is an example explain plan with an IN-OUT column:

--------------------------------------------------------------------------
| Id  | Operation                | Name     |    TQ  |IN-OUT| PQ Distrib |
--------------------------------------------------------------------------
|   0 | SELECT STATEMENT         |          |        |      |            |
|   1 |  PX COORDINATOR          |          |        |      |            |
|   2 |   PX SEND QC (RANDOM)    | :TQ10002 |  Q1,02 | P-&gt;S | QC (RAND)  |
|*  3 |    HASH JOIN             |          |  Q1,02 | PCWP |            |
|   4 |     PX RECEIVE           |          |  Q1,02 | PCWP |            |
|   5 |      PX SEND BROADCAST   | :TQ10000 |  Q1,00 | P-&gt;P | BROADCAST  |
|   6 |       PX BLOCK ITERATOR  |          |  Q1,00 | PCWC |            |
|   7 |        TABLE ACCESS FULL | T3       |  Q1,00 | PCWP |            |
|*  8 |     HASH JOIN            |          |  Q1,02 | PCWP |            |
|   9 |      PX RECEIVE          |          |  Q1,02 | PCWP |            |
|  10 |       PX SEND BROADCAST  | :TQ10001 |  Q1,01 | P-&gt;P | BROADCAST  |
|  11 |        PX BLOCK ITERATOR |          |  Q1,01 | PCWC |            |
|  12 |         TABLE ACCESS FULL| T1       |  Q1,01 | PCWP |            |
|  13 |      PX BLOCK ITERATOR   |          |  Q1,02 | PCWC |            |
|  14 |       TABLE ACCESS FULL  | T1       |  Q1,02 | PCWP |            |
--------------------------------------------------------------------------
Paraphrasing from Explain Plan with Parallel Processing:


  The IN-Out column can take on the following values: PCWP, PCWC, P->S, S->P, and
  P->P.
  
  The values PCWP (Parallel Combine with Parent) and PCWC (Parallel Combine wth Child) indicate intra-operation parallelism.  For every PCWP there will be a PCWC. These pairs of operations are executed by the same set of parallel processes.                   
  
  The value P->P (Parallel to Parallel) indicates inter-operation parallelism.  This communication will between two different pairs of parallel processes. The value P->S (Parallel to Serial) always occurs in a SQL statement when the parallel processes send their data to the query coordinator.The value S->P (Serial to Parallel) occurs when a table is read in serial mode, such as a small table, and then its data is sent to an operation that is executed in parallel.


There are additional references available here and here.