http://www.cs.otago.ac.nz/staffpriv/hzy/publications.php
MultiCore的工作,由新西蘭Otago大學的Huang Zhiyi教授領導,鏈接。
先是在TOPD上發表1,然後在2016年PCAF發表在B類會議ICPP(internation confe on parallel processing)2,最近(2018)擴展到A類期刊Transactions on Computers(TOC)上3。
Manycore的背景
2011-2012年左右,4中的作者在其論文PPT(下載)上放了一個Intel研究團隊(Research@Intel)的圖。並提到,GPU和multicore CPU代表了更爲巨大的計算能力,但是適合多核平臺的算法和數據結構需要重新考慮。fundamental rethinking of algorithms and data structures
https://arstechnica.com/information-technology/2011/06/research-intel-day-2011-a-brief-glimpse-of-the-clouds-future-according-to-intel/
Cayton5提到,線序是一個比較適合並行的方法,
傳統AkNN的問題
However, these approximate algorithms do not work
efficiently on multicore systems [11], [12] due to memory
latency and bandwidth issues (also known as the memory
wall). 這些方法(approximate algorithms)在多核系統上效率並不高6,7,因爲有存儲延遲和帶寬問題(也被稱爲memory wall)
關於原因
8 提到,most of the existing algorithms are hard to parallelize either due to the sequential nature of the algorithm or due to the inherent complexity of the algorithm. ①算法本身是爲順序設計的,而且設計的太複雜
PCA-based filtering (PCAF)
PCA
主分量分析(Principal Components Analysis, PCA)是一種流行的降維算法,在某種環境下能夠降低維度災難(curse of dimensionality)的影響。PCA使用一種正交變換能夠將一組各個分量十分相關的數據轉化成一組各個分量線性不相關的數據,不相關的分量被稱爲主分量。
It uses an orthogonal transformation to convert a set of data values of possibly correlated variables into a set of data values of linearly uncorrelated variables called principal components.
對於一個高維數據集來說,如果維度之間的相關性很強,那麼這個數據集的信息就能夠被一小部分主分量代替,這些主分量可能只有非常低的維度。使用主分量,能夠爲一個數據集找到一個投影(數據集),它具有和其主分量相同的維度,同時包含了絕大部分原有數據集的信息。換句話說,如果在原始空間裏面,查詢點到某個參考點間距離很小,那麼在投影空間二者之間的距離也會是相比例的很小的(proportionally small)。
在很多實際應用中,特徵維度或多或少都會是有一些相關的9
PCAF
PCAF使用主分量下的映射值來估計查詢點與各個參考點距離的一種排序。注意,我們估計的是距離的排序,而不是原始距離,因爲依據投影值計算出的距離和原始距離不一樣,它屬於一個低維空間。由於主分量是決定原始點間相互關係的主要因素,那麼基於相關投影計算出的排序應當十分類似於原始空間下的距離排序,不過前提是主分量降維沒有丟掉太多數據。
評價與問題
詳細看了簡介、方法和部署,看了部分實驗。感覺和問題如下:
- 感覺技術和方法上直觀地很簡單,當然肯定有他的道理,但是真的傳統精妙沒有突破嗎?
- 數據集的難度普遍偏小,規模最大是SIFT128,56074個參考點;最高維度是HAR561維,7352個點;
- Fig 3,4的分析內存延遲的方法值得學習
下一步
- 看PCAF[J]
- 看代碼,跑下實驗;尤其數據集需要擴展下
- 綜述這個領域其他方法
- 探究近鄰圖的潛力
PCAF[J]
擴充了實驗,在GIST1M上,BF的Intel加速比爲28,BF的AMD加速比爲70
參考文獻
- Tang X., Huang Z., Eyers D., Mills S., and Guo M., Scalable Multicore k-NN search via Subspace Clustering for Filtering, IEEE Transactions on Parallel and Distributed Computing Systems (TPDS), Vol. 26(12), DOI: 10.1109/TPDS.2014.2372755. ↩
- Huan Feng, David Eyers, Steven Mills, Yongwei Wu and Zhiyi Huang. PCAF: Scalable, High Precision k-NN Search Using Principal Component Analysis Based Filtering. In Proceedings of the 45th International Conference on Parallel Processing (ICPP 2016), 2016. ↩
- Feng H., Eyers D., Mills S., Wu Y., and Huang Z., Principal Component Analysis based Filtering for Scalable, High Precision k-NN Search, IEEE Transactions on Computers, Vol. 67:2, 2018. ↩
- L. Cayton, “Accelerating nearest neighbour search on manycore systems,” in Proc. IEEE Int. Parallel Distrib. Process. Symp., 2012, pp. 402–413. ↩
- L. Cayton, “Accelerating nearest neighbour search on manycore systems,” in Proc. IEEE Int. Parallel Distrib. Process. Symp., 2012, pp. 402–413. ↩
- M. Al Hasan, H. Yildirim, and A. Chakraborty, “Sonnet: Efficient approximate nearest neighbor using multi-core,” in Proc. IEEE 10th Int. Conf. Data Mining, 2010, pp. 719–724. ↩
- L. Cayton, “Accelerating nearest neighbour search on manycore systems,” in Proc. IEEE Int. Parallel Distrib. Process. Symp., 2012, pp. 402–413. ↩
- M. Al Hasan, H. Yildirim, and A. Chakraborty, “Sonnet: Efficient approximate nearest neighbor using multi-core,” in Proc. IEEE 10th Int. Conf. Data Mining, 2010, pp. 719–724. ↩
- K. Mikolajczyk and C. Schmid. A performance evaluation of local de- scriptors. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 27(10):1615–1630, 2005. ↩