日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

定時(shí)具有不同持續(xù)時(shí)間的操作的方法和系統(tǒng)的制作方法

文檔序號(hào):6612065閱讀:246來源:國知局
專利名稱:定時(shí)具有不同持續(xù)時(shí)間的操作的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般地涉及操作定時(shí),具體地說,涉及定時(shí)具有不同持續(xù)時(shí)間 的操作。
背景技術(shù)
大型計(jì)算機(jī)系統(tǒng)(例如,IBM的zSeries計(jì)算系統(tǒng))已M成極其有 用的系統(tǒng),主要是因?yàn)樗鼈儗?duì)企業(yè)不斷變化的需求的適應(yīng)性。zSeries系 統(tǒng)通常包括大型機(jī),其中包括子通道控制塊(SCB)、通道子系統(tǒng)(CSS)、 1/0配置、中央處理器以及主存儲(chǔ)裝置。CSS執(zhí)行各種功能/操作,包括用 于啟動(dòng)向/從主存儲(chǔ)裝置移動(dòng)數(shù)據(jù)的啟動(dòng)子通道(SSCH )操作。CSS還執(zhí)行 暫停子通道(HSCH)操作和清除子通道(CSCH)操作,所述操作主要用于 當(dāng)需要終止由SSCH指令啟動(dòng)的1/0活動(dòng)或設(shè)備需要重置時(shí)重置設(shè)備以及子 通道控制塊(SCB)。定時(shí)CSS中的特定1/0操作(包括那些與SCB 1/0操作相關(guān)的操作) 已變得非常重要。兩個(gè)此類由CSS定時(shí)的I/O操作是HSCH操作和CSCH操 作。在z/Architecture Principle of Operation (POP) (IBMz〉司,2005 年9月,第5版,SA22-7832-04,在此引入作為參考)中從功能的角度說 明了這些操作。當(dāng)前的定時(shí)方法對(duì)于定時(shí)操作4W用。但是,隨著引入具有更復(fù)雜功 能的系統(tǒng),例如,z990大型機(jī)上的多通道子系統(tǒng)(MCSS)功能,整體系統(tǒng) 以及每通il^礎(chǔ)上的子通道數(shù)顯著增加。這種子通道和SCB數(shù)的增加使當(dāng) 前定時(shí)機(jī)制不那么有用。為了更好地理解與現(xiàn)有的定時(shí)方法關(guān)聯(lián)的問題,從zSeries系統(tǒng)內(nèi)部
角度考慮如何啟動(dòng)并當(dāng)前定時(shí)CSCH操作。定時(shí)這些指令的常規(guī)過程包括使 用固件可訪問存儲(chǔ)器中的現(xiàn)有SCB,也稱為石更件系統(tǒng)區(qū)域(HSA) 1002和 CSS 1000中的系統(tǒng)輔助處理器(SAP)。如果在CP 1001上運(yùn)行的軟件程 序啟動(dòng)了 CSCH指令,則執(zhí)行CSCH指令的CP固件首先將CSCH指今i殳置到 SCB 1003中,然后繼續(xù)將該SCB在工作隊(duì)列(WQ) 1004的底部排隊(duì)。在圖 l示出的實(shí)例中,將SCB在WQ z的底部排隊(duì)。然后,CP固件使用"暫停/ 清除信號(hào)"通過控制電路1010來發(fā)信號(hào)通知SAP z,后者是WQ z的"所 有者,,。該信號(hào)指示具有這些要處理的功能的一個(gè)或多個(gè)SCB已在由SAPz 擁有的WQz上排隊(duì)。然后,SAPz從隊(duì)列的頂部開始搜索WQz,查找HSCH 或CSCH指令來處理。跳過了具有其他類型的要處理的1/0操作(例如,啟 動(dòng)子通道(SSCH))的其他SCB。 一旦找到了具有HSCH或CSCH指令的SCB, 則SAP z將該SCB從WQ z中移除。在該實(shí)例中,將具有CSCH的SCB 1003 出隊(duì)。如果這是第一次在該CSCH的上下文中將SCB 1003從WQ出隊(duì),則 SAP z 1005將時(shí)間戳(T/S) 1006存儲(chǔ)到SCB中。如圖2詳細(xì)示出的,可 以從當(dāng)前戳得出所述時(shí)間戳。圖3中示出了包括在如上所述的常規(guī)定時(shí)過 程中和本背景技術(shù)部分的其余部分中的步驟的詳細(xì)信息。返回參考圖1, SAP z然后開始處理CSCH指令。如果需要將清除信號(hào) 發(fā)送到I/O配置1007中與正在為CSCH處理的SCB關(guān)聯(lián)的設(shè)備,則SAP z 執(zhí)行I/O路徑選擇,以確定將通過通道連接1009將清除信號(hào)傳送到所需設(shè) 備的由CSS 1000中的通道路徑標(biāo)識(shí)符(CHPID)號(hào)標(biāo)識(shí)的通道路徑。例如, 如果選擇了 CHPID 02或CHPID y,則SAP z可以發(fā)信號(hào)通知選定的CHPID 以執(zhí)行CSCH。這是因?yàn)槿缁炝芯€1008所示,這些CHPID與SAP z具有密 切關(guān)系。要了解"通道到SAP (或IOP)"密切關(guān)系的進(jìn)一步說明,讀者可 參考美國專利6, 973, 529。如果需要選擇CHPID 01,則需要將具有CSCH 功能的SCB在WQ O的底部排隊(duì),因?yàn)樵谠搶?shí)例中,CHPID 01和SAP O具 有密切關(guān)系。然后,SAP z將必須使用"暫停/清除信號(hào)"來通知SAP 0。 一旦該SCB升到WQ 0的頂部,SAP 0就執(zhí)行與SAP z之前執(zhí)行的步驟相同 的步驟,除了在子通道中插入T/S以外,因?yàn)橐褑?dòng)了定時(shí)。因此,WQ上 的此重新排隊(duì)進(jìn)一步延長了完成CSCH操作所花費(fèi)的經(jīng)過時(shí)間(ET)。如果SCB在WQ 0上,且SAP O將其出隊(duì),則SAP 0計(jì)算該CSCH的ET 并將其與CSCH的經(jīng)過時(shí)間限制(ETL)比較,而非在SCB中存儲(chǔ)新功能T/S。 一旦選擇了路徑,SAP O就通過CSS中的電路發(fā)信號(hào)通知CHPID以執(zhí)行CSCH 操作。如果CHPID忙而不能接受該信號(hào)以執(zhí)行CSCH操作,則SAPO將SCB 放回WQO,并重復(fù)在本險(xiǎn)中說明的過程。如果在重復(fù)嘗試后該忙碌情況沒 有消除,則ET最終超過ETL并調(diào)用恢復(fù),如圖3詳細(xì)示出的。如果CHPID 01能夠處理CSCH操作,則SAP O在發(fā)信號(hào)通知CHPID 01 執(zhí)行CSCH操作之后仍將SCB放回WQ 0,但是在SCB內(nèi)設(shè)置了清除已發(fā)出 狀態(tài)。此刻,SCB在WQ上只是對(duì)CSCH的完成定時(shí)。當(dāng)CHPID 01完成CSCH 時(shí)(這可能涉及將清除信號(hào)發(fā)送到所需設(shè)備中),CHPID 01發(fā)信號(hào)通知SAP O它已完成了CSCH。然后SAP O將SCB從WQ 0出隊(duì)并將CSCH操作的結(jié)果 報(bào)告回CP,該CP又發(fā)信號(hào)通知發(fā)出它的軟件程序。如果發(fā)生了某種阻止 CHPID發(fā)信號(hào)通知SAP 0 CSCH操作完成的問題,則ET最終超過ETL,并為 該CHPID調(diào)用恢復(fù),如圖3所示。恢復(fù)導(dǎo)致該CHPID的重置,這不僅導(dǎo)致 CSCH完成,而且還導(dǎo)致該通道上的其他操作4皮重置,其可能導(dǎo)致一個(gè)或多 個(gè)通道控制檢查(CCC)操作。CCC處理是一種形式的SCB恢復(fù),該SCB恢復(fù)的執(zhí)行由CSS中的在CSS 與特定子通道一起工作時(shí)遇到的錯(cuò)誤所導(dǎo)致。CCC處理的高級(jí)說明也在上 面參考的POP文檔中說明。如在CSCH操作的情況下,具有要執(zhí)行的CCC 操作的SCB在WQ上排隊(duì)。同樣,作為CCC處理的一部分,通道通常被給予 將清除信號(hào)發(fā)出到與SCB關(guān)聯(lián)的設(shè)備的主動(dòng)權(quán)。CSCH和CCC處理之間的一 個(gè)區(qū)別是CSS發(fā)起CCC處理,而不是在CP上運(yùn)行的OS發(fā)起CCC指令(如 發(fā)起CSCH指令那樣)。盡管如此,WQ仍用于保持執(zhí)行CCC操作以及對(duì)操 作完成定時(shí)的主動(dòng)權(quán)。同樣,對(duì)于HSCH和CSCH操作,在WQ上將SCB重新 排隊(duì)可以出于相同的原因(例如,密切關(guān)系、忙碌路徑以及定時(shí))而發(fā)生。CCC處理與CSCH處理之間的另一個(gè)區(qū)別是選擇的ETL。從各種錯(cuò)誤恢 復(fù)導(dǎo)致CCC通常涉及在實(shí)際處理CCC之前重置在餘溪時(shí)與SCB —起工作的 整個(gè)通道。由于在重置通道上處理ccc的時(shí)間通常少于在已加載的通道上處理CSCH所花費(fèi)的時(shí)間,所以通常將選擇的完成CCC處理的ETL設(shè)置為低 于用于CSCH處理的ETL。所以,例如,通常將CSCH處理的ETL設(shè)置為14 秒(如HSCH處理的ETL),而將CCC處理的ETL通常設(shè)置為7秒。因此, 實(shí)現(xiàn)定時(shí)的代碼需要具有根據(jù)功能區(qū)分各種ETL的邏輯。圖4示出了常規(guī)定時(shí)過程中工作隊(duì)列的狀態(tài)以及對(duì)子通道控制塊的定 時(shí)。在圖4中,鏈接了具有雙鏈接表(DLL)的WQ,所i^具有WQ標(biāo)頭4010 中的頂部/底部指針和SCB中由4020處的箭頭指示的下一個(gè)/前一個(gè)指針。 每個(gè)SCB都示為具有要執(zhí)行的SSCH、 HSCH、 CSCH或CCC操作。注意,顯示 的每個(gè)SCB ET示出了將使用圖3中的算法計(jì)算的ET,所述算法又使用每 個(gè)SCB中示出的當(dāng)前T/S 4000以及任意的FUNC T/S。在該實(shí)例中,SCB 1 4001處于HSCH未發(fā)出狀態(tài),W示SAP尚未發(fā) 信號(hào)通知CHPID執(zhí)行HSCH。為該HSCH首次將SCB 1放置在WQ G上,并且 示出了在4001處未設(shè)置任何FUNC T/S值。當(dāng)SAP為該HSCH首次將SCB 從WQ出隊(duì)時(shí),將FUNC T/S設(shè)置到SCB中。SCB 2 4002處于HSCH已發(fā)出狀態(tài),這表示HSCH #議送到通道。僅作 為一種給予SAP定時(shí)HSCH操作的主動(dòng)權(quán)的方式,SAP在將HSCH發(fā)送到通 道之后重新將SCB排隊(duì)回WQ。完成發(fā)生在通道向SAP做出HSCH操作完成 的響應(yīng)時(shí),此時(shí)SAP將SCB從WQ中移除。同時(shí),每次該SCB "上升"到隊(duì) 列頂部時(shí),SAP將其出隊(duì)并計(jì)算ET以判定是否存在如圖3中示出的超時(shí)。 如果沒有超時(shí),則將SCB在該WQ的底部重新排隊(duì)。該SCB將很可能已多次 出隊(duì)以檢查超時(shí)并被重新排隊(duì),導(dǎo)致約4-7秒的ET。SCB 3 4003處于CSCH未發(fā)出狀態(tài)。在設(shè)置了 FUNC T/S時(shí),很可能已 嘗試將CSCH操作發(fā)送到通道。在這種情況下,WQ 0用于向SAP提供繼續(xù) 嘗試將CSCH操作發(fā)送到通道的主動(dòng)權(quán)。最可能的是,選定的通道忙并且 SCB必須在WQ上重新排隊(duì)以稍后嘗試。4003處的0. 5秒的ET反映了 SCB 3 尚未達(dá)到SCB 2重新排隊(duì)的次數(shù)。SCB 4 4004處于CSCH已發(fā)出狀態(tài),這表示CSCH ,議送到通道。如同 SCB 2的HSCH已發(fā)出狀態(tài),SCB將在WQ上作為對(duì)CSCH操作完成定時(shí)的方 法。但是,在這種情況下,4005處的14. 2秒的ET已超過了 ETL超時(shí)值。 很可能該SCB在WQ上重新排隊(duì)的次數(shù)多于SCB 2和SCB 3重新排隊(duì)的次數(shù)。 由于ET高于該操作的14秒的ETL,所以當(dāng)將該SCB出隊(duì)時(shí),SAP會(huì)采取適 當(dāng)操作來恢復(fù)SCB 4以及通道,這又將導(dǎo)致CSCH操作完成。SCB 5處于CCC已發(fā)出狀態(tài)。如同HSCH已發(fā)出和CSCH已發(fā)出狀態(tài), SCB 5將在WQ上作為一種定時(shí)CCC的方法。但是,對(duì)于CCC功能,ETL超 時(shí)不同于HSCH或CSCH功能,即,7秒對(duì)14秒。SCB6處于SSCH未發(fā)出狀態(tài)。SSCH指令未由CSS定時(shí)。因此,不同于 HSCH、 CSCH和CCC功能, 一旦將SSCH發(fā)出到通道,就不會(huì)將SCB放回WQ 以便定時(shí)。因此, 一旦發(fā)出了SSCH,則在有關(guān)SSCH的WQ利用率方面,每 操作的開銷更少。SSCH完成的速度是zSeries大型機(jī)的重要基準(zhǔn)度量。因此,將減緩SSCH 處理的任何潛在性能瓶頸最小化很重要。多數(shù)時(shí)候,WQ上的大部分SCB通 常都具有SSCH功能要處理。但是,有時(shí),HSCH和CSCH指令由0S用于恢 復(fù)情況中,并且CCC處理由CSS在CSS恢復(fù)操作期間啟動(dòng)。0S由此發(fā)出非常大量的HSCH指令(并可能有CSCH指令)的情況實(shí)例 是當(dāng)FICON通道檢測到結(jié)構(gòu)外的鏈路故障并報(bào)告給OS時(shí)。當(dāng)出現(xiàn)鏈路故障 時(shí),OS為每個(gè)與該鏈路關(guān)聯(lián)的設(shè)備執(zhí)^i殳備恢復(fù)。這可能涉及大量設(shè)備以 及大量子通道控制塊,每個(gè)都需要被發(fā)送HSCH指令并可能被發(fā)送CSCH指 令。即使有大量HSCH指令要處理,在過去對(duì)早期大型機(jī)的SSCH性能也沒 有任何顯著影響。但是,隨著引入更復(fù)雜的子通道和SCB數(shù)量顯著增加的大型機(jī),WQ性 能可能受到影響,如果其用作〗呆持定時(shí)和處理功能(例如,HSCH、 CSCH和 CCC操作)的主動(dòng)性的方法的話。增加WQ擁塞的是為定時(shí)而在WQ上多次 對(duì)同一 SCB重新排隊(duì)和/或保持上述功能的主動(dòng)權(quán)的需要。同樣,通過使 SAP搜索WQ上具有未決HSCH或CSCH功能的SCB來給予HSCH和CSCH高優(yōu) 先級(jí)的方法進(jìn)一步推遲了處理SSCH。
因此,需要一種減少WQ瓶頸的新的操作定時(shí)技術(shù)。 發(fā)明內(nèi)容根據(jù)示例性實(shí)施例,提供了使用定時(shí)隊(duì)列和指令隊(duì)列在多處理器多控 制塊環(huán)境中定時(shí)操作的方法、計(jì)算機(jī)程序產(chǎn)品和系統(tǒng)。接收到針對(duì)子通道 控制塊(SCB)的執(zhí)行需被定時(shí)的操作的請(qǐng)求時(shí),根據(jù)操作的經(jīng)過超時(shí)限 制(ETL)在多個(gè)定時(shí)隊(duì)列之一上排隊(duì)SCB。每個(gè)操作都存在ETL,并且 多個(gè)定時(shí)隊(duì)列中的每一個(gè)都與完成操作的ETL關(guān)聯(lián)??梢詫CB放置在 定時(shí)隊(duì)列底部,定時(shí)隊(duì)列按從最早到最晚排序,此排序允許快速檢查大量 被定時(shí)的SCB??梢赃M(jìn)行超時(shí)檢查而不必將SCB從定時(shí)隊(duì)列出隊(duì),并且 如果定時(shí)隊(duì)列頂部(最早)的SCB操作沒有超時(shí),則該定時(shí)隊(duì)列上的任何 其他元素都無需被檢查是否超時(shí)。接收到執(zhí)行高優(yōu)先級(jí)操作的請(qǐng)求時(shí),CP 可將SCB排隊(duì)在高優(yōu)先級(jí)指令隊(duì)列中。當(dāng)為該SCB執(zhí)行操作時(shí),SAP將 來自此隊(duì)列的元素從頂部出隊(duì)。如果SAP需要重試操作,則SCB可以仍 位于定時(shí)隊(duì)列以保留定時(shí)隊(duì)列順序并將被置于高優(yōu)先級(jí)指令隊(duì)列以重試操 作。完成操作或出現(xiàn)超時(shí)時(shí),將SCB出隊(duì)。如果在出現(xiàn)超時(shí)時(shí)SCB被出 隊(duì),則可以將其重新排隊(duì)??梢杂梢粋€(gè)或多個(gè)SAP以循環(huán)方式檢查一個(gè)或 多個(gè)定時(shí)隊(duì)列以查找SCB操作超時(shí)。在查看以下附圖及詳細(xì)說明后,對(duì)于本領(lǐng)域的技術(shù)人員,根據(jù)實(shí)施例 的其他系統(tǒng)、方法和/或計(jì)算機(jī)程序產(chǎn)品將是顯而易見的或?qū)⒆兊蔑@而易 見。所有此類其他系統(tǒng)、方法和/或計(jì)算機(jī)程序產(chǎn)品都旨在#>包括在本說明 中、在本發(fā)明的范圍內(nèi)并由所附權(quán)利要求來保護(hù)。


在說明書結(jié)尾處的權(quán)利要求書中特別指出并明確要求保護(hù)了被視為本 發(fā)明的主題。從以下結(jié)合附圖的詳細(xì)說明中,本發(fā)明的上述和其他目標(biāo)、 特性和優(yōu)點(diǎn)是顯而易見的,這些附圖是圖1示出了常規(guī)zSeries系統(tǒng);
圖2示出了如何從一天的時(shí)間中得出時(shí)間戳;圖3示出了用于定時(shí)HSCH、 CSCH或CCC操作的常規(guī)過程;圖4示出了常規(guī)zSeries系統(tǒng)中工作隊(duì)列的狀態(tài)以及子通道的定時(shí);圖5示出了才艮據(jù)示例性實(shí)施例的zSeries系統(tǒng);圖6示出了根據(jù)示例性實(shí)施例的用于使用定時(shí)隊(duì)列處理HSCH、 CSCH或CCC操作的方法;圖7示出了根據(jù)示例性實(shí)施例的用于定時(shí)隊(duì)列檢查的過程;圖8a示出了根據(jù)示例性實(shí)施例的分配定時(shí)隊(duì)列檢查的過程;圖8b示出了才艮據(jù)示例性實(shí)施例的由多個(gè)SAP以循環(huán)方式進(jìn)4亍定時(shí)隊(duì)列檢查的過程;圖9示出了根據(jù)示例性實(shí)施例的定時(shí)隊(duì)列、指令隊(duì)列的狀態(tài)以及子通 道定時(shí);圖10示出了根據(jù)示例性實(shí)施例的如何將定時(shí)隊(duì)列用于定時(shí)操作; 圖11示出了才艮據(jù)示例性實(shí)施例的在無需定時(shí)子通道操作時(shí)的工作隊(duì) 列的狀態(tài)。詳細(xì)的說明通過參考附圖以實(shí)例方式說明了本發(fā)明的示例性實(shí)施例以 及優(yōu)點(diǎn)和特性。
具體實(shí)施方式
根據(jù)示例性實(shí)施例,提供了方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品,以便顯著 降低與定時(shí)具有各種持續(xù)時(shí)間的1/0操作相關(guān)的子通道關(guān)聯(lián)的開銷,以及 減少掃描具有要處理的HSCH、 CSCH和CCC操作的子通道的必要性。這通過 具有針對(duì)每個(gè)持續(xù)時(shí)間的單獨(dú)定時(shí)隊(duì)列(TQ)或任何SAP可用于定時(shí)I/O 操作的被定時(shí)的經(jīng)過超時(shí)限制(ETL)來實(shí)現(xiàn)。特定TQ上的SCB或元素從 隊(duì)列頂部開始按照從"最早,,到"最晚"排序。例如,對(duì)于需要定時(shí)14 秒的1/0操作(例如,HSCH和CSCH操作),可以存在僅包含被定時(shí)14秒 的元素的TQ。對(duì)于需要被定時(shí)7秒的1/0操作(例如,CCC操作),可以 建立不同的TQ。通過在TQ的底部排隊(duì)元素且在需要定時(shí)的時(shí)間點(diǎn)獲得功
能時(shí)間戳來實(shí)現(xiàn)保持每個(gè)定時(shí)隊(duì)列中從"最早"到"最晚"的順序排列。 這確保了在該元素之前的元素"較早"(或"年齡相同",取決于定時(shí)器解決方案),并因此比剛剛在同一TQ上排隊(duì)的元素更早超時(shí)。此順序結(jié)合 將該特定TQ上的所有元素定時(shí)相同持續(xù)時(shí)間(例如,14秒或7秒)的事 實(shí),確保了如果隊(duì)列頂部"較早"的元素沒有超時(shí),則"較晚"的元素不 會(huì)超時(shí)。為了在已經(jīng)在TQ上的元素需要從頭重新定時(shí)的情況下保持從"最早" 到"最晚"的順序,可以將該元素從TQ出隊(duì),即使它在隊(duì)列的中間,然后 可以將它在相應(yīng)TQ底部重新排隊(duì)且在排隊(duì)時(shí)獲得新的功能時(shí)間戳。例如, 如果為已針對(duì)HSCH指令處理的SCB啟動(dòng)CSCH指令,則會(huì)出現(xiàn)這種情況。這種年齡排序的固定持續(xù)時(shí)間定時(shí)隊(duì)列結(jié)構(gòu)的重要優(yōu)點(diǎn)是在進(jìn)行超時(shí) 檢查時(shí),如果SAP TQ檢查過程(TQCHK)發(fā)現(xiàn)頂部隊(duì)列元素("最早"元 素)沒有超時(shí),則SAP無需檢查該TQ上的任何其他元素,不論該TQ上定 時(shí)的元素的數(shù)量是多少。這潛在地節(jié)省了巨大的開銷。另一個(gè)優(yōu)點(diǎn)是當(dāng)進(jìn)行超時(shí)檢查時(shí),無需將任何元素出隊(duì),除非檢測到 超時(shí)或定時(shí)的操作完成或不再需要定時(shí)。在"最早"的元素中檢測到超時(shí) 的情況下,TQCHK過程將該元素從隊(duì)列頂部出隊(duì),并為該元素和關(guān)聯(lián)的I/O 操作啟動(dòng)任何必要的恢復(fù)。新的最頂部的元素然后是"最早,,的,并且重 復(fù)TQCHK過程直至新的"最早"的元素未處于超時(shí)狀態(tài)。根據(jù)示例性實(shí)施例,可以為每個(gè)SAP提供單獨(dú)的HSCH/CSCH/CCC指令 隊(duì)列(HCCQ )來進(jìn)一步流線地處理這些指令,而無需如常規(guī)定時(shí)方法中那 樣掃描隊(duì)列。此處的優(yōu)點(diǎn)在于僅這些高優(yōu)先級(jí)操作在隊(duì)列上,不需要由SAP 進(jìn)行掃描,因?yàn)椴恍枰^具有較低優(yōu)先級(jí)SSCH操作的子通道?,F(xiàn)在,當(dāng) SAP接收到"停止/清除信號(hào)"時(shí),SAP只需將第一個(gè)元素從指令隊(duì)列出隊(duì) 以處理某一高優(yōu)先級(jí)操作。新HCCQ的另一個(gè)優(yōu)點(diǎn)在于WQ被釋放以僅包含 具有性能敏感啟動(dòng)子通道(SSCH) 1/0操作的SCB。根據(jù)示例性實(shí)施例,可以在需要保持驅(qū)動(dòng)HSCH、 CSCH或CCC功能的主 動(dòng)權(quán)但也需要定時(shí)操作的情況下將SCB在TQ和HCCQ上排隊(duì)。何時(shí)可能發(fā) 生這種情況的實(shí)例是如果SAP嘗試向通iiiC出HSCH指令,而通道正忙。在 這種情況下,SAP將具有HSCH指令的SCB放回HCCQ的底部。但是,SAP 必須在它首次得到SCB的HSCH指令時(shí)開始對(duì)HSCH操作定時(shí),因?yàn)榧偃缤?道處于某種錯(cuò)誤狀態(tài),由此始終表現(xiàn)為忙,則SAP同樣需要通過將SCB放 到TQ上來對(duì)HSCH指令定時(shí)。根據(jù)一個(gè)實(shí)施例,可以在"循環(huán)"基礎(chǔ)上執(zhí)行所有SAP間的TQ檢查, 以確保不是所有SAP都不必要地竟?fàn)幰詸z查定時(shí)隊(duì)列。這避免了浪費(fèi)SAP 利用率。這還允許在功能SAP間進(jìn)行TQ檢查的動(dòng)態(tài)重新平衡,因?yàn)樵跈C(jī)器 運(yùn)行時(shí)將SAP添加到配置或?qū)⑵鋸呐渲靡瞥?。此處?一個(gè)優(yōu)點(diǎn)在于任何SAP 都可用于運(yùn)行TQCHK過程,與哪個(gè)SAP將SCB放置在TQ上無關(guān)。圖5示出了根據(jù)示例性實(shí)施例的zSeries大型機(jī)。在該實(shí)施例中,將 TQ添加到HSA以定時(shí)具有不同持續(xù)時(shí)間的操作。添加HCCQ不僅為了改進(jìn) 處理HSCH、 CSCH和CCC過程的性能,而且作為一種給予SAP在必要時(shí)重試 部分操作的主動(dòng)權(quán)的方法,同時(shí)繼續(xù)定時(shí)同一ETL的操作,而不將SCB從 該定時(shí)隊(duì)列出隊(duì)。當(dāng)SAP需要重試部分操作時(shí)(如它在遇到通道忙碌狀況 時(shí)那樣),它將SCB放置在HCCQ的底部以允許通道有機(jī)會(huì)變得不忙碌。SAP 將在SCB升到HCCQ頂部并被出隊(duì)之后重試該操作。在圖5示出的系統(tǒng)中, 已將HSCH/CSCH/CCC隊(duì)列(HCCQ)和定時(shí)隊(duì)列(TQ)添加到HSA 5002。在 圖5示出的系統(tǒng)中,每個(gè)SAP有一個(gè)HCCQ,每個(gè)操作ETL有一個(gè)TQ用相 同的持續(xù)時(shí)間定時(shí)。在圖5示出的實(shí)例中,需要14秒ETL的TQ 5011和7 秒ETL的TQ 5012來將CSCH或HSCH定時(shí)為14秒并將CCC操作定時(shí)為7 秒。如果需要將HSCH或CSCH定時(shí)為其他持續(xù)時(shí)間而非7秒或14秒ETL, 則可以擴(kuò)展該實(shí)施例以在HSA中包括附加的TQ,每個(gè)附加的ETL —個(gè)TQ。 例如,如果CSCH需要定時(shí)為16秒,而HSCH需要定時(shí)為14秒,則可以添 加具有16秒ETL的附加TQ。如果在CP 5001上運(yùn)行的軟件程序?qū)SCH指令發(fā)送到HSA 5002中的 SCB,則作為正常處理該指令的一部分執(zhí)行CSCH的CP固件首先將CSCH功 能5006設(shè)置到SCB 5003中,然后繼續(xù)將該SCB在指令隊(duì)列HCCQ z 5004
的底部排隊(duì)。然后,CP固件使用"停止/清除信號(hào)"通過控制電路5010發(fā) 信號(hào)通知HCCQ z的所有者SAP z 5005。該信號(hào)指示具有此要處理的功能 的一個(gè)或多個(gè)SCB已在HCCQz上排隊(duì)。然后,SAPz將第一個(gè)元素從HCCQ z的頂部出隊(duì),而不是如常規(guī)操作那樣搜索該隊(duì)列。假如在程序發(fā)出CSCH 指令之前,SCB 5003在具有SSCH的WQ z上,則CP固件首先將SCB從WQ z 出隊(duì),然后再將它在HCCQ z底部排隊(duì)。這種首先將SCB從WQ出隊(duì)的少量 附加開銷與如常規(guī)操作那樣必須掃描WQ相比是微不足道的。圖6示出了功能處理流程及如何將TQ用于定時(shí)操作。出于示例目的, 在下文說明了 CHSC操作的處理和定時(shí)。但是,應(yīng)當(dāng)理解,類似的過程可以 用于處理和定時(shí)其他1/0操作,例如HSCH和CCC操作。參考圖6, 一旦SAP z將SCB 5003從HCCQ z出隊(duì),用于該功能的處 理流程就在步驟6001開始。作為出隊(duì)過程的一部分,在步驟6001關(guān)閉SCB 中的HCCQ位以指示SCB不再在HCCQ上。如果這是第一次將該特定SCB從 該特定CHSC的HCCQ出隊(duì),則該SCB將已不在TQ上。因此在步驟6002判 定該SCB已不在TQ上之后,通過執(zhí)行步驟6003和6004來將功能時(shí)間戳 (FUNC T/S )設(shè)置到SCB中。然后,在步驟6005,將該SCB在具有該操作 可以花費(fèi)的最大時(shí)間量的ETL的TQ底部排隊(duì)。例如,SCB可以在TQ14上 排隊(duì),因?yàn)镃SCH功能需要以約14秒來定時(shí)。在步驟6006處理功能的實(shí)際過程。僅大致說明了實(shí)際CSCH功能處理, 因?yàn)樗c定時(shí)該功能有關(guān)。用于定時(shí)CSCH的機(jī)制可應(yīng)用到其他需要定時(shí)的 功能,例如,HSCH和CCC功能。作為功能處理的一部分,功能可能需要發(fā) 信號(hào)通知其他元素以執(zhí)行整體功能的一部分。例如,CSCH功能可能需要發(fā) 信號(hào)通知通道以對(duì)SCB指示的設(shè)^L行有選擇的重置。在該實(shí)施例中,SAP 嘗試發(fā)信號(hào)通知通道它必須執(zhí)行其CSCH處理部分。在步驟6007判定是否 成功發(fā)信號(hào)通知通道以處理功能。如果成功發(fā)信號(hào)通知了通道,則在塊 6009, SCB停留在TQ中等待通道完成。當(dāng)該SCB在定時(shí)隊(duì)列時(shí),SAP可以 執(zhí)行其他工作。實(shí)質(zhì)上,CSCH過程轉(zhuǎn)為"休眠"直到通道向SAPz做出它 已完成CSCH操作的響應(yīng)或在定時(shí)隊(duì)列檢查(TQCHK)過程中檢測到超時(shí)為
止,如下文將說明的。如果通道完成了操作,則通itic信號(hào)通知已經(jīng)發(fā)信號(hào)通知通道的SAP, SAP在步驟6010恢復(fù)處理,在步驟6011執(zhí)行一些其他 功能特定的處理,并在步驟6012將SCB從TQ出隊(duì)。此時(shí)完成CSCH操作。如果在步驟6007判定未成功發(fā)信號(hào)通知通道,例如,因?yàn)橛龅搅艘?CSCH操作暫停一段時(shí)間并在稍后的時(shí)間重試的某種形式的忙碌情況,則在 步驟6008通過將SCB在該SAP的HCCQ底部排隊(duì)來保持重新嘗試發(fā)信號(hào)通 知通道的主動(dòng)權(quán)。因此,此時(shí)將該SCB同時(shí)在6008在SAP z的HCCQ上和 TQ 14 (之前在步驟6005排隊(duì))上排隊(duì)以對(duì)整個(gè)CSCH操作定時(shí)。在稍后的 時(shí)刻,該SCB將在SAP處理了其他已在該隊(duì)列上的SCB之后最終升到該HCCQ 的頂部,并且對(duì)該CSCH的處理將返回到步驟6001。但是,這時(shí)SCB已在 TQ 14上,所以處理在步驟6013發(fā)生。在步驟6013,判定CSCH功能是否 需要從頭定時(shí),例如,通過判定這是否是HSCH頂部的新CSCH。因?yàn)樵谠?實(shí)例中,未將CSCH發(fā)送到HSCH的頂部,所以不需要從頭定時(shí)功能,所以 處理在6006發(fā)生。如果在步驟6006處理嘗試重新發(fā)信號(hào)通知通道以處理 CSCH操作,并且重新發(fā)信號(hào)通知的嘗試也已失敗,則可以再次采取步驟 6008的處理。在兩種情況下,無論在步驟6007是否發(fā)信號(hào)通知通道,SCB 仍將在TQ上以確保操作在14秒內(nèi)完成。這將參考圖7說明。對(duì)于在處理同一 SCB的HSCH指令時(shí)發(fā)出的CSCH指令,可以重置特定 SCB的定時(shí),同時(shí)仍保持有序的定時(shí)隊(duì)列。如果在步驟6013判定由在CP 上運(yùn)行的程序在HSCH指令之上發(fā)出CSCH指令,則CSCH操作的定時(shí)需要再 次重新啟動(dòng)。如果該SCB的HSCH操作已在進(jìn)行中,它將已在TQ上。在這 種情況下,處理前進(jìn)到6014。因?yàn)樵谶@種情況下,需要將CSCH操作定時(shí) 例如14秒,所以在步驟6014需要將HSCH操作正在進(jìn)行的SCB從TQ出隊(duì)。 然后,處理在步驟6003和6004發(fā)生,并且將新的當(dāng)前T/S設(shè)置到SCB的 功能T/S字段中,然后在步驟6005將SCB在TQ 14的底部排隊(duì)。在步驟 6005繼續(xù)處理該CSCH功能,并且先前描述的過程發(fā)生。將SCB在TQ底部 排隊(duì)且將FUNC T/S設(shè)置為當(dāng)前T/S在有序定時(shí)隊(duì)列上保留了頂部最早底部 最晚的所需排隊(duì)順序。
圖7示出了根據(jù)示例性實(shí)施例的當(dāng)分配TQCHK指令以在SAP上運(yùn)行時(shí) 發(fā)生的定時(shí)隊(duì)列檢查(TQCHK)過程。當(dāng)將TQCHK分配到SAP處時(shí),在步驟 7001選擇要檢查的TQ。如以上說明的,可以由多個(gè)SAP在"循環(huán)"基礎(chǔ)上 檢查TQ。如果在步驟7002判定至少一個(gè)元素在TQ上,則處理在步驟7003 和7004發(fā)生。此處,通過從當(dāng)前T/S(例如,從時(shí)間時(shí)鐘獲得)減去如圖 6所示的設(shè)置到SCB中的功能時(shí)間戳(FUNC T/S )來計(jì)算TQ頂部的SCB的 經(jīng)過時(shí)間(ET)。在步驟7005,通過將ET與經(jīng)過超時(shí)限制(ETL)相比較 并判定ET是否大于或等于TQ頂部元素的ETL,來判定該TQ頂部的SCB是 否發(fā)生超時(shí)??梢栽跓o需將SCB從TQ出隊(duì)的情況下進(jìn)行此ET和ETL的比 較。如果該SCB沒有超時(shí),即,ET不大于或等于TQ頂部元素的ETL,則無 需在該TQ中進(jìn)一步向下探尋,因?yàn)樽钤绲脑卦赥Q的頂部。如果存在超 時(shí),并且ET由此大于TQ頂部元素的ETL,則處理在7006發(fā)生,由此將SCB 從正在處理的TQ (例如TQ 14或TQ 7,如從SCB中的"隊(duì)列中,,控制所確 定的)出隊(duì)。在步驟7007,安排了功能特定的恢復(fù)操作,這可能涉及通過 恢復(fù)將其他元素i文入系統(tǒng)中,例如超時(shí)功能所涉及的通道或SAP。恢復(fù)將 SCB從任何它所在的隊(duì)列出隊(duì),在SCB中將它的功能控制改為通道控制已 檢查(CCC)并將SCB在HCCQ的底部排隊(duì)。因?yàn)橥瑯佣〞r(shí)了 CCC,用于定 時(shí)CCC的方法將在圖6的步驟6001中繼續(xù)進(jìn)行。除了在這種情況下,CCC 功能僅需定時(shí)為例如7秒。因此,將SCB在TQ7上排隊(duì)。后續(xù)的CCC處理 導(dǎo)致CSCH操作完成。本領(lǐng)域的技術(shù)人員將理解此恢復(fù)過程的詳細(xì)信息,在 此為了簡潔而省略了其說明。雖然上面說明了恢復(fù)過程,但是還應(yīng)指出的 是,在其他實(shí)施例中,在檢測到超時(shí)情況時(shí)可以分配除恢復(fù)以外的應(yīng)用特 定的過程。根據(jù)示例性實(shí)施例的定時(shí)機(jī)制可用于判定操作(例如,HSCH、 CSCH、 CCC或其他實(shí)施例中的任何其他功能)是否出現(xiàn)超時(shí)。如果檢測到 超時(shí),無論超時(shí)是由于持久的通道忙碌狀況或某種其他原因,可以分配任 何適當(dāng)?shù)倪^程(例如,恢復(fù)操作)來清除和完成操作。在恢復(fù)過程在步驟7007安排了針對(duì)該SCB的恢復(fù)之后,可以在同一 TQ中檢查其他元素以查看其他SCB是否超時(shí)。如果在步驟7002判定TQ上 存在其他元素,則采取步驟7003和7004,并在步驟7005檢查TQ頂部的 新SCB是否超時(shí)。如果TQ頂部的該新SCB沒有超時(shí),則在步驟7008檢查 以查看系統(tǒng)中是否有任何其他要檢查的TQ。在該實(shí)例中,處理了 TQ 14。 所以接下來將是TQ 7,并且TQCHK過程在步驟7010繼續(xù)。 一旦完成TQ 7 的TQCHK過程且沒有其他要檢查的TQ,則在步驟7009調(diào)用過程返回。根 據(jù)示例性實(shí)施例,在圖8a和8b中示出了調(diào)用TQCHK的過程。圖8a示出了才艮據(jù)示例性實(shí)施例的如何在一個(gè)或多個(gè)SAP間分配TQCHK 過程。在步驟8001,可以在系統(tǒng)中的所有SAP上以定期的間隔調(diào)用"預(yù) TQCHK"過程。分配率可以取決于超時(shí)率。如果選擇了過小的間隔,則會(huì)為 所有SAP帶來不必要的開銷。相反,如果選擇了過大的間隔,則TQCHK過 程可能無法準(zhǔn)確地檢測超時(shí)。 一旦調(diào)用,預(yù)TQCHK就在步驟8002將"下一 個(gè)要分配TQCHK的SAP" ( NXTSCAP )字段與特定SAP自己的SAP標(biāo)識(shí)符進(jìn) 行比較以查看是否輪到該SAP來分配TQCHK。在一個(gè)實(shí)施例中,可以將TQCHK 存儲(chǔ)在可由所有SAP訪問的公共控制塊(CCB)中。圖8b示出了可以訪問 將CCB中的字段用作互鎖的多個(gè)TQ的多個(gè)SAP。如果在步驟8002判定輪到該特定SAP,則在步驟8003分配TQCHK過 程。在完成TQCHK過程之后,過程在步驟8004發(fā)生以設(shè)置NXTSAP (下一 個(gè)運(yùn)行的SAP)??梢愿鶕?jù)"運(yùn)行的SAP掩碼"以循環(huán)順序?qū)XTSAP設(shè)置 為CCB中從當(dāng)前NXTSAP字段開始的下一個(gè)運(yùn)行的SAP的值。然后,預(yù)TQCHK 過程在步驟8006結(jié)束。如果在步驟8002判定沒有輪到該特定SAP來分配TQCHK過程,則在步 驟8005根據(jù)例如運(yùn)行的SAP掩碼做出判定,以測試在NXTSAP字段中指示 的SAP是否可運(yùn)行。如果是,處理在步驟8006發(fā)生。如果否,處理在步驟 8004發(fā)生以將NXTSAP設(shè)置為運(yùn)行的SAP。持續(xù)地確保NXTSAP可運(yùn)行的需 要在系統(tǒng)中很重要,由此可以在系統(tǒng)運(yùn)行時(shí)添加和移除分配TQCHK過程的 處理器。這確保了在動(dòng)態(tài)添加和移除SAP環(huán)境中可靠地分配TQCHK過程。 應(yīng)當(dāng)理解,對(duì)于移除的情況,要移除的處理器很可能需要處于空閑狀態(tài)。 本領(lǐng)域的技術(shù)人員將理解被從操作刪除之前確保處理器處于空閑狀態(tài)的方16
法,在此為了簡潔而省略了其細(xì)節(jié)。圖9、 10和11示出了根據(jù)示例性實(shí)施例的如何處理以上參考圖4說明 的實(shí)例。圖9示出了如何使用SCB (具有相同的HSCH、 CSCH和CCC功能以 便如圖4所示的那樣執(zhí)行)來填充指令隊(duì)列HCCQ 9010和14秒TQ 9011, 兩者都具有雙鏈接表(DLL)。根據(jù)示例性實(shí)施例,顯示的每個(gè)SCB ET都 示出了可以在計(jì)算ET時(shí)使用圖7中的算法(步驟7004 )(其又使用在9000 處示出的當(dāng)前T/S和設(shè)置到每個(gè)SCB中的圖4的任意FUNC T/S )。在該實(shí) 例中,SCB 1處于HSCH未發(fā)出狀態(tài),如9001處所示,&示SAP尚未發(fā) 信號(hào)通知CHPID執(zhí)行HSCH。在9010首次為了該HSCH將SCB 1放置在HCCQ 0上,并在9001示為沒有設(shè)置任何FUNC T/S值。將在SAP首次為了該HSCH 功能將SCB從HCCQ出隊(duì)時(shí)將FUNC T/S設(shè)置到SCB中,如先前圖6所示。也可能的是,在其他實(shí)施例中,CP固件可以當(dāng)CP將SCB在HCCQ上排 隊(duì)時(shí)將FUNC T/S設(shè)置到SCB中,而不是當(dāng)SAP將SCB從HCCQ出隊(duì)時(shí)使SAP 將FUNC T/S設(shè)置到SCB中??梢圆扇〈瞬僮鱽硖岣叱瑫r(shí)準(zhǔn)確性。SCB 2在9002處于HSCH已發(fā)出狀態(tài),這表示已將HSCH發(fā)送到通道。 要指出的是,根據(jù)示例性實(shí)施例,該SCB在9011處于TQ14上而非要定時(shí) 的WQ上。這降低了 WQ的竟?fàn)幒烷L度。當(dāng)發(fā)生HSCH操作完成并且通道將完 成HSCH的響應(yīng)送回SAP時(shí),SAP將SCB從該TQ中移除。同時(shí),在對(duì)其定 時(shí)時(shí),無需根據(jù)圖7中示出的算法將其從TQ出隊(duì)。SCB 3在9003處于CSCH未發(fā)出狀態(tài)。在設(shè)置了 FUNC T/S的情況下, 嘗試將CSCH發(fā)送到通道。在這種情況下,使用9010處的HCCQ O來為SAP 提供保持嘗試將CSCH發(fā)送到通道的主動(dòng)權(quán)。最可能的是,選定的通道忙, SCB必須在HCCQ上重新排隊(duì)以嘗試發(fā)信號(hào)通知通道來處理CSCH指令。當(dāng) 重新嘗試時(shí),該SCB在9011仍在TQ 14上以對(duì)整體CSCH操作定時(shí)。要指出的是,SCB中有兩組DLL鏈指針,以便能夠在需要時(shí)使SCB同 時(shí)位于2個(gè)隊(duì)列在9012處的用于HCCQ或WQ的FQ-下一個(gè)和前一個(gè),以 及在9013處的僅在必要時(shí)用于TQ的TQ-下一個(gè)和前一個(gè)。此外要指出的是,在9014,將多個(gè)"隊(duì)列中"控制設(shè)置到SCB: HCCQ 0 和TQ 14以指示該SCB在哪個(gè)隊(duì)列。才艮據(jù)示例性實(shí)施例,可以存在"HCCQ 隊(duì)列中,,位、"WQ隊(duì)列中"位和"TQ隊(duì)列中"位以及其他指示"WQ-HCCQ 號(hào)"和"TQ號(hào)"的字段。WQ-HCCQ號(hào)是組合字段,因?yàn)镾CB僅需要在WQ 上或在HCCQ上,而非同時(shí)在兩者上。在該實(shí)例中,SCB在HCCQ O和TQ 14 上。因此,在實(shí)際的SCB中,"HCCQ隊(duì)列中,,位將是開啟狀態(tài)且WQ-HCCQ 號(hào)設(shè)置為0, "TQ隊(duì)列中"位將是開啟狀態(tài)且TQ號(hào)設(shè)置為14。在其他實(shí) 施例中,可能需要多個(gè)具有相同持續(xù)時(shí)間的定時(shí)隊(duì)列。在此情況下,將元 素從定時(shí)隊(duì)列入隊(duì)和出隊(duì)的應(yīng)用將需要一種方法來區(qū)分將使用哪個(gè)具有相 同持續(xù)時(shí)間的隊(duì)列。 一種方法是使用可以反映該情況的"TQ號(hào),,的不同編 碼方案。例如,如果有兩個(gè)14秒隊(duì)列,則"TQ號(hào)"141可以標(biāo)識(shí)第1個(gè) 14秒TQ,而"TQ號(hào)"142可以標(biāo)識(shí)第2個(gè)14秒TQ。在任何情況下,應(yīng)用 都需要了解該編碼方案,無論是否支持具有相同持續(xù)時(shí)間的多個(gè)定時(shí)方案。SCB 4在9004處于CSCH已發(fā)出狀態(tài),這表示已將CSCH發(fā)送到通道。 如為SCB 2發(fā)出的HSCH,在9011處,該SCB在TQ 14上以便為完成CSCH 定時(shí)。但是,在此情況下,9004處的14. 2秒的ET已超過了 ETL超時(shí)值。 才艮據(jù)示例性實(shí)施例,因?yàn)镋T高于該^Mt的14秒ETL,所以當(dāng)如圖7和8a 所示分配TQCHK過程時(shí),執(zhí)行TQCHK過程的SAP則采取適當(dāng)操作以恢復(fù)CSCH 操作,強(qiáng)制操作完成。圖10示出了如何將TQ用于定時(shí)CCC操作。在圖IO示出的實(shí)例中,SCB 5處于CCC已發(fā)出狀態(tài)。如HSCH已發(fā)出和CSCH已發(fā)出狀態(tài)一樣,SCB在 TQ上作為定時(shí)CCC的方法。但是,對(duì)于CCC功能,ETL超時(shí)不同于HSCH 或CSCH功能的ETL超時(shí)。例如,對(duì)于CCC功能,ETL可以是7秒。因此, 在10001處,該SCB位于7秒定時(shí)隊(duì)列TQ 7上。圖11示出了根據(jù)示例性實(shí)施例的工作隊(duì)列狀態(tài)和子通道定時(shí)。在圖 11中,SCB6處于SSCH未發(fā)出狀態(tài)。圖11中的SCB6和圖4中示出的SCB 6處于相同狀態(tài),并且如先前那樣,無需定時(shí)SSCH指令。但是,該實(shí)例的 不同之處在于僅具有要執(zhí)行的啟動(dòng)子通道的SCB在圖11中的WQ上。因此, 已經(jīng)實(shí)現(xiàn)了 WQ O上的SCB數(shù)量的減少。在該實(shí)例中,已將WQ上的SCB數(shù)
從圖4中的6個(gè)SCB減少到圖11中的1個(gè)SCB。 i^艮示了由才艮據(jù)示例性實(shí) 施例的定時(shí)技術(shù)實(shí)現(xiàn)的WQ瓶頸的顯著降低。雖然以上說明集中在具有7秒和14秒持續(xù)時(shí)間的操作上,但是應(yīng)當(dāng)理 解,可以使用專用于每個(gè)操作的ETL的定時(shí)隊(duì)列來定時(shí)具有任何持續(xù)時(shí)間 的操作。此外,如上所述,對(duì)于具有相同持續(xù)時(shí)間的操作,可以存在多個(gè) 定時(shí)隊(duì)列。在其他實(shí)施例中,可能有必要根據(jù)應(yīng)用將同一類型的操作定時(shí) 為不同的持續(xù)時(shí)間。這也是可能的并可以通過上述參考圖6的方法實(shí)現(xiàn)。 在步驟6005,應(yīng)用可以在決定它需要哪個(gè)TQ來排隊(duì)SCB及SCB "隊(duì)列中"控制的設(shè)置時(shí)考慮其他應(yīng)用相關(guān)的狀態(tài),而不是僅根據(jù)操作類型做出決定。 如上所述,實(shí)施例可以體現(xiàn)為實(shí)現(xiàn)那些過程的計(jì)算機(jī)實(shí)現(xiàn)的過程和裝 置的形式。在示例性實(shí)施例中,本發(fā)明體現(xiàn)在由一個(gè)或多個(gè)網(wǎng)絡(luò)元素執(zhí)行 的計(jì)算機(jī)程序代碼中。實(shí)施例包括包含指令的計(jì)算機(jī)程序代碼,所述指令 體現(xiàn)在有形介質(zhì)(例如,軟盤、CD-ROM、硬盤,或任何其他計(jì)算機(jī)可讀存 儲(chǔ)介質(zhì))中,其中,當(dāng)計(jì)算機(jī)加載并執(zhí)行計(jì)算機(jī)程序代碼時(shí),計(jì)算機(jī)變成 實(shí)現(xiàn)本發(fā)明的裝置。實(shí)施例包括計(jì)算機(jī)程序代碼,例如,無論存儲(chǔ)在存儲(chǔ) 介質(zhì)中,由計(jì)算機(jī)加載和/或執(zhí)行,還是在某種傳輸介質(zhì)上傳輸(例如,在 電線和電纜上,通過光纖,或通過電磁輻射),其中,當(dāng)計(jì)算機(jī)加載和執(zhí) 行計(jì)算機(jī)程序代碼時(shí),計(jì)算機(jī)變成實(shí)現(xiàn)本發(fā)明的裝置。當(dāng)在通用微處理器 上實(shí)現(xiàn)時(shí),計(jì)算機(jī)程序代碼段配置微處理器以創(chuàng)建專用邏輯電路。雖然參考示例性實(shí)施例描述了本發(fā)明,但是本領(lǐng)域的技術(shù)人員將理解, 可以做出各種更改并可以用等價(jià)物替代其元素而不偏離本發(fā)明的范圍。此 外,可以在不偏離本發(fā)明基本范圍的情況下做出許多修改以使特定情況或 材料適合本發(fā)明的教導(dǎo)。因此,并非旨在將本發(fā)明限于作為實(shí)現(xiàn)本發(fā)明構(gòu) 想的最佳模式而公開的特定實(shí)施例,而是本發(fā)明將包括所有落入所附權(quán)利 要求的范圍內(nèi)的實(shí)施例。此外,術(shù)語第一、第二等的使用并不表示任何順 序或重要性,而是用于將一個(gè)元素與另一個(gè)元素進(jìn)行區(qū)分。此外,術(shù)語一, 一個(gè)等的使用并不表示量的限制,而是表示存在至少一個(gè)引用的項(xiàng)。
權(quán)利要求
1. 一種用于在多處理器多控制塊環(huán)境中定時(shí)操作的方法,所述方法包括以下步驟接收針對(duì)子通道控制塊的執(zhí)行操作的請(qǐng)求;根據(jù)所述操作的經(jīng)過超時(shí)限制,將所述子通道控制塊在多個(gè)定時(shí)隊(duì)列 之一中排隊(duì),其中對(duì)于每個(gè)操作都存在經(jīng)過超時(shí)限制,并且所述多個(gè)定時(shí) 隊(duì)列中的每個(gè)隊(duì)列都與用于完成操作的經(jīng)過超時(shí)限制相關(guān)聯(lián);以及在完成所述操作或出現(xiàn)超時(shí)時(shí),使所述子通道控制塊出隊(duì)。
2. 如權(quán)利要求l中所述的方法,其中所述排隊(duì)的步驟包括將所述子通 道控制塊放置在按照最早到最晚排序的定時(shí)隊(duì)列的底部。
3. 如權(quán)利要求l中所述的方法,還包括在接收到執(zhí)行高優(yōu)先級(jí)操作的 請(qǐng)求時(shí),將所述子通道控制塊在高優(yōu)先級(jí)指令隊(duì)列中排隊(duì)。
4. 如權(quán)利要求l中所述的方法,還包括如果在出現(xiàn)超時(shí)時(shí)所述定時(shí)暫 停,則將所述子通道控制塊重新排隊(duì)。
5. 如權(quán)利要求l中所述的方法,其中通過計(jì)算經(jīng)過時(shí)間并確定所述經(jīng) 過時(shí)間大于或等于所述經(jīng)過超時(shí)限制來確定所M時(shí)。
6. 如權(quán)利要求l中所述的方法,其中檢查所述定時(shí)隊(duì)列以查找要執(zhí)行 的子通道控制塊^^作。
7. 如權(quán)利要求6中所述的方法,其中以循環(huán)方式檢查所述定時(shí)隊(duì)列。
8. —種用于定時(shí)具有不同持續(xù)時(shí)間的操作的系統(tǒng),所述系統(tǒng)包括 子通道控制塊,用于接收?qǐng)?zhí)行特定操作的指令;定時(shí)隊(duì)列,用于將不同的子通道控制塊排隊(duì),其中每個(gè)定時(shí)隊(duì)列都與 具有固定的經(jīng)過時(shí)間限制的子通道控制塊操作關(guān)聯(lián),并且在接收到執(zhí)行操 作的請(qǐng)求時(shí),將每個(gè)子通道控制塊在與所述操作的預(yù)定經(jīng)過時(shí)間限制對(duì)應(yīng) 的定時(shí)隊(duì)列中排隊(duì)。
9. 如權(quán)利要求8中所述的系統(tǒng),其中所述排隊(duì)的步驟包括將所述子通 道控制塊在按照最早到最晚排序的定時(shí)隊(duì)列的底部處排隊(duì)。
10. 如權(quán)利要求8中所述的系統(tǒng),還包括在接收到執(zhí)行高優(yōu)先級(jí)操作 的指令時(shí)將子通道控制塊排隊(duì)的高優(yōu)先級(jí)指令隊(duì)列。
11. 如權(quán)利要求8中所述的系統(tǒng),其中如果出現(xiàn)超時(shí),則將所述子通 道控制塊重新排隊(duì)。
12. 如權(quán)利要求ll中所述的系統(tǒng),其中通過計(jì)算經(jīng)過時(shí)間并確定所述 經(jīng)過時(shí)間大于或等于所述經(jīng)過超時(shí)限制來確定所述超時(shí)。
13. 如權(quán)利要求8中所述的系統(tǒng),其中檢查所述定時(shí)隊(duì)列以查找要執(zhí) 行的操作。
14. 如權(quán)利要求13中所述的系統(tǒng),其中以循環(huán)方式檢查所述定時(shí)隊(duì)列。
全文摘要
一種定時(shí)具有不同持續(xù)時(shí)間的操作的方法和系統(tǒng)。接收到針對(duì)子通道控制塊(SCB)的執(zhí)行需被定時(shí)的操作的請(qǐng)求時(shí),根據(jù)操作的經(jīng)過超時(shí)限制(ETL)在多個(gè)定時(shí)隊(duì)列之一上排隊(duì)SCB。每個(gè)操作都存在ETL并且多個(gè)定時(shí)隊(duì)列中的每個(gè)都與完成操作的ETL關(guān)聯(lián)。將SCB放置在定時(shí)隊(duì)列底部,定時(shí)隊(duì)列按從最早到最晚排序。接收到執(zhí)行高優(yōu)先級(jí)操作的請(qǐng)求時(shí),將SCB排隊(duì)在高優(yōu)先級(jí)指令隊(duì)列中。SCB可以仍位于定時(shí)隊(duì)列以保留其順序并被置于高優(yōu)先級(jí)指令隊(duì)列以重試操作。完成操作或出現(xiàn)超時(shí)時(shí)將SCB出隊(duì)。如果在出現(xiàn)超時(shí)時(shí)SCB出隊(duì),則可將其重新排隊(duì)??梢杂梢粋€(gè)或多個(gè)SAP以循環(huán)方式檢查一個(gè)或多個(gè)定時(shí)隊(duì)列以查找SCB操作超時(shí)。
文檔編號(hào)G06F11/00GK101145116SQ20071014923
公開日2008年3月19日 申請(qǐng)日期2007年9月7日 優(yōu)先權(quán)日2006年9月14日
發(fā)明者J·S·特羅特, K·J·奧克斯 申請(qǐng)人:國際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1