11 research outputs found

    メモリ階層制御により高性能・低消費電力を実現するプログラムの開発の生産性を高めるシステムソフトウェアに関する研究

    Get PDF
     近年、アプリケーションの処理するデータの大規模化に伴い、大規模データを効率良くプロセッサに供給することが可能なメモリシステムを持つコンピュータシステムの高性能化および省電力化の重要性が高まっている。単一プロセッサの処理性能には限界があるため、大規模データを処理するためには高速ネットワークで複数のプロセッサを結合しクラスタリングしていくことが必要になり、その過程でコンピュータシステム内の様々なレベルにメモリが複雑に階層化される。大規模データ処理を高速に実行可能なコンピュータシステムを目指すには、メモリの階層構造に対してプログラムを適応させるためのソフトウェアによる制御方式が鍵となる。 一方で、実用化が期待されているMRAM(Magnetoresistive Random Access Memory)やPCM(Phase-Change Memory)あるいはReRAM(Resistive Random Access Memory)などのストレージクラスメモリ(Storage-class Memory)と呼ばれるこれまでと異なるアクセスレイテンシや性能特性を持つ新型高速不揮発メモリによりメモリ階層も大きく変化し、コンピュータシステムを飛躍的に高性能化・低消費電力化できる可能性がある。そのため、巨大メモリ搭載大規模サーバシステムだけでなく超低消費電力が要求される省電力組込みシステムなどの幅広いコンピュータシステムにおいてメモリ階層の変化に適応するソフトウェア技法も必要になる。 しかし、複数のプロセッサのクラスタリングやストレージクラスメモリの実用化によって性能や消費電力の観点で複雑化するメモリ階層を効率良く制御しコンピュータシステムのハードウェア性能を引き出すためのプログラミングには、メモリアーキテクチャの深い知識と高度なプログラミング技術を要求する。このような作業をすべてのアプリケーション開発者に要求するのは現実的ではなく、システムソフトウェアで自動化し解決すべきである。 本研究はこのような背景を踏まえて、メモリ階層制御により高性能化・低消費電力化を実現するプログラムの開発生産性向上の達成をシステムソフトウェアにより実現することが主題である。この主題に対して本研究が狙うのは、つぎに列挙する4つのシステムソフトウェアを導入しメモリ階層制御を自動化することでアプリケーションのプログラム開発の容易性を向上させたうえでハードウェアの持つポテンシャルに近い性能を引き出すことである。1) 高位プログラム変換により対象メモリアーキテクチャに適合した並列プログラムが生成可能な配列処理言語によるプログラミングシステム: 高性能サーバなどの単一計算ノードあるいは組込みシステムにおいて、プロセッサの性能を引き出すために必要になるメモリアクセス最適化やマルチスレッド化やベクトル化などの並列プログラミングには、対象メモリアーキテクチャに関する深い理解とそれを活かすプログラミング技法が要求される。しかし、ソフトウェア開発の中でもアルゴリズム開発を主に行っているアプリケーション開発者にとって並列プログラミングは開発の本質ではなく、メモリやプロセッサのアーキテクチャの深い知識を持たなくても対象アーキテクチャを活かした並列プログラムを開発可能なプログラミングシステムが必要である。そこで本研究では、配列処理に特化した配列処理言語を用いてアルゴリズムレベルで記述可能なプログラミングシステムを提案している。配列処理プログラムに明示されるアルゴリズムレベル情報を利用した高位プログラム変換によりアルゴリズムレベル記述から階層メモリに適合する並列プログラムが自動生成でき、開発の生産性を高めることができることを示す。2) 階層メモリを持つ計算機クラスタ向けの一貫性管理方式を組み込んだ高性能ソフトウェア分散共有メモリシステム: 単一計算ノードを高速ネットワークで複数接続したハイパフォーマンスコンピューティング向けの計算機クラスタシステムや複数の計算機クラスタシステムを繋げたマルチクラスタシステムなどの階層的な分散メモリを持つ高性能コンピュータシステムにおいては、並列プログラムの作成に分散メモリ型並列プログラミングモデルであるメッセージパッシング方式が多く用いられるが、分散メモリ間の通信を明示的に記述する必要がありプログラミングが容易ではない。この問題を解決する方法として分散メモリ上に仮想的な共有メモリを実現するソフトウェア分散共有メモリ方式があるが、従来型のデータ一貫性制御方式はメモリ階層を意識した設計になっておらずそのままマルチクラスタシステムに適用すると、要素クラスタ間通信遅延等により性能が低下する。そこで本研究では、メモリ階層に適合したデータ一貫性制御方式を提案し、プログラミングしやすさと高性能を同時達成できることを示す。3) 大容量新型不揮発メモリを活用した階層型主記憶を実現する省電力仮想記憶システム: 次世代の高性能コンピュータシステムにおけるインメモリ処理で要求されている低消費電力でかつスケーラブルな主記憶を実現するためには、大容量のストレージクラスメモリとDRAMの特性が異なる2つのメモリを組み合わせ階層制御する必要がある。2つのメモリをアプリケーション開発者に陽に見せるとこれらをどのように使い分けるかを開発者に強いることになりプログラミングが複雑になる。そこで本研究では、ストレージクラスメモリ向けにOSの仮想記憶システムを再設計することで大容量なストレージクラスメモリをDRAMと混載し、待機消費電力が小さいストレージクラスメモリの特性を活かしてDRAM上のデータを積極的にストレージクラスメモリに退避して、使用するDRAMサイズを削減するとともに未使用DRAMの電源をオフすることで動作時の消費電力を削減する。仮想記憶システムでDRAMとストレージクラスメモリ間のデータの入れ替え処理であるスワップ処理を効率良くおこなうことで、アプリケーション開発者には大容量な主記憶があるように見せることができるためインメモリデータ処理向けのプログラミングをシンプルにすることが可能になることを示す。4) 不揮発メモリ搭載端末の不揮発ディスプレイ書換処理省電力スケジューラ: 組込み機器特有の課題であるディスプレイを有する組込みシステムの省電力化を実現する。現在のタブレット型端末はDRAMが主記憶として利用されているが、ストレージクラスメモリが実用化されると、待機消費電力が非常に小さい超低消費電力タブレット型端末が実現可能になってくる。ただし主記憶が不揮発でもディスプレイがLCD(液晶ディスプレイ)などの従来型揮発性ディスプレイの場合頻繁なリフレッシュが必要となるため、リフレッシュ処理を実行するディスプレイコントローラが利用する主記憶を電源オフすることができない。そこで本研究では、ディスプレイを有する組込みシステムの省電力化を、不揮発メモリと不揮発ディスプレイである電子ペーパを組み合わせることで実現する。低消費電力を実現するための省電力メモリ制御機能を組み込んだ電子ペーパコントローラ向けデバイスドライバを提案する。不揮発メモリと省電力ディスプレイの省電力性を引き出すためには、DRAMとLCDを利用したこれまでとは異なる複雑なデバイス制御が必要となるが、提案方式により従来型のプログラミング方式を変えずに省電力実行可能なことを示す。 本研究の貢献は、コンピュータシステムにおける本質的な課題である効率的なメモリ階層制御の実現についてその解決方式をメモリ階層の様々なポイントで示した点である。本研究成果は、ストレージクラスメモリの実用化によりメモリ階層が大きく変化しメモリシステムがプロセッサに替わって中心になる次世代コンピュータアーキテクチャとそのシステムソフトウェアが取り組むべき課題とその解決方法の方向性を示すものとして意義がある。電気通信大学201

    Understanding and Improving the Latency of DRAM-Based Memory Systems

    Full text link
    Over the past two decades, the storage capacity and access bandwidth of main memory have improved tremendously, by 128x and 20x, respectively. These improvements are mainly due to the continuous technology scaling of DRAM (dynamic random-access memory), which has been used as the physical substrate for main memory. In stark contrast with capacity and bandwidth, DRAM latency has remained almost constant, reducing by only 1.3x in the same time frame. Therefore, long DRAM latency continues to be a critical performance bottleneck in modern systems. Increasing core counts, and the emergence of increasingly more data-intensive and latency-critical applications further stress the importance of providing low-latency memory access. In this dissertation, we identify three main problems that contribute significantly to long latency of DRAM accesses. To address these problems, we present a series of new techniques. Our new techniques significantly improve both system performance and energy efficiency. We also examine the critical relationship between supply voltage and latency in modern DRAM chips and develop new mechanisms that exploit this voltage-latency trade-off to improve energy efficiency. The key conclusion of this dissertation is that augmenting DRAM architecture with simple and low-cost features, and developing a better understanding of manufactured DRAM chips together lead to significant memory latency reduction as well as energy efficiency improvement. We hope and believe that the proposed architectural techniques and the detailed experimental data and observations on real commodity DRAM chips presented in this dissertation will enable development of other new mechanisms to improve the performance, energy efficiency, or reliability of future memory systems.Comment: PhD Dissertatio

    Synergistic Coupling of SSD and Hard Disk for QoS-aware Virtual Memory

    No full text
    Abstract—With significant advantages in capacity, power consumption, and price, solid state disk (SSD) has good potential to be employed as an extension of DRAM (memory), such that applications with large working sets could run efficiently on a modestly configured system. While initial results reported in recent works show promising prospects for this use of SSD by incorporating it into the management of virtual memory, frequent writes from write-intensive programs could quickly wear out SSD, making the idea less practical. We propose a scheme, HybridSwap, that integrates a hard disk with an SSD for virtual memory management, synergistically achieving the advantages of both. In addition, HybridSwap can constrain performance loss caused by swapping according to user-specified QoS requirements. To minimize writes to the SSD without undue performance loss, HybridSwap sequentially swaps a set of pages of virtual memory to the hard disk if they are expected to be read together. Using a history of page access patterns HybridSwap dynamically creates an out-of-memory virtual memory page layout on the swap space spanning the SSD and hard disk such that random reads are served by SSD and sequential reads are asynchronously served by the hard disk with high efficiency. In practice HybridSwap can effectively exploit the aggregate bandwidth of the two devices to accelerate page swapping. We have implemented HybridSwap in a recent Linux kernel, version 2.6.35.7. Our evaluation with representative benchmarks, such as Memcached for key-value store, and scientific programs from the ALGLIB cross-platform numerical analysis and data processing library, shows that the number of writes to SSD can be reduced by 40 % with the system’s performance comparable to that with pure SSD swapping, and can satisfy a swapping-related QoS requirement as long as the I/O resource is sufficient. Keywords-SSD; Page Swapping; and Flash Endurance. I
    corecore