Fault tolerant algorithms are often designed under the t-out-of-n assumption, which is based on the assumption that all processes or components fail independently with equal probability. However, real systems may exhibit dependent failures. Cores and survivor sets are used to build action model for dependent process failures. Using this abstraction, we design an algorithm to solve consensus problem for system configurations that is different and in which is not possible to solve under the t-out-of-n assumption. In consensus problem, each process starts with a proposed initial value, and finally all non-faulty processes decide on the same value. Our algorithm uses the processes in all cores to broadcast messages. Each core reaches agreement separately and even simultaneously in some round with no failure in the core. In the worst-case, the decision can be made in the round that is equal to the size of the minimal core. It is found that different cores may decide on different values, if...