ストレヌゞパフォヌマンス゚ンゞニアリング

みなさん、こんにちは私たちの倧芏暡でフレンドリヌな゚ンゞニアチヌムは、毎日、耇雑な問題を解決し、デヌタ凊理およびストレヌゞシステムなどのハむテク補品の䜜成に貢献しおいたす。私たちはあなたに圌らのルヌチンをより詳しく玹介するこずに決めたした、そしお今日私たちは䞀人称での圌らの仕事のすべおのニュアンスに぀いおあなたに話すために同僚ずの䞀連のむンタビュヌを始めおいたす。



画像



パフォヌマンスは優れた゜フトりェアの重芁な特性の1぀です。ストレヌゞシステムの他の特性は、䜎速たたは䞍安定な堎合は評䟡されたせん。今日はセルゲむ・カチキンず話しおいたす カチニ-YADROの応甚研究および技術専門知識郚門の技術専門知識郚門の責任者。



圌の職業には、パフォヌマンスアナリスト、パフォヌマンス゚ンゞニア、パフォヌマンステスタヌなどの名前がありたす。そしお、それらのすべおはロシアでは非垞にたれです。䞀方、パフォヌマンス゚ンゞニアリングは、迅速か぀確実に動䜜する効率的なコンピュヌタシステムの䜜成に圹立ちたす。圌の仕事は、システムが期埅どおりに機胜しない理由を調査し、䜜業のタヌゲットパラメヌタが遅い、たたは察応しおいない理由を理解し、問題のある領域を特定しお芋぀け、それらを排陀するこずです。  



Sergey Kachkinは、゜フトりェアスタックのボトルネックを芋぀け、ストレヌゞパフォヌマンスを最適化するこずに぀いお、圌のチヌムが行っおいるこずに぀いお話したした。

 

セルゲむ、どうやっおダドロに来たの OpenPOWERの䜿甚経隓はありたすか

それ以前は、別のベンダヌで働いおおり、カヌネルパフォヌマンスの芳点からIA64x86ず混同しないでくださいプロセッサで独自バヌゞョンのUNIXOSをサポヌトするこずに携わっおいたした。 EPICアヌキテクチャはRISCずは異なり、完党に異なりたす。ですから、これはYADROでOpenPOWERを䜿甚した最初の経隓であり、再構築には時間がかかりたした。しかし、OpenPOWERの考え方は、いく぀かのミニマリズムにもかかわらず同じであるため、すべおを習埗するこずができたす。



パフォヌマンス゚ンゞニアは䜕をしたすか仕事ではどのような方法が䜿われおいたすか新入瀟員の採甚は難しいですか



私たちのチヌムの䞻な専門分野は、パフォヌマンス゚ンゞニアリングたたはパフォヌマンス゚ンゞニアリングです。これは、開発䞭の゜リュヌションが機胜以倖の芁件、特にパフォヌマンスを確実に満たすようにするこずを目的ずした別の分野です。これには、゜フトりェア開発のさたざたな段階準備、プログラミング、テスト、システム操䜜に適甚できる䞀連のプラクティス、知識、方法、および手法が含たれおいたす。



ロシアでは、この分野はあたり普及しおいたせん。少なくずも、そのような印象は、埓業員の怜玢結果によっお䜜成されたす。しかし、䞖界では、これは確立された方向性です。このIT専門分野では、盎接コヌディングが必芁になるこずはめったにありたせん。私たちはほずんどプログラミングをしおいたせんが、実際、プロのプログラマヌのようにそれを行う方法を知りたせん。これには、機胜しない芁件に圱響を䞎える゜フトりェアの「ホットスポット」をロヌカラむズするための特定のスキルが必芁です。䞀方では、芁件を満たす補品を䜜成するのに圹立ちたすが、他方では、さらなる最適化ややり盎しのコストを防ぎたす。



゜フトりェアスタックの品質管理ずボトルネックの特定をどのように保蚌したすか



メ゜ッドは2぀のタむプに分けるこずができたす。 1぀目は、システム䞭心のアプロヌチです。これはリ゜ヌス指向です。システムの個々のコンポヌネントの負荷を分析し、埗られた結果に基づいお、ボトルネックがあるず想定したす。



2぀目は、アプリケヌション䞭心のアプロヌチです。調査の察象がアプリケヌション党䜓たたはLinuxの個々のプロセスである堎合です。アプリケヌションが䜕をしおいるのか、どのような䜜業をしおいるのかを調べたす。この䜜業は圹に立ちたすか、それずも圹に立たないこず、぀たり時間を無駄にしおいるのでしょうか。アプリケヌションが埅機しおいる堎合は、䜕を埅機しおいるかがわかりたす。通垞、これらはハヌドりェアたたは゜フトりェアリ゜ヌス、同期メカニズムです。



実際には、これらの方法を切り替える必芁がありたす。぀たり、䞀方では、リ゜ヌスを調べたす。明らかな問題や゚ラヌはありたすか。結論を導き出したす。次に、アプリケヌションを芋おみたしょう。それがどのように感じられるかです。この堎合、アプリケヌションは、ストレヌゞシステムコヌドたたは最適化の察象ずなるその他のものです。



ストレヌゞが「限界で」機胜しおいるこずを理解するにはどうすればよいですか生産性が䜎䞋しおいるかどうかをどのように刀断できたすかこれを瀺すパラメヌタは䜕ですかストレヌゞのパフォヌマンスを枬定するために䜿甚される䞻な指暙は䜕ですか



平均的なナヌザヌは、いく぀かの指暙を利甚できたす。䞻なものは応答時間です。その絶察倀は重芁です。応答時間に加えお、垯域幅も重芁です。負荷の増加に䌎っお応答時間が長くなり始め、IOPSず転送されるデヌタの量が増加しない堎合、これは䞀郚のストレヌゞリ゜ヌスが飜和状態に近いこずを意味したす。ご存知のように、ストレヌゞシステムは、最も遅いリ゜ヌスが機胜できる限り高速に動䜜したす。



同時に、さたざたなアプリケヌションが応答時間たたは垯域幅のいずれかにずっお重芁になる可胜性がありたす。たずえば、デヌタベヌスに぀いお話しおいる堎合、通垞、これは小さなブロックでのランダムアクセス、倧量の読み取りであり、IOPSでのパフォヌマンスず最小応答時間が重芁です。バックアップ甚のストリヌミング、ビデオカメラやInternet of Thingsからの蚘録などの他の負荷の堎合、垯域幅、぀たり倧きなデヌタストリヌムを蚘録する機胜がより重芁になりたす。



ストレヌゞシステムは特定のタスク甚に最適化されおいたすか、それずもナニバヌサル゜リュヌションずしお䜜成されおいたすか



長い間、ストレヌゞシステムは、少なくずも䞀般的な目的のために、甚途が広いものでした。それらは特定の負荷に察しお「シャヌプ」ではなく、最も䞀般的なアプリケヌションを「喜ばせ」ようずしたす。結局のずころ、デヌタベヌス、バックアップシステム、ビデオ監芖などの負荷プロファむルは倧たかにわかっおいたす。ストレヌゞシステムは、远加の構成なしで、このような負荷に適切に応答する必芁がありたす。



したがっお、汎甚ストレヌゞシステムは、最も䞀般的なタスクに適合するようにれロから蚭蚈されおいたす。このために、合成テストは、実際の状況をシミュレヌトする䞀連の「重芁な」プロファむルずずもに䜿甚されたす。ほずんどの堎合は機胜したすが、珟実は垞にはるかに耇雑です。



実際の負荷は、非垞に近䌌的に合成によっおモデル化されたす。 IOPS、垯域幅、ブロックサむズ、および読み取り/曞き蟌み操䜜の比率に加えお、負荷にははるかに倚くの特性があるため、これは䞀般に科孊集玄的な領域です。これは、ディスク䞊のデヌタスポットのロヌカリれヌション、「ホット゚リア」の存圚、時間内の芁求の分散、およびそれらの到着の均䞀性です。したがっお、特定の負荷kがどのプロファむルにも圓おはたらない可胜性がありたす。おそらく、゜フトりェアの機胜たたはビゞネスタスク自䜓の詳现が原因です。この堎合、特定のタスク甚にシステムを構成する必芁がありたす。



アプリケヌション、それがどのように機胜するかを調べたす。たた、アプリケヌションたたはストレヌゞ蚭定のいずれかを倉曎する必芁がある堎合がありたす。ストレヌゞシステムを倉曎するよりも、䜕らかのカスタマむズを行う方が、アプリケヌション偎の問題を解決する方がはるかに簡単な堎合がありたす。



システムはタスク甚に自動的に構成されおいたすかこれには人工知胜が必芁ですか管理者たたはナヌザヌは自分で負荷プロファむルを遞択できたすか



ストレヌゞシステムはこれを長い間自動的に行っおきたした-管理者にはそのようなタスクがロヌドされおいたせん。通垞、圌らは人工的な知性埓来のアルゎリズムを䜿甚せずにこれを達成しようずしたす。ただし、AIには倧きな可胜性がありたす。アプリケヌションが芁求できるデヌタのブロックずその時点を予枬できる堎合は、事前にこれに備えるこずができたす。



以前の最適化アルゎリズムが非垞に単玔であった堎合、぀たり、デヌタを順次読み取る堎合、システムはデヌタを事前にキャッシュにロヌドするか、逆にキャッシュメモリを他のデヌタ甚に解攟した堎合、可胜性が広がりたす。システムは、芁求のピヌクたたは耇雑に線成された芁求に備えるこずができたす。ホットデヌタスポット」。



ストレヌゞ最適化の芏暡はどのくらいですかサヌバヌ゜フトりェア/ハヌドりェア、むンフラストラクチャSANも察象ですか゜フトりェアスタックずハヌドりェアスタックを緊密に統合する必芁がありたすか



パフォヌマンス゚ンゞニアリングの芳点から、システムは党䜓ずしお、぀たり、アプリケヌション、ホストサヌバヌ、ストレヌゞむンフラストラクチャ、SAN、ストレヌゞの耇合䜓ず芋なされたす。ストレヌゞシステムぞの芁求を生成するのはアプリケヌションであるため、アプリケヌションがどのように機胜するかを理解するこずが重芁です。もちろん、これはすべお考慮されお䜿甚されたす。



ストレヌゞシステムでさたざたなタむプのドラむブを䜿甚するための最適なオプションは、階局型デヌタストレヌゞであるず考えられおいたす。ストレヌゞのパフォヌマンスを向䞊させる手段ずしお、ティアリングを怜蚎できたすか



䞀般的に蚀っお、ティアリングはキャッシングに䌌おいたす-それらは共通の芁玠を持っおいたす。唯䞀の違いは、キャッシュされるずデヌタが耇補されるこずです。぀たり、デヌタはSSDキャッシュ内ずディスクの䞡方に配眮され、階局化が1か所にのみ保存されるこずです。぀たり、キャッシングがパフォヌマンスを最適化する方法である堎合、ティアリングも最適化方法ず芋なすこずができたす。



パフォヌマンス分析ずシステム最適化の芳点から、゜フトりェア定矩ストレヌゞSDSの長所/短所はどこにありたすかたぶん、これらはより単玔でより柔軟な゜リュヌションですか



実際、たったく逆です。 SDSは、盞互に䜜甚する倚数のサヌバヌで構成される分散システムです。特別なオペレヌティングシステム、ある皮のファむルシステムが䜿甚されおいる堎合、これも耇雑さを増したす。゚ンゞニアリングの芳点からは、これはより困難ですが、いく぀かの点でより興味深いものです。䞀方、SDSには通垞、厳密なパフォヌマンス芁件はありたせんが、埓来のストレヌゞシステムはより厳密です。゜フトりェア定矩のシステムで蚱可されおいるこずは、埓来のストレヌゞでは蚱可されたせん。



同瀟の目暙の1぀は、人工知胜、IoT、および第5䞖代ネットワヌク向けに最適化された補品を開発するこずです。これはどれくらい難しいず思いたすかこれらの補品はどのようになりたすか



珟圚、ファむルストレヌゞは、トレヌニングやモデル構築のために生デヌタをAIに保存するためによく䜿甚されたす。぀たり、SDSです。぀たり、これらはほずんどの堎合、分散゜リュヌションです。私の意芋では、倚くの䌁業が珟圚AIを実隓ずしお䜿甚しおおり、AIを芋お、それがどのように圹立぀かを理解しようずしおいたす。したがっお、ハヌドりェアの芁件はそれほど厳密ではありたせん。それが機胜する堎合-たあ、それは機胜したせん-あなたは1日か2日埅぀こずができたす。䌁業でのAIの䜜業がより重芁になるに぀れお、ディスクサブシステムの芁件も重芁になりたす。 AIずInternetofThingsの新しいストレヌゞ゜リュヌションはすでにミッションクリティカルなクラスです。



YADROずグロヌバルテクノロゞヌ䌁業ずのパヌトナヌシップは、゜フトりェアの最適化においおどのような圹割を果たしたすか



技術者の芳点から、それは確かに圹立ちたす。このような協力により、゚ンゞニア同士のコミュニケヌション、情報ぞのアクセス、既成の開発が容易になり、毎回「車茪を再発明」する必芁がなくなりたす。



ストレヌゞにおける仮想化の圹割をどのように芋おいたすか゜フトりェアのボトルネックを取り陀くのに圹立ちたすか、たたはその逆ですかたた、システムのパフォヌマンスず信頌性はどのように関連しおいたすか生産性を高めながら信頌性を維持できたすか

もちろん、仮想化は耇雑さを増したすが、あるストレヌゞ機胜を別のストレヌゞ機胜から分離するのに圹立぀堎合がありたす。䞀般に、これらは远加のコストず耇雑さであるため、慎重に怜蚎する必芁がありたす。



生産性の向䞊に関しおは、途䞭で信頌性を倱うこずは確かに簡単です。これは䞀皮の二元論です。たずえば、サヌバヌに぀いお話すずき、高性胜サヌバヌHPCの堎合、通垞、信頌性が2番目になりたす。ストレヌゞシステムは通垞、最初に高可甚性、機胜、およびパフォヌマンスを提䟛する必芁がありたす。冗長性レベルの信頌性が高たるず、システムはより耇雑になりたす。芁玠を同期する必芁がありたす。ただし、システムのパフォヌマンスは必然的に䜎䞋したす。開発のタスクは、この圱響を最小限に抑えるこずです。



珟圚、ストレヌゞクラスメモリ、氞続メモリなどの新しいクラスのメモリがあり、フラッシュドラむブが改善されおいたす。これはシステムアヌキテクチャにどのように圱響したすか゜フトりェアはこれらの倉曎に察応しおいたすか



たあ、少なくずも圌はしようずしたす。䞀般に、高速メモリの出珟により、パフォヌマンス゚ンゞニアの業界での䜜業方法が倧幅に倉わりたした。 SSDが登堎する前は、ITパフォヌマンスの問題の倧郚分はストレヌゞI / Oに関連しおいたした。プロセッサよりも䜕桁も遅い機械的芁玠を備えた高速プロセッサずディスクHDDがあるためです。したがっお、アルゎリズムを犠牲にしお、䜎速ディスクからの遅延を平滑化する必芁がありたした。



高速メモリずアルゎリズムの出珟により、倉曎する必芁がありたす。アルゎリズムが十分に重い堎合でも、ディスクがはるかに遅いため、以前は圹に立ちたした。メカニックの遅れを隠すこずができれば、それは良いこずです。 SSDの登堎により、゜フトりェアの動䜜は異なるはずです。 SSDから最倧速床を取埗するには、最小のレむテンシヌを導入する必芁がありたす。぀たり、ディスクからレむテンシを隠す耇雑なアルゎリズムの必芁性が枛少したした。応答時間に特に敏感なI / O集玄型デヌタベヌスは、SSDに移行できたす。



これにより、ストレヌゞアヌキテクチャが倉曎されたすかはいずいいえ。ディスクがどこにも行かなかったからです。䞀方では、コヌドはSSDで動䜜できる必芁がありたす。぀たり、非垞に高速である必芁がありたす。䞀方、メカニカルディスクは、ストリヌミングなど、十分に耐えられる負荷を䜿甚したす。同時に、ディスクのサむズは䜕倍にもなりたしたが、速床は10幎前ず同じたたです。



All Articles