Grid computing is a distributed processing architecture that shares CPU resources across a network to function as a single large supercomputer. It allows unused processing power from machines across multiple domains to be allocated to applications that require massive computation. Grids can work on specialized applications too big for a single supercomputer while maintaining flexibility to process smaller problems. They deliver a multi-user infrastructure to accommodate fluctuating large data processing demands.