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