<p><b>Abstract</b>—A <it>Global Data</it> is a vector with one entry per process. Each entry must be filled with an appropriate value provided by the corresponding process. Several distributed computing problems amount to compute a function on a global data. This paper proposes a protocol to solve such problems in the context of asynchronous distributed systems where processes may fail by crashing. The main problem that has to be solved lies in computing the global data and in providing each noncrashed process with a copy of it, despite the possible crash of some processes. To be consistent, the global data must contain, at least, all the values provided by the processes that do not crash. This defines the <it>Global Data Computation (GDC)</it> problem. To solve this problem, processes execute a sequence of asynchronous rounds during which they construct, in a decentralized way, the value of the global data and eventually each process gets a copy of it. To cope with process crashes, the protocol uses a perfect failure detector. The proposed protocol has been designed to be time efficient: it allows early decision. Let <tmath>$t$</tmath> be the maximum number of processes that may crash, <tmath>$t<n$</tmath> where <tmath>$n$</tmath> is the total number of processes, and <tmath>$f$</tmath> be the actual number of process crashes (<tmath>$f\leq t$</tmath>). In the worst case, the protocol terminates in <tmath>${\rm min}(2f+2,t+1)$</tmath> rounds. Moreover, the protocol does not require processes to exchange information on their perception of crashes. The message size depends only on the size of the global data.</p>