In this paper, we present a novel switch design of a large scale multicast packet switch which is featured by a modular switch architecture and a distributed resource allocation algorithm. Switch inputs and outputs are grouped into small modules called Input Shared Blocks (ISBs) and Output Shared blocks (OSBs). Input link sharing and output link sharing are cooperated intelligently so that no speedup is necessary in central switch fabric (ATMCSF). Cell delivery is based on link reservation in every ISB. Dual round robin rings connect ISBs to provide a fast and fair link resource allocation among ISBs according to a Queue Occupancy Based Dynamic Link Reservation (QOBDLR) algorithm. QOBDLR is a distributed algorithm in which an ISB can dynamically increase/decrease its link reservation for a specific OSB according to its local available information. Arbitration complexity is O(1). Switch performance is evaluated through simulations for an 256x256 switch. It is demonstrated that the proposed switch can achieve a comparable performance as the output queued switch under any traffic pattern.