This document discusses fundamental design issues in parallel architecture. It covers naming, operations, ordering, replication, and communication performance across different layers from programming models down to hardware. Naming and operations can be directly supported or translated between layers. Ordering and replication depend on the naming model. Communication performance characteristics like latency, bandwidth, and overhead determine how operations are used. The goal is to design each layer to support the functional requirements and workload of the layer above, within the constraints of the layers below.