計算機的出現(xiàn)極大地加速了人類信息化的進程,也帶來了生產(chǎn)力的極大提升。
但隨著CPU性能和計算能力的不斷提高,人們需要用計算機來解決的問題也越來越龐大和復(fù)雜,比如地球大氣的變化和模擬、癌癥靶點藥物的研究、黑洞碰撞的模擬、火箭的發(fā)射、傳染病的洲際傳播等,顯然一臺計算機很難滿足這樣的計算需求,所以各國政府和大型科研機構(gòu)花費巨資打造超級計算機,用專有的網(wǎng)絡(luò)把很多計算機或CPU連接在一起,來完成大型任務(wù)的計算。但超級計算機并不是每一個機構(gòu)或企業(yè)能夠負(fù)擔(dān)得起的設(shè)備,更不用說讓每個個人用戶都能使用。
隨著PC(個人計算機)時代的來臨,還有網(wǎng)絡(luò)科技(包括局域網(wǎng)、廣域網(wǎng)、城域網(wǎng))和互聯(lián)網(wǎng)的迅猛發(fā)展,讓小到一個辦公室、一個城市,大到分布在全球不同地域和國家的計算機都能連接在一起,因而分布式計算(Distributed Computing)應(yīng)運而生。什么是分布式計算?分布式計算就是把一個需要非常巨大的計算能力才能解決的問題,分成許多小的部分,然后把這些部分分配給不同的計算機進行處理,最后把這些計算結(jié)果綜合起來得到最終的計算結(jié)果。這些參與的計算機可以分布在不同的地域,歸屬于不同的國家、機構(gòu)、企業(yè)或個人。
這些大型任務(wù)一般會被拆解成相對簡單和特定的任務(wù),然后分配到很多的計算機上去執(zhí)行。這樣既可以節(jié)省昂貴的硬件投入,又可以大大縮短計算時間,提高計算效率。比如癌癥的靶點藥物計算,就涉及把癌細(xì)胞和幾百萬的蛋白質(zhì)做匹配,找到親和度較高的蛋白質(zhì)。
在當(dāng)前運算速度最快的單臺計算機上,找到這樣一個靶點可能要花費幾年甚至是幾十年的計算時間,這對于迫切需要藥物治療的病人來說,是無法接受的。
在分布式計算場景下,這樣的任務(wù)可以被分配到幾千、幾萬到幾十萬臺計算機上,每臺計算機各自計算一部分蛋白質(zhì)的匹配,那么在一兩天,或是幾個小時之內(nèi)就能得到計算結(jié)果,滿足治病救人的需求。