The NIP Parallel Object-Oriented Computational Model (1999)

Author(s): Watson P, Parastatidis S

    Abstract: Implicitly parallel programming languages place the burden of exploiting and managing parallelism upon the compiler and runtime system, rather than on the programmer. This paper describes the design of NIP, a runtime system for supporting implicit parallelism in languages which combine both functional and object-oriented programming. NIP is designed for scaleable distributed memory systems including networks of workstations and custom parallel machines. The key components of NIP are: a parallel task execution unit which includes an efficient method for lazily creating parallel tasks from loop iterations; a distributed shared memory system optimised for parallel object-oriented programs; and a load balancing system for distributing work over the nodes of the parallel system. The paper describes the requirements placed on the runtime system by an implicitly parallel language and then details the design of the components that comprise NIP, showing how the components meet these requirements. Performance results for NIP running programs on a network of workstations are presented and analysed.

      • Date: 9 January 1999
      • Conference Name: 3rd International Workshop on Communication, Architecture and Applications for Network-based Parallel Computing (CANPC)
      • Volume: 1602
      • Pages: 122-136
      • Publisher: Springer
      • Publication type: Conference Proceedings (inc. abstract)
      • Bibliographic status: Published

      Professor Paul Watson
      Professor of Computing Science