Underlying Principles Of Parallel Distributed Computing