ABSTRACT

This chapter describes the design and implementation of an object-oriented framework that supports controlled experiments with several alternative parallel process architectures. It presents the results of systematic, empirical comparisons of the performance of several message-based and task-based process architectures implemented on a widely-available shared memory multiprocessor platform. The chapter outlines the two fundamental types of process architectures and classifies related work accordingly. It discusses the key components in our object-oriented framework; and examines empirical results from experiments performed using the framework. The chapter provides performance results obtained by measuring the data reception portion of protocol stacks implemented using several different process architectures. A number of process architectures have been proposed as the basis for parallelizing communication subsystems. Functional Parallelism associates a separate process with various protocol tasks. These protocol tasks execute in parallel and communicate by passing control messages and data messages to each other to coordinate parallel protocol processing.