Categories
程式開發

支撐PB級數據的架構、技術選型案例解析

每個人的電腦上都有一個被數百個進程使用的文件系統。但是,如果要讓成千上萬的用戶同時操作數億個文件,這些文件又包含了 PB 級的數據,那就困難了。一個是磁盤空間不足,一個是無法進行彈性擴展,一個是如果運行一些 IO 密集型的進程或者與其他多個用戶協作就會出現瓶頸。在這篇文章裡,我們把場景轉到一個有數百萬個付費用戶的雲原生文件系統上,你將看到我們如何使出渾身解數來擴展這個系統,讓它支持持續增長的用戶以及 SLA 需求,同時還能提供類似本地文件系統那樣的體驗。

Egnyte …

Categories
程式開發

蘋果起訴前iPhone芯片金牌設計師,當事人反訴其非法監視行為侵犯隱私

蘋果將一名前僱員送上了法庭。據外媒報導,蘋果正在起訴前公司頂級芯片處理器設計師Gerard Williams(杰拉德· 威廉姆斯)。後者於今年2月份離開了蘋果,並聯合創辦了數據處理器公司Nuvia,並擔任首席執行官。蘋果指控Williams違反了勞動合同,理由是他還在蘋果公司工作時就成立了自己的芯片設計公司。

蘋果起訴前芯片設計師

杰拉德· Williams曾是前iPhone芯片王牌設計師,根據LinkedIn的個人資料,Williams 從2010年2月至2019年2月在蘋果工作,他是所有Apple CPU和SOC開發的首席架構師,曾主持了蘋果iPhone和iPad芯片處理器的創建。…

Categories
程式開發

谷歌為 AI 合成音視頻質量引入了新的度量標準

谷歌人工智能的研究人員發布了兩個新的度量標準來衡量由深度學習網絡生成的音頻和視頻的質量,分別是 Fréchet Audio Distance (FAD)Fréchet

Categories
程式開發

神经网络剪枝领域优秀研究论文汇总

剪枝是深度学习中用来帮助开发更小、更高效神经网络的技术。它是一种模型优化技术,通过移除权重张量中冗余的值来实现模型优化。它实现了神经网络的压缩,让神经网络运行得更快,减少了网络训练的计算开销,这在把模型部署到手机或者其他终端设备上时显得尤为重要。在这篇指南中,我们会浏览一下神经网络剪枝领域的一些研究论文。

神经网络剪枝领域优秀研究论文汇总 10

Pruning from Scratch(2019)

这篇论文的作者提出了网络剪枝流水线,能够从一开始训练模型时就进行剪枝。基于CIFAR10和ImageNet数据集做的压缩分类模型实验,可以看出这个流水线减少了原来通用流水线方法里产生的预训练开销,同时还增加了网络的精度。

神经网络剪枝领域优秀研究论文汇总 11

论文网页:https://arxiv.org/abs/1909.12579

下图所示是传统剪枝过程的3个阶段。这个过程包括预训练、剪枝和微调。

神经网络剪枝领域优秀研究论文汇总 12

来源:https://arxiv.org/pdf/1909.12579.pdf

Categories
程式開發

Spark Streaming源碼分析:DStream的內置和運行

貝殼實時計算平台已承接公司各種實時數據任務100多個,日處理消費總量接近250億,採用的底層引擎包括Spark-Streaming和Flink。為了提升數據處理速度和穩定性,我們對各種引擎的處理特性進行了深入研究。在Spark-Streaming中,對流的抽像是使用DStream來定義的,所以想要理解Spark-Streaming的流處理模型,理解DStream的內部實現以及其如何構建和運行是很有必要的。

DStream的構建

我們在定義一個流的處理邏輯時,首先從一個數據的流入源開始,這個數據源使用InputDStream定義,它是DStream的一個子類,之後我們會在其上調用一些tranform類型算子,像map, reduce,filter等等,每調用一個算子,都會創建一個新的DStream,每一個新創建的DStream都保留著當前節點所依賴的上一個節點和當前節點的執行邏輯這兩個部分,這樣,多個DStream節點就構成了一個邏輯執行鏈。

比如如下代碼會生成圖1的執行鏈

stream.map(...).filter(...).foreachRDD(...)

Spark Streaming源碼分析:DStream的內置和運行 32

虛線箭頭描述的是依賴關係

最後當調用action類型的算子時,所有action類型的算子,底層都是通過ForEachDStream實現的。

我們來看ForEachDStream的源碼

Categories
程式開發

超4400萬微軟用戶賬戶易受黑客攻擊

超4400萬微軟用戶賬戶易受黑客攻擊 36

近日,據外媒securityaffairs披露,微軟發現因使用洩露了的密碼,有4400萬個微軟Azure AD和Microsoft Services賬戶容易遭到黑客劫持。

據悉,微軟威脅研究團隊的專家分析了一個數據庫,其中包含來自不同安全漏洞的30億個洩露憑證。

“微軟威脅研究小組檢查了從不同洩露事件中獲取的數十億個憑證,來查找微軟系統中的受損憑證。“微軟在帖子中寫道,“到目前為止,2019年,威脅研究團隊檢查了超過30億個憑據,找到超過4400萬個Azure AD和Microsoft Services賬戶的匹配項。”…

Categories
程式開發

我在雲上試了下流行的十二要素開發方法論

開發人員正在把應用程序遷移到雲上,於是他們在設計及部署雲原生應用程序方面也積累了越來越多的經驗。從這種經驗中出現了一組最佳實踐(俗稱十二要素)。考慮這些要素來設計應用程序,可以讓我們在把應用程序部署到雲上時,能有更高的可移植性和彈性,相比之下,部署到內部環境中的應用程序則需要花更長的時間來提供新資源。

我在雲上試了下流行的十二要素開發方法論 38

本文描述了流行的十二要素APP方法論,以及開發運行於谷歌云平台(Google Cloud Platform,簡稱GCP)上的應用程序時如何應用它。我們使用這種方法可以開發出可擴展和具有彈性的應用程序,這些應用程序能夠以最大靈活性持續地部署。本文旨在供那些熟悉GCP、版本控制、持續集成和容器技術的開發人員參考。

十二要素

十二要素設計還有助於解耦應用程序的組件,從而可以輕鬆地替換每個組件,或無縫地上下擴展。因為這些要素是獨立於任何編程語言或軟件堆棧的,所以十二要素設計可以應用於各種各樣的應用程序。

1. 代碼庫(Codebase)

Categories
程式開發

2019年InfoQ最受歡迎的文章排行榜 | 前端篇

2019年InfoQ最受歡迎的文章排行榜來了!

本次榜單涵蓋十大熱門領域:架構、前端、編程語言、雲計算、AI、開源、技術管理、運維、區塊鏈、產業互聯網…

第一個榜單架構篇已發布。今天,我們來看看前端領域。

2019年,InfoQ一共發布了600+篇前端類的文章,總閱讀量超過300萬。

以下是前十篇最受歡迎的前端文章,你絕對不能錯過!

Top1:《一文看懂前端和後端開發》
作者:Paresh Sagar
譯者:無明
策劃:小智…

Categories
程式開發

從零開始入門 K8s:手把手帶你理解 etcd

etcd 是用於共享配置和服務發現的分佈式、一致性的 KV 存儲系統。本文從 etcd 項目發展所經歷的幾個重要時刻開始,為大家介紹了 etcd 的總體架構及其設計中的基本原理。希望能夠幫助大家更好的理解和使用 etcd。

一、etcd

Categories
程式開發

數據庫內核雜談(一):一小時實現一個基本功能的數據庫

數據庫內核博大精深,很多子系統的設計初看不知所云,但是細讀就會發現其已經做到了極致。但是市面上很少有類似的資源或者課程把數據庫內容的精髓講解出來,因此Facebook 現任 Tech Lead 顧仲賢撰寫了《數據庫內核雜談》的系列文章。

開篇詞

為啥想寫這樣一個系列?

最主要的原因肯定是出於興趣吧,自從接觸了數據庫內核開發,覺得里面真的是博大精深,很多子系統的設計初看不知所云,細讀就發現已經做到了極致。然後特別希望有大牛能夠深入淺出地把這些精髓講解出來。但可惜,一直沒有發現類似的資源或者課程(筆者雖然工作多年,但自覺還是比較注重積累,每天都關注科技新聞,技術博客甚至領域內的新的學術文章)。近期也看到有越來越多的付費培訓,從算法到系統設計,到大數據,應有盡有,但唯獨沒有發現非常好的關於數據庫內核設計的資源。自己當然沒有實力可以去開那樣一門課程,但我希望可以通過寫blog來完善自己的知識儲備。也希望讀者能有所收穫。不過想歸想,自己從來沒下定決心去做這樣一件事,因為總是覺得自己積累還不夠,還要準備準備云云。

什麼契機讓你真正去行動了?

這契機真的是一個非常偶然的故事。上個週末的一天晚上,小葡萄(我最愛且僅愛的老婆大人)正在給我洗臉。感覺閒著也是閒著,加之正好下午剛討論過SQL,我就半開玩笑地說,“老婆,你不是對數據庫感興趣嗎?我給你講講數據庫是怎麼實現的,數據庫是怎麼去執行一個SQL語句的” …