A new collision detection algorithm is presented that solves the all-pairs collision detection problem using parallel processing. The design of the algorithm is based on a linear octree and runs in parallel with a theoretical performance of O((n log n)=k) run time. The algorithm has been implemented as a collision detection system using object-oriented design techniques and a client-server architecture. The architecture of the collision detection system is designed to use the parallel capabilities of both shared-memory, multi-processor computers and clusters of networked computers. Additionally, the modularity of the collision detection system gives application developers the flexibility to choose the level at which the collision detection system is integrated into an application. Using the collision detection system, experimental results have been generated that demonstrate how the algorithm performs according to the calculated theoretical performance.