Document Type

Technical Report

Publication Date


Technical Report Number



As a class project, we implemented a version of CVL, the C Vector Library, on a DECmpp 12000/Sx 2000, which is equivalent to the MasPar MP-2 massively parallel computer. We compare our implementation, DartCVL, to the University of North Carolina implementation, UnCvl.

DartCVL was designed for the MP-2 architecture and UnCvl was designed for the MP-1. Because the MasPar MP-1 and MP-2 are functionally equivalent, both DartCVL and UnCvl will run on either. Differences in the designs of the two machines, however, may lead to different software design decisions. DartCVL differs from UnCvl in two key ways. First, DartCVL uses hierarchical virtualization, whereas UnCvl uses cut-and-stack. Second, DartCVL runs as much serial code as possible on the console, whereas UnCvl runs all serial code on the Array Control Unit (ACU). The console (a DECstation 5000/240 at Dartmouth) has a significantly faster serial processor than the ACU.

DartCVL is optimized for the MP-2, and our timing results indicate that it usually runs faster than UnCvl on the 2048-processor machine at Dartmouth.