We study routing properties of an optical communication architecture for parallel computing. The building block of the system is a model called the Optical Communication Parallel Computer (OCPC). The units of this computer (processors with local memory) communicate with each other by transmitting messages. A processor can transmit a message to any other processor, and to the same processor neither transmission is successful and retransmission must occur. We also consider a 2-stage processor organization scheme, called the 2-stage OCPC, where processors are organized in a two-dimensional array whose rows and columns consist of OCPCs. The problem that motivated this work is the desire to program these architecture models using high-level, general-purpose, and user-friendly programming languages. The languages should be powerful enough to support features like concurrent memory access, virtual processors, barrier synchronization, and both automatic and explicit memory allocation. Such features are captured by the Parallel Random Access Machine and by Valiant's Bulk-Synchronous Parallel Computer model. Both of these models can be implemented using a certain communication pattern called h-relations. We discuss protocols for realizing h-relations on the OCPC and 2-stage OCPC. The protocols primarily deal with contention resolution since contention in an optical system can inhibit message transmission.
b-aim