Abstract

T HE NEED FOR a powerful, easy to use, parallel language continues despite very significant advances in the area of parallel processing. Many parallel languages are simply old sequential languages with parallel constructs added. This research describes the Data Parallel Language (DPL), a parallel language built from its foundations on parallel concepts. DPL bases much of its expression on data parallelism found in APL2 and Fortran90. DPL uses a method based on Petri nets for controlling the execution of groups of statements. Therefore, it allows the user to express parallel algorithms in a natural, array-based method that is independent of the underlying parallel architecture.APL has been recognized as a naturally parallel language because of its ability to express algorithms on array arguments directly. This eliminates the need for a programmer to convert them into sequential loops. Fortran90 has recently adopted similar data parallel concepts into the Fortran language. DPL borrows from APL2 and Fortran90 to define an extensive data parallel function set. Functions in DPL are designed to take arrays as arguments and map the execution onto the underlying parallel machine.Petri nets provide a very elegant model for expressing concurrent and asynchronous operations. DPL uses the semantics of Petri nets to provide a general purpose control structure. DPL frees the programmer from having a fixed set of parallel control constructs, such as are provided in most parallel languages. Rather, it provides a method to express parallel execution based only on the input and output conditions of parts of the program.This work provides the complete syntax and semantics of DPL and then explores its use. The expressiveness of the language is demonstrated by showing how common parallel structures can be implemented. The ease of use is analyzed using a study of existing APL2 code to determine the amount of implicit parallelism in an array language. Some of the issues of compiling DPL are discussed and theoretical speedups are given. The advantages of DPL over other languages, especially APL2 and Fortran90, are outlined.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call