Supporting Parallel Applications on Clusters of Workstations: The Intelligent Network Interface Approach