狼愛上貍

          我胡漢三又回來了

          #

          oracle9i for linux安裝

          1.硬件標準最低要求(指不警告的)
          物理內存: 1G
          交換空間: 1.5 GB或者2倍內存大小
          /tmp 空間: 1 G
          軟件所需空間: 3 GB
          數據庫文件: 1.5 GB

          2.linux參數標準最低要求(指不警告的)
          #注釋:#表示使用root用戶操作,$表示使用oracle 用戶進行操作

          2.1 核心參數配置
          #vi /etc/sysctl.conf
          加入以下內容:
          kernel.shmall = 2097152
          kernel.shmmax = 2147483648
          kernel.shmmni = 4096
          kernel.sem = 250 32000 100 128
          fs.file-max = 65536
          net.ipv4.ip_local_port_range = 1024 65000
          net.core.rmem_default = 262144
          net.core.rmem_max = 262144
          net.core.wmem_default = 262144
          net.core.wmem_max = 262144

          編輯完之后,保存,執行
          # /sbin/sysctl -p
          然后,應該檢查一下上面的操作是否正確:
          # /sbin/sysctl -a | grep sem
          # /sbin/sysctl -a | grep shm
          # /sbin/sysctl -a | grep file-max
          # /sbin/sysctl -a | grep ip_local_port_range

          2.2 為Oracle用戶設定Shell的限制
          # vi /etc/security/limits.conf
          # 添加如下的行
          * soft nproc 2047
          * hard nproc 16384
          * soft nofile 1024
          * hard nofile 65536
          添加如下的行到/etc/pam.d/login 文件:
          session required /lib/security/pam_limits.so
          編輯 /etc/profile 文件,添加如下部分:
          if [ $USER = "oracle" ]; then
          if [ $SHELL = "/bin/ksh" ]; then
          ulimit -p 16384
          ulimit -n 65536
          else
          ulimit -u 16384 -n 65536
          fi
          fi

          2.3 此外,最好驗證一下 gcc和glibc的版本(要求是gcc-3.2.3-2 或者更高)
          #gcc -v

          2.4 創建用戶和相關的組
          # /usr/sbin/groupadd oinstall
          # /usr/sbin/groupadd dba
          # /usr/sbin/useradd -g oinstall -G dba oracle
          如果只是測試目的的話,不創建oinstall組也沒什么. 不過還是規范一點比較好.如果oracle 用戶和dba組等已經存在,作適當的調整即可.

          2.5 檢查并調整環境變量
          登錄為oracle用戶
          # su – oracle
          $ vi .bash_profile
          #添加如下內容,你的具體值應該不會和這個完全相同.
          export ORACLE_BASE=/opt/oracle
          export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
          export ORACLE_SID=orcl
          export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
          export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
          export LC_CTYPE=zh_CN.UTF-8
          然后執行
          $ source .bash_profile
          使環境變量生效/opt/oracle 等目錄應該建立好并做合適的授權
          #chown -R oracle /opt/oracle

          3 開始安裝10g
          執行 /install/runInstaller
          按照界面提示安裝即可
          最好按照高級安裝
          高級安裝的好處:
          a.字符設為utf-8(默認是iso-8859-1);
          b.檢查配置;
          c.設定系統用戶(默認是關閉的)
          等等...

          4 運行oracle10g

          啟動監聽: lsnrctl start
          關閉監聽: lsnrctl stop

          進入sql命令環境
          sqlplus
          /as sysdba

          啟動 startup
          關閉 shutdown immediate

          來自:http://fsz521job.itpub.net/post/5606/68404

          posted @ 2007-07-10 06:58 狼愛上貍 閱讀(379) | 評論 (0)編輯 收藏

          jdk+tomcat+linux+oracle安裝

          一般以用戶root身份安裝。
          先從SUN網站上下載一個jdk.比如:j2sdk1_4_2_05-linux-i586.bin,放到/usr/local 目錄下,
            [root@server /]#  chmod a+x j2sdk1_4_2_05-linux.bin     (添加執行權限)
            [root@server /]#  ./j2sdk1_4_2_05-linux.bin       (執行j2sdk1_4_2_05-linux.bin)

          執行完畢后會在本目錄下生成 j2sdk1_4_2_05-linux.rpm
          使用 rpm安裝:
            [root@server /]#  rpm -iv j2sdk1_4_2_05-linux.rpm

          安裝完畢后設置環境變量:
          把下面代碼加入到/etc/profile最后:

          JAVA_HOME=/usr/java/j2sdk1.4.2_05/
          CLASSPATH=/usr/java/j2sdk1.4.2_05/jre/lib/rt.jar:.
          PATH=$PATH:/usr/java/j2sdk1.4.2_05/bin
          export JAVA_HOME CLASSPATH PATH

          最后是測試
          [root@server /]#  source /etc/profile
          [root@server /]#  java -version

          Tomcat 5.0.25

          http://www.apache.org下載得到jakart...t-5.0.25.tar.gz
          #gunzip jakarta-tomcat-5.0.25.tar.gz
          #tar xvf jakarta-tomcat-5.0.25.tar
          #mv jakarta-tomcat-5.0.25 /usr/local/tomcat5.0.25
          #cd /usr/local/tomcat5.0.25/bin
          #./catalina.sh start

          然后測試 http://localhost:8080 看到那個貓了吧,恭喜你tomcat安裝ok

          _____________________________________________________________________

          安裝apache2.0.50
          估計用到的工具有:gcc,automake,autoconfig;libtools,m4 大家可以去下載rpm包安裝就行了,別忘了寫人環境變量噢 :-P

          http://www.apache.org下載后

          gunzip httpd-2.0.50.tar.gz
          tar xvf httpd-2.0.50.tar
          cd httpd-2.0.50/bin
          ./configure -prefix=/usr/local/apache2 -enable-so (可改為你自己的目錄;-enable-so用于加載connector,不可省略,你還可以加上你自己的其他模塊)
          make
          make install
          cd /usr/local/apache2/conf
          vi httpd.conf
          更改:servername 你的機器ip或域名
          group nobody
          listen yourip:80 (apache2以后把port已經改成了listen)

          保存后,cd ../bin
          ./apachectl start

          測試:http://localhost 看到apache的歡迎界面了吧,ok

          _____________________________________________________________________________________

          整合apache2與tomcat5.0.25

          用連接器jakarta-tomcat-connectors-jk2-src-current.tar.gz(就是jk2),大家可到http://jakarta.apache.org/site/sourceindex.cgi下載

          gunzip jakarta-tomcat-connectors-jk2-src-current.tar.gz
          tar xvf jakarta-tomcat-connectors-jk2-src-current.tar
          cd jakarta-tomcat-connectors-jk2-src-current/jk/native2
          ./configure --with-apxs2=/usr/local/apache2/bin/apxs (注意改為你的apache安裝目錄)
          make
          cd ../build/jk2/apache2
          /usr/local/apache2/bin/apxs -n jk2 -i mod_jk2.so

          另外,我在執行configure的時候提示有錯誤,好像是關于路徑的,我就先啟動了tomcat,執行通過。(也許是我沒有設置關于tomcat目錄的環境變量的原因)
          make
          make install

          所有的文檔都說如果發布不成功,那么要手工發布,我也是手工發布的:
          cp PathOfJK2/build/jk2/apache2/mod_jk2.so  PathOfApache/modules/
          現在大家可以看到mod_jk2.so文件已經在你的apache/modules/ 中了

          編輯apache/conf/httpd.conf
          LoadModule jk2_module modules/mod_jk2.so 保存

          在apache/conf/中新建文件workers2.properties,內容為下(注意其中目錄要改為你的目錄噢):

          [shm]
          file=/usr/local/apache2/logs/shm.file
          size=1048576
          # Example socket channel, override port and host.
          [channel.socket:localhost:8009]
          port=8009
          host=127.0.0.1
          # define the worker
          [ajp13:localhost:8009]
          channel=channel.socket:localhost:8009
          # Uri mapping
          [uri:/*]
          worker=ajp13:localhost:8009

          保存后,就快大功告成啦,呵呵

          cd apache2/bin
          ./apachectl start

          測試:http://localhost 大家是不是看到了那個貓貓的界面啊,恭喜恭喜,整合成功咯!!!(可別忘了啟動tomcat)



          來自:http://www.aygfsteel.com/borris/archive/2005/02/22/1413.html


          posted @ 2007-07-10 06:18 狼愛上貍 閱讀(310) | 評論 (0)編輯 收藏

          Linux下安裝JDK與VI編輯器的基本操作

          在linux下安裝web服務器經常要安裝JDK和編輯一些配置文件,在這里我整理了一下,供大家參考:

          一、安裝JDK:

          (1)從SUN下載jdk-1_5_0_04-linux-i586-rpm.bin,在/usr下新建java文件夾,將安裝包放在/usr/java目錄下,然后執行如下命令:

          #chmod 777 jdk-1_5_0_04-linux-i586-rpm.bin

          #./jdk-1_5_0_04-linux-i586-rpm.bin

          #rpm -ivh jdk-1_5_0_04-linux-i586.rpm

          選擇“yes”,直到安裝完畢;

          (2)完成后安裝在/usr/java/jdk1.5.0_04下,打開/etc/profile文件,在最后增加如下內容(如何編輯請參看下邊vi編輯器的操作):

          JAVA_HOME=/usr/java/jdk1.5.0_04

          export JAVA_HOME

          CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib

          export CLASSPATH

          PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

          export PATH

          保存,OK,成功,可以開始linux下的java程序開發了。

          linux下編寫程序和編譯和在windows下一樣,這里就省略了。

          二、vi編輯器的操作

          打開文件:vi 文件名

          從命令模式切換到輸入模式:a

          輸入模式切換到命令模式:ESC

          末行模式::

          保存::w

          保存退出::wq

          不保存強制退出::q!

          保存強制退出::wq!

          光標移動到文件首:[[

          光標移動到文件尾:]]

          下翻頁:ctrl+f

          上翻頁:ctrl+b

          進入輸入模式后就可正常修改了。


          posted @ 2007-07-07 17:40 狼愛上貍 閱讀(169) | 評論 (0)編輯 收藏

          網格觀點: Ian Foster 評價 Globus Toolkit 4.0 的意義

          Globus Toolkit 4.0 是程序員相信代碼質量已經足以滿足企業需求的第一個版本。與 GT 以前的版本相比,GT4 包括很多 Web 服務和標準。網格先驅 Ian Foster 討論了 Globus Toolkit 4.0 中的新增內容和重要內容。
          Globus Toolkit 4.0 的發布
          在 4 月 30 日,Globus Alliance 正式向開發社區發布了 4.0 版本。要下載這個版本,請參閱 參考資料。

          IBM developerWorks 抓住了機會,就這個新發行版的重要性,對開源網格先驅 Ian Foster 進行了采訪。

          developerWorks:最新發布的 Globus Toolkit 4.0 被稱為是距今為止“最能滿足企業需求”的版本。您可以快速回顧一下 Globus Toolkit 的由來,并重點介紹一下 Globus Toolkit 4.0 中的新特性和功能嗎?

          Foster:在開始從事 Globus 方面的工作時,大約是在 10 年之前,我們的研究重點是試圖確認一些允許通過科學上的合作和資源共享來解決一些復雜問題的機制和軟件。這個工作的成果就是 Globus Toolkit。大約在 2001 年,隨著 GT2 的發布,我們開始看到業界中許多用戶對此很感興趣,所以我們花費了大量的時間,吸引 Globus 軟件的潛在商業用戶的注意。

          這些討論對于我們來說是一劑強心針,使我們能更好地理解如何將科學界環境中的開發思想在 Web 服務框架中進行重塑,并且能夠使用一種對業界非常有用的方法來提供這種重塑。在得到 IBM 的贊助之后,我們就可以真正開展工作了,隨后推出的第一個產品是 2003 年 6 月發布的 GT3,這是第一個可以支持 Web 服務的 Globus Toolkit 版本,它利用了 OGSI(Open Grid Services Infrastructure),這是 WSRF(WS-Resource Framework)的前身。不幸的是,OSGI 不是一個業界普遍認可的標準,因此,坦白地說,GT3 軟件并沒有達到產品級別的質量。

          從 GT3 發布以后的最近兩年的時間里,我們已經在很多前端都取得了進步。一些重要規范已經在 Global Grid Forum(GGF)、OASIS 和 W3C 中得到了改進 —— 特別是 WSRF。我們非常努力地開發 GT4,在此過程中,我們已經實現了最新的 Web 服務標準,其中包括 WS-Security 和 WSRF。我們已經開發了一個代碼集,現在它已經達到了產品級別的質量。我們還與早期采用此軟件的組織進行緊密合作,例如位于 North Carolina 的 Microelectronics Center(MCNC),他是 Globus Consortium 的成員之一;還與很多研究網格的人一起合作,他們非常努力地從事最新版本的壓力測試工作。我們覺得現在這個軟件的質量已經足以滿足企業的設置需求了。這就是為什么 IBM、Sun、HP、Intel 和其他一些著名的公司現在都對 GT4 非常感興趣的原因。

          GT4 中最引人注目的特性是:與 GT 以前的版本相比,GT4 包括很多 Web 服務和標準。GT4 基于 Web 服務實現了對各種資源類的標準接口,這一事實可以顯著簡化設計,從而增加這些標準被接受的可能。當然,通過開源社區開發人員和 Globus 社區中的用戶的努力工作,與之前的版本相比,GT4 在測試質量、文檔、性能和可靠性方面都得到了很大的提高。

          您可以認為 GT4 是一組支持創建 SOA(Service Oriented Architectures) 的核心功能。這些核心功能包括支配置應計算和數據資源的執行和數據管理功能 —— 大量數據的移動和管理,以及支持資源發現和監視的服務。

          developerWorks:哪些領域在推動 GT4 的開發?

          Foster:在過去 3、4 年中,促進 Globus 發展的一大領域是對大量數據驅動問題的關注,例如,以 CERN 的下一代監測器陣列為代表,它每年將產生數千兆字節的數據。人們需要從大型社區中獲得這些數據,并對分布式復制、處理和數據驅動的任務流進行管理。

          幾年前,我們最初是這樣說的,“我們如何才能構建適當的協議和軟件來管理大量數據在網絡和機器之間的移動呢?”我們當時關注的是又大又昂貴的 SMP 機器,以及同樣大型并且昂貴的存儲解決方案,這也正是網格環境要解決的問題。

          因此我們懷疑是否可以使用集群,利用它的并行處理能力作為解決大量數據傳輸的方法。這個概念帶來了一些突破性進展 —— 例如,使用 Grid FTP 作為一種條帶化數據移動的基礎設施。今年秋天,通過使用我們構建的新型服務器,我們展示了如何跨國家在 IBM Linux® 集群之間使用 General Parallel File System(GPFS)實現 20 GB/s 的不間斷的端到端數據傳輸。

          我們還開始開發對數據傳輸進行管理的各種功能。我們不用擔心 A 點到 B 點之間可靠性的問題,而是相信網格會要求服務允許我們“開火之后就忘記”—— 讓服務來負責“重試”、“備份”和“故障遷移”的工作。我們還開發了數據復制的技術 —— 分析如何對分布在社區中的數據副本進行跟蹤和管理。有一個社區正在使用 Globus 軟件將 1 TB 的數據復制到全球的 6 個站點上,平均故障時間是 1 個月。

          執行管理是 GT4 中的另一大特性,它的架構重新進行了設計,這讓我們踏上了一條更好的途徑。因此我們正在查看當某個組織有工作負載時,它是否希望在特殊的基礎設施上運行,他們可以將必需的組件放在基礎設施的適當位置上,以便運行這些組件。在 GT4 中,這個過程依然在進行之中 —— 但是我們最近已經開展了大量的工作,允許進行更多操作執行的管理 —— 可以根據需要為任務負載管理鎖定整個堆棧,從 OS 到上層(通過虛擬機)。

          developerWorks:在網格/虛擬化領域中,最新的一些產品的使用情況如何?它們與網格(尤其是 Globus 所提供的功能)的關系如何?

          Foster:目前您可以看到的是很多人正在使用不同的方法來實現網格。通常,我們會看到一些允許我們對企業中或跨企業的資源進行聚合的軟件,但是采用的一般都不是可以互操作的方式。因此這些解決方案大多是私有的,而且不必基于標準來開發。例如,如果您在自己的解決方案中使用 Platform 的 LSF —— 這是一個很好的產品,很好用 —— 但是之后又使用了另外一個使用不同工作負載管理器的應用程序,那么這兩個應用程序不能對相同的底層資源進行共享。Globus 的目標是使您能夠將網格基礎設施部署到所有資源上,讓高級的軟件包來使用相同的公共基礎設施組件。

          采用這種公共基礎設施所需要的標準已經在標準社區中有大約 18 個月的時間了。現在可以采用一個開源的實現,人們可以開始構建自己的基于標準的基礎設施,其他應用程序和系統可以在此基礎上進行構建。

          developerWorks:因此,您是說諸如 Web 服務接口之類的開放標準對于網格的采用來說非常關鍵?

          Foster:對于網格社區,我們的觀點和目標是:在其中建立一些標準的接口,使您可以以標準方式管理不同類型的資源。Globus Alliance 的目標是為這些接口提供一個高質量的開源實現。我們相信開放標準非常重要,開源軟件可以成為這些開放標準的一個強有力的驅動工具。畢竟,我們已經具有 Internet 和 Web 方面的經驗:通過 BSD UNIX 來提供 TCP/IP 通信,通過 Apache 提供 HTTP 服務。

          有關接口的一個優點是,它們可以啟用多級的創新。可以通過創建不同的高級服務,在接口之上進行創新;但是也可以在接口之下進行創新,例如在網格環境中,通過創建更好的操作系統、文件系統和網絡管理系統,所有這些都可以通過 Web 服務接口進行管理。這樣,[Globus Toolkit] 本身就成為一種可以啟用的技術。它不是一個固定不變的解決方案;而是一個平臺和一組工具,您可以在此基礎上可以構建其他工具和應用程序。

          developerWorks:安全性方面的情況如何呢?

          Foster:目前我們為安全性提供的是一組基于標準的授權和身份驗證功能的一個很好的開源實現。我們實現了 WS-Security 及其相關規范,這使得用戶在應用程序中只需進行一次身份驗證,就可以訪問整個企業或其他企業中的計算資源和數據資源,而不需要再進行任何身份驗證。我們目前尚未提供(將來會解決)的功能是整合企業的單點登錄解決方案。我希望那些關注 Globus 在企業中的應用情況的組織(例如 Globus Consortium 和 Univa Corp.)花費一些精力來解決這個問題。

          developerWorks:就 GT4 的采用情況來說,您認為什么是它取得成功的原因?

          Foster:目前的一個趨勢是業界人士對 Web 服務的使用正在不斷增加。因此,Globus Toolkit 的出現,以及它為各種資源類別實現了基于 Web 服務的接口的事實,引起了人們的共鳴。當然,Web 服務的使用顯著簡化了設計和實現,這也對它的采用有所促進。

          我認為采用 GT4 的一條重要途徑是通過 ISV。目前您看到的主要是一些擁有相當多 IT 基礎設施的公司(例如金融服務和制藥公司)正在部署自己的網格項目,這些部署工作不但完全在本公司內部進行的,而且通常是與 IBM 和 HP 之類的公司合作進行的。對于很多(尤其是小型的)企業來說,通過將網格技術集成在自己的產品中的 ISV 來部署網格可能會更好一些。這一點在 GlobusWORLD 上得到了很好的展示,在 GlobusWORLD 中,SAP 顯示了一些應用程序的實驗原型,這些原型已經被修改,以便使用 Globus 軟件為這些應用程序動態配置資源。我認為我們將從這個例子中看到更多的東西。

          GT4 是 Globus 進化的一個延續。其重要之處在于,這是我們第一次覺得可以告訴其他組織 —— 代碼質量足以滿足企業需求了。

          Globus Toolkit 4.0 的新特性


          GT4 遵守最新的 Web Services Interoperability Organization(WS-I) Web 服務標準,在不同環境之間提供了最大的互操作性。
          GT4 包含對一些重要授權標準的初步支持,其中包括 Security Markup Language(SAML)和 eXtensible Access Control Markup Language(XACML)。
          GT4 實現了 WSRF 和 WS-Notification 規范。
          GT4 具有復雜的授權和安全功能。Globus 在網格安全性方面一直非常努力,從安全性的觀點來看,GT4 已經是“滿足企業需求的”了。
          GT4 提供了高級的執行和數據管理功能。

          作者簡介
          Travis Van 是硅谷的一位專注于新技術的技術 PR 宣傳者。

          除了自由撰稿和提供咨詢服務之外,Dave Rosenberg 還負責 LinuxWorld 的會議程序。他所夢想的技術是在基于 Linux 的蜂窩電話上運行網格應用程序。

          http://www-128.ibm.com/developerworks/cn/grid/gr-gt4/

          posted @ 2007-07-06 04:39 狼愛上貍 閱讀(581) | 評論 (0)編輯 收藏

          網格50題

          主題:網格

          關于題目難度的解釋:      

                            了解概念,基礎題目

          ★★              理解概念,有所擴展

          ★★★          引用實例,開放性問題(答案可能不唯一)

          針對難度的題目數目統計:

                                   17

                 ★★              22

                 ★★★          11

          題目

          1,請解釋五層沙漏結構的概念。★

          答:

          五層沙漏結構是一種早期的抽象層次結構,以協議為中心,強調協議在網格的資源共享和互操作中的地位。通過協議實現一種機制,使得虛擬組織的用戶與資源之間可以進行資源使用的協商、建立共享關系,并且可以進一步管理和開發新的共享關系。這一標準化的開放結構對網格的擴展性、互操作性、一致性以及代碼共享都很有好處。下圖為五層沙漏結構的典型結構圖。

          五層結構之所以形如沙漏,是由各部分協議數量的分布不均勻引起的。考慮到核心的移植、升級的方便性,核心部分的協議數量相對比較少 (例如Internet上的TCPHTTP),對于其最核心的部分,要實現上層協議(沙漏的頂層)向核心協議的映射,同時實現核心協議向下層協議(沙漏的底層)的映射。按照定義,核心協議的數量不能太多,這樣核心協議就成了一個協議層次結構的瓶頸。在五層結構中,資源層和連接層共同組成這一核心的瓶頸部分,它促進了單獨的資源共享。

          2,請解釋OGSA的概念。★

          答:

          開放網格服務結構OGSAOpen Grid Services Architecture)是Global Grid Forum 4的重要標準建議,是繼五層沙漏結構之后最重要、也是目前最新的一種網格體系結構,被成為下一代的網格結構。其中心思想是:以服務為中心的模型;同一的Web Service框架;突破科技應用領域。建造OGSA的兩大支撐技術是網格技術(如Globus軟件包)和Web Service。五層模型與OGSA都相當重視互操作性,但OGSA更強調服務的觀點,將互操作性問題轉化為定義服務的接口和識別激活特定接口的協議。

          3,五層沙漏結構自下到上分別為()。★

          A)構造層、資源層、連接層、匯聚層、應用層

          B)構造層、連接層、資源層、匯聚層、應用層

          C)構造層、連接層、匯聚層、資源層、應用層

          D)資源層、連接層、構造層、匯聚層、應用層

          E)應用層、連接層、匯聚層、構造層、資源層

          答:

          B

          4,下面對五層沙漏結構中各層作用描述錯誤的是()。★

          A)構造層:定義了一些對單個的資源共享操作協議

          B)連通層:定義了Grid網絡事務處理的通信和驗證協議,基于Internet協議

          C)資源層:提供一套對局部資源控制的工具和接口

          D)聚合層:提供多個資源協同工作

          E)應用層:提供Grid的系統開發和應用開發工具、環境

          答:

                 AC

          5Ian Foster提出的判斷是否網格的三個標準是什么?★

          答:

          網格必須同時滿足三個條件:

          1)在非集中控制的環境中協同使用資源;

          2)使用標準的、開放的和通用的協議和接口

          3)提供非平凡的服務。

          (參考2002 7 Ian Foster的《什么是網格?判斷是否網格的三個標準》)

          6,下面列出的網格服務接口中,()是已有服務接口,其中()接口是必須的。★

          AGridService

          BRegistry

          CFactory

          DWebService

          EHandleMap

          答:

                 選(ABCE),選(A)。

          7,網格核心服務技術包括哪些?★

          答:

          (1)       高性能調度技術;

          (2)       高吞吐率資源管理技術;

          (3)       性能數據收集、分析和可視化技術;

          (4)       安全技術。

          8,網格應用主要分為()這幾個主要部分。★

          A)分布式超級計算

          B)分布式儀器系統

          C)分布式存儲系統

          D)遠程沉浸

          E)數據密集型計算

          答:

                 ABDE

          9Globus項目的實現目標是什么?Globus系統主要有哪些部分組成?★

          答:

                 Globus項目發起于20世紀90年代中期,最初的目的是希望把美國境內的各個高性能計算中心通過高性能網絡連接起來,方便美國的大學和研究機構使用,提高高性能計算機的使用效率。目前,Globus項目把在商業計算領域中的Web Service技術融和在一起,希望不僅僅局限于科學計算領域,還能夠對各種商業應用進行廣泛的、基礎性的網絡環境支持,實現更方便的信息共享和互操作,從而對商業模式、人員的工作方式和生活方式產生深遠的影響。Globus目前的主要工作是建立支持網格計算的通用協議,開發支持網格計算的服務,實現支持網格計算環境的軟件開發工具。

                 Globus系統的主要組成部分有:

          (1)       網格安全基礎設施(GSI),負責在廣域網絡下的安全認證和加密通信,提供單點登錄功能、遠地身份鑒別功能、數據傳輸加密功能等,提供了基于GSI協議的接口,是保證網格計算安全性的核心部分。

          (2)       Globus資源分配管理(GRAM),負責遠程應用的資源請求處理、遠程任務調度處理、遠程任務管理等工作,負責對資源描述語言信息的解析和處理工作,是網格計算環境中的任務執行中心。

          (3)       元計算目錄服務(MDS),主要完成對網格計算環境中信息的發現、注冊、查詢、修改等工作,提供對網格計算環境的一個真實、實時的動態反應,是網格計算環境中的信息服務中心。

          (4)       全局二級存儲服務(GASS),簡化在Globus環境中應用程序對遠程文件I/O的操作,使得使用UNIX和標準C語言I/O庫的應用程序基本不用改動就可以在Globus環境中中興,是一個支持網格計算環境遠程I/O訪問的中間件。

          (5)       網格FTP服務,是一個高性能、安全、可靠的數據傳輸協議,并對高帶寬的廣域網絡環境進行了優化,是網格計算環境中的數據傳輸工具。

          (6)       Globus復制管理,將部分相關數據只能的放置在距離科學應用程序最近的位置,使得科學應用程序可以快速的對數據進行訪問。

          10,什么是網格,網格的目標?★

          答:

          網格是從電力網格中借鑒過來的一個概念,原本是希望計算力和計算資源能夠象電力一樣,打開電源開關就可以使用,不用去關心是誰、如何提供的這些服務。網格的目標是抽象并量化計算資源,隨時隨地能夠通過網絡定額完成定量的計算相關的工作。

          11,網格的本質特征是什么?★

          答:

          網格的本質特征是:分布與資源共享:分布是網格最本源的特征,網格是通過集中分散的資源來完成計算的,資源的共享是一種集中資源的手段高度抽象:把計算力和所有的計算資源高度抽象成為用戶可見的電源接線板,其它的東西對用戶透明。自相似:在大尺度上和小尺度上有相同或者類似的規律動態性和多樣性:和電力網格一樣,用戶的需求是變化的,所以動態性是網格需要考慮的一個基本問題自治性與管理的多重性:網格節點內部的自治和外部的受控整合是網格的一個特征,分層的資源需要層次化的管理,而分層來自于網格節點的歸屬問題和性能方面的考慮。

          12,網格在應用領域體現出來的優勢主要是        。★

          答:

          高性能、低成本。

          13,網格的主要有那些體系結構?★

          答:

          Foster等在早些時候提出的五層沙漏結構,從底層開始分別為構造層、連接層、資源層、匯聚層和應用層,這是早期的網格體系結構,后來OGSA的出現使得這種體系結構已經淡化了。美國Globus項目提出的網格體系結構模型采用本地服務層、核心服務層、高層服務與工具層、應用層四層結構。在此基礎上,美國的Argonne國家實驗室、芝加哥大學、南加州大學和IBM公司共同提出了開放式網格服務體系結構(OGSA)OGSA采用纖維層、聯絡層、資源層、協作層、應用層五層結構。

          14,網格(Grid)的起源是什么?★

          答:

          網格Grid)一詞來源于人們熟悉的電力網(Power Grid)。目前對計算力的需求正在持續不斷地增長。高速網絡、功能和性能更加強大的大規模計算系統、高性能存儲系統以及高級數據分析軟件的應用為解決商業領域和科學領域的計算問題帶來了希望。但是利用這些新的能力意味著應付不斷增加的工作負荷要求所帶來的空前挑戰。當一個組織機構在努力保持競爭力的時候他們面臨許多前所未有的挑戰:減少計算費用、增加計算吞吐量、加快對市場的響應、改進生產服務質量和產品創新等都是非常重要的。一個組織機構在硬件方面的投資需要謹慎地進行權衡,并且必須找到利用可得資源完成更多工作的方法。盡管對計算力的需求是非常大的,但是許多現有的系統都沒有得到充分利用。其中一些單個服務器也許滿負荷工作,但是大多數系統卻不是滿負荷工作的,使許多計算周期沒有使用,而實際上這些計算周期可以用于滿足不斷增長的計算資源需求。網格計算使組織機構可以更加有效地和靈活地用他們的分布式計算資源,從現有的系統中獲取更加有用的計算力,幫助組織機構獲得競爭優勢。

          15Globus項目的網格安全基礎設施GSI重要集中在網絡的        ,并強調與現有分布式安全技術的融和。GSI基于    加密體系,采用    認證和    通信協議,并對它們進行了一定的擴展,使得GSI可以支持單點登錄。★

          答:

                 傳輸層、應用層、公鑰、X.509SSL

          16,下面選項中,哪些是常用網格應用程序開發工具()。★

          ACoG Kits

          BGT3

          CJava CoG Kit

          DMPICH-G2

          ECORBA

          答:

                 ABCD

          17Globus的數據管理主要組成部分包括哪些內容?★

          答:

          (1)       全局二級存儲服務GASS,通過GASS可以簡化在Globus環境中應用程序對遠程文件I/O的操作,使得使用UNIX和標準C語言I/O庫的應用程序基本上不用改動就可以在Globus環境中運行;

          (2)       網格FTP服務,GridFTP支持第三方傳輸、斷點續傳、并行傳輸、與GSI結合的安全認證、緩存等特性,是網格計算環境中的數據傳輸工具;

          (3)       Globus復制管理,復制管理是一大類科學應用程序中需要考慮的重要問題,由于存在對大型遠程文件的訪問,Globus復制目錄通過把部分相關數據智能的放置在離科學應用程序最近的位置,使得科學應用程序可以快速的對數據進行訪問。

          18,首款用于網格計算的數據庫應用服務器已經正式面市,這款產品是()。★★

          AMicrosoft SQL 2004

          BOracle 10g

          CGridBase

          DDB2 for Grid

          ESybase

          19,網格的五個主要應用領域:分布式超級計算、分布式儀器系統、數據密集型計算、遠程沉浸和信息集成。實際上,這五個應用在現在的萬維網上也能實現,那么網格在這些應用領域的優勢體現在什么地方?★★

          答:

          網格的優勢體現在按需計算各取所愿上。按需計算的網格代表了量子化基本單元、格式化資源共享、形式化公共協議和公理化組合創新的思想。網格是可視、可譜、可拓和可控的策略性創新工具,能從體系結構上推動智能計算機和網絡的發展。

          20,網格體系結構的基本要求包括哪些內容?★★

          答:

          1)為應用提供單一分布資源全局視圖和聚集各種分布的自治資源成為一個系統,不能破壞現有系統,不導致應用程序的重新編寫;

          2)不同組織之間的資源共享互操作是必不可少的,可以對資源直接訪問而不單單是文件共享和交換,具體體現在各種資源構件之間和機制之間;

          3)有一套標準的協議是至關重要的,在遵守標準協議的前提下,才能使允許跨節點的協同工作、允許基礎下部組織共享成為可能;沒有標準的協議,互操作和共享很難實現,重復開發和安裝不可避免;

          4)從Grid實現者的角度來看,網格體系結構是一個層次型中間件服務集合,按照現代軟件系統的設計原則,以服務的方式為應用工具和應用的開發提供支持,而服務的實現必須能夠自由地使用各個層次上的功能和服務進行構造。

          21,下圖是一個數據挖掘的例子,它是基于     結構實現的,認證是在圖示中的第    步完成的。★★

          答:

                 OGSA結構,2

          22,請解釋網格計算和Web Service的關系。★★

          答:

                 網格計算與Web Service之間存在著密切的關系:Web Service的核心是在大的異構網絡上將各種應用連接起來,借助于Web標準UDDIWSDLXML/SOAP等將Internet從一個通信網絡進一步發展到一個應用平臺。當越來越多的Web Service實現后,應用的各種特征將會隨之改變。一些應用就可以根據需要或者是根據可以得到的功能,從可得的服務中來動態構造。

          OGSA吸納了許多Web服務標準,如Web服務描述語言(WSDL)、簡單對象訪問協議(SOAP)、輕目錄訪問協議(LDAP)、Web服務探測(WS-Inspection)等。這些標準用于定位、調度計算資源并保證它們的安全。OGSA采用Web服務框架的優點是:一方面,通過注冊和發現接口定義和終端實現描述以及動態產生特定接口綁定的代理,在異構環境中能夠支持服務的動態發現和合成。另一方面,由于Web服務機制在商業應用領域廣泛采用,OGSA采用Web服務框架使人們能夠利用許多現有的開發工具和擴展服務,如產生語言綁定的WSDL處理器。

                 有些人認為Web ServiceGrid Service都需要發現服務,進而將服務綁定,以集成到應用之中,于是把Web ServiceGrid Service當成一回事,這是錯誤的。Web service強調永久服務的發現和調用,Web service的服務是無狀態的,但在網格環境中,必須也要支持瞬時服務實例, 動態地創建和取消。可以說,Grid Service只是用了Web Service的一層外皮。

           

          23,下圖是五層沙漏結構的系統還是OGSA的系統,并說出你的理由。★★

          答:

                 OSGA結構。因為從圖中可以看出,此系統實現了必須的Grid Service接口,并通過Miner FactoryDataBase Factory等接口provider的協作可以支持創建臨西服務。

          24OGSA有四個主要層次:物理與邏輯資源、定義網格服務的Web服務與OGSI擴展、基于OGSA架構的服務,以及網格應用程序。你怎樣理解這句話?★★

          答:

                 不完全正確。這句話描述的應該是服務網格,但對其他網格不一定合適,例如計算網格。

          25,網格與分布式系統有何區別?★★

          答:

                 網格計算是一種新的高性能的分布式計算方法。網格計算作為新一代的分布式計算方法,與傳統分布式計算的主要區別在于在沒有集中控制機制的情況下,通過對計算資源進行大規模共享,滿足應用對高性能計算要求,并且這種對計算資源進行大規模共享是動態的、柔性的、安全的和協作式的。

          26,調度的目的在于使運行的大量應用在共享網格各種資源的同時獲得最大的性能。網格調度相對傳統高性能計算中的調度策略和技術不同之處在什么地方?★★

          答:

                 相對于傳統的高性能計算中的調度技術和策略,網格調度更加復雜。這是因為任何一個網格調度器都無法對所有的網格資源進行管理,而只能使針對一定范圍內的網格資源。另外,網格資源還是動態變化的。由于其他應用引起的資源競爭對性能影響很大,而且會經常出現,網格資源的復雜多樣,不同類型的資源會展示出不同的性能特征,而且相同類型的資源由于共享等原因所展示的性能也是隨時間變化的。因此網格的調度,需要建立隨時間變化的性能預測模型,充分利用網格的動態信息來表示網格性能的波動,而且網格的調度必須考慮到多種多樣的環境和條件,這是由網格異構性和多樣性等特征所決定的。在網格調度中,還存在著移植性、擴展性、效率、可重復性以及網格調度和本地調度結合等問題,這些都是網格技術需要解決的問題。

          27 闡述一下你對集群和網格之間相同和不同之處的理解。★★

          答:

          他們都是分布式系統,目標很多相近的地方,共享和協同,所以技術上也有相似的地方。但是條件和環境不同,集群一般是同構(也有異構的),地域上十分近,要想性能越強就需要越近。一般是在一個屋子里面,至少也是在一個局域網范圍內。網格的范圍就廣的多了。無論從地域的廣度,還是系統組成的復雜性。網格的組成可以很復雜,包括專用存儲器,各種儀器設備等,當然其中也包括集群,各種類型的硬件,各種不同的系統軟件,還有功能復雜的中間件。從分布式系統來說,最集中的方式就是集群,最分散的方式就是網格。屬于分布式的兩端。

          28,請問網格如何分類,并分別進行解釋。★★

          答:

          1)計算網格:強調計算力獲取、管理等的網格;

          2)數據網格:強調數據存儲、管理、傳輸、處理的網格;

          3)訪問網格:強調信息存儲、管理、傳輸、處理的網格;

          4)信息網格:強調數據存儲的網格;

          5)服務網格:強調應用服務集成的網格;

          6)知識網格:強調知識存儲、管理、傳輸、處理的網格;

          7)語義網格:強調語義解析的網格,實現語義互操作;

          8)訪問網格:提供單一訪問通道獲取網格資源的網格;

          9)網格門戶:提供網格單一訪問通道。

          29,介紹一些國外的主要網格項目的狀況?★★

          答:

          美國科學格網項目的目標是建立基于格網中間件Gridware)和系統工具的高級分布式計算基礎設施(ADCI)使能源部科學計算體系的可伸縮性滿足能源部內部科學研究任務要求。    遠程分布式計算與通信項目的目標是創建一個用于訪問美國能源部三個武器實驗室的具有可操作性的格網,以支持國防計劃中遠程計算和分布式計算這兩個關鍵戰略領域復雜的分析、設計、制造、認證功能。

          地球系統格網(Earth System Grid IIESG)項目由阿貢國家實驗室(Argonne National Laboratory)等五個國家實驗室的科學家聯合承擔。主要目標是解決從全球地球系統模型分析和發現知識所面臨的巨大挑戰,為下一代氣候研究提供一個無縫的強大的虛擬協同環境。

          國家地震工程仿真格網的目標使地震研究人員能夠進行各種地震工程實驗數據分析的大規模計算任務。

          此外,目前美國正在進行的格網計算研發項目還包括Globus、美國航空航天局(NASA)的信息動力格網(Information Power GridIPG)、美國國家技術格網(National Technology Grid)、虛擬實驗室項目(Virtual Laboratory Project)、天體物理仿真合作實驗室(Astrophysics Simulation CollaboratoryASC)、國際虛擬數據格網實驗室(International Virtual Data Grid LaboratoryiVDGL)等。

          Globus目標構建一個格網軟件基礎設施。研究內容包括資源管理、數據訪問、應用開發、格網安全等。目前全球許多用戶利用Globus工具包創建格網和開發格網應用。

          信息動力格網的目標是為國家航空航天局科學研究任務提供持續、可靠的計算動力源。

          美國國家技術格網項目的目標是創建一個無縫集成的協同計算環境原型系統。

          虛擬實驗室項目致力于研究、設計、開發能夠幫助解決數據密集的、涉及大規模計算的分子生物學問題的格網技術。

          天體物理仿真合作實驗室項目的主要目標利用CactusGlobus格網計算的研究成果為高級可視化交互和元計算提供大規模并行計算能力,實現在相對論天體物理學領域的大規模仿真。

          國際虛擬數據格網實驗室項目由歐盟的數據格網(DataGrid)、美國的格網物理網絡(Grid Physics Network)和粒子物理數據格網(Particle Physics Data Grid)協作創建。

          30,什么是P2P計算,與網格有什么關系?★★

          答:

          對等(P2P)計算是在Internet上實施分布式計算的新模式。在這種模式下,服務器與客戶端的界限消失了,網絡上的所有節點都可以平等共享其他節點的計算資源。IBM為對等下了如下定義:對等系統由若干互聯協作的計算機構成,且至少具有如下特征之一:系統依存于邊緣化(非中央式服務器)設備的主動協作,每個成員直接從其他成員而不是從服務器的參與中受益;系統中成員同時扮演服務器與客戶機的角色;系統應用的用戶能夠意識到彼此的存在,構成一個虛擬或實際的群體。網格采用P2P計算體系結構。

          31,何為元計算,與網格是什么關系?★★

          答:

          元計算技術是將一組通過廣域網連接起來的性質不同的計算資源集合起來,作為一個單獨的計算環境向用戶提供計算服務。元計算系統的目標是使用戶能夠共享其中的計算資源并以合作的方式進行計算。元計算前端主要解決最終用戶通過統一的界面來使用廣域網上各類計算資源的問題;元計算內核主要解決計算任務在廣域網中各種超級計算機上協作完成的問題,提供一個完整的程序開發和運行環境。當用戶提出計算請求時,計算問題的執行代碼在系統內部的計算資源上進行合理的調度和管理,最后得出運行結果并通過元計算前端反饋給最終用戶。一個良好的元計算系統主要由三個部分組成:一是盡量簡單而又可靠的使用界面;二是資源管理系統;三是良好的編程模型和高效可靠的運行時環境。其中資源管理系統處于核心地位,它負責整個系統中各個資源的描述、變動、分配與保護,與運行時系統密切合作,保證整個系統的正常運行。資源管理系統需要為不同級別的系統管理員提供強有力的工具或界面來對這些資源進行控制和保護。元計算是網格計算的初級形態。

          32,網格跟.netcorba,jinijavarmiJ2EE都是什么關系?★★

          答:

          網格融合了.netcorbajinijavarmiJ2EE思想,并從軟件集成擴展到CPU、存儲設備、儀器等硬件的集成。

          33OGSAOGSI有什么關系★★

          答:

          OGSI規定了向網格發送處理請求時所使用的接口,相當于Web服務中的WSDL,在網格計算相關標準中處于核心地位。開放式網格服務體系結構采用纖維層、聯絡層、資源層、協作層、應用層五層結構,網格是通過調用服務來構造應用的,這就涉及接口問題。

          OGSA是一個抽象的東西,里面沒有具體的內容,OGSA的推出要比OGSI早,OGSI是對OGSA的主要方面具體化、規范化。Globus是基于OGSI標準的一個實現。WSRF是和OGSI同一個層次的東西,是吸收了Web Service最新成果后,對OGSI的重構和發展。

          34,網格與中間件是什么關系?★★

          答:

          網格中間件(Gridware)就是一種在網格中應用的中間件;現在的Globus Toolkit就是一種網格中間件,連接異質的主機節點構成Globus網格。

          35,網格跟IBM提出的自主計算有什么關系?★★

          答:

          自主計算的設想是將日益復雜的IT系統管理后臺化、自動化和智能化,通過強大的中間件將異構網絡改造成真正意義上的和諧自主的數字神經系統。網格本身就是一種自主計算。

          36,國內的網格有那些項目,每個項目的目標如何,目前進展如何?★★

          答:

          (1)              ACI工程的目標是把分布在不同地理位置的高性能計算機、貴重儀器、數據庫等用高速網絡連接在一起構成一臺虛擬計算機,用戶通過ACI共享資源、共同討論、合作開展科研項目。

          (2)              織女星計劃,Vega計劃以元數據、構件框架、智能體、格網公共信息協議和網格計算協議為主要研究突破點。

          (3)              上海網格,海市政府將與IBM公司合作建立城市網格,整合全市范圍內的政府信息化資源,提高政府的公共服務能力和效率。

          37,下圖是網格環境下安全認證證書的獲取過程示意圖,請在圖中圓圈中標注證書獲取過程的步驟。★★

          答:

          38,下圖是Globus環境中的安全鑒別過程示意圖,并用數字標注了過程各步的次序,請為各步加上說明。★★

          答:

          39,網格的安全問題的研究主要包括哪些內容?★★

          答:

          1)集成方案: 著重解決如何充分利用現有的服務以及接口并對其進行抽象為可擴展的體系;

          2)協同工作能力解決方案:著重解決如何在有著不同安全機制和策略的虛擬組織中的服務的互相調用問題;

          3)信任策略方案:著重解決如何在動態網格環境下定義、管理、執行信任策略。

          40,下圖GSI認證過程的示意圖。圖表示了主機B認證主機A的過程,但是在示意圖中圓圈里面標注的認證過程步驟次序被人涂掉了,請填入正確的步驟次序。★★★

          答:

          41,你認為GSI授權還存在有哪些不足?★★★

          答:

          (1)       GSI要求每一個訪問資源的全局用戶都需要在本地資源服務器上擁有一個自己的賬號,每一個資源服務器都需要維護一個龐大笨拙的全局/本地映射表,這種授權機制難以擴展到擁有大量資源和大量用戶的大規模環境中。

          (2)       GSI缺乏基于全局策略的具有良好擴展性的訪問控制機制。

          (3)       針對目前大規模網格環境中授權機制存在的問題,我們提出了虛擬組織中的社區授權策略。

          42,說說你對建造網格的建議。★★★

          答:

          (1)       爭取國家、政府的支持。

          (2)       爭取大公司的支持。

          (3)       創造商機,利用市場與經濟杠桿。

          (4)       從局部到整體。

          (5)       同一的協議、規范。

          43,有人提出網格作為一種計算能力,是否能提出一個計量單位,作為網格使用量的度量。就像電力網一樣,用戶擁有獨立的電表,根據電力的使用量付費。說說你對這種觀點的看法。 ★★★

          答:

          (答案A)應該付費。服務好的網格可以收取適當的費用。如:對計算網格可以按照使用的計算能力付費,對存儲網格可以按照存儲大小和服務時間收取費用。

          (答案B)不應該付費。網格號稱是下一代互聯網,可以參考當前互聯網來判斷網格是否可以收費使用。互聯網上,人們提供資源和服務大多是資源的,其他人使用這些資源和服務是不用付費的,所以網格也不應該付費。

          44,網格n年以后會不會取代現在的internet而成為網絡的最基礎設施?說說你的看法。★★★

          答:

          一種答案:不會,就像internet沒有取代PC一樣。他們處于不同的層次,解決不同的問題。網格是以Web為基礎的,必然是建立在internet上。

          45,網格被成為下一代互聯網。請你參考網格技術分析一下,網格時代下作為網格設備的計算機相對于現在的計算機應該在那些方面進行提高?★★★

          答:

          1 安全性:與對網絡環境相比,網格環境中,計算機更加地于網格,對于以網格設備的面貌出現的單個計算機,具有更高的安全性能要求。

          2,個體與集體關系:每一個計算機(網格設備)都是網格集體中的成員,對于網格應用而言,網格是一個整體,不管任務(或應用)從什么設備提交,都是利用整個網格的資源來執行的。即一個在大型計算機上運行的任務可以通過甚至手機來運行。在網格中,個體的特色將被最大限度地淹沒在網格社會中。 即我們可以在PC計算機上運行某個應用,如Word,也可以在手機上運行同一個應用,甚至可以把在PC機上運行一半的Word,移植到手機上繼續運行下去,而網格應用本身并沒有察覺這個變化。

          因此,為了適應網格環境,現在的計算機需要提高安全性,并方便于進行分布式計算,就需要從硬件、操作系統、應用程序體系結構、通信等方面進行提高。

          46,某單位需要上一個系統,需求是:1,絕大多數需要集成的系統是數據庫系統;2,對信息的變化要求能夠有實時響應的能力;3,機構的組織要求分級。請考慮該單位是否適合使用網格平臺來解決這個問題?★★★

          答:

          網格對數據庫的支持現階段還不夠好,針對具體的應用開發grid service好像不是很合適,完全不具備普遍性;網格大多還是屬于一個被動式的系統,即要求用戶主動去申請服務,是一種拖的方式,而該單位的需求更多的需要是一種拉的方式;而網格中用的模型更多的是一種對等的模型,而不是分級模型。

          該單位的問題應該有現成商業軟件能夠完成,不過價格應該比較昂貴。沒有現成的網格平臺能夠簡單的把該單位的系統集成進去并滿足要求,想做也要自己做開發,考慮到開發成本、維護等問題,代價勢必更高,所以使用網格平臺是不合適的。

          47,如果把網格比作一臺虛擬的超級計算機,網格計算類似CPU的功能,數據網格類似磁盤的功能,那么數據線、主板、顯卡這些又是什么呢?★★★

          答:

                 這里存在一個誤區:我們不能在把網格當成網格計算機的時候,又把網格看成中間件的形式。當把網格看成中間件的時候,網格就不能是一個計算機,因為原有計算模型沒有改變。

          網格計算機是在分布式系統之上構筑的虛擬計算機,因此其計算模型要有根本改變,即不是馮絡伊曼機構,也不應該是圖靈機模型。

                 如果一定要給網格環境下的數據線、主板、顯卡等概念匹配到具體的網格設備上,可以這樣理解:數據線、主板則是通信網絡和服務注冊站,顯卡、顯示器則是PC終端。不過這樣的匹配就有些牽強了。

          48,網格是一種新技術,任何新技術或多或少都會帶有泡沫的成分?你是否贊成?網格技術是否也帶有泡沫的色彩?從總體上看,網格技術目前的發展,是處在一個什么狀況?網格離實際應用,離商業應用還有多遠?網格需要經歷幾個階段,才能走向真正的商用?網格想要得到廣泛的商業應用,是否會遇到一些阻礙?★★★

          答:

                 1)不贊成,技術本身沒有泡沫,泡沫是商業炒作產生的。現在已經開始商業炒作了。

          2)技術上出于研究開發階段,商業上出于炒作期,即處于預熱期。

                 323年時間。

          4)原型應用系統開發、網格標準化(規范、協議)、成熟的商業模式。

          5)是的,例如安全問題、計費問題等。

          49,國際上所設想的計算網格的普遍形式是任務可以跨結點進行分布運算,但是目前階段的網絡條件和研究水平尚不能有效地支持這一設想,于是有人提出可以用網格構成計算池網格計算池有以下特點:(1)計算資源共享;(2)不把一個任務分解成N個子任務,而只是安排在其中一臺合適的機器上運行;(3)通過Web提交任務和查看結果。請你對網格計算池的這三個特點給出你的評價。★★★

          答:

          1)計算資源共享可以提高資源的利用率和服務質量,但需要實驗證明;

          2)現在只有極少的任務是任何單臺高性能計算機都無法處理的。這條限定可以避免分解任務的復雜性(同時降低用戶使用高性能計算的門檻),而且更重要的是,避免任務子模塊之間頻繁通信造成的性能下降。

          3)通過Web提交任務和查看結果。這可以大大方便用戶訪問高性能計算機:用戶不必出差,不必到實驗室排隊,在家中就可以24小時提交和運行任務。而且一般來說,任務提交和返回結果的通信量相比計算時的內部通信量是很小的。

          50,根據你對存儲網格的理解,設計一個應用在局域網內部的虛擬化存儲系統。★★★

          答:

                 系統結構如圖所示

          整個系統主要包括存儲服務點SSP(Storage Service Point) 全局命名服務器GNS ( Global Name Server)、資源管理器RM(Resource Manager)、認證中心CA(Certificate Authority) 客戶端、存儲代理SA(Storage Agent)以及可視化管理。

          SSP是整個系統的入口,對系統所有模塊的訪問都通過SSP,它主要提供FTP接口、CA接口、RM接口和GNS接口;系統中SSP的個數可以根據需要動態增加;SSP接管了傳統方案中GNS的部分功能,減輕了GNS的負載,提高了系統的可擴展性。

          GNS負責系統的元數據管理,主要包括元數據操作接口、元數據容錯系統、元數據搜索系統。

          RM包括資源調度模塊和副本管理模塊,其主要負責資源的申請和調度,同時提供透明的副本創建和選擇策略。

          客戶端目前支持三種形式:通用FTP客戶端、文件訪問接口和特制客戶端。用戶通過系統提供的特制客戶端,不但能夠進行用戶組操作,具有搜索和共享等功能,還可以獲得更高性能的服務。

          CA包含證書管理系統,主要負責系統的安全性和數據的訪問控制,同時它記錄了用戶的注冊信息。

          SA屏蔽了存儲資源的多樣性,為系統提供統一存儲訪問接口,同時提供了文件操作方式和擴展的FTP操作方式,另外它對文件復制管理操作提供支持,為高效傳輸提供服務。

          posted @ 2007-07-06 04:38 狼愛上貍 閱讀(503) | 評論 (2)編輯 收藏

          網格與 Web 服務的結合

          目前兩項最熱門的技術就是網格計算和 Web 服務,但是這兩者是兼容的嗎?在本文中,Martin C. Brown 告訴我們這兩個系統實際上兼容程度是相當高的,并描述了在網格應用程序中使用 Web 服務的好處。為了確定網格計算和 Web 服務是否相互兼容,我們需要研究一下網格計算的工作方式,看看我們是否真的可以將一個典型的網格系統分解成若干個相對分散的單元。網格計算的架構依賴于相當基本的原理,即在多臺客戶機和多臺服務器之間傳送簡單的請求。 Web 服務依賴于處理從一臺客戶機發送到一臺服務器上的請求。

          如果您尚未看到這一點是如何適應已有的網格結構的,本文將探討兩種最常見的網格系統:請求架構和分發架構。請求系統依賴于客戶機請求工作,而分發系統依賴于代理直接給客戶機提供工作。這兩種系統在與 Web 服務結合的時候面對的是不同的問題,這一點我們也會討論到。

          網格通信

          在網格計算中,基本存在兩種主要的組件類型 —— 服務器和客戶機。服務器用于分發工作請求及保存有關構成整個工作的獨立工作單元的信息。客戶機(典型情況下有多個)負責處理獨立的工作單元。這兩者之間的通信方式有多種,但是系統的核心是對工作的分發。再次指出,系統采用兩種工作方式中的一種,要么是客戶機管理自己的工作流,并向服務器請求新的工作單元,要么是服務器將工作單元分發給客戶機。

          通信過程并不是到這里就停止了;通常還需要額外的服務器和服務來支持網格服務器的基礎設施,它們相互之間需要進行對話,并交換信息。關鍵的問題在于,通常情況下網格解決方案中交換的是相當分散的信息片斷。在客戶機和服務器之間交換的是原始的工作單元和處理之后的響應。甚至在數據負載相當高的情況之下,如進行數據處理或視頻呈現時,我們依然在交換信息包,而不是在客戶機和服務器元素之間建立完全、雙向、永久的通信。

          新版的 WebSphere 擴展包中的網格思想更為激進,甚至允許將到 WebSphere 應用程序的 Web 請求通過 WebSphere 服務器進行分發。這個例子也證明了網格管理與實際的工作分發都可以通過相當簡單的數據交換來完成。

          規則中當然總有例外。并不是所有的網格系統都依賴于如此直接的簡單包交換。比如說,資源網格通常依賴于網格提供者(客戶機)之間相當繁重的相互通信,這樣才能在網格上實現實時的存儲請求。不過在這些情況下,即便當客戶機之間直接進行通信時,依然是一種基本的信息交換。因此,如果我們僅僅在交換信息,當然就應該用一種標準的方法在服務器和客戶機之間進行通信。這也就是 Web 服務的用武之地。

          Web 服務概覽

          在我們能夠理解 Web 服務如何為我們的網格解決方案提供支柱之前,我們需要理解 Web 服務的工作方式。最簡單的方法是將其想像成一種遠程過程調用(RPC),通過這種方式我們可以從一臺計算機(客戶機)上調用某個功能,而代碼和實際的功能是在另外一臺計算機(服務器)上執行的。

          各種各樣的 RPC 中不存在新東西。一段時間以來,各種不同的平臺上都有不同的實現。也許最有名的 RPC 實現是 UNIX 機上的。這一實現使用了一組復雜的函數,可以使客戶機與服務器之間進行信息交換,它將一種基本的 C 結構轉換成一種可以在網絡上廣播的標準化格式,即外部數據表示(External Data Representation, XDR)格式。這種方法對數據進行了序列化和標準化的處理,轉換后的數據格式可以被該 RPC 架構下的任何客戶機或服務器解碼出來。

          最近 Web 的爆炸式發展意味著,每當我們訪問某個 Web 站點的時候,我們很自然就是在進行遠程過程調用。我們的客戶機就是瀏覽器,它向一臺服務器(如 Apache, IIS 等)請求一個文件,然后,處理并顯示得到的信息。這是一個簡單的數據交換過程。有了公共網關接口(Common Gateway Interface, CGI)、JSP、ASP 這樣的動態技術,我們才真正是在調用遠程過程。交換過程是以 HTTP 請求和 HTML 響應的形式進行的,但是達到的效果一樣:我們調用遠程機器上的過程,然后獲得一個響應。

          通過以某種方式標準化信息的交換過程,我們就得到了 Web 服務。請求和響應都以 XML 編碼。從基本相同的技術派生出兩個變種:XML-RPC 的設計目標與它的縮寫名所暗示的完全一樣 —— 發送和接收用 XML 格式化的遠程過程調用;簡單對象訪問協議(Simple Object Access Protocol, SOAP)更加高級。SOAP 的核心依然是一種 RPC 技術,但是這種技術經過增強,可以實現對一個對象的遠程操縱。這樣 SOAP 就不是一種簡單的 RPC 調用,而是可以創建對象、操縱對象、并用這個對象在服務器和客戶機之間進行更加確切和格式化的信息交換。

          Web 服務可以由任何一種 Web 服務器提供,可以在幾乎所有的支持平臺上用幾乎所有的語言書寫,其中包括 Perl、Python、C/C++、Java 語言以及 Visual Basic。Web 服務的核心基本上是 Web 服務器上的一個動態組件,它能夠正確地處理 Web 服務請求和響應。這意味著,在很多情況下,您可以很容易在您的已有系統中創建一個 Web 服務的接口。您需要做的只是在通常進行的常規系統調用外圍編寫一個包裝器。

          網格與 Web 服務之間的界限逐漸模糊

          到目前為止,我們已經探討了通過交換信息而實現的網格技術,這種交換既可以在服務器和客戶機之間進行,也可以直接在客戶機之間進行,從而實現對信息的處理和分發。但是這種交換系統需要借用某種方式進行真正的信息交換。這些年來,人們使用了很多種系統,包括 FTP 協議和定制的協議系統。

          目前,在 Web 服務陣營之中,我們已經擁有了一種通用的工具,可以用來在兩臺機器之間交換信息,比如說請求執行某項特定的功能(如 getnewworkunit()),或是簡單地在這兩者之間交換信息。因為 Web 服務是建立在 XML 等其他標準之上的,因此很容易開發并擴展到各種不同環境中,并且也容易部署。我們擺脫了不同系統間數據交換的所有問題,并且不需要擔心處理器字節中的位次序(endian-ness),也不需要將我們傳遞的信息轉換成中性格式,因為 Web 服務的標準已經替我們做了這些事情。

          因為我們需要用某種類型的偵聽程序/分發服務來處理請求、分發工作以及收集結果,所以 Web 服務就是最理想的選擇。Web 服務系統帶來的主要益處在于,因為它依賴于 HTTP 協議,因此很容易將 Web 服務集成到已有的 HTTP 平臺、路由器、防火墻以及其他系統中。大多數組織已經運行了 HTTP 服務,因此您可以用已有的技術和安全系統來支持您的網格系統,而不需要對網絡進行改造,也不會對網格系統中的設備造成限制。

          這樣,用 Web 服務開發網格系統就具有了一些無可比擬的優勢,其中包括:
          ·增強的兼容性。
          ·增強的靈活性。
          ·通過消除數據交換的復雜性,使跨平臺開發成為可能。
          ·很容易部署在已有的 Web 服務器上。
          ·很容易通過已有的 HTTP 安全機制與防火墻的支持來提供安全性。
          ·通過 Intranet 或 Internet 訪問網格組件的難度降低,這樣就使得通信變得容易,可訪問性增強。

          出于所有上面這些理由,以及更多的原因,Web 服務已經逐漸成為新的網格服務標準 —— 開放網格服務架構(Open Grid Services Architecture, OGSA)以及與之相伴的開放網格服務基礎設施(Open Grid Services Infrastructure, OGSI)—— 的一個組成部分。Globus Toolkit 3.0 是第一個完全支持 OGSA/OGSI 標準的網格平臺,它支持將 Web 服務作為數據交換的平臺。IBM 作為 OGSA 標準和 Globus 系統的關鍵參與者,給 Web 服務提供了強有力的支持,現在正推薦人們在業務開發平臺中廣泛使用 Web 服務。Globus 支持 SOAP Web 服務協議。

          Web 服務方法還帶來其他一些好處。Web 服務可以通過多種不同的 Web 服務目錄和系統發布,其中包括像統一描述、發現與集成(Universal Description、Discovery and Integration,UDDI)和 Web 服務描述語言(Web Services Description Language, WSDL)這樣的系統。為了讓網格計算能更容易部署,我們需要通過這樣的目錄和系統來發布服務。不管您是否選擇 Globus Toolkit,都需要考慮如何在您的網格系統中應用 Web 服務。有兩種 Web 服務可供使用,它們分別適應兩種典型的網格服務結構:請求架構,在這種架構之下客戶機與一個或者多個中央服務器進行聯系;分發架構,服務器直接與客戶機聯系。對于每一種架構,在網格應用程序中使用 Web 服務之前您都必須考慮一些問題。下面幾節將詳細討論。

          支持請求架構

          Web 服務的主要應用位置是在分發和代理的一端,也就是說,點單元被分布到網格中的客戶機(提供者)上,這就是一種請求架構的例子,其中客戶機從網格代理那里請求工作。請求架構事實上是可以支持 Web 服務的最簡單的系統,因為這樣的系統可以像以前一樣很好地工作:客戶機向一個可用的服務器發送已經完成的工作單元,并從那里請求新的工作。您需要做的事情只是安裝 Web 服務和 Web 服務器,可以單獨安裝,也可以直接安裝在代理服務器上,然后添加代碼以將您的 Web 服務連接到代理。整個系統的工作情況如圖 1 所示:



          圖 1. 請求架構運行圖


          Globus 對于這種架構是一個理想的解決方案,因為 Web 服務組件可以很方便地對系統中的客戶機和服務器提供支持。

          支持分發架構

          分發架構與傳統的網格服務模型相反,它直接從服務器向客戶機分配工作。這種架構盡管不常用,但是如果某種環境中的工作是受到控制的,并可以仔細地分配到特定的執行單元,并分別監控,那么這種架構對于分發工作就是很實用的方法。然后,由服務器負責單獨管理和分配每一個單元。

          分發模型對于時間要求高的任務分配是一種好辦法,因為工作單元可以根據機器的負載和代理上的服務器隊列分配到獨立的機器上。這種模型特別適合用于 Intranet 和封閉的網絡中,因為訪問和通信都很方便,因此系統的效率也相對較高。這種模型還適用于工作提供者(即客戶機)完全用來處理網格工作的情況。

          分發系統惟一的問題是實現難度比較大。這種模型不是由服務器運行 Web 服務系統,客戶機作為 Web 服務的客戶機,而是調了個頭。網格提供者(通常應該是“客戶機”)需要支持一個 Web 服務的服務器接口。這時,代理(通常是“服務器”)成為網格提供者的 Web 服務客戶機。您可以從圖 2 中看到這種模型的運行情況:



          圖 2. 分發模式下的 Web 服務


          在這里的 Web 服務機制的基礎之上還存在以下問題:
          ·代理需要確切知道哪些機器是網格的一部分,因為它需要能分別訪問這些客戶機。
          ·每一個客戶機都必須支持 Web 服務模型,該模型又依賴于客戶機提供 HTTP 服務。
          ·每一個客戶機都必須能夠確定自己的負載和性能,這樣才能在代理請求的時候將這些信息提供給它。

          盡管需要解決上面的每一個問題,分發架構使用起來依然相對簡單。然而 Globus Toolkit 目前并不支持這種模型。這并不意味著我們不能在其他領域內使用 Globus Toolkit,但是卻意味著您必須重新考慮客戶機和代理之間是如何交換任務的。

          結束語

          將網格應用程序和 Web 服務集成實際上并不像剛開始看上去那么復雜。大多數網格應用程序的基礎使它們很容易轉移到 Web 服務的架構上來,但是您需要考慮對您的網格應用程序設計的影響,以保證您的后端系統(包括代理、工作單元管理器以及其他組件)都能與您所期望的客戶機工作方式兼容。

          關于作者 Martin C. Brown 以前擔任過 IT 主管,在跨平臺集成方面有豐富的經驗。他作為一名目光敏銳的開發人員,一直為特殊的用戶制作動態站點,并兼任 Foodware.net 的技術主管。現在他是一名自由作家和顧問。他更出名的地方是作為一名 SME 和微軟公司的緊密合作。此外,他還是 LinuxWorld 雜志的 LAMP 技術編輯,以及 AnswerSquad.com 團隊的核心成員。他撰寫的書籍有 XML Processing with Perl、Python and PHP 以及 Microsoft IIS 6 Delta Guide,等等。您可以通過 questions@mcslp.com 與 Martin 取得聯系。

          來自:http://www.net130.com/netbass/grid/wg20040410033.htm

          posted @ 2007-07-05 15:35 狼愛上貍 閱讀(437) | 評論 (0)編輯 收藏

          網格基礎概念FAQ

           網格基礎概念,大家一起商榷。這是任浩、pphu、數字中國、Rose(王躍宣)等網友的共同工作成果,在此代表網格社區對他們表示感謝!

          1.什么是網格,網格的目標?
            網格是從電力網格中借鑒過來的一個概念,原本是希望計算力和計算資源能夠象電力一樣,“打開電源開關就可以使用”,不用去關心是誰、如何提供的這些服務。
            網格的目標是抽象并量化計算資源,隨時隨地能夠通過網絡“定額”完成“定量”的計算相關的工作。

          2.網格的本質特征是什么?
            網格的本質特征是:
            分布與資源共享:分布是網格最本源的特征,網格是通過集中分散的資源來完成計算的,資源的共享是一種集中資源的手段
            高度抽象:把計算力和所有的計算資源高度抽象成為用戶可見的“電源接線板”,其它的東西對用戶透明。
            自相似:在大尺度上和小尺度上有相同或者類似的規律
            動態性和多樣性:和電力網格一樣,用戶的需求是變化的,所以動態性是網格需要考慮的一個基本問題
            自治性與管理的多重性:網格節點內部的自治和外部的受控整合是網格的一個特征,分層的資源需要層次化的管理,而分層來自于網格節點的歸屬問題和性能方面的考慮。

          3.網格計算中有哪些基礎概念?
            資源發現:資源發現是網格主動去發現可用的資源,并注冊、管理這些資源的過程
            資源調度:如何充分利用網格收集的計算資源進行高效率地合理地使用是資源調度的研究范疇
            異構:是抽象的本源動力
            元計算:是關于“計算”的計算,就像“元語言”是描述語言的語言一樣,元計算是為了進行計算而展開的計算活動,是網格對資源進行抽象的過程
            計算網格:網格的重心在解決高密度的計算問題的網格結構
            數據網格:重心在高密度、海量數據的儲存和管理、使用過程的網格結構

          4.如何判斷是否是網格
            還沒有網格的確切定義出爐,只能根據網格的一些基本特征來判斷。P2P嚴格來說也是一種網格。
            根據Globus toolkit的創始人的觀點,Globus就是網格,這個觀點有些偏頗,姑且這么認為吧。

          5.網格目前有標準嗎,有人在制定標準嗎?
            OGSI和OGSA是目前關于網格的一個標準

          6.能用非常簡單的例子說明什么是網格嗎?
            例如P2P,目前已經實現了儲存共享,以解決服務器資源限制(帶寬和服務能力)的問題,但是目前的P2P 計算還在熱門研究中。它的特點是通過分布式的共享儲存和帶寬資源,也包括部分計算資源的共享來提高服務的可用性,已經包括了網格的幾個主要特征。
            又如,國外一些如抗癌項目,充分發掘PC 的計算力來尋找治療癌癥的新藥,也具有相應的特征,只不過其資源調度的粒度很粗,各節點的耦合很松散,只要計算任務和結果,節點只與中央節點交換數據,結構比較簡單。

          7.如何在應用領域體現網格的優勢
            高性能(大計算吞吐量)、低成本

          8.為什么要把網格比做電網
            不要考慮計算力從什么地方來,只管用就行了。

          9.網格如何分類

            分為計算網格、數據網格、訪問網格、信息網格、服務網格等

          10.何為元計算,與網格是什么關系

            元計算技術是將一組通過廣域網連接起來的性質不同的計算資源集合起來,作為一個單獨的計算環境向用戶提供計算服務。元計算系統的目標是使用戶能夠共享其中的計算資源并以合作的方式進行計算。元計算前端主要解決最終用戶通過統一的界面來使用廣域網上各類計算資源的問題;元計算內核主要解決計算任務在廣域網中各種超級計算機上協作完成的問題,提供一個完整的程序開發和運行環境。當用戶提出計算請求時,計算問題的執行代碼在系統內部的計算資源上進行合理的調度和管理,最后得出運行結果并通過元計算前端反饋給最終用戶。一個良好的元計算系統主要由三個部分組成:一是盡量簡單而又可靠的使用界面;二是資源管理系統;三是良好的編程模型和高效可靠的運行時環境。其中資源管理系統處于核心地位,它負責整個系統中各個資源的描述、變動、分配與保護,與運行時系統密切合作,保證整個系統的正常運行。資源管理系統需要為不同級別的系統管理員提供強有力的工具或界面來對這些資源進行控制和保護。
            元計算是網格計算的初級形態。

          11.什么是計算網格
            強調計算力獲取、管理等的網格

          12.什么是數據網格
            強調數據存儲、管理、傳輸、處理的網格

          13.什么是信息網格
            強調信息存儲、管理、傳輸、處理的網格

          14.什么是存儲網格

            強調數據存儲的網格

          15.什么是知識網格
            強調知識存儲、管理、傳輸、處理的網格

          16.什么是語義網格
            強調語義解析的網格,實現語義互操作

          17.什么是access  grid
            簡單來講,是一個項目。目的是為網格用戶提供簡單有效的視頻、音頻會議功能,為e-science提供基礎的工具。 提供單一訪問通道獲取網格資源的網格。

          18.什么是grid portal
            格網門戶,提供格網單一訪問通道

          19.什么是服務網格
            強調應用服務集成的網格

          20.目前有哪些應用網格
            美國科學格網(DOE Science Grid)、遠程分布式計算與通信(Distance and Distributed Computing and Communication,DisCom2)和地球系統格網(Earth System Grid II,ESG)、TeraGrid和國家地震工程仿真格網(Network for Earthquake Engineering Simulation Grid,NEES Grid)、CrossGrid、天體物理虛擬天文臺(Astronomical Virtual Observatory,AVO)、英國國家格網(U.K. National Grid)、德國的計算資源統一接口項目(Uniform Interface to Computing Resources,UNICORE)、亞太地區格網(APGrid)

          21.什么是P2P計算,與網格有什么關系
            對等(P2P)計算是在Internet上實施分布式計算的新模式。在這種模式下,服務器與客戶端的界限消失了,網絡上的所有節點都可以“平等”共享其他節點的計算資源。IBM為對等下了如下定義:對等系統由若干互聯協作的計算機構成,且至少具有如下特征之一:系統依存于邊緣化(非中央式服務器)設備的主動協作,每個成員直接從其他成員而不是從服務器的參與中受益;系統中成員同時扮演服務器與客戶機的角色;系統應用的用戶能夠意識到彼此的存在,構成一個虛擬或實際的群體。

            網格采用P2P計算體系結構

          22.網格與分布式計算是什么關系

            格網計算是一種新的高性能的分布式計算方法。格網計算作為新一代的分布式計算方法,與傳統分布式計算的主要區別在于在沒有集中控制機制的情況下,通過對計算資源進行大規模共享,滿足應用對高性能計算要求,并且這種對計算資源進行大規模共享是動態的、柔性的、安全的和協作式的。

          23.網格與中間件是什么關系
            網格中間件(Gridware)就是一種在網格中應用的中間件
            現在的globus toolkit就是一種網格中間件,連接異質的主機節點構成globus網格

          24.什么是web service,網格與web service是什么關系。
            OGSA吸納了許多Web服務標準,如Web服務描述語言(WSDL)、簡單對象訪問協議(SOAP)、輕目錄訪問協議(LDAP)、Web服務探測(WS-Inspection)等。這些標準用于定位、調度計算資源并保證它們的安全。
            OGSA采用Web服務框架的優點是:一方面,通過注冊和發現接口定義和終端(endpoint)實現描述以及動態產生特定接口綁定的代理,在異構環境中能夠支持服務的動態發現和合成。另一方面,由于Web服務機制在商業應用領域廣泛采用,OGSA采用Web服務框架使人們能夠利用許多現有的開發工具和擴展服務,如產生語言綁定的WSDL處理器。

          25.網格跟.net, corba, jini,java的rmi,J2EE都是什么關系。
            網格融合了.net, corba, jini或java的rmi,J2EE思想,并從軟件集成擴展到CPU、存儲設備、儀器等硬件的集成。

          26.網格和CSCW是什么關系
            CSCW可以定義為地域分散的一個群體借助計算機及其網絡技術,共同協調與協作來完成一項任務。網格促進了這種工作模式。

          27.網格跟IBM提出的自主計算有什么關系
            “自主計算”的設想是將日益復雜的IT系統管理后臺化、自動化和智能化,通過強大的中間件將異構網絡改造成真正意義上的和諧自主的數字神經系統。
            網格本身就是一種自主計算

          28.什么是網格的體系結構

            網格體系結構就是關于如何建造網格的技術描述。它給出了網格的基本組成與功能,描述了網格各組成部分的關系以及它們集成的方式或方法,刻畫了支持網格有效運轉的機制。

          29.網格的主要有那些體系結構,他們目前發展狀況如何。
            美國Globus項目提出的格網體系結構模型采用本地服務層、核心服務層、高層服務與工具層、應用層四層結構。在此基礎上,美國的Argonne國家實驗室、芝加哥大學、南加州大學和IBM公司共同提出了開放式格網服務體系結構(Open Grid Services Architecture,OGSA)。OGSA采用纖維層、聯絡層、資源層、協作層、應用層五層結構。

          30.網格的起源是什么
            “網格”(Grid)一詞來源于人們熟悉的電力網(Power Grid)。目前對計算力的需求正在持續不斷地增長。高速網絡、功能和性能更加強大的大規模計算系統、高性能存儲系統以及高級數據分析軟件的應用為解決商業領域和科學領域的計算問題帶來了希望。但是利用這些新的能力意味著應付不斷增加的工作負荷要求所帶來的空前挑戰。當一個組織機構在努力保持競爭力的時候他們面臨許多前所未有的挑戰:減少計算費用、增加計算吞吐量、加快對市場的響應、改進生產服務質量和產品創新等都是非常重要的。一個組織機構在硬件方面的投資需要謹慎地進行權衡,并且必須找到利用可得資源完成更多工作的方法。
            盡管對計算力的需求是非常大的,但是許多現有的系統都沒有得到充分利用。其中一些單個服務器也許滿負荷工作,但是大多數系統卻不是滿負荷工作的,使許多計算周期(computing cycles)沒有使用,而實際上這些計算周期可以用于滿足不斷增長的計算資源需求。格網計算使組織機構可以更加有效地和靈活地用他們的分布式計算資源,從現有的系統中獲取更加有用的計算力,幫助組織機構獲得競爭優勢。

          31.網格目前的發展狀況如何

            研究、開發、炒作,即處于預熱期。

          32.國內的網格有那些項目,每個項目的目標如何,目前進展如何。

            ACI工程的目標是把分布在不同地理位置的高性能計算機、貴重儀器、數據庫等用高速網絡連接在一起構成一臺虛擬計算機,用戶通過ACI共享資源、共同討論、合作開展科研項目。
            織女星計劃(Vega計劃以元數據、構件框架、智能體、格網公共信息協議和格網計算協議為主要研究突破點。

          33.介紹一些國外的主要網格項目的狀況
            美國科學格網項目的目標是建立基于格網中間件(Gridware)和系統工具的高級分布式計算基礎設施(ADCI)使能源部科學計算體系的可伸縮性滿足能源部內部科學研究任務要求。
            遠程分布式計算與通信項目的目標是創建一個用于訪問美國能源部三個武器實驗室的具有可操作性的格網,以支持國防計劃中遠程計算和分布式計算這兩個關鍵戰略領域復雜的分析、設計、制造、認證功能。
            地球系統格網(Earth System Grid II,ESG)項目由阿貢國家實驗室(Argonne National Laboratory)等五個國家實驗室的科學家聯合承擔。主要目標是解決從全球地球系統模型分析和發現知識所面臨的巨大挑戰,為下一代氣候研究提供一個無縫的強大的虛擬協同環境。

            國家地震工程仿真格網的目標使地震研究人員能夠進行各種地震工程實驗數據分析的大規模計算任務。
            此外,目前美國正在進行的格網計算研發項目還包括Globus、美國航空航天局(NASA)的信息動力格網(Information Power Grid,IPG)、美國國家技術格網(National Technology Grid)、虛擬實驗室項目(Virtual Laboratory Project)、天體物理仿真合作實驗室(Astrophysics Simulation Collaboratory,ASC)、國際虛擬數據格網實驗室(International Virtual Data Grid Laboratory,iVDGL)等。Globus目標構建一個格網軟件基礎設施。研究內容包括資源管理、數據訪問、應用開發、格網安全等。目前全球許多用戶利用Globus工具包創建格網和開發格網應用。信息動力格網的目標是為國家航空航天局科學研究任務提供持續、可靠的計算動力源。美國國家技術格網項目的目標是創建一個無縫集成的協同計算環境原型系統。虛擬實驗室項目致力于研究、設計、開發能夠幫助解決數據密集的、涉及大規模計算的分子生物學問題的格網技術。天體物理仿真合作實驗室項目的主要目標利用Cactus和Globus格網計算的研究成果為高級可視化交互和元計算提供大規模并行計算能力,實現在相對論天體物理學領域的大規模仿真。國際虛擬數據格網實驗室項目由歐盟的數據格網(DataGrid)、美國的格網物理網絡(Grid Physics Network)和粒子物理數據格網(Particle Physics Data Grid)協作創建。

          34.網格的發展有哪些困難
            信息安全、商業模式等

          35.網格面臨哪些技術問題
            格網資源管理、注冊、預訂、分配、調度、安全、計費等

          36.GGF主要的工作是什么
            應用程序及編程模型和環境(APME)。
            架構。
            數據。
            安全性。
            信息系統和性能(ISP)。
            端到端應用(P2P)。
            調度和資源管理(SRM)。

          37.國內有類似GGF的組織嗎
            沒有,至少沒有成規模、成氣候、分工協作。

          38. OGSA,OGSI,Globus,WSRF有什么關系
            OGSI(Open Grid Service Ieterface,開放網格服務接口)規定了向網格發送處理請求時所使用的接口,相當于Web服務中的WSDL(Web服務描述語言),在網格計算相關標準中處于核心地位。
            開放式格網服務體系結構(Open Grid Services Architecture,OGSA)采用纖維層、聯絡層、資源層、協作層、應用層五層結構,格網是通過調用服務來構造應用的,這就涉及接口問題。
            OGSA是一個抽象的東西,里面沒有具體的內容,OGSA的推出要比OGSI早,OGSI是對OGSA的主要方面具體化,規范化.Globus是基于OGSI標準的一個實現. WSRF是和OGSI同一個層次的東西,是吸收了Web Service最新成果后,對OGSI的重構和發展.

          39.網格是一種新技術,任何新技術或多或少都會帶有泡沫的成分?你是否贊成?網格技術是否也帶有泡沫的色彩?
            技術本身沒有泡沫,泡沫是商業炒作產生的,現在已經開始商業炒作了。

          40.從總體上看,網格技術目前的發展,是處在一個什么狀況?
            技術研究開發階段

          41.網格離實際應用,離商業應用還有多遠?
            2到3年時間

          42.一個新技術,從理論性的研究,到實際的商業的推廣需要經歷幾個階段,你認為“網格”需要經歷幾個階段,才能走向真正的商用?
            原型應用系統開發、格網標準化(規范、協議)、成熟的商業模式

          43.網格想要得到廣泛的商業應用,是否會遇到一些阻礙?
            是的,例如安全問題、計費問題等。

          44.任何一個新技術的發展趨勢,都應該受到身在政府、行業、企業中的CIO所關注。你認為作為“網格”技術,這些CIO應該從哪幾方面進行關注?
            網格在政府、行業、企業中的應用

          45.什么才算是Ian Foster三個checklist中的非平凡服務?

            大吞吐量、服務透明、高可靠性

          46.學習網格要學習哪些基礎知識
            計算機原理、計算機網絡、數據庫、編程語言等

          47:什么是制造網格
            是現代集成制造哲理和敏捷制造模式在網絡化經濟環境下的一種具體物化形式,目標是快速設計、快速制造、快速檢測、快速響應和快速重組,克服空間上的距離給不同企業間的協同帶來的障礙,在最大程度上實現設計、制造、信息、技術資源的共享,以及協同制造過程中物流、信息流、價值流的優化運行,它能為實現敏捷制造和虛擬企業的運作提供支持,形成具有數字化、柔性化、敏捷化等基本特征的優勢互補的協同企業。而在這樣的制造網絡支持下,整個制造網格系統中的制造企業群體將以較低的成本、較短的開發周期,制造出符合市場需求的高質量產品。

          posted @ 2007-07-05 15:27 狼愛上貍 閱讀(342) | 評論 (0)編輯 收藏

          學習Grid Service及其在Globus上的部署(GT4)

          GT4教程http://gdp.globus.org/gt4-tutorial/multiplehtml/index.html

          所用軟件:

          操作系統:Win xp

          gt4版本:ws-core-4.0.4-bin

          j2sdk1.4.2_05

          jakarta-tomcat-5.0.28  apache-ant-1.7.0-bin  axis-bin-1_4

          python-2.5.msi

           

          部署環境變量:

          ANT_HOME= C:\Grid\ant-1.7.0

          CATALINA_HOME= C:\Grid\tomcat5.0.28

          CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

          JAVA_HOME= C:\j2sdk1.4.2_05

          GLOBUS_LOCATION= C:\Grid\ogsa

          PATH=.;C:\Grid\ogsa\bin;%JAVA_HOME%\bin;%JAVA_HOME%\lib;%ANT_HOME%\bin;%CATALINA_HOME%\bin;%JAVA_HOME%\lib;

            1、  將教材中的例子下載到本地f盤(F:\progtutorial-examples_0.2.1)

          2、更改服務名稱(老師要求 與部署無關):

          將$EXAMPLES_DIR/org/globus/examples/services/core/first/deploy-server.wsdd文件中,service的name屬性進行更改:將service name="examples/core/first/MathService"變更為service name="examples/core/first/200628007427021MathService"。

          對$EXAMPLES_DIR/org/globus/examples/services/core/first/deploy-jndi-config.xml文件中,service的name屬性進行更改,將<service name="examples/core/first/MathService">變更為<service name="examples/core/first/200628007427021MathService">

          3、安裝python for windows 。

          4、 進入F:\progtutorial-examples_0.2.1,輸入globus-build-service.py  first。在該目錄下編譯生成gar文件。

          5、  部署gar文件:在根目錄下F:下進行部署:globus-deploy-gar  F:\progtutorial-examples_0.2.\org\gloubs_examples_services_core_first.gar

          6、進入%GLOBUS_LOCATION%\etc,輸入globus-devel-env.bat,將GT4的lib下面的jar文件路徑包括進去。

          7、運行正常后,就需要編譯Client.java文件了。

          進入F:\progtutorial-examples_0.2.1,javac org\globus\examples\clients\MathService_instance\Client.java編譯客戶端程序。

          8、啟動globus服務。

          Globus-start-container -nosec。運行界面如下:

          9、在F:\progtutorial-examples_0.2.1下運行客戶端,

          Java org.globus.examples.clients.MathService_instance.Client http://127.0.0.1:8080/wsrf/services/examples/core/first/200628007427021MathService

          將出現結果如下:




          來自:http://blog.sina.com.cn/u/4b7a232a01000904

          posted @ 2007-07-05 14:48 狼愛上貍 閱讀(940) | 評論 (0)編輯 收藏

          Linux下jsp開發環境,apache,tomcat服務器配置過程

          Linuxjsp開發環境,apache,tomcat服務器配置過程:

          (特別注明:本文內容均參考于互聯網,經過個人實踐而總結,若配置中遇到問題請聯系我,可能寫的時候漏掉了某些地方,感謝網上前輩的經驗,希望更多的實踐經驗得以共享)

          1.
          操作系統

          RedHat Linux 9.0

          2.
          所需軟件

          Apache 2.0.54

          下載地址

          http://apache.freelamp.com/httpd

          下載該文件httpd-2.0.54.tar.gz

          Tomcat5.5.9

          下載地址

          http://apache.justdn.org/jakarta/tomcat-5/v5.5.9/bin/

          下載該文件jakarta-tomcat-5.5.9.tar.gz

          Mod_jk 1.2.14

          下載地址

          http://apache.justdn.org/jakarta/tomcat-connectors/jk/source/jk-1.2.14/

          下載該文件jakarta-tomcat-connectors-1.2.14-src.tar.gz

          Jdk 1_5_0_04

          下載地址

          http://java.sun.com/j2se/1.5.0/download.jsp

          下載該文件jdk-1_5_0_04-linux-i586-rpm.bin

          下載時將所需軟件包文件保存在/usr/local目錄下

          3.
          安裝步驟

          A
          安裝JDK

          # cd /usr/local/

          # chmod +x jdk-1_5_0_04-linux-i586-rpm.bin

          # ./jdk-1.5.0_04-linux-i586-rpm.bin

          # cd /usr/java/

          # ln -s /usr/java/jdk-1_5_0_04 /usr/local/java

          # vi /etc/profile

          #

          添加如下內容

          JAVA_HOME=/usr/java/jdk-1_5_0_04

          CLASSPATH=/usr/java/jdk-1_5_0_04/lib/dt.jar:/usr/java/jdk-1_5_0_04/lib/tools.jar

          PATH=/usr/java/jdk-1_5_0_04/bin:$PATH

          export PATH JAVA_HOME CLASSPATH

          B
          安裝Apache

          # cd /usr/local/

          # tar xvfz httpd-2.0.54.tar.gz

          # cd httpd-2.0.54

          # ./configure --prefix=/usr/local/apache --enable-module=so

          # make

          # make install

          # cd /usr/local/apache/conf

          # vi ./httpd.conf

          Listen 80 修改為Listen 127.0.0.1:80 (219行)

          ServerName 修改為ServerName LocalHost:80 (291行)

          DirectoryIndex中添加 index.jsp 394行)

          # cd /usr/local/apache/bin/

          # ./apachectl configtest

          顯示Syntax ok則表明安裝成功

          #./apachectl start

          啟動apache服務,瀏覽器中訪問本機80端口,查看端口是否正常,輸入127.0.0.180

          # ./apachectl stop

          關閉服務

          備注:prefix定義apache的安裝路徑

          C
          安裝Tomcat

          # cd /usr/local/

          # tar xvfz jakarta-tomcat-5.5.9.tar.gz

          # ln ?s /usr/local/jakarta-tomcat-5.5.9
           /usr/local/tomcat

          # vi /usr/local/tomcat/bin/catalina.sh

          46行加入此句

          JAVA_HOME=/usr/java/jdk-1_5_0_04

          啟動服務后,訪問本機8080端口,查看端口是否正常(輸入127.0.0.18080

          # /usr/local/tomcat/bin/startup.sh /startup.bat

          關閉服務

          # /usr/local/tomcat/bin/shutdown.sh /shutdown.bat

          D
          安裝JK

          # cd /usr/local/

          # tar xzvf jakarta-tomcat-connectors-1.2.14-src.tar.gz

          # cd jakarta-tomcat-connectors-1.2.14-src/jk/native

          # chmod 755 buildconf.sh

          # ./buildconf.sh

          # ./configure --with-apxs=/usr/local/apache/bin/apxs

          # make

          # make install

          # cd /usr/local/jakarta-tomcat-connectors-jk1.2.14-src/jk/native/apache-2.0/

          # cp mod_jk.so /usr/local/apache/modules/

          E
          系統整合

          # vi /usr/local/apache/conf/httpd.conf

          在文件最末尾加上如下語句

          #Load mod_jk

          LoadModule jk_module modules/mod_jk.so

          # Configure mod_jk

          JkWorkersFile conf/workers.properties

          JkLogFile logs/mod_jk.log

          JkLogLevel info

          JkMount /*.jsp loadbalancer

          JkMount /servlet/* loadbalancer

          JkMount /application/* loadbalancer

          #vi /usr/local/apache/conf/workers.properties

          添加下列語句

          #

          # workers.properties

          #

          # In Unix, we use forward slashes:

          ps=/

          # list the workers by name

          worker.list=tomcat1, tomcat2, loadbalancer

          # ------------------------

          # First tomcat server

          # ------------------------

          worker.tomcat1.port=8009

          worker.tomcat1.host=127.0.0.1

          worker.tomcat1.type=ajp13

          # Specify the size of the open connection cache.

          #worker.tomcat1.cachesize

          #

          # Specifies the load balance factor when used with

          # a load balancing worker.

          # Note:

          # ----> lbfactor must be > 0

          # ----> Low lbfactor means less work done by the worker.

          worker.tomcat1.lbfactor=100

          # ------------------------

          # Second tomcat server

          # ------------------------

          worker.tomcat2.port=8009

          worker.tomcat2.host=192.168.1.34

          worker.tomcat2.type=ajp13

          # Specify the size of the open connection cache.

          #worker.tomcat2.cachesize

          #

          # Specifies the load balance factor when used with

          # a load balancing worker.

          # Note:

          # ----> lbfactor must be > 0

          # ----> Low lbfactor means less work done by the worker.

          worker.tomcat2.lbfactor=100

          # ------------------------

          # Load Balancer worker

          # ------------------------

          # The loadbalancer (type lb) worker performs weighted round-robin

          # load balancing with sticky sessions.

          # Note:

          # ----> If a worker dies, the load balancer will check its state

          # once in a while. Until then all work is redirected to peer

          # worker.

          worker.loadbalancer.type=lb

          worker.loadbalancer.balanced_workers=tomcat1, tomcat2

          #

          # END workers.properties

          #

          #vi /usr/local/tomcat/conf/server.xml

          <Connector
           port="8009"

          protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"

          redirectPort="8443" protocol="AJP/1.3" />
          101

          119行左右加入如下語句(去注釋)

          <Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat1"></Engine>

          若第二臺tomcat,將jvmRoute的修改為tomcat2

          系統整合完畢

          啟動apachetomcat服務

          # /usr/local/apache/bin/apachectl start

          # /usr/local/tomcat/bin/catalina.sh start

          將如下內容添加至/etc/rc.d/rc.local文件末尾

          以便系統啟動后開啟apache,tomcat服務

          #vi /etc/rc.d/rc.local

          添加

          /usr/local/tomcat/bin/catalina.sh start

          /usr/local/apache/bin/apachectl start


          來自:http://skeryl.blogcn.com/diary,4853988.shtml


          posted @ 2007-07-05 06:34 狼愛上貍 閱讀(388) | 評論 (0)編輯 收藏

          什么是Windows能干而Linux干不了的事情

          有個朋友看我半年沒有用 Windows,有時就會問我:"你只用 Linux,有沒有發現有些 Windows 能處理的事情 Linux 干不了?"

          我回答說:"Windows 能干而 Linux 干不了的事情,那就是不需要干的事情。"

          # Windows 能做的有益的事情 Linux 都能做

          Windows   下的某些功能確實是我們需要的,那么 Linux 的開發者們和用戶也需要這種功能,他們就會去實現這種功能,而且比 Windows 的方式好得多。由于大多數科學家,工程師用的都是 Linux 或者某種商業 UNIX, 所以幾乎所有商業的科學工程程序,比如 Matlab,  Mathematica, AutoCAD, Candence的,Synopsys的,Avant! 的......全都是先有 UNIX 的版本 (包括Linux),然后再考慮移植給Windows,甚至根本不移植給 Windows,因為 Windows 的機器一般沒有足夠的能力運行這樣的程序。你不要以為只有 Windows 才有 PSpice, UNIX 的 HSpice 要好得多,而且可以運行在大型主機上。當然它們不是免費的,但是它們值那個價錢。

          但是 Windows 下有些東西在 Linux 下沒有很相似的,或者你找到很多類似的,但是它們每一個比起 Windows 的那個程序都要差很多,那么原因有兩種可能性:

          有 一個完全類似的程序,但是由于它乍一看不漂亮,被你忽略了。而其它程序雖然看起來很漂亮,但是它們是一些初學編程的人寫的。現在由于 Gtk+, Qt  的誕生,Linux 下開發圖形界面程序極其簡單,很多初中生甚至小學生都可以隨手編出一些漂亮不中用的程序。如果你整天尋找這樣的程序挑來挑去,永遠也找不到你滿意的。

          我 曾經也犯過這樣的錯誤,優秀的 FVWM, lftp, Mutt, wget 都被我忽略過!當我找回它們的時候,我是那么的羞愧不已,它們現在都是我的朋友 用這些程序你可以改變它們的一切,我第一次看到 FVWM 覺得它只不過是一個有很厚很難看邊框的東西。可是現在,我的同學看到 FVWM 都說:"哇!真漂亮。"

          有另一種完全不同的方式可以達到相同的目的,甚至更好。

          很 多人很關心 Open Office, Star Office, AbiWord, ... 他們多么盼望有一天某一個 Linux 程序能夠完全兼容的打開一個復雜的 doc 文檔。但是你永遠也不可能有那一天。為什么呢?因為微軟為了占有市場,必定不會讓其它系統的程序能夠完全兼容它的文檔格式!它一定會不斷變化 doc 文檔的內部結構,隱藏一些秘密,讓其它公司的程序打開 doc 文檔時總是有某種問題,從而你必需購買 Microsoft Office 和 Windows。

          你應該想一下,那么多的高智商的大學教授,科學家,學生,他們用的都是 Linux或者其它類型的 UNIX,他們沒有 Word 可用,怎么處理文檔呢?這么多年沒有一個像 Open Office 的程序出現,難道大家沒有辦法寫文檔嗎?

          顯 然不是這樣。你看看那些高水平的學術雜志,論文,那些大學教授的網頁,那些漂亮的P DF幻燈片,它們是什么做的?原來 UNIX 用戶早就有非常方便的  troff,LaTeX, SGML 等東西可以處理文檔,而且它們比起 Word 都要高明的多。Word 顯然被這些大拿忽略了,以至于很久以來沒有人想在 Linux 下開發一個類似 Word的程序,除非某些公司想搶微軟的飯碗。

          很多人留著 Windows 在硬盤上的原因無非是為了用 Word 和 PowerPoint。你待會兒可以看看我的TeX網頁,你就會知道為什么我可以完全離開 Windows.
          # Windows 能做的那些沒用的事情 Linux 永遠做不好

          電腦游戲

          有些人說 Linux 下不能玩 Windows 下所能得到的所有游戲。的確,Linux 下雖然也有少量的游戲,比如 Quake。但是它沒有 Counter Strike, 沒有 Star Craft,......

          并不是說電腦游戲不該玩,但是應該適可而止。電腦是用來處理事務,幫助你學習,解決問題的工具,而不是一個玩具!整天沉迷于電腦游戲中,而不出去感覺外面的世界,你會變得越來越冷酷,越來越缺乏人情味。你與真實的世界越來越遠。

          你 可以在 CS 里殺人,你可以在 Tomb Raider 里探險,你甚至可以在 TonyHawk's Pro Skaters 里滑板......  但是 It's not real!你雖然有很高的"反恐技巧",但是遇到歹徒的時候,你是那么的怯懦;你雖然控制 Laura 伸手敏捷,但是你打籃球的時候怎么總是被人斷球?你雖然可以輕易的在 THPS 里作出一個 "360 kickflip to hangten grind to fakie",但是你踩在自己的滑板上的時候還不會 ollie!

          說回來,如果你偶爾玩一下電腦游戲未嘗不可。但是世 界上有遠比 Windows +PC 更好的游戲方式。Sony 的 PlayStation2,  SEGA 的 DreamCast, Nintendo 的N64,Namco 的街機.. ....每一個都比 Windows 游戲精彩,每一個都有如此高的3D性能,以至于 Pentium4, Itanium + GForce4 都無法與它們比美!

          Linux 的用戶們都是關心解決世界的關鍵問題的份子,他們哪里有時間用自己的機器來玩游戲啊?他們每天用Linux高效的做完自己的工作就到陽光下享受自然去了。 要玩游戲也是玩一些類似推箱子,貪吃蛇之類的智力小游戲。所以,你知道為什么 Linux 幾乎沒有游戲了吧?

          "整理硬盤,優化系統"

          這是一個非常有意思的話題,僅次于有關"病毒"的話題。相信很多 Windows 用戶都有整理硬盤的經歷。在很多 Windows 用戶眼里,"硬盤用久了,會出現碎片,速度會減慢,需要一個程序來整理,整理硬盤的時候不要做其它工作",這好像是天經地義的事情。

          我也曾經津津有味的看著 Norton Defrag 一點一點的把我的硬盤排序,調整,用圖形的方式顯示出來,然后報告:"100% 沒有碎片。你的硬盤現在已經達到最佳狀態。" 我現在才發覺我那時是多么的幼稚。

          Linux   和 UNIX 用戶似乎從來沒有"整理硬盤"這種說法呢?你覺得很奇怪嗎?如果你覺得很奇怪,那說明你的思想在某種程度上被微軟的垃圾程序禁錮了。你需要明白,UNIX 的大型主機很多必須是一天24小時,一年365又1/4天不停運轉的,要是每個星期都要整理一次硬盤,在整理的時候幾乎不能干任何事情,那是絕對行不通 的!

          Linux 機器根本不用整理硬盤,這就是為什么沒有看到過 Linux 用戶整理硬盤。Linux 的文件系統是比  Windows 的 FAT, FAT32, NTFS 高明得多的文件系統,它們不但可以對文件設置權限,實施完全的保護,而且可以"越用越整齊", "越用碎片越少"!你應該把文件大部分放在 Linux 的分區,而不是 Windows 分區,因為它比 Windows 分區可靠得多。

          還有更滑稽的事情就是有很多"Norton System Doctor","Windows 化大師","超級兔仔注冊表魔法" 之類的程序存在,而且價格昂貴。似乎一個操作系統本來應該有很多問題,需要別的廠商做程序來"優化"它,而且為了得到優化,你需要付錢!這些問題 Linux 根本就沒有,所以不需要什么優化。Linux 內核本身就是高度優化的。

          IDE

          有些人在抱怨為什么 Linux 沒有一個良好的  IDE 開發環境。Linux 現在已經有一些 IDE 了,但是總是有很多問題。你是不是正在尋找,正在期望 Linux 某一天可以有一個VC 那樣的開發環境?你有沒有發現你正在進入微軟給你設下的怪圈?你為什么一定要用 IDE ?你說:"IDE 開發迅速,調試方便,適合大型程序...... " 那說明微軟的程序在你腦子里已經比較根深蒂固,你需要好好清醒一下了,看看我來告訴你。

          高明的 UNIX 程序員不用 IDE,IDE 從來就是給初級 Windows 程序員用的。

          你 看看大型的 UNIX 程序,包括 Linux 內核,各種網絡服務程序,Xwindow 程序在內,哪一個是 IDE 搞出來的?我們實驗室的  EDA 程序也沒有一個是 IDE 弄的,我還知道 Candence, Synopsys,Mentor 的高性能的圖形界面 EDA 程序也都不是  IDE 寫的。你信不信,微軟的人在寫 Windows 本身的時候也根本不用 IDE!

          有 一次某雜志采訪一些出名的 Linux 內核程序員,包括 Linus 在內,沒有一個人用 IDE ,有的人用 VIM,有的用 Emacs,只有 Linus 說 "GNU Emacs is evil",但是其實他用的是一種跟 Emacs 有同樣鍵綁定功能的 MicroEmacs。大家都是用編輯器編輯了程序文件,然后用 make 這樣的自動工具調用 gcc 編譯器完成編譯工作的。

          我以前 也編過 Windows 程序:應用程序,驅動程序。但是我沒有用 VC 的 IDE。Linux 教育了我,我會在命令行調用 CL,我知道 CL 才是 VC 的編譯器。我可以在 cygwin 的  Makefile 里使用 CL。我還知道 CL 的參數都有什么用處。但是這些不是一個從一開頭就用 IDE 的人能很快理解到的。

          我相信: IDE is evil。我有一些用 Windows 的 IDE 寫程序的朋友,他們對那套東西已經很精通了。但是我卻驚奇的發現,他們竟然把編譯器和匯編器的概念都分不清楚,甚至有的人連"編輯器"和"編譯器"都搞混 淆了!他們只知道在一個窗口里輸入了代碼,點擊一個按鈕就可以編譯程序,但是這里面到底是怎么工作的,他們不知道!他們被蓋在上面的窗口擋住了視線,甚至 會以為那個按鈕就是編譯器!

          他們對那些 IDE 的熱鍵背的滾瓜爛熟,但是我卻看到他們在一個函數一個函數的把別人的 ANSI 風格的代碼變成 VC 的風格。想想這件事在 VIM 里有多么簡單,一瞬間就可以搞定。

          為 什么 UNIX 程序員不用 IDE?明白了這個道理你就能體會到 UNIX 的設計思想了。首先,一個 IDE 集成了編輯器,編譯器,匯編器,調試器,跟蹤器...... 這個編輯器功能肯定比不上 VIM 或 Emacs,編譯器比不上 GCC,匯編器比不上 as,調試器比不上 gdb,  ddd, 跟蹤器比不上 strace, ltrace, truss。你得到的是一套整合的很好的低能的程序。如果你對調試器的功能不滿意,你只好換用另外一套IDE,但是這套 IDE 的熱鍵,菜單,編輯器功能,按鈕...... 跟原來那個有很大不同。你不得不花很多時間來熟悉新的環境,而不能保持原來的某些東西。

          而 在 UNIX 下就不一樣了。你可以用你最喜歡的 VIM 編輯程序,你在 VIM 里可以調用  GNU make,make 可以調用 gcc, ld, ... 實際上 make 能幫你很多忙。make的出錯信息可以被 VIM 捕獲, VIM 能幫你在源程序里定位。你如果喜歡 icc, 你可以讓 make 用 icc 而不是 gcc。你如果覺得 gdb 跟蹤變量時比較麻煩,你可以用 ddd 來顯示各種數據結構之間的關系。你還可以在 Emacs 里調用 gdb,那樣就可以同步顯示源代碼了。而且 VIM 和 Emacs 還可以編輯很多其它東西,比如信件,LaTeX 文檔,HTML,配置文件...... 你不用另外找一個什么編輯器來干這些雜活了。很多程序比如  Mutt, tin 都可以在內部使用 VIM,這樣就更方便了。

          釋放內存

          我 在 Windows 下做過的一件最傻的事情莫過于"釋放內存"了。有一天我看到一個 Windows 程序說:"這個程序可以幫你把大量內存釋放出來給一個很大的程序用。"我試了一下,居然一下把我的 64M 內存釋放出來 48M!我高興極了。現在想一想,那是多么傻的事情,那么多的內存留著干什么?不用白不用啊!一操作系統,居然還需要別人寫的程序來釋放內存,那是什么樣 的操作系統?

          在 Linux 下用 free 命令,你會發現你的內存幾乎每時每刻都快要被用完。那是因為 Linux 把大部分內存用來作為磁盤緩沖了。Linux 有比 Windows 先進的磁盤緩沖技術。你有沒有發現你往硬盤寫數據的時候,很快就完成了?那是因為 Linux在內存里有很多磁盤緩沖區,你要寫到硬盤上的數據先被寫到了這些內存里,然后 Linux 就告訴你"拷貝完成" ,當你馬上又想刪除剛才寫入的某些數據時,Linux 只是把數據從內存里移除,然后報告" 刪除完成"。在一定的間隔時間后,Linux 才把數據寫回硬盤,這樣不但高效,避免了多次硬盤操作,而且減少了文件的不連續,也就是減少了"碎片"。Windows 當然也有磁盤緩沖,但是由于它內存管理的低效率,它不敢把大量內存都用來作為磁盤緩沖,因為它沒有能力在用的時候隨時把內存收回來。

          # Linux 能干的高級的事情 Windows 都干不了

          當 然有很多事情是Linux/UNIX的專利了。因為 Windows 只能裝在 PC 機上,好像以前也有 Alpha 可以使用 Windows NT,但是就是沒見到有人用。PC 機的能力是很低的,像我們編程序處理 NP-Hard 問題的人,用 Windows 的機器顯然速度不夠,而且有時一個問題算上幾天甚至幾個星期,Windows 機器是以"死機"著稱的,我們怎么能放心?

          所以幾乎所有科學計算程序,EDA 程序,高性能圖像處理程序都不是 Windows 的。他們有時也會移植一些給 Windows,但是常常降低那些程序的能力。你比較過Windows 版本的 Mathematica 和 Linux 的有什么區別嗎?

          IBM 制造的最大的并行計算機有 8000 多個處理器,Windows 不可能有能力管理這么多處理器,它用的是什么操作系統?答案是 Linux。

          《泰坦尼克號》電影里的三維動畫,那么細膩逼真,Windows機器能做出來嗎?不行。那也是 Linux 機器做的。

          民航總局用來訓練地情人員的虛擬現實訓練設備,Windows 當然無能為力。那都是商業的 IRIX 機器。

          UNIX   是最早支持 TCP/IP 網絡協議的系統。它上面有很多可以互相協作的網絡服務程序,它們經過多年的使用和修訂,已經達到比較完善的程度。而就在 1997年,微軟的比爾蓋茨還在揚言:"Internet 是沒有前途的。" 微軟的這個"遠見卓識"大家應該都已見識,它后來加上的網絡服務程序IIS 漏洞之多,讓公安部都頻頻發出警報,大家也是見識了的。

          其實你知道了,Windows 沒有一樣有用的事情能比 UNIX 干的更好。

          # Linux 干不了的有用的事情 Windows 照樣干不了

          當然 Linux 不是萬能的。它也有不能干的事情,電腦也有干不了的事情。但是Linux 干不了的事情,Windows 肯定也干不了。這些事情就是我們需要探索,需要努力的事情了。在你探索的過程中,Linux 必定是你的好伙伴。

          # UNIX 的真諦何在?

          讓聰明人干任何他們想干的事情

          UNIX 的一個特點就是非常高的靈活性,Xwindow 也具有這種靈活性。這種靈活性體現在哪里呢?

          UNIX   的程序一般都有很多參數,不管你現在用的著用不著,總有人需要某些參數。它們的行為很多都可以用配置文件來改變。比如 GNU bash, 通常缺省的命令行輸入方式是 Emacs 方式,但是只要我編輯一個 .inputrc 文件,就可以把它變成vi 的輸入方式,而且我還可以自己綁定鍵序列到某些操作。我可以用 shopt 來設置它的很多特點,比如是否進行通配符擴展,是否可以把一個變量當作一個目錄來cd,是否可以自動糾正某些明顯的目錄名打字錯誤 ......

          UNIX 程序設計的思想是提供給用戶"機制",而不限制用戶制定"政策"。這是一個重要的尊重用戶的作法。

          我 們再來看看 Xwindow。Xwindow 是一個出色的設計,它把顯示服務器和客戶程序分開。一個顯示上既可以顯示本機上的程序,也可以顯示別的機器上的 X 程序,而它們都遵守你的窗口管理器的統一指揮,它們之間可以方便的傳送剪貼版數據,各種事件 ...... 比如有時我的 XFree86 上會出現四個不同機器上的 XTerm,兩個不同機器上的 GVIM,...... 它們統一受本機上的 FVWM 指揮。

          Xwindow   程序都具有很多很多命令行參數和 resource 參數。你可以隨意的在命令行或者 .Xdefaults 文件設置所有的顏色,字體,尺寸...... 而且如果你用 xrdb把 .Xdefaults 導入到根窗口,那么其它機器上沒有經過配置的同樣的程序,顯示到你的機器上的時候也會遵守同樣的外觀規定。

          Xwindow 的窗口具有 Property, 也就是一些可以自己定義的共享數據(原子)。正是因為這些  Property 的存在,使得 Xwindow 具有無比強大的生命力。X 的窗口管理器和其它客戶程序之間并沒有統一的協議,但是后來出現了  ICCCM(客戶程序間通信規范),這個規范就是通過 property 定義的。現在又有人定義了一套"擴展的窗口協議(EWM Hints)",使得 Xwindow 可以具有某些 Windows 的特征,比如一個工具條程序可以告訴窗口管理器:"這個屏幕下面被我占據了24個像素的空間,你最大化程序的時候不要越過這個界線。"

          一個強大的窗口管理程序比如 FVWM,它收到這樣的提示時,可以答應工具條程序的這個要求,也可以不答應。一切選擇的權力在于誰?當然是用戶了!一切窗口乖乖聽話,FVWM 給予戶最大的尊重。

          你 想想,是不是有些 Windows 程序常常彈出一個窗口要你選擇 "Yes or No"?你不點擊它它就不下去。你覺不覺得你的程序在侵犯你的尊嚴?你是一個人!還有就是很多 Windows 程序把人當成傻瓜,而它是"智能程序"。比如,有一個程序就是喜歡把你的每句話第一個字母都變成大寫,我不說它是誰了,你遇到的時候就知道了。如果連"一 句話開頭一個字母要大寫"這么明顯的問題都需要程序幫你糾正的話,人腦還用來干什么?況且如果你故意想要不大寫的話,那就更麻煩了,我楞是沒有從它那一大 堆菜單里找到怎么關閉這個愚蠢的選項。

          # 只有符號才能完全操縱計算機

          我 們來說說很多初學 Linux 的用戶。雖然他們在用 Linux,但是他們打心眼兒里是覺得 Windows 的工作方式好,他們希望 Linux 有一天能"像Windows那樣"。你說:" 我鼠標一點,我菜單一拉,...... 就可以完成我的操作。" 但是我要告訴你:"Linux 從來沒有摹仿 Windows,將來也不會。 Linux 從誕生之日起,它的工作方式就比 Windows 的先進。Linux 屬于能勇敢面對符號的人。只有符號才能完全操縱計算機。"

          看看優秀的 UNIX 程序,XFree86, FVWM, VIM, Emacs, proftpd, Mutt, wget,tin, ... 沒有一個不是用配置文件來設置選項的。為什么這些程序沒有方便的菜單可以用來配置?難道它們的設計者就那么低能,連個圖形配置界面也寫不出來?

          當 然不是。因為圖形界面配置方式的能力是極其有限的,而配置文件和程序語言的表達能力卻是無限的。用圖形界面配置這些程序的話,如果你想達到配置文件的效 果,你需要成百上千的菜單,checkbox, radio button, ... 到時候你根本沒辦法找到你需要修改的地方了!而各個程序的配置文件的語法都有很多相似之處,一般就是一些命令,設置一些變量,參數,...... 一旦用會了一個,其它的也就容易理解了。如果你用慣了 awk,  sed, Perl,你會覺得那才是真正的自動化啊。

          鼠標雖然是很好的工具,但是它的表達能力是有限的。你不可能光用鼠標就讓電腦完全明白你的意思,它畢竟只有3個按鈕。看看我的MetaPost頁你就能體會到鼠標的這一弱點。所以我們雖然很喜歡鼠標,但是卻不能完全依賴它。

          # 各個小程序的完美配合

          這就是UNIX最重要的特點了,它就是UNIX設計的思想。讓每個程序只具有一項專門的能力,然后讓它們合作。Xwindow也繼承了這種好傳統。

          這 恐怕就是Windows和其它操作系統望塵莫及的地方了。UNIX 程序設計之統一,配合之完美,真使我難以置信!shell, grep, find,  awk, sed, make, Perl,Emacs, vi, tin, Mutt, ... 它們是那么的具有一致性!你一旦學會了 sed 的正則表達式,其它程序基本上都能用了。你一旦學會了 vi 和 VIM, 你會發現它的操作是那么的有規律性,似乎vi的設計者在幾十年前就已經設計好了  VIM 在今天的完美而統一的操作方式!而且vi的操作還體現在 Mutt, tin 等很多程序中。你甚至可以把 bash 設置為 vi 的輸入方式來輸入命令行,我就是這么做的。一個程序可以調用另外一個程序來得到數據,可以把數據交給它處理后返回來,可以在自己的窗口里"嵌入"另外一個 程序。

          在 Windows  和其它非 UNIX 操作系統中,這種合作是非常困難的。我曾經在Windows 下使用 Perl來進行一些自動工作。但是 Windows 的文件操作,管道是如此的不穩定,程序之間基本不能合作。你別想在 Visual Studio 窗口里面嵌入UltraEdit 編輯器,你別想用一個  expect 腳本來控制 telnet 到水木清華BBS,這就是為什么 helloooo 誕生在 Linux 而不是 Windows。我曾經試圖從Windows + Exceed + SecureCRT ssh 登錄到 Sun 機器,然后通過 ssh 的隧道(X11 tunnel)把  X 程序傳到 Exceed 上運行,但是搞了兩天都沒有成功!而在Linux 下這個事情根本就是不用怎么配置的,OpenSSH 和  XFree86 本來就是完美結合,只要打開 ssh 的 "forward X11" 選項就什么都搞定了。

          Windows 的程序都是大而全,大而雜,所有的電子郵件程序都需要自己提供編輯器,自己發送和收取郵件,自己顯示郵件的附件。每一個BBS程序都提供自己的   Virtual Terminal, 自己的通訊代碼。每一個 IDE 都自己提供編輯器,編譯器,匯編器,調試器。人們為了使用一種新的程序,需要適應所有這些它提供的界面,而不能使用自己喜歡的編輯器的鍵綁定,菜單組 織...... 不能 DIY!

          你要知道,最高級的電腦是定做的,自己想要什么什么CPU,什么主板,多少內存,什么硬盤,鍵盤,鼠標, 顯示器都是自己選擇的。最高級的滑板,自己想要什么牌子的版面,什么牌子的沙,什么橋,什么輪子,什么軸承,也都是自己選的。最高級的乒乓球拍,木板,膠 皮,海綿,膠水都是可以自己選擇...... 而用Windows 程序,你得到的是大雜燴,就像你去買"品牌機",只有那么幾種配置,而且附帶很多你不需要的軟件和服務;就像你去買組裝好的滑板,你想要大一點的輪子和窄 一點的板子,但是你沒有這種選擇余地!Windo ws 程序就相當于最廉價,最次的滑板。但是它卻會花你更多的錢,因為一旦一個部件壞了,或者你不喜歡了,你不能另外找一個好的換掉它,你必需重新買全套配件!

          而 UNIX 和 Xwindow 就是高檔的"組裝貨"。比如我用 Mutt 的時候,我可以用VIM 也可以用 pico 來編輯郵件,我可以用 ImageMagick 也可以用 xv 來顯示附件里的圖片,我可以用 lynx 把  HTML 附件轉成文本嵌入窗口中,我也可以把HTML 附件交給 Mozilla 圖形顯示。我可以讓 GnuPG 幫我把郵件進行數字簽名和加密,我也可以用其它 PGP 程序。我想讓 Postfix 而不是 sendmail 幫我發出郵件,我想讓 fetchmail 幫我收郵件,轉發給  postfix,然后被我自己寫的Perl過濾器處理...... 這一切我都可以辦到!我可以選擇我最喜歡的專門的程序來完成專門的工作,然后把它們結合在一起,我也可以分別得到它們的好處。

           


          # 結論

          我 寫這么多的目的是什么?我希望喜歡 Linux 的朋友,完全清除微軟和Windows 灌輸在你腦子里的謬論,別再相信它們所謂的"新技術",別再追趕Windows,因為追趕 Windows =倒退。馬克思有一個思想很重要,"新生事物并不一定是在最近出現的。" UNIX,Xwindow, TeX 雖然都比 Windows 先出現,但是它們才是先進生產力的代表。我們要清楚的認識到什么才是真正的現代化,什么才是真正的自動化。

          勇敢的拿起像 bash, FVWM, VIM, Emacs,  Mutt, lftp ...... 這樣強大的程序,不要再埋怨"Linux 為什么不能像 Windows 那樣",不要再浪費時間試用這樣那樣的程序,不要再忙著升級。是你需要改變而不是 Linux 和 UNIX,Linux 現在就可以成為你的好朋友。你需要認識它,了解它,信任它,才能完全的靠它來高效的工作,省出時間來處理世界上更加值得處理的事情。

          來自:http://inus.bokee.com/6300579.html

          posted @ 2007-07-05 06:30 狼愛上貍 閱讀(228) | 評論 (0)編輯 收藏

          僅列出標題
          共38頁: First 上一頁 26 27 28 29 30 31 32 33 34 下一頁 Last 
          主站蜘蛛池模板: 鄯善县| 曲沃县| 醴陵市| 疏附县| 炉霍县| 临朐县| 大邑县| 右玉县| 建瓯市| 金寨县| 新安县| 雷山县| 镇原县| 昭平县| 海口市| 孝感市| 北流市| 青阳县| 大埔区| 札达县| 河源市| 河南省| 霍邱县| 博野县| 富民县| 黎城县| 钟山县| 和顺县| 洪湖市| 马边| 扶沟县| 开原市| 荔浦县| 灵丘县| 安化县| 崇阳县| 凤山县| 咸宁市| 谷城县| 全椒县| 扎赉特旗|