[From SQL Server Performance
Transformation and Execution Tree
A synchronous transformation processes incoming rows and passes them on in the data flow one row at a time. Output is synchronous with input, meaning that it occurs at the same time. Therefore, to process a given row, the transformation does not need information about other rows in the data set. In other words, when a transform can modify the row in place so as to not change the physical layout of the result set, then it is said to be a synchronous transform. The output of a synchronous component uses the same buffer as the input and do not require data to be copied to a new buffer to complete the transformation. Reusing of the input buffer is possible because the output of a synchronous component usually contain the same number of records as the input, it means each output row has a 1:1 relationship with an input row (though you can use the redirect method to conditionally out rows to different outputs as the multicast and conditional split transformations do).
The article continues at