圖 1) 增加紋理集帶寬的舊方法

當在渲染墻上運行的作業(yè)需要訪問紋理集時,它會隨機選擇一個文件服務(wù)器并從該副本訪問紋理。此流程使我們可以將紋理負載分攤給多個文件服務(wù)器,從而極大地改善了性能。盡管該解決方案要優(yōu)于依靠單一文件服務(wù)器,但發(fā)布和復制流程很復雜,并需要進行非常耗時的一致性檢查來確保副本保持相同。

我們開始注意到 NetApp FlexCache 和 SA600 存儲加速器在解決由紋理集導致的性能問題方面是一種更為簡單的方法。FlexCache 軟件在存儲基礎(chǔ)結(jié)構(gòu)中創(chuàng)建一個緩存層,自動適應(yīng)不斷變化的使用模式,從而消除性能瓶頸。此外,F(xiàn)lexCache 可使用本地高速緩存卷自動復制和提供基礎(chǔ)結(jié)構(gòu)中任何位置的熱數(shù)據(jù)集。

無需手動將紋理數(shù)據(jù)復制到多個文件服務(wù)器,F(xiàn)lexCache 允許我們動態(tài)地緩存當前常用的紋理并通過 SA600 提供給渲染墻。我們對該解決方案進行了測試,結(jié)果發(fā)現(xiàn)該解決方案在我們的環(huán)境中運行得非常好,因此,在《阿凡達》預定完成前的八個月,我們做了一次大膽的嘗試:安裝了四個 SA600 系統(tǒng),每個系統(tǒng)都安裝有兩個 16 GB 性能加速器模塊 (PAM)。(PAM 作為高速緩沖存儲器以進一步降低延遲。)

圖 2) 使用 NetApp FlexCache、SA600 和 PAM 增加紋理集帶寬的改進方法

總紋理集大約有 5 TB,但 FlexCache 準備就緒后,我們發(fā)現(xiàn)在給定的任意時間里僅大約 500 GB 的紋理集是熱數(shù)據(jù)集。每個 SA600 都有足夠的本地磁盤來容納熱數(shù)據(jù)集,并且當熱數(shù)據(jù)集更改時,無需我們干預,高速緩存會自適應(yīng)這種變化。總吞吐量超過 4 GB/秒,遠遠超過我們以前曾經(jīng)達到的吞吐量。

通過 FlexCache 緩存紋理是卓越的解決方案。它使作業(yè)運行得更快,并簡化了管理紋理集的工作。我們進入了四年電影項目的最后一年。如果我們引入 SA600 后遇到無法快速解決的問題,我們可能不得不撤消 SA600 的部署。但是,一星期過去了,我們幾乎忘記了它們,直到影片結(jié)束才注意到。這正是令 IT 人員感到高興的事情。

存儲性能對渲染發(fā)生的速度有很大影響。存儲瓶頸可能會阻礙渲染庫的吞吐量。在《阿凡達》制作的最后一年,我們開始深入研究這種瓶頸產(chǎn)生的影響,并在每項作業(yè)中增加了許多監(jiān)控功能和統(tǒng)計信息。

有許多固定的待辦作業(yè)等待運行;每天有許多比渲染墻可能實際完成的作業(yè)還要多的作業(yè)等待渲染。Weta Digital 的“牧馬人”團隊負責監(jiān)控作業(yè),以確保每項作業(yè)都能按預期進行。我們引入 FlexCache 后的一天早晨,“牧馬人”團隊的組長來到我的辦公室報告一切工作都已完成。FlexCache 運行得實在是太快了,他猜想我們可能打破了某些記錄。

為什么選擇 NetApp?

我是 NetApp 的忠實用戶已經(jīng)有很長時間了。第一次使用 NetApp 是在 90 年代末網(wǎng)絡(luò)公司興起之時,當時我在阿拉斯加一家 ISP 工作。那次使用經(jīng)歷讓我印象非常深刻,以至于后來在其他幾家公司我都引入了 NetApp 存儲。當我來到 Weta Digital 時,我高興地發(fā)現(xiàn)該公司已經(jīng)在使用 NetApp 存儲了。

對于像 Weta Digital 這樣的公司,發(fā)生故障也會泰然處之,因為沒有任何其它公司使用與 Weta Digital 完全一樣的方式來實施基礎(chǔ)結(jié)構(gòu)。關(guān)鍵在于,當故障發(fā)生時,你需要有供應(yīng)商來幫助你修復它。即使我在規(guī)模較小的公司工作時,NetApp 都始終有專人花時間同我一起研究問題,直到問題解決為止。你可能會認為這只是公事公辦罷了,但依我的經(jīng)驗來看,能做到這種程度的公司并不多見。

存儲可能很復雜。NetApp 技術(shù)使存儲盡量簡單。當然,我覺得 NetApp 也有不足之處,但跟我所知道的其它公司相比,NetApp 不僅能做出易于使用的多功能產(chǎn)品,而且能夠給予客戶強有力的支持。這就是我們?yōu)槭裁蠢^續(xù)選擇 NetApp 的原因。

分享到

liukai

相關(guān)推薦