跳到主要內容

簡易檢索 / 詳目顯示

研究生: 李沛承
Lee, Pei Cheng
論文名稱: Python平行化在SCMDS上之應用
The application of parallel Python in SCMDS
指導教授: 曾正男
Tzeng, Jengnan
學位類別: 碩士
Master
系所名稱: 理學院 - 應用數學系
Department of Mathematical Sciences
論文出版年: 2013
畢業學年度: 101
語文別: 中文
論文頁數: 62
中文關鍵詞: SC-MDSPython多核心
相關次數: 點閱:220下載:12
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 近年來資料產生的數量遠超過過去可處理的數量,以現今的個人電腦使用傳統的方法已經無法處理大資料的運算與分析,所以改善傳統的方法與平行化為必經的方向,本論文以拆解合成-多元尺度法的平行化為主要討論對象,除了介紹Python程式語言及其相關套件如何撰寫平行化程式,我們將拆解合成-多元尺度法從原本的單核心版本改進為多核心版本,並且探索拆解合成-多元尺度法在平行化過程中的計算效能,藉以了解拆解合成-多元尺度法在平行化計算時的參數要如何設定,使得平行化的SC-MDS可以有最高的計算效率。經實驗證明多核心底下的SC-MDS平行化又把SC-MDS單核心的效能做個再次的提升。


    In recent years, the number of generated data is growing fast such that it is infeasible to process by using traditional methods. So improving traditional methods and developing paralled computing methods are important issues. The main contribution of this thesis is to delelope the parallel version of the split-and-combine multidimensional scaling method(SC-MDS). We will fistly introduce fundamental python program, the basic python packages and the python multi-core program. Then we will implement the serial core version of SC-MDS to the multi-core version. Moreover, we will discover the efficiency of the multi-core version of SC-MDS. Then we can understand how to determine the parameters of the parllel version of SC-MDS. By our experimental results, we successfully implement the serial core of SC-MDS to the faster parallel version of SC-MDS.

    目錄:
    論文口試委員審定書. . . . . . . . . . . . . . . . . . . . . ii
    授權書. . . . . . . . . . . . . . . . . . . . . . . . . . iii
    中文摘要. . . . . . . . . . . . . . . . . . . . . . . . . iv
    英文摘要. . . . . . . . . . . . . . . . . . . . . . . . . . v
    誌謝. . . . . . . . . . . . . . . . . . . . . . . . . . . vi
    目錄. . . . . . . . . . . . . . . . . . . . . . . . . . vii
    表目錄. . . . . . . . . . . . . . . . . . . . . . . . . . ix
    圖目錄. . . . . . . . . . . . . . . . . . . . . . . . . . . x
    第一章、簡介. . . . . . . . . . . . . . . . . . . . . . . . 1
    1.1 為何用Python . . . . . . . . . . . . . . . . . . . . . 1
    1.2 平行化的需求. . . . . . . . . . . . . . . . . . . . . . 3
    1.3 SCMDS的基本介紹. . . . . . . . . . . . . . . . . . . . 3
    第二章、Python之平行計算. . . . . . . . . . . . . . . . . . . 5
    2.1 Python基本運算之套件與工具. . . . . . . . . . . . . . . . 5
    2.2 Python平行計算之套件與相關介紹. . . . . . . . . . . . . . 9
    2.3 Python控制核心之套件. . . . . . . . . . . . . . . . . . 21
    第三章、SCMDS與其平行化. . . . . . . . . . . . . . . . . . . 22
    3.1 SCMDS以及單核心版本for Python. . . . . . . . . . . . . 22
    3.2 SCMDS的平行化. . . . . . . . . . . . . . . . . . . . . 28
    第四章、實驗結果. . . . . . . . . . . . . . . . . . . . . . 31
    4.1 SC-MDS與其平行化在多核心控制下之比較. . . . . . . . . . . 31
    4.2 多核心的操作對於SC-MDS的平行化在各個階段的影響. . . . . . . 38
    4.3 多核心的操作中MDS平行化的效能比. . . . . . . . . . . . . . 42
    第五章、結論. . . . . . . . . . . . . . . . . . . . . . . . 47
    參考文獻. . . . . . . . . . . . . . . . . . . . . . . . . 48
    附錄A:SC-MDS單核心版本的code. . . . . . . . . . . . . . . 50
    附錄B:SC-MDS拆解平行化版本的code. . . . . . . . . . . . . . 60

    [1] David Griths、Paul Barry. 深入淺出程式設計. 歐萊禮, 2011.
    [2] Paul Barry. 深入淺出Python. 歐萊禮, 2011.
    [3] Ingwer Borg and Patrick J. F. Groenen. Modern multidimensional scaling. Springer Series in Statistics. Springer, New York, second edition, 2005. Theory and applications.
    [4] TOIBE Software BV. Tiobe programming community index, 2013. [online]http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html.
    [5] Matthew Chalmers. A linear iteration time layout algorithm for visualising high-dimensional data. In Proceedings of the 7th conference on Visualization '96, VIS '96, pages 127{ ., Los Alamitos, CA, USA, 1996. IEEE Computer Society Press.
    [6] Pei-Chi Chen. Optimal grouping and missing data handling for split-and-combine multidimensional scaling. 2008.
    [7] Michael A. A. Cox and Trevor F. Cox. Multidimensional scaling. In Handbook of Data Visualization, Springer Handbooks Comp.Statistics, pages 315{347. Springer Berlin Heidelberg, 2008.
    [8] Pearu Peterson Eric Jones, Travis Oliphant et al. Open source scienti c tools for python, 2001. [online] http://www.scipy.org/.
    [9] Python Software Foundation. About python, 2005. [online] http://www.python.org/about/.
    [10] Python Software Foundation. anity 0.1.0, 2005. [online] https://pypi.python.org/pypi/affinity.
    [11] Python Software Foundation. Process-based \threading" interface, 2005. [on-line] http://docs.python.org/2/library/multiprocessing.html.
    [12] Swaroop C H. Python入門, 2013. [online] http://files.swaroopch.com/python/byte_of_python.pdf.
    [13] Alistair Morrison, Greg Ross, and Matthew Chalmers. Fast multidimensional scaling through sampling, springs and interpolation. Information Visualization,2:68{77, 2003.
    [14] Mark Pilgrim. Dive into python, 2004. [online] http://www.diveintopython.net/toc/index.html.
    [15] Warren S. Torgerson. Multidimensional scaling. I. Theory and method. Psy-chometrika, 17:401{419, 1952.
    [16] Jengnan Tzeng. Python入門, 2009. [online] http://dl.dropboxusercontent.com/u/2688690/python_note.html.
    [17] Jengnan Tzeng. Split-and-combine singular value decomposition for large-scale matrix. J. Appl. Math., pages Art. ID 683053, 8, 2013.
    [18] Guido van Rossum. Python tutorial, 2008. [online] http://docs.python.org/2.5/tut/tut.html.

    QR CODE
    :::