透過您的圖書館登入
IP:52.15.63.145
  • 學位論文

一個基於作業系統狀態暫停法進行虛擬儲存裝置與實體電腦系統協同模擬的方法

An Operating System State Pausing Approach to Virtual Storage Device and Physical Computer System Co-Simulation

指導教授 : 蔡淳仁

摘要


此篇論文提出了一個創新的作業系統狀態暫停方法,可以使得模擬出來的虛擬儲存裝置與實體電腦系統在離散時間上進行協同模擬。 儲存裝置仿真是對作業系統提供一個模擬出來的虛擬儲存裝置,並且使這個虛擬的儲存裝置可以像真實的裝置一樣的被作業系統使用。虛擬儲存裝置處理各I/O請求所需要的時間,是由一個描述儲存裝置特性以及效能的磁碟模型所定義。在傳統的儲存裝置仿真系統中,因為作業系統是在連續的時間軸上不間斷的在運行,且系統時間也是實時的在前進,因此儲存裝置仿真系統在模擬每一個I/O請求時,都必須要能夠在該I/O請求的回應時間內完成。如果儲存裝置仿真系統花費在模擬一個I/O請求的時間超過該I/O請求預定的回應時間,那麼作業系統所觀測到的儲存裝置的速度,就會慢於磁碟模型所定義目標。這樣的時間限制,對於傳統的儲存裝置仿真系統而言會造成模擬較高速的儲存裝置的困難。 利用這篇論文所提出的作業系統狀態暫停方法,進行虛擬處存裝置與實體電腦系統的協同模擬,可以解決傳統儲存裝置仿真系統必須在有限的時間內處理每個I/O請求的時間限制的問題。實際的做法為,每當儲存裝置仿真系統需要進行磁碟模型模擬以及建構I/O回應時,就透過論文中所提出的方法將作業系統的狀態進行暫停。如此一來,不論儲存裝置仿真系統花費了多少時間來處理每一個I/O請求,對於作業系統而言,都不會影響到其所觀測到的虛擬儲存裝置的速度以及特性。此外,因為在進行協同模擬時,作業系統以及軟體程式都是直接在真實的電腦硬體上執行,因此利用這樣的協同模擬環境進行實驗,能夠真實的保留目標硬體平台的效能與特性。 這篇論文利用所提出的協同模擬方法,建置了兩個全系統的協同模擬環境。(1) 第一個環境是一個全系統的協同模擬器,在這個協同模擬器中,虛擬儲存裝置的模擬器直接執行在目標作業系統上。這個協同模擬器的主要目的是讓開發者能夠以真實的測試資料以及量測值來對儲存系統進行評估。實驗數據顯示,所提出來的協同模擬器可以達到比實時速度快四十五倍的模擬速度。(2) 第二個協同模擬環境的主要目的是可以用來評估當一個電腦系統在配置了不同的儲存裝置時的整體效能。為了減少儲存裝置模擬器對於目標電腦系統的效能以及特性造成的影響,進而提高系統效能預估的準確度,儲存裝置模擬的主要工作交給了另外一台獨立的電腦來處理。實驗數據顯示,利用此協同模擬環境進行全系統效能評估的各項預測結果,與對照組環境所測得的結果之間的誤差皆小於百分之二。

並列摘要


This dissertation proposes a novel operating system (OS) state pausing methodology that can be used to enable the co-simulation of virtually simulated storage device and physical computer system in the discrete-time domain. In storage device emulation, the emulated virtual storage device appears to the OS as a real storage device. The service timings of the emulated storage device are determined by a disk model which simulates the characteristics and performance of the target storage device. For the conventional storage device emulators, because the OS is running continuously in the real-time domain, the amount of time that the disk emulator can spend on processing each I/O request is limited by the servicing time of the corresponding I/O request. If the processing of an I/O request takes longer than the servicing time of the I/O request, then the OS would perceive a storage device that has a slower performance than the intended target. This real-time timing constraint can make emulating high-speed storage devices a challenge for conventional storage device emulators. By utilizing the proposed OS state pausing co-simulation methodology for emulating storage devices, the timing constraints faced by the conventional storage device emulators can be avoided. By pausing the state of the OS whenever the storage device emulator is busy, the emulator can spend as much time as it needs for processing each I/O request without affecting the performance of the emulated storage device as perceived by the OS. In addition, because the OS and application programs are executing directly on the physical computer hardware, the performance characteristics of the real system can be taken into account during the co-simulation process. In this dissertation, two co-simulation environments are constructed using the proposed OS state pausing methodology. (1) The first environment is a full-system co-simulator that runs the storage device emulator directly on the OS that the emulated storage device is plugged into. The main focus of this co-simulation environment is to allow realistic workloads and system-level metrics to be used for evaluating storage subsystem designs. With the experimental configuration, the proposed co-simulation environment has achieved simulation speed of up to 45 times faster than real-time. (2) The second co-simulation environment is focused on predicting the overall system performance of a particular computer system when different storage devices are available. To minimize the disturbances that the storage device emulator will have to the target system, and therefore improve the prediction accuracy, the work of storage device emulation is offloaded to an external computer. Experimental results show that the full-system performance benchmark results predicted using the proposed storage device emulator are within 2% differences compared to the results from the reference system.

參考文獻


[1] Li-Pin Chang. “A Hybrid Approach to NAND-Flash-Based Solid-State Disks”. In:
Computers, IEEE Transactions on 59.10 (Oct. 2010), pp. 1337–1349. issn: 0018-
9340. doi: 10.1109/TC.2010.14.
[2] Chin-Hsien Wu. “A Self-adjusting Flash Translation Layer for Resource-limited Embedded
Systems”. In: ACM Trans. Embed. Comput. Syst. 9.4 (Apr. 2010), 31:1–

延伸閱讀