Re: [問題] 有關C語言與雲端運算
: → bernachom:HADOOP可以用C嗎@@a? 01/31 00:41
我主要說的是實作部份
Hadoop可以用Stream串接其他語言
也能用Pipe當作C++的接口
: → james732:話說「雲端產業」這四個字實在包山包海,虛擬化技術也算 01/31 00:47
的確,現在的IaaS/PaaS主要也都是在講虛擬化的部份
像AWS就是利用Xen(沒記錯的話)的技術作為底層的VM
不過如何彈性的調動VM、資源排程、開關機器這就是機密了
還有一個重點是計價模式(Pay as you use)
: → bernachom:不然我覺得...雲端==遠端.... 01/31 01:12
至於這個問題可以去Cloud版看翟本喬的說法
或是我在下面推的Berkeley白皮書
基本上雲端不是技術,感覺更像是種願景
跟ubiquitous computing比較像,而不是ajax
不論是Virtualization還是Hadoop式的Distributed System
都算是雲端的一種趨近方式
: → james732:至少產品真的會比較好賣XDDD 不過最近這個詞好像比較冷了 01/31 01:22
: → james732:先前一直喊的雲端OS似乎沒啥下文…最近都沒聽到了 01/31 01:22
SaaS的產品我不清楚
因為我也覺得分不出跟傳統網頁應用有啥差別XD
不過像NoSQL Database、Hadoop、OpenStack這些底層技術一直都在發展
讓我們更便利的存取及管理資源,更接近cloud的遠景
而AWS、私有雲的建設等商業模式也都慢慢步上軌道了
: 推 shemale:hadoop是個過渡期的產物 01/31 03:58
: → shemale:真正的雲端運算,是你不用懂得mapreduce而它已經幫你做完 01/31 03:59
: → shemale:hadoop用java寫時要extends (還是implement)map reduce 01/31 04:00
: → shemale:這只是一個分散運算的方法,還不能稱得上雲端 01/31 04:01
: → shemale:我心目中的雲端只有兩個字:無感 01/31 04:02
: → shemale:你不知道資料在哪裡,也不知道幾台電腦幫你運算 01/31 04:02
: → shemale:它就是幫你做完了,中間過程什麼的我們不用知道,才叫雲端 01/31 04:04
: → shemale:我舉個例子好了,比如說,我開一個1T的檔案strstr找東西 01/31 04:18
: → shemale:我以為只有這台機器在做,其實,這動作被分散到許多台機器 01/31 04:19
: → shemale:你沒有寫什麼MapReduce只是照C的入門書寫的單純用strstr() 01/31 04:20
: → shemale:你只是open一個你以為是local的檔案然後read然後strstr 01/31 04:21
: → shemale:但這檔案其實是分散在不同機器而strstr也在不同機器同時跑 01/31 04:22
: → shemale:這樣才叫雲端,一切都在雲裡,你不用知道它在哪裡怎麼做的 01/31 04:23
其實我同意你的說法。
不論是Virtualization還是Hadoop都還是在發展當中的技術。
但就像是Parallel computing,至少現在沒有能完美自動平行化的compiler,
我們還是需要去寫OpenMP或CUDA,分散系統下也需要MPI或MR。
不過感覺現在的趨勢是底層以Hadoop為基礎做出各種系統(Hive、HBase),
讓上層寫服務的人無感使用這些系統完成任務。
當然我們最終的希望是資源存取看似無限,使用方式也非常簡便。
不過目前來說,這種cloud還雲深不知處XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.249.152.178
※ 編輯: hilorrk 來自: 111.249.152.178 (01/31 15:04)
推
01/31 15:07, , 1F
01/31 15:07, 1F
推
01/31 16:14, , 2F
01/31 16:14, 2F
推
01/31 16:37, , 3F
01/31 16:37, 3F
→
01/31 16:39, , 4F
01/31 16:39, 4F
推
01/31 16:40, , 5F
01/31 16:40, 5F
→
01/31 16:40, , 6F
01/31 16:40, 6F
→
01/31 16:53, , 7F
01/31 16:53, 7F
→
01/31 16:53, , 8F
01/31 16:53, 8F
感謝Favonia提供的資訊
我沒有深入去研究NESL的機制
其實的確有很多研究和工具正在進行
像MS的PPL、Intel的TBB感覺也是在做類似的事
差別在於這兩個都算是C++的extension,而NESL是創新的語言
不過我指的Compiler並不是這種
其實這些Parallel Programming的工具和傳統OpenMP、MPI差不多
都是將演算法做在基於某些特定的model上
而非像shemale說的完全「無感」移殖原有程式
一方面不同的Parallelism model差很多(Data-independent、Task-based)
一方面硬體的不同也會造成平行化策略的不同(CUDA、OpenMP、 MPI)
很難用程式去分析一個普通的應用該用什麼方式吧
我也不是這方面的專家,不過大概就是這個感覺XD
推
01/31 16:58, , 9F
01/31 16:58, 9F
※ 編輯: hilorrk 來自: 111.249.152.178 (01/31 20:07)
→
01/31 21:20, , 10F
01/31 21:20, 10F
→
01/31 21:22, , 11F
01/31 21:22, 11F
→
01/31 21:30, , 12F
01/31 21:30, 12F
→
01/31 21:31, , 13F
01/31 21:31, 13F
→
01/31 21:32, , 14F
01/31 21:32, 14F
→
01/31 21:35, , 15F
01/31 21:35, 15F
→
01/31 21:35, , 16F
01/31 21:35, 16F
→
01/31 21:36, , 17F
01/31 21:36, 17F
→
01/31 21:37, , 18F
01/31 21:37, 18F
→
01/31 21:38, , 19F
01/31 21:38, 19F
→
01/31 21:39, , 20F
01/31 21:39, 20F
→
01/31 21:40, , 21F
01/31 21:40, 21F
→
01/31 21:41, , 22F
01/31 21:41, 22F
→
01/31 21:43, , 23F
01/31 21:43, 23F
→
01/31 21:43, , 24F
01/31 21:43, 24F
→
01/31 21:45, , 25F
01/31 21:45, 25F
→
01/31 21:46, , 26F
01/31 21:46, 26F
→
01/31 21:48, , 27F
01/31 21:48, 27F
感謝Favonia的指教,讓我清楚了許多!
第一點這個我也瞭解
intel的compiler對intel cpu有類似基礎的功能
之前有聽講者說CUDA也有在研究相關的議題
不過關於第三點有些好奇
像NESL也是有自己的parallelism model
而一般的「並行」程式工具也都有自己的parallelism model
演算法需要映至這種model才能達成平行化的目標
在對映的過程中NESL應該也無法避免在原有演算法中
邏輯不獨立卻被當成獨立這種使用者的錯誤吧?
重新設計語言是能使parallelism model和程式核心結合
語意及程式邏輯會比較清楚且更容易除錯
其實我還是不太瞭解您的意思,可否舉個例子?
※ 編輯: hilorrk 來自: 111.249.152.178 (01/31 22:51)
推
01/31 23:00, , 28F
01/31 23:00, 28F
→
01/31 23:01, , 29F
01/31 23:01, 29F
→
01/31 23:02, , 30F
01/31 23:02, 30F
→
01/31 23:04, , 31F
01/31 23:04, 31F
拍謝,是我自己想的太複雜了,連基礎的事都忘記XD
一講到race condition就瞭解你說的沒錯,
這的確需要從語言核心、系統架構和compiler來完成
不過像MapReduce這種Model也能避免同樣的問題
只是限制太大了就是...
※ 編輯: hilorrk 來自: 111.249.152.178 (01/31 23:17)
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章