仁達敬談到:英特爾目前一顆CPU能支持10個線程進行工作, 現(xiàn)在我們正在研發(fā)新的芯片,我們將提到眾核架構,能在一顆芯片里面支持200多個線程同時工作,為廣大的應用開發(fā)人員帶來新的機會和挑戰(zhàn),更好地去做并行編程。我們可以看到,現(xiàn)在大多數(shù)的設備,無論是超級本還是一些智能手機,我們都可以看到它們現(xiàn)在已經實現(xiàn)了兩核,甚至一些設備上已經實現(xiàn)了四核的架構。
接下來我們會推出一個新款的架構,叫做Knights Corner,這個還沒有正式上市,但是我們已經做了很多的演示,包括在上面跑一些應用。這個新的架構對于很多開發(fā)人員來說,我想面臨的問題就是:您的應用已經為英特爾這個新的架構準備好了沒有。我們可以看到,這個設備新的架構是可以同時處理200多個線程。所以對于并行編程來說,這是一個新的挑戰(zhàn)和機會。這僅僅是針對一些大型應用,如果只是開發(fā)了基于雙核或者四核的架構的話,其實這個架構上200多個線程同時跑的應用也要做更深一步的考慮和準備。
我們可以看一下,并行就是同時做多件事情,這個以前只有人可以做到,比如說同時可以做多件事情,現(xiàn)在實際上隨著新的芯片技術的發(fā)展,機器也可以做到這一點。對于很多事情的處理來說就變得非常方便和容易。針對絕大部分的軟件開發(fā)人員來說,他們需要相應的工具,包括培訓等等措施來幫助他們實現(xiàn)并行。目前大多數(shù)處理器都是基于兩核、四核或者是八核的架構,但是眾核MIC架構來說是采用了比較新的架構,可以支持50個核。所以這種架構對于絕大多數(shù)的數(shù)據(jù)中心和高性能中心是非常重要的。
我們可以從這張PPT上展示的世界上最大的500家超級計算機的圖當中可以看到,英特爾的架構仍然是最多的。這個圖最后的更新是從去年11月份 (2011 年11月份)。我們可以從11月份的數(shù)據(jù)里看到,93%中國新建的超級計算中心都是基于英特爾架構。對于英特爾來說,中國仍然是非常重要的市場,因為中國市場的業(yè)務量仍然是我們增長最快的。另外我們可以看一下,和我們的合作伙伴來講,對于英特爾在中國的業(yè)務也是非常重要,并且我們也有很多很優(yōu)秀的員工,在英特爾中國開發(fā)了一些很好的新技術。
下面我們可以談一下新舊兩種英特爾架構的發(fā)展歷史。左邊是在15年前制造的機器,當時是世界上首臺達到了每秒1萬億次浮點運算的機器,去年11月份,我們展示了Knights Corner這個眾核架構,我們可以看一下,這么一個小小的芯片,運算能力已經超過了1萬億次浮點運算。在15年以后,可能這個芯片也會裝到我們的手機上面。我們很高興地可以看到,英特爾一直在致力于推動這個并行的進展,在硬件方面我們有多核和眾核的架構,另外我們也能提供一些很好的開發(fā)軟件產品推動這個并行。英特爾實際上一直在做一件事情,就是用我們通用的技術,比如用同一套軟件的工具和平臺去支持多核和眾核的架構。
現(xiàn)在我們知道,目前有這兩種情況可以幫助到大家:一是細化到每一個核上的性能,二是看到核與核之間通訊的情況。這樣為大家提供了一個很大的方便,我們不單是針對單核的性能進行調優(yōu),我們還可以針對核與核之間的通訊進行優(yōu)化。對于很多開發(fā)人員來說,他們既可以看到單個核上運行的情況,另外一方面,他們也可以看到核與核之間通訊的情況,這樣對他們來說是變成了非常容易的一件事情??赡苡泻芏嚅_發(fā)人員他們還沒有意識到這種技術的重要性,但是對于英特爾來說,我們已經提前預知到這個技術的重要性,所以我們不光是可以幫助你去看單個核上的計算能力,另外一方面,我們還可以看到核與核之間的通信效率到底怎么樣。
對于應用來說,編譯器的性能效率是非常高效的,我們可以非常高興地為大家宣布,到目前為止,英特爾的編譯器編輯的性能仍然是最佳的。除了編譯器以外,我們提供了相應的高性能庫,這些庫同樣可以為我們的應用帶來極大的性能提升。這是一個關于加解密算法的情況,加解密對于大家來說,在智能手機上,保護銀行帳號,保護銀行信息是非常重要的。另外一個我們面臨的挑戰(zhàn)就是把大規(guī)模的數(shù)據(jù)量進行傳輸和移動,對于大規(guī)模數(shù)據(jù)量的處理來說,壓縮和解壓的效率是非常關鍵的。像英特爾高性能的數(shù)學庫,也提供了針對各種領域的科學運算的絕佳效率和性能。除了剛才的編譯器和高性能數(shù)學庫、IPV庫提供的高性能的計算和處理能力來說,由于提供了高性能的處理效率。需要強調一點,剛才提到的那些軟件技術和軟件產品,都可以同時支持現(xiàn)有和將來的多核,另外還可以針對眾核MIC架構支持。 應用的另外一個重要性就是面向未來的可擴展性,如何擴展到更多的核和更大的機器上。英特爾的軟件和硬件的完美結合,就確保了以后性能加速的增長。這個圖是我們想給大家提供的一個例子,就是英特爾的Threading Building Blocks(TBB)在多核上絕佳的性能加速比。另外,英特爾MPI提供的是絕佳的通訊效率, 還減少了通訊的延遲。英特爾多性能構建模塊是提供了絕佳的可擴展性,特別是針對C++的開發(fā)人員來說,是最好的并行編程方案。接下來我會重點詳細介紹 TBB,在之前要首先確保應用者的可靠性。
我們可以看到阻礙計算效率的因素,比如一些等待是阻礙了正常計算的效率。我們做很多的工作,包括調試和分析,無非就是解決通訊和計算的效率問題。我們在前面提到多線程構建庫這個技術,所以目前這個技術已經支持了多種操作系統(tǒng),并且可以運行在不同的平臺上面,另外也是在我們應用開發(fā)人員當中非常流行的,它對于很多C++的開發(fā)人員做并行編程來說是一個完整的解決方案。在過去幾年我們也不斷地對多線程構建模塊進行了進一步的開發(fā),無論讓你的TBB應用于嵌入式設備,或者是針對圖形圖像的處理,都是做了很多的工作。
針對剛才提到的英特爾多性能構建庫TBB,在幾年前就有一本書講授這個技術,并且這本書已經翻譯成了中文。我也和另外兩個同事在寫一本新書,是講述如何用TBB和Cilk? Plus進行并行編程的,希望這個書可以在明年7月份出版。用一句話來說,英特爾是一直致力于軟件和硬件上面推行并行化技術的。無論是基于多核的架構還是將要發(fā)布的50個核的眾核架構來說,并行化是非常重要的一件事情。英特爾會提供一些工具,幫助我們開發(fā)人員實現(xiàn)并行這個技術。