Responsive image
博碩士論文 etd-0209112-190720 詳細資訊
Title page for etd-0209112-190720
論文名稱
Title
在分散式雲端環境實作可支援輕量UNIX編程之雲端介面
IMPLEMENTATION OF A CLOUD SHELL FOR LIGHT-WEIGHT UNIX PROGRAMMABILITY SUPPORT IN A DISTRIBUTED CLOUD ENVIRONMENT
系所名稱
Department
畢業學年期
Year, semester
語文別
Language
學位類別
Degree
頁數
Number of pages
85
研究生
Author
指導教授
Advisor
召集委員
Convenor
口試委員
Advisory Committee
口試日期
Date of Exam
2012-01-20
繳交日期
Date of Submission
2012-02-09
關鍵字
Keywords
Unix、Shell、map-reduce、Hadoop、雲端運算、介面
map-reduce, Hadoop, Cloud computing, Unix, Shell, Interface
統計
Statistics
本論文已被瀏覽 5675 次,被下載 599
The thesis/dissertation has been browsed 5675 times, has been downloaded 599 times.
中文摘要
本論文描述了一個在雲端系統上的UNIX型態使用者介面環境之實作方法。這種新的腳本語言(CLSH),以近似於UNIX系統中之BASH的文法為基礎,讓使用者可以快速學習此一新介面環境。CLSH和BASH的不同在於CLSH可讓使用者獲得雲端平行運算的效能。更確切的說,使用者不需要去理解整個雲端的細節,因為透過CLSH,雲端對於使用者而言僅是個虛擬檔案系統,而使用者以近似於BASH的使用經驗來使用整個雲端系統。

此一雲端介面是建立在Hadoop的HDFS此種檔案系統裡。與HDFS不同的是,CLSH提供一個廣泛的UNIX指令,而非少數類似UNIX的指令。此外,CLSH為一個提供了比HDFS更完整的檔案管理的成熟腳本語言。同樣與Pig Latin和Java scripting 來比較,這兩者不僅使用上比CLSH困難,且執行效率也比CLSH慢。最後,此雲端介面僅是提供使用者能有較好的雲端使用介面,並非意圖阻止使用者使用Pig Latin和Java script。
Abstract
This thesis describes the implementation of a UNIX-styled shell environment for cloud systems. This new scripting language, the cloud shell (CLSH), uses a syntax based upon the familiar BASH shell of UNIX systems. This familiar syntax allows users to quickly learn the new environment. The difference, as compared to BASH, is that CLSH gives the user easy access to the parallelism of the cloud. Indeed, the user does not need to explicitly refer to the cloud at all; the cloud becomes simply a virtual file system and the user experience is quite similar to standard bash programming.

This cloud shell is built into Hadoop’s HDFS file system. The difference, as compared to HDFS, is that CLSH offers a full range of UNIX-style commands, rather than a small subset of simple commands. Moreover, CLSH is a full-fledged scripting language that offers much more control over file management than does HDFS. To achieve comparable behavior within HDFS, the user must use either the Pig Latin tool or else use java scripting. Not only are these alternatives harder to use than CLSH, but they also perform slower and are incapable of performing certain tasks that CLSH can easily achieve. Moreover, the cloud shell environment simply provides the user with a better cloud interface; it does not preclude the use of Pig Latin or Java scripts.
目次 Table of Contents
論文審定書............................................................................................. .i
中文摘要................................................................................................ .ii
英文摘要.................................................................................................iii
List of Figures .......................................................................................vii
Chapter 1 Introduction 1
Chapter 2 Background Concepts 9
2.1 Cloud Computing Overview ........................................................... 9
2.2 Hadoop Overview...........................................................................10
2.3 The Hadoop Distributed File System..............................................11
2.3.1 HDFS master/slave architecture................................................12
2.4 Map Reduce....................................................................................14
Chapter 3 Related Work 16
3.1 Our previous work..........................................................................16
3.2 Dryad...............................................................................................18
3.3 Pig Latin..........................................................................................19
3.4 PUSH, a Dataflow shell............................................................ ......20
3.5 UNIX Shell......................................................................................21
Chapter 4 Method Overview 23
4.1 How cloud shell translates a UNIX command.................................24
4.1.1 Definitions of a cloudable command, a noncloudable

command, cloudizing, and localizing.............................24
4.1.2 Shell I/O Redirect......................................................................26
4.1.3 A pipe command with a breaker................................................33
4.1.4 Special commands: grep, wc.....................................................36
4.1.5 tee command ( not in a loop )....................................................42
4. 2 Extend the cloud programming.......................................................48
4.2.1 Add file and directory management..........................................48
4.2.2 Concept of order changes........................................................ .49
4.2.3 A command in ticks (``)............................................................51
4. 3 How cloud shell executes a Bash script..........................................52
4.3.1 for-loop......................................................................................52
4.3.2 if, while, and break....................................................................54
4.3.3 I/O Redirect, tee issue (in a loop).............................................57
Chapter 5 Results 58
5.1 Enter cloud shell and history command..........................................58
5.2 File management commands...........................................................59
5.3 Commands with redirect-out and redirect-append..........................64
5.4 tee, tee -a.........................................................................................65
5.5 grep command.................................................................................66
5.6 A pipe command contains a break-command..................................69
5.7 wc command....................................................................................70
5.8 Execute scripts.................................................................................71
6. Conclusions .........................................................................................74
References................................................................................................75
參考文獻 References
[1] Wei Pan. “Reducing communication overheads in a cloud environment through unix-like features”, Master’s thesis: National Sun Yat-Sen University, Kaohsiung, Taiwan, January 2011.
[2] Noah Evans, Eric Van Hensbergen. “Poster Abstract: PUSH, a Dataflow Shell”, In PODC '09 Proceedings of the 28th ACM symposium on Principles of distributed computing.
[3] Hadoop, http://hadoop.apache.org/
[4] Pig-Latin, http://pig.apache.org/
[5] Dryad: Distributed Data-Parallel Programs from Sequential Building Blocks. Michael Isard, Mihai Budiu, Yuan Yu, Andrew Birrell, and Dennis Fetterly. European Conference on Computer Systems (EuroSys), Lisbon, Portugal, March 21-23, 2007.
[6] Bash, http://www.gnu.org/software/bash/
電子全文 Fulltext
本電子全文僅授權使用者為學術研究之目的,進行個人非營利性質之檢索、閱讀、列印。請遵守中華民國著作權法之相關規定,切勿任意重製、散佈、改作、轉貼、播送,以免觸法。
論文使用權限 Thesis access permission:自定論文開放時間 user define
開放時間 Available:
校內 Campus: 已公開 available
校外 Off-campus: 已公開 available


紙本論文 Printed copies
紙本論文的公開資訊在102學年度以後相對較為完整。如果需要查詢101學年度以前的紙本論文公開資訊,請聯繫圖資處紙本論文服務櫃台。如有不便之處敬請見諒。
開放時間 available 已公開 available

QR Code