電腦效能應用與安全研究室 Performance, Applications and Security Lab


我們的研究範圍很廣,從嵌入式系統、手機應用、一直到雲端計算、商務應用、資訊安全都有做。
我們的合作研究夥伴很多,包括聯發科、IBM、中研院、資策會,還有和台大、清大、交大的教授合組研發團隊
,包括高階應用處理器架構研究、虛擬化技術、異質計算、系統軟體等重要技術的研究與創新,我們很關切台灣人才與產業的未來。

2013年4月18日 星期四

什麼是big data研究?

Big data的商機,我在前一篇網誌『Big Data技術是台灣的未來?是有機會的,但是不要編神話好嗎?』談過,翟本喬學長也發了一篇談『IoT 和 Big Data 商機的迷思』的網誌。

這裡來分享我目前對於big data研究的認知。

嚴格來講,big data applications, big data analytics, big data platforms, 還有所謂的data science,這些名詞的重點不同,有微妙、但頗重要的差別的。搞懂這些名詞,大概就對於big data研究的現況,有些粗淺的認識。(那也就是我的現況)

- Big data applications: 利用big data做出有用的、有人想要的結果,應用可以包山包海,你可以不擇手段使用data,沒有人說要用到多少data,只要能做出有效的結果就行了。一個完整應用,可能有資料收集、儲存、管理、處理、呈現、隱私控管、商業模式等環節,每個環節可能都不容易,需要有專家和專門技術。
  • 收集:IoT可以是蒐集big data的手段之一
  • 儲存:Hadoop可以是儲存big data的方法之一
  • 管理:目前有很多針對不同應用的Cloud database可以管理big data
  • 處理:MapReducece、SPSS還有很多其他方法可以用來處理big data
  • 呈現:怎麼讓「人」很快地看得到未經處理或處理後big data的意義?
  • 隱私控管:如何界定資料擁有者和使用者的權利義務?
  • 商業模式:如何合情合理合法蒐集big data以及由big data獲利?
- Big data analytics: 用什麼方法來分析big data幕後代表的意義和智慧?傳統學術界在資料分析上,有很多學門學派,方法不大一樣,各有重點應用領域,學術殿堂不同,產業也不同,往往井水不犯河水。例如統計學,雖然廣泛用於各種領域,但用於社會科學研究的統計方法,和用於工程的,有很大差別。做data mining的人,希望做出能夠用電腦自動發現data幕後意義的系統,和搞統計的人,亦敵亦友。但所謂的分析,也不限於統計數字和科學領域,當人類在電腦虛擬世界的活動變得更頻繁了,在虛擬世界裡面所產生和留下來的資料,又代表什麼意義呢?這些資料在分析和組合之後,又創造出新的資料,這個循環又能夠孕育出什麼好東西呢?

- Big data platforms:要處理big data,沒有平台,什麼都免談。跟很多其他computer science的研究不同,你把演算法、程式都寫好了,做一個小案例出來,做big data的人可能不大理你。所以,做big data的進入門檻很高,要先有平台,包括:設備、軟體、營運。這裡面學問很多,但我們要問的是,做big data用的平台技術,和做個人電腦、商用伺服器、高效能計算(超級電腦)、雲端服務等等相比較,這些領域裡面有哪些現有的技術,是big data的重點?有哪些重要的不同?有哪些新的需求?做為一個樂衷於電腦系統設計和效能表現的學習者,我們除了研發新技術去滿足因應big data applications所出現的新需求之外,我們還可以探究如何好好的整合現有的技術。因為是big data,資料處理的時間和運算資源通常很龐大,幫這些大型應用節省時間或資源,即便是省下10%,也是很重要的工程。如果每個環節上都能夠省一點,甚至打通特定的關節,總和起來就比別人快或是省很多。平行和分散式處理,是big data研究開發者的好朋友,在各個硬軟體層上,都有很多平行或分散式的處理方式,包括:
  • ASIC/FPGA for application-specific processing
  • Vector/SIMD processing
  • Multicore processors
  • Heterogeneous architecture (CPU+GPU+DSP+IOP)
  • Dataflow and data parallel programming
  • Programming for heterogeneous, distributed systems
各種不同的big data應用,有不同的需求,是用的技術也不同,這是從事「平行和分散式處理」實務研究好玩的地方,但是很奇怪,很多人不懂。有幾次,台灣和中國的業界來找我談合作,這些來談的人,總是想知道我們有沒有「獨門絕招」或是「武林秘籍」,可以快速改善他們的應用平台的效能。我說,你要我唬弄你(和你的老闆)嗎?在沒有實際看到你的系統和應用之前,我怎麼有那個神通力,提出具體的建議,或是打包票說可以讓你的系統變成2倍快?有幾個政府相關的案子,特別是如此。還沒有真正做下去,就要先提KPI,真正的系統又不給碰,怎麼做?

- Data science:這是數理學界比較喜歡的用語。如果你是應用數學家、物理學家,乃至於在醫學、經濟等學門做big data的研究,你總不想跟人家說,我在開發Big data applications、做Big data analytics。數理學界真的願意擁抱big data嗎?就現況而言,某些有看到成果的領域是比較積極的,但是要科學家走出象牙塔去面對巨量的資料,想想也是一件需要勇氣的事情,不是嗎?

1 則留言:

  1. 老師, 如果有十五億筆資料, 每一筆都跟日期時間有關, 要做到random access. 那這算是big data嗎?
    如果是,那在業界用甚麼solution比較好? ER model DB? Object DB? Hadoop? 其他?

    回覆刪除