In the paper, a cross-layer optimization between application layer and fabric layer is proposed. The aim is to optimize the end-to-end quality of the dynamic grid application as well as efficiently utilizing the grid resources. The application layer QoS and fabric layer QoS are closely interrelated in Grids since the upper layer service is based on the lower level’s capabilities. A fabric level and application level QoS scheduling algorithm is proposed. We formulate the integrated design of resource allocation and user QoS satisfaction control into a constrained optimization problem. The optimization framework provides a layered approach to the sum utility maximization problem. The application layer adaptively adjusts user’s resource demand based on the current resource conditions, while the fabric layer adaptively allocates CPU, storage and bandwidth required by the upper layer. Key words: application layer, fabric layer, grid computing, distributed computing.