Emulating Virtual Processors in a Data Parallel Language

碩士 === 國立中正大學 === 資訊工程學系 === 84 === Programming in parallel is usually much more difficult than programming in serial. The programming languages currently provided by multicomputers are generally using low-level communication primitives suc...

Full description

Bibliographic Details
Main Authors: Liu, Tsai-Chu, 劉財居
Other Authors: Nai-Wei Lin
Format: Others
Language:zh-TW
Published: 1996
Online Access:http://ndltd.ncl.edu.tw/handle/08965673963102302232
Description
Summary:碩士 === 國立中正大學 === 資訊工程學系 === 84 === Programming in parallel is usually much more difficult than programming in serial. The programming languages currently provided by multicomputers are generally using low-level communication primitives such that programming in these languages is tedious and error prone. The support of high-level parallel programming languages are therefore very important for multicomputers. We implement a high-level parallel programming language CCC. CCC provides three salient features: virtual processors, synchronous execution, and global name space. These features are specified using a new construct --- domain construct. The domain construct provides an easy way to declare a data parallel computing environment. The compiler of CCC language translates high-level CCC programs into low-level C programs on nCube 2. The number of physical processors in a multicomputer is usually fixed, while the number of virtual processors generally vary from application to application and is sometimes more than the number of physical processors. When such a situation occurs, each physical processor needs to emulate several virtual processors. This paper describes an approach to mapping the virtual processors in CCC programs to the physical processors in the nCube 2 while preserving the same semantic.