What is Grid Computing
Grid Computing is a technology to support the sharing and coordinate the use of diverse resources in dynamic Virtual Objects (VOs). That is the creation, from geographically and organizationally distributed components of virtual computing systems. Grid computing is integrated to deliver desired QoS . Grid computing was first developed to enable resource sharing within far scientific collaborations.
The applications of Grid computing include:
- Collaborative visualization of large scientific datasets
- Distributed computing for computationally demanding data analyses (pooling of computing power and storage)
- And coupling of scientific instruments with remote computers and archives (increasing functionality as well as availability).
Initially, it is designed for scientific and technical computing applications and then for commercial distributed computing applications, including enterprise applications and business-to-business (B2B) partner collaboration. Nevertheless, that is important for commercial computing not primarily as a means of enhancing capability, but as a solution to new challenges related to reliable, scalable, and secure distributed systems.
Issues and Challenges
The allocation of resources and the scheduling of tasks are basic problems in grid computing. The performance of grid resources is mainly achieved by means of two mechanisms: monitoring and prediction. Grid resource monitoring aims to acquire the status, distribution, load, and fault of the resources by means of monitoring methods. While grid resource prediction aims to handle the various principles and running traces of grid resources by means of modeling and analyzing historical monitoring data. Monitoring can provide historical information and current information, while prediction provides future variation information. The grid needs a large amount of monitoring and prediction data: 
- To carry out performance analysis, service control, bottleneck elimination, and fault diagnosis;
- For providing reliable direction for grid resource allocation, job scheduling as well as dynamic load balancing;
- To help grid users to finish computing tasks while minimizing cost on time, space, and money.
Ian Foster, Carl Kesselman, Jeffrey M. Nick, Steven Tuecke, “The Physiology of the Grid, An Open Grid Services Architecture for Distributed Systems Integration”, IBM Corporation, Poughkeepsie, NY 12601
 Liang Hu, Xiaochun Cheng, Xilong Che, “Survey of Grid Resource Monitoring and Prediction Strategies”, International Journal of Intelligent Information Processing Volume 1, Number 2, December 2010 (Available at: https://www.researchgate.net/publication/220500493_Survey_of_Grid_Resource_Monitoring_and_Prediction_Strategies)
 [Image Source] https://computer.howstuffworks.com/grid-computing.htm