Multi core architectures have become popular in mobile SoCs; for CPU’s as well as for mobile GPUs. With the overview of OpenCL for mobile GPU architecture, the SoCs are able to become more influential than before. All this was possible because the programs that were previously performed on the CPU are now being performed on the GPU at much faster rate. Along with this the need for cache coherence protocols has also been introduced. In any multicore system, snoop-based cache coherence protocols2 characteristically tend to have wide coherence traffic on the bus. All this traffic leads to tag lookups in remote data caches. In order to solve cache coherence problem how the snoopy based protocols can be used is well explained in this report. Along with the working of snoopy protocol, what are the advantages and disadvantages of having snoop-based designs are illustrated in the report. Basic idea behind this report is to explain what can be the design issues when implementing snoopy protocols in single level cache and multilevel caches and what are the solutions to avoid the problems. A simple method to support snoop cache coherence it to use it to transfer snoop messages. But with implementation of this arises the problem of having longer response time in case of snoop operations. In order to tell this problem, the report suggests Flexible Snooping algorithms consisting of forward and filter snoop algorithms.