16:332:566 INTRODUCTION TO PARALLEL AND DISTRIBUTED COMPUTING