基于系統性能度量在系統節點之間標識和遷移線程的方法和系統的制作方法

            文檔序號:6498660閱讀:190來源:國知局
            基于系統性能度量在系統節點之間標識和遷移線程的方法和系統的制作方法
            【專利摘要】用于基于系統性能度量來標識和遷移系統節點之間的線程的方法和系統。本文公開的示例方法包括取樣在具有多個節點的計算機系統的主節點上執行的計算機程序線程的性能度量,和確定該性能度量是否超過閾值。該方法也包括如果超過該閾值則標識與由計算機程序線程訪問的遠程存儲器關聯的遠程節點,和如果超過該閾值則將計算機程序線程標識為從主節點遷移到遠程節點的候選對象。用這種方法,可以將頻繁訪問遠程存儲器的計算機程序線程從主節點遷移到與遠程存儲器關聯的遠程節點,以減少與由該計算機程序線程執行的存儲器訪問關聯的延遲,進而改善系統性能。
            【專利說明】基于系統性能度量在系統節點之間標識和遷移線程的方法 和系統

            【技術領域】
            [0001] 本公開一般涉及操作系統調度器,更具體地涉及基于系統性能度量在系統節點之 間標識并遷移線程的方法和系統。

            【背景技術】
            [0002] 許多現代的計算機系統具有非統一存儲器訪問(NUM)存儲器設計,其中存儲器 訪問時間(延遲值)取決于存儲器相對于訪問該存儲器的處理器的位置。這樣的系統通常 包括一個或多個節點,處理器在該節點上操作以執行一個或多個程序線程。基于NUM的系 統的操作系統調度器分配(或調度)每一個程序線程在相應的一個處理器上執行。被分配 有線程的節點對該線程而言是主節點,在與該主節點關聯的處理器上執行的線程可以訪問 在該主節點本地和遠程的存儲器。在主節點本地的存儲器("本地存儲器")與該主節點關 聯,而在主節點遠程的存儲器("遠程存儲器")與除該主節點之外的節點("遠程節點") 關聯。
            [0003] 在基于NUMA的系統中,在主節點上操作的處理器能夠訪問本地存儲器的速度比 該處理器通常能夠訪問遠程存儲器的速度更快。因此,遠程存儲器訪問導致更高的存儲器 訪問延遲值,負面地影響系統性能。因此,系統調度器可以調度線程以在使由該線程執行的 遠程存儲器訪問最少的節點上執行。例如:可以分配/調度只訪問一個存儲器的線程以在 與該存儲器駐留在其上的節點關聯的處理器上執行。一些操作系統調度器執行基于親近性 的調度,在這種調度中,在節點上被執行的線程隨后被確定為具有對該節點的親近性,并且 即便該線程可能因高延遲值而經歷不佳的性能,也在將來的執行中繼續在該主節點上被執 行。
            [0004] 其他操作系統調度器被設計成執行線程相關的共同調度,在該調度中,以共同相 關的方式操作并且共享同一個存儲器的兩個線程被調度為在共享的存儲器位于其上的同 一個主節點上操作。但是,在許多情形下,操作系統調度器不能夠確定大量線程中哪些是共 同相關和共享存儲器的。因此,由與基于NUM的系統關聯的操作系統調度器使用的現有的 線程調度方法通常效率低下,對操作系統的性能產生負面影響。

            【專利附圖】

            【附圖說明】
            [0005] 圖1是具有與一個或多個示例處理器和存儲器關聯的示例節點的示例多節點計 算機系統的框圖。
            [0006] 圖2示出圖1所示的具有示例遷移候選標識器并通過示例接口通信稱合到示例調 度器模塊的計算機系統的示例調度器。
            [0007] 圖3是圖2所示的示例遷移候選標識器的框圖。
            [0008] 圖4是示例存儲器密集型線程列表的說明。
            [0009] 圖5是不例遷移候選列表的說明。
            [0010] 圖6是表示可被執行以實現圖1所示的示例調度器來標識遷移候選線程的示例機 器可讀指令的流程圖。
            [0011] 圖7是表示可被執行以實現圖1所示的示例調度器來選擇線程向其遷移的遠程節 點的示例機器可讀指令的流程圖。
            [0012] 圖8是表示可被執行以實現圖1所示的示例調度器來選擇線程向其遷移的遠程節 點的示例機器可讀指令的流程圖。
            [0013] 圖9是表示可被執行以實現圖1所示的示例調度器以選擇線程向其遷移的遠程節 點的示例機器可讀指令的流程圖。
            [0014] 圖10是表示可被執行以實現圖1所示的示例調度器以將線程從主節點遷移到遠 程節點的示例機器可讀指令的流程圖。
            [0015] 圖11是可以執行如圖6、7、8、9和/或10所示的示例機器可讀指令以實現圖1所 示的示例調度器的示例處理系統的框圖。

            【具體實施方式】
            [0016] 本文描述的示例裝置、方法和系統可以通過向操作系統調度器提供從該系統硬件 獲得的用于標識在當被從主節點遷移到另一個節點時可能經歷更低的延遲次數的線程的 提示,從而改善計算機系統性能。該提示可以包括諸如反映系統性能等級方面并且能被用 作為給定線程標識新的主節點的系統性能度量。在一些示例中,系統性能度量可以基于該 系統內被執行的存儲器訪問;在一些示例中,系統性能度量可以基于系統功率度量,該系統 功率度量基于由系統執行的負載平衡或與功耗相關的性能。此外,該方法和系統使操作系 統調度器能確定線程在其上運行的節點、線程在其上訪問存儲器的節點、由線程執行的存 儲器訪問數目和與該存儲器訪問關聯的平均延遲值。調度器使用該信息標識相比本地存儲 器更頻繁地訪問遠程存儲器的線程,確定與該遠程存儲器關聯的遠程節點,并且將該線程 標識為向該遠程節點遷移的候選對象。
            [0017] 圖1示出具有基于NUMA的設計的示例計算機系統10的框圖。圖1所示的示例計 算機系統10包括節點1、節點2、節點3和節點4。但是,任意數目的系統節點可以在示例 計算機系統10上操作,對此沒有限制。示例系統節點(節點1-節點4)通過有線和/或無 線連接互相通信耦合,并且每一個節點與處理器12A、處理器12B、處理器12C和處理器12D 中的一個或多個以及存儲器14A、存儲器14B、存儲器14C和存儲器14D中的一個或多個關 聯。操作系統18的操作系統調度器16駐留在四個節點之一,例如,駐留在節點3,并且分 配處理器12A、處理器12B、處理器12C和處理器12D中的一個,以執行計算機程序線程20。 盡管示例操作系統18可以駐留在四個節點(節點1-節點4)中的任意節點上,但是為了說 明,本文所述的示例操作系統18示出為駐留在節點3上。僅出于說明目的,本示例中的線 程20被分配到與節點1關聯的處理器12A,節點1被稱為該線程20的主節點。示例線程 20可以訪問與主節點(節點1)關聯的本地存儲器14A,并且可以訪問與任何遠程節點(節 點2、節點3或節點4)(如除主節點外的其他節點)關聯的任何遠程存儲器。
            [0018] 系統10中的示例調度器16可以在具有異構的NUM架構(如:通常包括諸如通 用CPU那樣的多個處理器的架構,所述多個處理器在指令集大小、吞吐量和功耗方面相同 或類似)的系統中被實現,也可以在具有非對稱的NUM架構(如:通常包括具有不同處理 能力的處理器的架構)系統中被實現。非對稱的架構可以具有諸如與具有更有限的指令 集、更低的功耗和更低的吞吐量的多集成核(MIC)組合的具有顯著處理功率的通用CPU。 在一些示例中,示例調度器可以在具有帶圖形的Itanium架構(IA)核和非IA核(如:圖 形處理單元(GPUs))的單芯片組合的系統中被實現。這種單芯片組合系統的一個示例是 Broadwell-Gen8,其具有共享的虛擬存儲器,其中異構性/非對稱性向示例調度器16暴露。 [0019] 進一步說,本文公開的示例調度器16的功能和/或智能可以實現于/適用于同一 系統的不同處理器,包括例如是專用于調度圖形EU和媒體引擎的GPU架構的全局微控制 器。在一些示例中,示例調度器16可以被實現于操作系統內核層,可以使用內部內核數據 結構實現本文描述的一個或多個數據結構(見圖2和圖3)。
            [0020] 圖2示出具有通過示例接口 206稱合到示例遷移候選標識器204的示例調度模 塊202的圖1所示的示例調度器16的框圖。示例遷移候選標識器204標識頻繁訪問與一 個或多個節點關聯的一個或多個存儲器的存儲器密集型線程,其中,所述一個或多個節點 在各自線程在其上執行的主節點的遠程。可以通過示例接口 206,向示例調度模塊202標 識存儲器密集型線程、由該存儲器密集型線程頻繁訪問的遠程存儲器和與該遠程存儲器關 聯的節點(如:"遠程節點")以用于向被標識的遠程節點之一的可能的遷移。在一些示例 中,任何線程的遷移可以取決于除下文所述的將線程標識為存儲器密集型線程之外的任意 數目的因素。
            [0021] 仍然參考圖2所示的示意性示例,遷移候選標識器204包括第一數據收集器 208、第二數據收集器210、線程標識器212、第一列表生成器214、列表監測器216、標記器 218 ("tagger")、第三數據收集器220、節點標識器222和第二列表生成器224。在操作中,示 例線程標識器212使用示例第一數據收集器208采集的性能度量數據和示例第二數據收集 器210采集的線程標識數據來標識相對遠程存儲器是存儲器密集型的線程(如:頻繁訪問 存儲器并且比訪問各自的本地存儲器更頻繁地訪問各自的遠程存儲器的線程)。這種存儲 器密集型線程可以經歷由于與訪問遠程存儲器關聯的更多的延遲時間導致的糟糕的性能。 向示例第一列表生成器214標識存儲器密集型/執行不佳的線程,以將其包括在存儲器密 集型線程的列表中。示例列表監測器216監測存儲器密集型線程的列表以標識在存儲器密 集型線程的列表上至少保持/保留由CPU時鐘324 (見圖3)測量的閾值時間量的線程。向 示例節點標識器222標識持續存儲器密集型線程,該示例節點標識器222使示例第三數據 收集器220收集來自與存儲器密集型線程關聯的被標記的存儲器加載操作的節點信息。被 標記的存儲器負載操作中的每一個由示例標記器218標記,使節點信息和延遲信息與各自 被標記的存儲器加載操作關聯。示例節點標識器222使用節點信息標識由持續存儲器密集 型線程訪問的存儲器位于其上的遠程節點,并向示例第二列表生成器224提供持續存儲器 密集型線程的列表和標識對應的遠程存儲器和節點的信息持續存儲器密集型線程。示例第 二列表生成器224將由示例節點標識器222提供的信息編譯成示例遷移候選列表346 (見 圖3)中,并通過不例接口 206傳輸或使該不例遷移候選列表346被傳輸到不例調度器模塊 202。示例調度器模塊202確定是否遷移一個或多個遷移候選對象并且基于該確定的結果 遷移一個或多個遷移候選對象。在一些示例中,將線程包括到示例遷移候選列表346 (見圖 3)上的因素是具有被示例調度器模塊202使用以確定線程是否被遷移到另一個節點的任 意數目因素中的一個因素。在一些示例中,示例調度器模塊202考慮的其他因素可以包括 例如:目的地節點是否具有足夠的處理資源、緩存溫暖度(如:線程的數據是否仍然在緩存 中)、被考慮用作遷移目的地的處理器的分派隊列是否太長等。
            [0022] 圖3示出能被用作執行上文公開的關于圖1和圖2所示的操作的組件。在一些 示例中,示例第一數據收集器208包括取樣存儲于示例計數器組中的示例性能度量數據 的示例第一取樣器302,該計數器組包括示例LLC未命中(低級高速緩存未命中)計數器 304( "LLC未命中計數器")、示例遠程存儲器訪問計數器306( "RMA計數器")和示例本地 存儲器訪問計數器308 ( "LMA計數器")。示例性能度量數據可以包括與諸如多個線程關聯 的示例存儲器訪問數據,所述多個線程包括線程20 (見圖1),其中每一個線程分別在諸如 節點1那樣的各自的主節點上操作/執行。示例存儲器訪問數據包括諸如:線程經歷LLC 未命中的次數("LLC未命中數據")、線程訪問遠程存儲器的次數("RMA數據")和線程訪 問本地存儲器的次數("LMA數據")。被取樣的LLC未命中數據、被取樣的RM數據和被 取樣的LM數據被分別存儲在示例LLC未命中計數器304、示例RMA計數器306和示例LM 計數器308中。在一些示例中,使用構建到執行線程20的處理器中的專用寄存器來實現示 例LLC未命中計數器304、示例RMA計數器306和示例LMA計數器308,可以對該處理器進 行編程或設置以取樣所需要的線程執行數據。例如:專用寄存器可以是通常安裝在可編程 用于監測其操作期間發生的任意數目的事件的微處理器中的硬件性能計數器。通常使用這 種硬件性能計數器進行性能分析和/或調諧。在一些示例中,示例處理器14C可以包括提 供程序可見的指令集的接口,其中,所述程序可見的指令集用于選擇被監測和收集的性能 事件(如:計數器溢出)和選擇被用于存儲被監測的性能度量的性能監測寄存器。在一些 示例中,處理器14C包括提供程序可見的指令集的接口,其中,所述程序可見的指令集用于 對被監測的性能事件(如:不涉及存儲器訪問事件而涉及其他系統事件的性能事件)進行 編程。
            [0023] 示例計數器監測器310監測示例LLC未命中計數器304、示例RMA計數器306和示 例LMA計數器308中每一個計數器的內容,并且在當計數器304、計數器306和計數器308 中每一個計數器的內容超過各自閾值時通知示例線程標識器212的示例比例計算器/評價 器312。可以將示例LLC未命中計數器304、示例RMA計數器306和示例LM計數器308的 示例閾值設置為任何所需要的值。在一些示例中,可以將示例閾值設置為不僅標識存儲器 訪問數目,還標識存儲器訪問的發生率。例如:可以將與示例LLC未命中計數器304、示例 RMA計數器306和示例LM計數器308中的每一個計數器關聯的閾值設置為每秒一百萬次 存儲器訪問。在一些示例中,上述計數器中任何計數器的閾值可以與其他計數器的閾值不 同。
            [0024] 仍然參考圖3,作為對由計數器監測器310提供的通知的響應,示例比例計算器/ 評價器312計算并評價存儲于示例RM計數器306的遠程存儲器訪問數目與存儲于示例 LM計數器308的本地存儲器訪問數目的比例。該比例的閾值可以被設置成諸如是0. 5,這 表示,一旦超過這個數目,該比例的閾值指示被關聯的線程相對于本地存儲器訪問已經執 行了足夠數目的遠程存儲器訪問,從而將該線程標識為遷移/重新定位的可能候選對象。 如上文所述,任何取得遷移的可能候選對象資格的線程是從本地節點被重新定位到由該線 程頻繁訪問的遠程存儲器位于其上的遠程節點時可能經歷更低的延遲次數的線程。雖然在 本示例中被監測的性能度量包括LLC未命中數據、RM數據和LM數據,但是任何其他性能 數據也可以被采集用于識別存儲器密集型(或執行不佳的)線程。
            [0025] 如果計算出的比例超過比例的閾值,并且示例LLC未命中、示例RMA和示例LM的 閾值也被超過,則示例線程標識器212的示例第一觸發生成器314生成第一觸發信號。該 第一觸發信號使示例第二取樣器316收集使觸發信號被生成的線程(如:線程20,也被稱 作"感興趣的線程")的線程標識信息。感興趣的線程20的線程標識信息可以包括諸如線 程ID和CPU ID,該線程標識信息被存儲在示例第二數據收集器210中的示例存儲器緩沖器 318和緩沖器320組中,然后被傳輸,以作為線程記錄322被存儲在與示例線程標識器212 關聯的示例線程記錄數據結構322A中。在一些示例中,示例第一觸發生成器314可以是生 成使操作系統臨時中斷執行感興趣的線程20的中斷的中斷生成器,中斷處理程序可以使 線程標識信息在當停止執行感興趣的線程20時被收集。可以將停止感興趣的線程20的持 續時間設置成任意值,例如是限制操作系統上中斷的影響的值。在該持續時間過去后,操作 系統恢復執行感興趣的線程20,并且示例線程標識器212使示例線程記錄數據結構322A的 內容和示例LLC未命中計數器304、示例RMA計數器306以及示例LM計數器308的內容被 傳輸到不例第一列表生成器214。不例第一列表生成器214的不例線程列表生成器321使 用該被傳輸的信息在被包含在示例存儲器密集型線程列表數據結構323A內的示例存儲器 密集型線程列表323 (也在圖4中示出)中創建條目。如圖4所示,一個示例存儲器密集型 線程列表323可以包括用于列表323中的每一項條目的CPU ID、線程ID、LLC未命中計數 器的內容、LM計數器的內容和RMA計數器的內容。示例存儲器密集型線程列表數據結構 323A可以是任何類型的數據結構,存儲器密集型線程列表323可以以任何需要的方式格式 化。
            [0026] 在一些示例中,可以使用安裝在標準處理器中的硬件性能監測器實現示例第一數 據收集器208和示例第二數據收集器210。這種硬件性能監測器提供可以被編程以監測處 理器事件的計數器。計數器可以用于在溢出時觸發中斷。可以通過軟件接口選擇被選中進 行監測的事件。
            [0027] 仍然參考圖3,示例列表監測器216監測示例存儲器密集型線程列表323和CPU時 鐘324以將在閾值數目的時鐘周期期間保留在存儲器密集型線程列表323上的線程標識為 "持續存儲器密集型線程"。此處作為示意,感興趣的線程20是持續存儲器密集型線程。在 一些示例中,示例列表監測器216使存儲器密集型線程列表中的線程以CPU時鐘周期數目 遞減的次序被排序,該CPU時鐘周期數目是每一個存儲器密集型線程保留在存儲器密集型 線程列表323上的時間。在這些示例中,存儲器密集型線程列表323中的前"N"個條目被 標識為持續存儲器密集型線程,其中N表示任意需要的值。在一些示例中,示例列表監測器 216使與非持續性線程關聯的條目被從存儲器密集型線程列表323上去除。
            [0028] 示例列表監測器216傳輸或使持續存儲器密集型線程列表被傳輸到示例節點標 識器222,用于標識由持續存儲器密集型線程中的每一個線程訪問的節點。在一些示例中, 示例節點標識器222的示例標識器模塊340選擇用于監測的持續存儲器密集型線程中的一 個線程以標識由被選擇的持續存儲器密集型線程訪問的節點。此處為了示意,選擇感興趣 的線程20用于監測。為了標識由感興趣的線程20訪問的節點,示例節點標識器222使示 例第三數據收集器220取樣系統范圍內的存儲器加載操作。由于感興趣的線程20被標識 為存儲器密集型,其生成大量數目的加載操作并且可能被第三數據收集器220取樣。在取 樣前,隨機選擇的由操作系統執行的加載操作的集合被標記器218做標記以承載節點標識 信息和延遲信息。示例標記器218可以對諸如存儲器加載操作的百分之一或其子集隨機標 記。如下文更詳細的描述所述,示例節點標識信息可以用于標識在由感興趣的線程20訪問 的遠程存儲器位于其上的遠程節點,并且延遲信息表示了執行由感興趣的線程20訪問的 被標記的存儲器加載操作需要的持續時間。
            [0029] 為了收集與感興趣的線程20關聯的節點標識信息和延遲信息,示例第三數據收 集器220的加載操作監測器326取樣由示例操作系統18執行的存儲器加載操作并標識所 取樣的被標記的存儲器加載操作。示例第三數據收集器220的示例持續時間計數器328監 測所取樣的每一個被標記的存儲器加載操作的執行時間。當所取樣的被標記的存儲器加載 操作的執行時間超過閾值持續時間(如:1〇〇個CPU周期)時,示例持續時間計數器328被 遞減。在一些示例中,示例持續時間計數器被設置為值1000。如果示例持續時間計數器328 中的值到達零,則由所取樣的被標記的存儲器加載操作所承載的節點標識信息和延遲信息 數據被示例加載操作信息收集器332收集,并作為記錄被存儲于諸如示例硬件緩沖器334 那樣的示例數據結構中。在一些示例中,節點標識信息可以包括數據線性地址和數據源編 碼信息,這兩者都對應于被標記的存儲器加載操作,節點標識信息是從該被標記的存儲器 加載操作收集來的。
            [0030] 當達到由示例緩沖器計數器336確定的示例硬件緩沖器334的存儲限制(如:100 個記錄)時,被存儲的緩沖器記錄以示例節點記錄342的形式被保存于示例節點標識器222 可訪問的示例節點數據結構342A中。在一些示例中,當達到示例硬件緩沖器334的存儲限 制時,示例第二觸發生成器338生成觸發信號,該信號使示例操作系統18在足以使示例線 程ID收集器330收集諸如與當前操作的線程關聯的線程ID和CPU ID那樣的線程標識信 息的持續時間內停止執行當前下操作的線程。如果示例第三數據收集器220的示例線程檢 查器331確定了被收集的線程標識信息標識出諸如感興趣的線程20那樣的持續存儲器密 集型線程,則硬件緩沖器336的記錄被存儲在示例節點記錄數據結構342A中,并且被標識 為與感興趣的線程20相關聯。應當注意到,這種取樣方法是概況分析方法,可能導致當事 實上所取樣的被標記的存儲器加載操作與感興趣的線程20的操作不相關聯時,將一些所 取樣的被標記的存儲器加載操作與諸如感興趣的線程20那樣的當前操作的進程的執行相 關聯。盡管如此,此處描述的概況分析方法通常有助于精確地標識一個或多個由感興趣的 線程20或其他任何持續存儲器密集型線程訪問的遠程節點。
            [0031] 在硬件緩沖器336的緩沖器記錄作為節點記錄342被保存在節點記錄數據結構 342中以及被關聯的線程標識信息被收集后,硬件緩沖器336被清除。如果被收集的線程標 識信息不標識諸如感興趣的線程20那樣的持續存儲器密集型線程,則硬件緩沖器336的記 錄被清除,而不在示例節點標識器222的節點記錄數據結構342A中存儲記錄。在一些示例 中,硬件緩沖器336的記錄可以被自動保存到節點記錄數據結構342A,但是如果線程標識 信息不標識諸如感興趣的線程20那樣的持續存儲器密集型線程則隨后被丟棄。
            [0032] 在線程標識信息被收集的持續時間過去后,示例操作系統18恢復執行諸如感興 趣的線程20那樣的當前操作的線程。在一些示例中,示例第二觸發生成器338生成中斷, 中斷處理程序使線程標識信息被收集,在一些實例中,使硬件緩沖器336的記錄被轉移到 節點記錄數據結構342A。在一些示例中,將中斷的持續時間設置為限制示例操作系統18上 的中斷的影響的值。
            [0033] 在一些示例中,在中斷使示例操作系統18停止執行被選擇的持續存儲器密集型 線程之后,使用第一鉤和第二鉤以確保示例持續時間計數器328的正確操作。第一鉤使示 例持續時間計數器328的內容在持續存儲器密集型線程被停止之前被存儲到臨時存儲位 置,第二鉤使得該臨時存儲的內容在示例操作系統18恢復執行被選擇的持續存儲器密集 型線程之后被恢復到示例持續時間計數器328中。這樣,當感興趣的線程20恢復執行時, 由與其他在感興趣的線程20被停止時繼續執行的線程關聯的存儲器加載操作導致的示例 持續時間計數器328的任何變化被忽視。
            [0034] 在一些示例中,可以使用安裝在英特爾處理器中的英特爾181基于精確事件的采樣 (PEBS)設備實現示例第三數據收集器220。PEBS設備提供了可配置成監測微處理器事件 的計數器。在計數器溢出時,在緩沖器記錄中采集到機器狀態信息,該信息是被稱為"PEBS 輔助"的進程。在PEBS輔助期間被采集的機器狀態信息至少包括:數據線性地址、數據源 (可由數據源編碼信息識別而來)和延遲值。當包含PEBS記錄的緩沖器滿了時,生成中斷, 該PEBS緩沖器的內容被保存在別處。對于涉及PEBS設備的細節,感興趣的讀者可以參考 英特爾編程指南《英特爾微架構Codename Nehalem性能監測單元編程指南(Nehalem核心 PMU)》,版權2010年,英特爾公司。
            [0035] 示例節點標識器222的示例標識器模塊340訪問示例節點記錄數據結構342A中 的節點記錄342,并且使用與每一條記錄關聯的數據線性地址以為對應于每一條記錄的加 載操作確定目標地址。加載操作的目標地址表示存儲器地址,涉及加載操作的數據("加載 數據")被保存到該存儲器地址。然后,示例標識器模塊340在執行對應的加載操作時可以 使用目標地址標識與由被選擇的持續存儲器密集型線程(如:感興趣的線程20)訪問的遠 程存儲器關聯的遠程節點。在這些示例中,示例節點標識器222的示例標識器模塊340確定 與每一個數據線性地址關聯的被映射的物理頁,然后標識與該物理頁關聯的目標節點。以 這種方式確定與由被選擇的存儲器密集型線程訪問的遠程存儲器關聯的遠程節點(或目 標節點)。
            [0036] 除了標識與示例節點記錄數據結構342A中的每一個示例節點記錄342關聯的節 點之外,示例節點標識器222的示例標識器模塊340也可以使用與加載操作關聯的所有延 遲值計算同樣存儲于示例節點記錄數據結構342A中的平均延遲值。在一些示例中,平均延 遲值可以由除示例節點標識器222之外的示例遷移候選列表生成器224計算得到,或可以 不由示例節點標識器222得到,而由示例遷移候選列表生成器224計算得到。在一些示例 中,示例標識器模塊340使用被捕獲并作為加載操作緩沖器記錄的一部分被存儲于緩沖器 334中的數據源編碼信息,來確定經受加載操作的數據源。
            [0037] 示例節點標識器222向示例第二列表生成器224提供存儲于示例節點記錄數據結 構342A中的節點記錄342,該示例第二列表生成器224包括存儲于示例遷移候選數據結構 346A中的示例遷移候選線程列表346 (在圖5中示出)中的信息。如圖5所示,示例候選遷 移線程列表346中的條目可以標識由第三數據收集器220收集的線程ID、遠程節點、本地節 點、LMA數據、RMA數據和加載操作的平均延遲。在這里,可以使用與線程ID關聯的CPU ID 確定本地節點。在一些示例中,由被選擇的持續存儲器密集型線程執行的全部或大多數加 載操作的目標是位于同一個遠程節點上的同一個遠程存儲器。在這種情形下,該持續存儲 器密集型線程是遷移到作為全部或大多數加載操作的目標的遠程節點的候選對象。在另一 些示例中,由被選擇的持續存儲器密集型線程執行的加載操作中的一些操作的目標是位于 遠程節點中的一個節點上的一個遠程存儲器,加載操作中的另一些操作的目標是遠程節點 中的另一個節點上的另一個遠程存儲器。在這種情形下,該持續存儲器密集型線程是遷移 到上述目標節點中任何一個節點的候選對象。在一些示例中,當被選擇的持續存儲器密集 型線程在執行期間訪問兩個或多個遠程節點時,被訪問更多次數的遠程節點可以是持續存 儲器密集型線程更有利的遷移目的地。在一些示例中,當第一遠程節點和第二遠程節點二 者均是被選擇的持續存儲器密集型線程的目標時,示例遷移候選線程生成器344可以計算 目標是第一遠程節點的操作的平均延遲值并且計算目標是第二遠程節點的操作的平均延 遲值。在這樣的示例中,與最高平均延遲值關聯的節點可以是被選擇的持續存儲器密集型 線程最有利的遷移目的地。在一些示例中,可以使用定向到遠程節點的加載操作數目和與 遠程節點關聯的平均延遲值確定對被選擇的持續存儲器密集型線程而言,哪一個遠程節點 是更有利的遷移目的地。在一些示例中,可以使用與被傳播到第二列表生成器224的數據 關聯的任意數目的因素來標識對持續存儲器密集型線程而言,兩個或多個節點中的哪一個 是更有利的遷移目的地。
            [0038] 在一些示例中,示例第二列表生成器224的示例遷移候選線程生成器344以上述 方式確定幾個遠程節點中的哪一個節點是更有利的遷移目的地;在一些示例中,示例調度 器模塊202進行該確定。在一些示例中,示例第二列表生成器224可以向示例調度器模塊 202將由線程訪問的遠程節點的全部或子集標識為可能的遷移目的地,該示例調度器模塊 202可以使用信息來確定對被選擇的持續存儲器密集型線程而言,哪一個遠程節點會變成 其目的地。
            [0039] 示例第二列表生成器224通過示例接口 206,將示例遷移候選線程列表346傳播到 示例調度器模塊202。示例調度器模塊202使用示例遷移候選線程列表346來標識每一個 將被遷移的線程和每一個被標識的線程將被向其遷移的對應的遠程節點。在一些示例中, 示例調度器模塊202使用除將給定線程包括在示例遷移候選線程列表346上之外的其他因 素來確定是否如上文所述地遷移該線程。
            [0040] 當遠程節點被標識為線程的遷移目的地時,示例調度器模塊202將該遠程節點定 義為該線程的"優選節點"。示例調度器模塊202將嘗試在線程的運行時間內將線程分派或 遷移到其優選節點(如:在線程被再次執行之前,調度器將該線程遷移到被標識的遠程節 點)。如果在優選節點中沒有足夠的資源,例如是因為過多的其他線程正在該優選主節點的 分派隊列中等待,則示例調度器模塊202可以為線程選擇替代節點作為其遷移目的地。示 例調度器模塊202可以使用諸如遷移候選列表346或節點記錄342來選擇新目的地節點。 將節點定義為線程可以被分配到其的優選節點。包括將遠程節點定義為優選節點的調度方 法也被稱為"軟遷移",用這種方法,基于各種因素,線程可以被分配或不被分配到該優選節 點。
            [0041] 在一些示例中,第一數據收集器208取樣存儲器訪問信息的取樣窗口和示例第三 數據收集器220取樣被標記的存儲器加載操作的取樣窗口被周期性地打開和關閉,進而限 制由取樣導致的開銷。此外,可以選擇兩個鄰近的取樣窗口之間的間隔以進一步減小對操 作系統18性能的影響。在一些示例中,通過收集只與前N個連續的存儲器密集型線程的存 儲器加載操作關聯的數據進一步減少由取樣存儲器加載操作導致的開銷。
            [0042] 在一些示例中,示例第三數據收集器220繼續收集緩沖器記錄直到記錄的數目足 以標識待被遷移的線程的候選目的地節點。例如:示例第三數據收集器220可以收集100 個、128個或任意其他所需要數目的緩沖器記錄。在一些示例中,在為持續存儲器密集型線 程標識完潛在的遷移目的地之后,示例節點標識器222和/或示例第二列表生成器224使 用在示例第三數據收集器220上被收集到的其他數據為另一持續存儲器密集型線程標識 潛在的遷移候選對象。在一些示例中,遷移候選標識器204的各種組件/模塊同時操作,以 連續標識持續存儲器密集型線程,以收集與那些線程關聯的加載操作數據,并為每一個這 樣的線程標識候選的遷移目的地。
            [0043] 在一些示例中,功率度量計數器/監測器可以取代或補充性能度量計數器。在這 樣的示例中,第一示例數據收集器208、第二示例數據收集器210和示例第三數據收集器 220被配置成監測節點使用的功率,該節點執行給定的線程以試圖降低系統呈現的總功耗 或平衡跨過系統節點的功率加載。在任何功率的可用性成為挑戰的系統(包括例如:與諸 如芯片上系統(SoC)設備那樣的移動設備(如:平板、膝上計算機、移動電話、視頻游戲等) 關聯的系統)中使用這種示例系統是有利的。在一些示例中,示例調度器16可以使用存儲 器訪問度量或功耗度量來執行對任何NUM計算機的調度,無論該NUM計算機是與移動設 備計算機系統(包括上文標識的那些)或是與諸如企業范圍的計算機系統那樣的非移動系 統關聯。在一些示例中,計算機系統10的一個或多個節點在移動設備上操作。
            [0044] 雖然圖1、圖2和圖3示出了示例調度器16的示例,但是圖1-3所示的元件、進程 和/或器件中的一個或多個可以被組合、拆分、重新設置、省略、消除或以任何方式被實現。 進一步說,可以由硬件、軟件、固件和/或其任意組合實現示例調度器16、示例調度器模塊 202、示例遷移候選標識器204、示例接口 206、示例第一數據收集器208、示例第二數據收集 器210、示例線程標識器212、示例第一列表生成器214、示例列表監測器216、示例標記器 218、示例第三數據收集器220、示例節點標識器222、示例第二列表生成器224、示例第一數 據取樣器302、示例LLC未命中計數器304、示例RM計數器306、示例LM計數器308、示 例第二數據取樣器316、示例線程ID緩沖器318、示例CPU ID緩沖器320、示例比例計算器 /評價器312、示例第一觸發生成器314、包含示例線程記錄322的示例線程記錄數據結構 322A、示例線程列表生成器321、包含存儲器密集型線程列表323的示例存儲器密集型線程 數據結構323A、示例列表監測器216、示例標記器218、示例時鐘324、示例加載操作監測器 326、示例持續時間計數器328、示例線程ID收集器330、示例加載操作信息收集器332、示 例第二觸發生成器338、示例線程檢查器331、示例緩沖器計數器336、示例緩沖器334、包含 節點記錄342的示例節點記錄數據結構342A、示例標識器模塊340、示例遷移候選生成器 344和包含示例遷移候選列表346的示例遷移候選數據結構346A中的任何一個或全部。因 此,舉例來說,可以由一個或多個電路、可編程處理器、專用集成電路(ASIC(s))、可編程邏 輯器件(PLD(s))和/或現場可編程邏輯器件(FPLD(s))等實現示例調度器16、示例調度 器模塊202、示例遷移候選標識器204、示例接口 206、示例第一數據收集器208、示例第二數 據收集器210、示例線程標識器212、示例第一列表生成器214、示例列表監測器216、示例標 記器218、示例第三數據收集器220、示例節點標識器222、示例第二列表生成器224、示例第 一數據取樣器302、示例LLC未命中計數器304、示例RM計數器306、示例LM計數器308、 示例第二數據取樣器316、示例線程ID緩沖器318、示例CPU ID緩沖器320、示例比例計算 器/評價器312、示例第一觸發生成器314、包含示例線程記錄322的示例線程記錄數據結 構322A、示例線程列表生成器321、包含存儲器密集型線程列表323的示例存儲器密集型線 程數據結構323A、示例列表監測器216、示例標記器218、示例時鐘324、示例加載操作監測 器326、示例持續時間計數器328、示例線程ID收集器330、示例加載操作信息收集器332、 示例第二觸發生成器338、示例線程檢查器331、示例緩沖器計數器336、示例緩沖器334、包 含節點記錄342的示例節點記錄數據結構342A、示例標識器模塊340、示例遷移候選生成器 344和包含示例遷移候選列表346的示例遷移候選數據結構346A中的任何一個。當閱讀到 本專利的任何裝置權利要求覆蓋純粹的軟件和/或固件實施時,示例調度器16、示例調度 器模塊202、示例遷移候選標識器204、示例接口 206、示例第一數據收集器208、示例第二數 據收集器210、示例線程標識器212、示例第一列表生成器214、示例列表監測器216、示例標 記器218、示例第三數據收集器220、示例節點標識器222、示例第二列表生成器224、示例第 一數據取樣器302、示例LLC未命中計數器304、示例RM計數器306、示例LM計數器308、 示例第二數據取樣器316、示例線程ID緩沖器318、示例CPU ID緩沖器320、示例比例計算 器/評價器312、示例第一觸發生成器314、包含示例線程記錄322的示例線程記錄數據結 構322A、示例線程列表生成器321、包含存儲器密集型線程列表323的示例存儲器密集型線 程數據結構323A、示例列表監測器216、示例標記器218、示例時鐘324、示例加載操作監測 器326、示例持續時間計數器328、示例線程ID收集器330、示例加載操作信息收集器332、 示例第二觸發生成器338、示例線程檢查器331、示例緩沖器計數器336、示例緩沖器334、包 含節點記錄342的示例節點記錄數據結構342A、示例標識器模塊340、示例遷移候選生成器 344和包含不例遷移候選列表的不例遷移候選數據結構346A中的至少一個在此處被明確 地定義為包括有形的計算機可讀介質,例如:存儲這種軟件和/或固件的存儲器、數字多功 能盤(DVD)、緊湊盤(⑶)等。進一步說,圖1、圖2和圖3所示的示例調度器16、示例調度 器模塊202、示例遷移候選標識器204、示例接口 206、示例第一數據收集器208、示例第二數 據收集器210、示例線程標識器212、示例第一列表生成器214、示例列表監測器216、示例標 記器218、示例第三數據收集器220、示例節點標識器222、示例第二列表生成器224、示例第 一數據取樣器302、示例LLC未命中計數器304、示例RMA計數器306、示例LMA計數器308、 示例第二數據取樣器316、示例線程ID緩沖器318、示例CPU ID緩沖器320、示例比例計算 器/評價器312、示例第一觸發生成器314、包含示例線程記錄322的示例線程記錄數據結 構322A、示例線程列表生成器321、包含存儲器密集型線程列表323的示例存儲器密集型線 程數據結構323A、示例列表監測器216、示例標記器218、示例時鐘324、示例加載操作監測 器326、示例持續時間計數器328、示例線程ID收集器330、示例加載操作信息收集器332、 示例第二觸發生成器338、示例線程檢查器331、示例緩沖器計數器336、示例緩沖器334、包 含節點記錄342的示例節點記錄數據結構342A、示例標識器模塊340、示例遷移候選生成器 344和包含不例遷移候選列表346的不例遷移候選數據結構346A可以包括圖1、圖2和圖 3所示之外的一個或多個元件、進程和/或器件或不包括圖1、圖2和圖3所示的一個或多 個元件、進程和/或器件而包括一個或多個其他元件、進程和/或器件,或者可以包括多個 所示的任一個或全部的元件、進程和器件。
            [0045] 圖6-10示出表示可以被執行以實現圖1-3所示的示例調度器16的示例機器可讀 指令的流程圖。在這些示例中,每一個流程圖表示的機器可讀指令可以包括由諸如下文聯 系圖11所討論的示例處理系統1100中示出的示例處理器1112那樣的處理器執行的一個 或多個程序。或者,執行一個或多個圖6-10所示的流程圖表示的一個或多個進程的整個或 部分程序可以由除示例處理器1112之外的器件(如:控制器和/或其他任何合適的器件) 執行并且/或者被具體化在固件或專用硬件中(如:由八51^0)、??0)、分立邏輯等實現)。 也可以手動實現圖6-10所示的流程圖中的一個或多個框。進一步說,雖然參考圖6-10所 示的流程圖描述了示例機器可讀指令,但也可以替代地使用其他技術來實現本文描述的示 例方法和裝置。例如:參考圖6-10所示的流程圖,可以改變框的執行次序,并且/或者所描 述的一些框可以被改變、消除、組合和/或被細分成多個框。
            [0046] 如上文所述,可以使用存儲于有形的計算機可讀介質上的被編碼的指令(如:計 算機可讀指令)實現圖6-10所示的示例進程,有形的計算機可讀介質例如:硬盤驅動器、 閃存、只讀存儲器(ROM)、CD、DVD、緩存、隨機存取存儲器(RAM)和/或其他任何在任何時長 內(如:在擴展時間段內、永久地、在簡短的實例期間、在臨時緩沖和/或信息緩存期間)將 信息存儲于其內的存儲介質。如本文所使用的那樣,術語"有形的計算機可讀介質"被明確 地定義為包括任何類型的計算機可讀存儲,并且不包括傳播的信號。附加地或替代地,可以 使用存儲于非瞬時計算機可讀介質上的被編碼的指令(如:計算機可讀指令)實現圖6-10 所示的示例進程,非瞬時計算機可讀介質例如:閃存、ROM、CD、DVD、緩存、隨機存取存儲器 (RAM)和/或其他任何在任何時長內(如:在擴展時間段內、永久地、在簡短的實例期間、在 臨時緩沖和/或信息緩存期間)將信息存儲于其內的存儲介質。如本文所使用的那樣,術 語"非瞬時機器可讀介質"被明確地定義為包括任何類型的計算機可讀存儲介質,并且不包 括傳播的信號。同樣,本文使用的數據"計算機可讀"和"機器可讀"被認為是等效的,除非 另外指出。如本文所使用的那樣,當短語"至少"被用作與權利要求同步使用的轉換術語時 是和術語"包括"一樣的開放式的。這樣,一項同步地將"至少"用作轉換術語的權利要求 可以包括該權利要求明確所述之外的元素。
            [0047] 可以執行示例機器可讀指令600來實現圖6所示的流程圖表示的圖1所示的示例 調度器16。可以基于事件(如:預定的事件)的發生或事件發生的任意組合,在事件間隔 (如:預定的間隔)內執行示例機器可讀指令600。當采集/收集到與線程關聯的線程性能 度量時(框602),機器可讀指令600開始。如上文所述,第一數據收集器208使用示例性能 計數器304、計數器306和計數器308的集合,并且使用示例線程標識器212 (見圖3)的示 例比例計算器/評價器312來收集線程性能度量。如果超過了分別與性能計數器的內容和 由比例計算器/評價器312確定的比例關聯的閾值組中的每一個閾值,則基于收集到的性 能度量,閾值被標識為呈現不利的性能(如:不可接受的高延遲值)(框604)。如果沒有超 過閾值,則繼續采集線程性能度量(框602)。
            [0048] 使用諸如參考圖3描述的方式中的示例第二數據收集器210采集與存儲器密集型 /執行不佳的線程關聯的線程標識數據/信息(框606)。在一些示例中,生成足以使第二 數據收集器210采集線程信息的持續時間的中斷。例如:當一個或多個性能度量超過其各 自的閾值時生成該中斷。可以包括分別標識執行不佳的線程和線程在其上被執行的CPU的 線程ID和CPU ID的線程標識信息可以從示例第二數據收集器210被轉移到示例線程標識 器212,以被存儲于包含線程標識記錄322的線程記錄數據結構322A中。
            [0049] 收集到的性能度量和線程信息被轉移到示例列表生成器(例如示例第一列表生 成器214),以用于包括到存儲器密集型線程列表上(框608)。示例列表監測器216監測存 儲器密集型線程列表以確定線程是否持續地執行不佳(框610)。如果線程持續地執行不 佳,則使用諸如上文參考圖3所述的方式中的示例第三數據收集器220為執行不佳的線程 捕獲節點標識信息和延遲信息(框612)。例如:當執行與執行不佳的線程關聯的一組被采 樣的加載操作中的每一個操作所需的時間超過閾值時,可以生成中斷。中斷期間,從被采樣 的加載操作中為執行不佳的線程收集節點信息。在一些示例中,節點標識信息包括數據線 性地址、數據源編碼和延遲值。如果線程并非持續地執行不佳,則示例第一數據收集器208 繼續取樣數據,以標識另一個執行不佳的線程(框602)。假設存儲器密集型線程列表上有 多個執行不佳的線程,則示例列表監測器216繼續為列表其他持續地執行不佳的線程監測 存儲器密集型線程列表。在一些示例中,示例第一數據收集器208連續地取樣性能度量以 標識隨后被加到存儲于示例存儲器密集型線程列表數據結構323A中的示例存儲器密集型 線程列表323中的存儲器密集型線程。
            [0050] 使用節點標識信息以標識被執行不佳的線程訪問的遠程存儲器和該遠程存儲器 位于其上的遠程節點(框614)。然后,將執行不佳的線程和被關聯的性能度量、遠程存儲器 信息和遠程節點信息包括到遷移候選線程列表346上(框616)。示例第二列表生成器224 將遷移候選線程列表346提供給示例調度器模塊202,用于向與遠程存儲器關聯的遠程節 點的可能的遷移(框618)。如上文所述,示例調度器模塊620將線程遷移到遠程節點(框 620)或通過將所標識的遠程節點安排作為用于可能遷移的該線程的優選主節點來執行軟 遷移(框620)。
            [0051] 如上文所述,為執行不佳的線程收集的性能度量可以包括存儲器訪問信息或功耗 信息。此外,采集與執行不佳的線程關聯的節點信息可以是基于執行一組存儲器加載操作 時消耗的功率量進行采集,而不是基于存儲器加載操作的持續時間進行收集。
            [0052] 可被執行以實現圖1所示的示例調度器16的示例機器可讀指令700由圖7所示 的流程圖表示。可以基于事件(如:預定的事件)等的發生或事件發生的任意組合在時間 間隔(如:預定的時間間隔)內執行示例機器可讀指令700。機器可讀指令700被用作確定 由被選擇的持續存儲器密集型線程訪問的多個遠程節點中的一個是怎樣被選作線程的目 的地節點的,并且當計算出定向到每一個遠程節點的RMA的總數目時(框702)開始程序。 通過增加由該遠程節點上感興趣的線程執行的RM來確定任何給定節點的RMA的總數目。 具有最高總RMA的遠程節點被標識(框704)和選擇(框706)為線程的目的地節點。如上 文所述,通過示例第二列表生成器224和/或示例調度器模塊202可以執行為每一個遠程 節點確定RMA的總數目(框702),標識具有最高RMA數目的遠程節點(框704)和將該被標 識的遠程節點選為線程的目的地節點(框706)。
            [0053] 可被執行以實現圖1所示的示例調度器16的示例機器可讀指令800由圖8所示 的流程圖表示。可以基于事件(如:預定的事件)等的發生或事件發生的任意組合在時間 間隔(如:預定的時間間隔)內執行示例機器可讀指令800。機器可讀指令800被用作確 定由被選擇的持續存儲器密集型線程訪問的多個遠程節點中的一個節點是怎樣被選作線 程的目的地節點的,并且當為定向到每一個遠程節點的每一組加載操作確定平均延遲值時 開始程序(框802)。通過例如為由遠程節點上的線程執行的每一個RMA增加延遲值并且 將上述結果除以由遠程節點上的線程執行的RMA的總數目,可以計算每一個遠程節點的平 均延遲值。在一些示例中,通過例如為由遠程節點上的線程執行的每一個RMA和LMA增加 延遲值并且將上述結果除以由遠程節點上的線程執行的RMA和LMA的總數目,可以計算任 何遠程節點的平均延遲值。為每一個遠程節點計算的平均延遲值可被用作標識與最高延遲 值關聯的遠程節點(框804)。具有最高平均延遲值的遠程節點被選作線程的目的地節點 (框806)。如上文所述,調度器模塊202可以通過將遠程節點標識為線程的優選主節點來 執行該線程的軟遷移。然后,取決于多種因素,調度器模塊202可以將線程遷移到該優選主 節點。如果禁止遷移到該優選主節點,則另一個節點可以被選作優選主節點。可以從被候 選遷移標識器204標識的其他遠程節點中或通過與常規線程調度關聯的其他選擇因素來 選擇新選出的優選主節點。
            [0054] 可被執行以實現圖1所示的示例調度器16的示例機器可讀指令900由圖9所示 的流程圖表示。可以基于事件(如:預定的事件)等的發生或事件發生的任意組合在時間 間隔(如:預定的時間間隔)內執行示例機器可讀指令900。機器可讀指令900被用作確 定由被選擇的持續存儲器密集型線程訪問的多個遠程節點中的一個節點是怎樣被選作線 程的目的地節點的,并且當為定向到每一個遠程節點的每一組加載操作確定平均延遲值時 開始程序(框902)。為每一個遠程節點計算RMA總數目(框904),并將每一個遠程節點的 平均延遲值和每個遠程節點RMA總數目的組合用于選擇作為該線程的目的地節點的遠程 節點(框906)。在一些示例中,該組合可以包括對每一個遠程節點的RMA總數目和每個遠 程節點的平均延遲值中的一個或兩個進行加權,以及將每一個節點的加權值與其他節點的 加權值進行比較。
            [0055] 可被執行以實現圖1所示的示例調度器16的示例機器可讀指令1000由圖10所示 的流程圖表示。可以基于事件(如:預定的事件)等的發生或事件發生的任意組合在時間 間隔(如:預定的時間間隔)內執行示例機器可讀指令1000。使用機器可讀指令1000執行 對被選擇遷移到被選擇的遠程節點的線程的軟遷移,并且當被選擇的遠程節點被示例調度 器模塊202定義為線程的優選的主節點時開始程序(框1002)。如果將線程遷移到優選節 點的嘗試不成功,示例調度器模塊選擇替代的遠程節點并將該替代的遠程節點定義為優選 節點(框1004)。線程的實際遷移在該線程被執行之前發生。可以從與由候選遷移線程訪 問的遠程存儲器關聯的遠程節點的列表中選擇所選的被定義為優選主節點的替代的節點。
            [0056] 如上文參考圖7所述的那樣,例如,也可以由示例第二列表生成器224或由示例調 度器模塊202執行參考圖8和圖9所述的機器可讀指令。
            [0057] 在一些示例中,可以使用包括在插槽級上或大或小的處理器和/或通用處理器的 異構NUM構架系統來實現計算機系統10。例如:該系統可以使用具有高速能力的大處理 器核,該處理器和與操作較慢但比大處理器核消耗更少功率的多個集成核("MICs")通信。 這樣的系統可共享系統存儲器。
            [0058] 圖11是能夠實現本文公開的示例裝置和方法的示例處理系統1100的框圖。處理 系統1100可以是諸如服務器、個人計算機、個人數字助理(PDA)、蜂窩電話、因特網設備或 其他任何類型的計算設備。
            [0059] 實例示例的系統1100包括諸如通用可編程處理器那樣的處理器1112。示例處理 器1112包括本地存儲器1114,并且執行在本地存儲器1114和/或在其他存儲器設備中的 被編碼的指令1116。示例處理器1112可以執行諸如圖6-10所表示的那些機器可讀指令。示 例處理器1112可以是任意類型的處理單元,例如:一個或多個來_丨Pentium?、丨tanium? 和/或XScale?家族的英特爾?微處理器、一個或多個來自ARM*和/或PIC*微控制器 家族的微控制器等。當然,來自其他家族和/或制造商的其他處理器也是合適的。
            [0060] 示例處理器1112通過總線1122與包括易失性存儲器1118和非易失性存儲器 1120的主存儲器通信。易失性存儲器1118可以通過下列各項實現:靜態隨機存取存儲器 (SRAM)、同步動態隨機存取存儲器(SDRAM)、動態隨機存取存儲器(DRAM)、RAMBUS動態隨機 存取存儲器(RDRAM)和/或任何其他類型的隨機存取存儲器設備。非易失性儲存器1120 可以由閃存和/或其他任何所需要類型的存儲器設備實現。對主存儲器1118、存儲器1120 的訪問通常由存儲器控制器(未示出)控制。
            [0061] 處理系統1100也包括接口電路1124。接口電路1124可以由任何類型的接口標準 實現,如:以太網接口、通用串行總線(USB)和/或PCI Express接口。
            [0062] 將一個或多個輸入設備1126連接到接口電路1124。輸入設備1126允許用戶將數 據和命令輸入示例處理器1112。輸入設備可以由諸如鍵盤、鼠標、觸屏、軌跡板、軌跡球、等 點鼠標(isopoint)和/或語音識別系統實現。
            [0063] 將一個或多個輸出設備1128也連接到接口電路1124。輸出設備1128可以由諸如 顯示設備(如:液晶顯示、陰極射線管顯示(CRT))、打印機和/或揚聲器實現。因此,接口 電路1124通常包括圖形驅動器卡。
            [0064] 接口電路1124也包括通信設備,如:通過網絡(如:以太網連接、數字用戶線路 (DSL)、電話線、同軸電纜、蜂窩電話系統等)以促進同外部計算機數據交換的調制解調器 或網絡接口卡。
            [0065] 處理系統1100也包括一個或多個用于存儲機器可讀指令和數據的大容量存儲設 備1130。這種大容量存儲設備1130的示例包括:軟盤驅動器、硬盤驅動器、緊湊盤驅動器和 數字多功能盤(DVD)驅動器。在一些示例中,大容量存儲設備1130可以實現駐留在任意遠 程節點上的存儲器14A、存儲器14B、存儲器14C和存儲器14D,并且/或者可被用作實現用 于線程記錄322的示例線程記錄數據結構322A、用于示例存儲器密集型線程列表323的示 例存儲器密集型線程列表數據結構323A、用于示例節點記錄342的節點記錄數據結構342A 和用于遷移候選線程列表346的示例遷移候選數據結構346A。可以進一步在一個或多個數 據結構中組合數據結構322A、數據結構323A、數據結構342A和數據結構346A中的一個或 多個。
            [0066] 圖6-10所示的被編碼的指令1132可以被存儲在大容量存儲設備1130、易失性存 儲器1118、非易失性存儲器1120、本地存儲器1114和/或諸如⑶或DVD 1132那樣的可移 動存儲介質內。
            [0067] 作為本文描述的在諸如圖11所示的處理系統那樣的系統中實現方法和/或裝置 的替代方案,本文描述的方法和/或裝置也可以被嵌入到諸如處理器和/或ASIC (專用集 成電路)那樣的結構中。
            [0068] 本文公開的一個示例方法包括:取樣與在具有多個節點的計算機系統的主節點上 的計算機程序線程的執行關聯的性能度量;確定該性能度量是否超過閾值;如果超過閾值 則標識與遠程存儲器關聯的遠程節點;以及如果超過閾值則將計算機程序線程標識為從主 節點遷移到遠程節點的候選對象。在一些示例中,計算機程序線程訪問遠程存儲器。在一 些示例中,性能度量基于與計算機程序線程的執行關聯的存儲器訪問或基于與計算機程序 線程的執行關聯的功耗。在一些示例中,計算機系統的一個或多個節點在移動設備上操作。
            [0069] 其他示例方法包括:如果計算機程序線程被標識為遷移的候選對象則將遠程節點 標識為該計算機程序線程的優選主節點,并且基于至少一個因素將該計算機程序線程遷移 到該優選主節點,其中,所述因素是將遠程節點標識為優選主節點。在一些示例方法中,性 能度量包括:第一存儲器訪問度量,它是計算機程序線程經歷LLC未命中的次數;第二存儲 器訪問度量,它是計算機程序線程訪問遠程存儲器的次數;或第三存儲器訪問度量,它是計 算機程序線程訪問與主節點關聯的本地存儲器的次數。在另一些示例方法中,性能度量是 第二存儲器訪問度量與第三存儲器訪問度量的比例。示例閾值可以包括:與第一存儲器訪 問度量關聯的第一閾值、與第二存儲器訪問度量關聯的第二閾值、與第三存儲器訪問度量 關聯的第三閾值和與上述比例關聯的第四閾值。示例方法也可以包括:如果超過閾值,則采 集包括計算機程序線程身份和執行該計算機程序線程的處理身份的線程標識信息,并且使 用該線程標識信息確定主節點的身份。
            [0070] -些示例方法包括:如果超過閾值則確定計算機程序線程是存儲器密集型的;監 測第一計算機程序線程是存儲器密集型時的時間量;以及如果該時間量超過閾值持續時 間,則確定該計算機程序線程是持續存儲器密集型的。在一些示例方法中,可以使用遠程存 儲器的身份來確定遠程節點的身份。
            [0071] 在一些示例中,閾值是第一閾值,基于確定計算機程序線程超過該第一閾值的持 續時間超過第二閾值,將該計算機程序線程標識為遷移的候選對象。
            [0072] 在本文公開的一些示例中,使用裝置將在主節點上執行的計算機程序線程標識為 從主節點遷移到遠程節點的候選對象,該裝置可以包括:收集與在具有多個節點的計算機 系統的主節點上的計算機程序線程的執行關聯的性能度量值的第一數據收集器、收集線程 標識信息的第二數據收集器、使用該線程標識信息確定該計算機程序線程身份的線程標識 器、收集與由計算機程序線程執行的加載操作關聯的加載操作信息的第三數據收集器和使 用加載操作信息確定遠程存儲器身份的遠程節點標識器,其中,該節點標識器使用遠程存 儲器的身份確定遠程節點的身份。示例裝置也可以包括:確定性能度量在閾值持續時間期 間超過閾值的第二監測器和基于該第二監測器的上述確定結果將計算機程序線程標識為 從主節點遷移到遠程節點的候選對象的遷移候選標識器。在一些示例中,性能度量基于與 計算機程序線程的執行關聯的存儲器訪問或基于與計算機程序線程的執行關聯的功耗。在 一些示例中,計算機系統的一個或多個節點在移動設備上操作。
            [0073] 在一些示例中,裝置也包括將計算機程序線程從主節點遷移到遠程節點的調度器 模塊;在一些示例中,該裝置收集的性能度量值包括以下的一個或多個:第一存儲器訪問 度量,它是計算機程序線程經歷LLC未命中的次數、第二存儲器訪問度量,它是計算機程序 線程訪問遠程存儲器的次數;以及第三存儲器訪問度量,它是計算機程序線程訪問與本地 節點關聯的本地存儲器的次數的。
            [0074] 在本文公開的一些示例中,有形的機器可讀存儲介質包括指令,當該指令被執行 時,使機器取樣與在具有多個節點的計算機系統的主節點上的計算機程序線程的執行關聯 的性能度量;確定該性能度量是否超過閾值;如果超過該閾值,則標識與由計算機程序線 程訪問的遠程存儲器關聯的遠程節點;以及將該計算機程序線程標識為從主節點遷移到遠 程節點的候選對象。在一些示例中,性能度量基于與計算機程序線程的執行關聯的存儲器 訪問或基于與計算機程序線程的執行關聯的功耗。在一些示例中,計算機系統的一個或多 個節點在移動設備上操作。
            [0075] 在一些示例中,指令也使機器在計算機程序線程被標識為遷移的候選對象時將遠 程節點標識為該計算機程序線程的優選主節點,并且基于該優選主節點是否具有足夠的處 理資源將該計算機程序線程遷移到該優選主節點。在一些示例中,性能度量可以包括以下 的一個或多個:第一存儲器訪問度量,它是計算機程序線程經歷LLC未命中的次數;第二存 儲器訪問度量,它是計算機程序線程訪問遠程存儲器的次數;或第三存儲器訪問度量,它是 計算機程序線程訪問與主節點關聯的本地存儲器的次數。該性能度量也可以包括第二存儲 器訪問度量與第三存儲器訪問度量的比例。在一些示例中,閾值包括以下的至少一個:與第 一存儲器訪問度量關聯的第一閾值、與第二存儲器訪問度量關聯的第二閾值、與第三存儲 器訪問度量關聯的第三閾值或與上述比例關聯的第四閾值。
            [0076] 在一些示例中,指令可以使機器:如果性能度量超過閾值則采集包括計算機程序 線程身份和執行該計算機程序線程的處理器身份的線程標識信息,并且使用該線程標識信 息確定主節點的身份。在一些示例中,指令進一步使機器:如果超過閾值,則確定計算機程 序線程是存儲器密集型的,監測第一計算機程序線程是存儲器密集時的時間量,以及當該 時間量超過閾值持續時間時確定該計算機程序線程是持續存儲器密集型的。
            [0077] 在一些示例中,指令可以使機器:如果超過閾值,則確定計算機程序線程是存儲器 密集型的,并且如果計算機程序線程在閾值持續時間期間是存儲器密集型的則確定該計算 機程序線程是持續存儲器密集型的。在一些示例中基于計算機程序線程是否是持續存儲器 密集型的來確定該計算機程序線程是遷移的候選對象。在一些示例中,指令進一步使機器: 如果超過閾值則確定計算機程序線程是存儲器密集型的,監測第一計算機程序線程是存儲 器密集時的時間量,以及如果該時間量超過閾值持續時間則確定該計算機程序線程是持續 存儲器密集型的。
            [0078] 最后,盡管本文已描述了某些方法、裝置和制品,但本專利覆蓋的范圍并不限于 此。相反,本專利涵蓋字面上或者根據等價原則落在所附權利要求范圍內的所有方法、裝 直、和制品。
            【權利要求】
            1. 一種方法,包括: 取樣與在具有多個節點的計算機系統的主節點上的計算機程序線程的執行關聯的性 能度量; 確定所述性能度量是否超過閾值; 如果超過所述閾值,則標識與由所述計算機程序訪問的遠程存儲器關聯的遠程節點; 以及 如果超過所述閾值,則將所述計算機程序線程標識為從所述主節點遷移到所述遠程節 點的候選對象。
            2. 如權利要求1所述的方法,其特征在于,所述性能度量基于下述至少一項: 與所述計算機程序線程的執行關聯的存儲器訪問;或 與所述計算機程序線程的執行關聯的功耗。
            3. 如權利要求1所述的方法,其特征在于,所述計算機系統的一個或多個所述節點與 移動設備關聯。
            4. 如權利要求1、2或3中任意一項所述的方法,其特征在于,進一步包括: 如果所述計算機程序線程已被標識為遷移的候選對象,則將所述遠程節點標識為所述 計算機程序線程的優選主節點;以及 基于至少一個因素,將所述計算機程序線程遷移到所述優選主節點,所述因素是將所 述遠程節點標識為所述優選主節點。
            5. 如權利要求1或3所述的方法,其特征在于,所述性能度量包括下述至少一項: 第一存儲器訪問度量,所述第一存儲器訪問度量是所述計算機程序線程經歷LLC未命 中的次數; 第二存儲器訪問度量,所述第二存儲器訪問度量是所述計算機程序線程訪問所述遠程 存儲器的次數;或 第三存儲器訪問度量,所述第三存儲器訪問度量是所述計算機程序線程訪問本地存儲 器的次數,所述本地存儲器與所述主節點關聯。
            6. 如權利要求5所述的方法,其特征在于,所述性能度量進一步包括所述第二存儲器 訪問度量與所述第三存儲器訪問度量的比例。
            7. 如權利要求6所述的方法,其特征在于,所述閾值包括: 與所述第一存儲器訪問度量關聯的第一閾值; 與所述第二存儲器訪問度量關聯的第二閾值; 與所述第三存儲器訪問度量關聯的第三閾值;和 與所述比例關聯的第四閾值。
            8. 如權利要求1、2或3中任意一項所述的方法,其特征在于,進一步包括: 如果所述性能度量超過所述閾值則采集線程標識信息,所述線程標識信息包括所述計 算機程序線程的身份和執行所述計算機程序線程的處理器的身份;以及 使用所述線程標識信息確定所述主節點的身份。
            9. 如權利要求1或3中所述的方法,其特征在于,進一步包括: 如果超過所述閾值,則確定所述計算機程序線程是存儲器密集型的; 監測所述第一計算機程序線程是存儲器密集型時的時間量;以及 如果所述時間量超過閾值持續時間,則確定所述計算機程序線程是持續存儲器密集型 的。
            10. 如權利要求1、2、或3中任意一項所述的方法,其特征在于,使用所述遠程存儲器的 身份確定所述遠程節點的身份。
            11. 如權利要求1、2或3中任意一項所述的方法,其特征在于,進一步包括: 確定所述性能度量是否在超過所述閾值持續時間的持續時間內超過所述閾值,其中, 基于確定所述性能度量在所述閾值持續時間超過了所述閾值,將所述計算機程序線程標識 為遷移的候選對象。
            12. -種裝置,包括: 第一數據收集器,用于收集與在具有多個節點的計算機系統的主節點上的計算機程序 線程的執行關聯的性能度量值; 第一監測器,用于確定所述性能度量是否超過閾值; 第二數據收集器,用于收集線程標識信息; 線程標識器,用于使用所述線程標識信息以確定所述計算機程序線程的身份; 第三數據收集器,用于收集與由所述計算機程序線程執行的加載操作關聯的加載操作 信息; 節點標識器,用于使用所述加載操作信息來確定由所述計算機程序線程訪問的遠程 存儲器的身份,所述節點標識器使用所述遠程存儲器的所述身份來確定所述遠程節點的身 份; 第二監測器,用于確定所述性能度量是否在所述閾值持續時間超過所述閾值;以及 遷移候選標識器,用于基于所述第二監測器的所述確定結果將所述計算機程序線程標 識為從主節點遷移到所述遠程節點的候選對象。
            13. 如權利要求12所述的裝置,其特征在于,所述性能度量基于下述至少一項: 與所述計算機程序線程的執行關聯的存儲器訪問;或 與所述計算機程序線程的執行關聯的功耗。
            14. 如權利要求12所述的裝置,其特征在于,所述計算機系統的一個或多個所述節點 在移動設備上操作。
            15. 如權利要求12、13或14中任意一項所述的裝置,其特征在于,進一步包括用于將所 述計算機程序線程從所述主節點遷移到所述遠程節點的調度器模塊。
            16. 如權利要求12或14所述的裝置,其特征在于,所述性能度量包括下述至少一項: 第一存儲器訪問度量,所述第一存儲器訪問度量是所述計算機程序線程經歷LLC未命 中的次數; 第二存儲器訪問度量,所述第二存儲器訪問度量是所述計算機程序線程訪問所述遠程 存儲器的次數;或 第三存儲器訪問度量,所述第三存儲器訪問度量是所述計算機程序線程訪問與所述主 節點關聯的本地存儲器的次數。
            17. -種有形的機器可讀存儲介質,其包括機器可讀指令,當執行所述機器可讀指令時 使機器至少: 取樣與在具有多個節點的計算機系統的主節點上的計算機程序線程的執行關聯的性 能度量; 確定所述性能度量是否超過閾值; 如果超過所述閾值,則標識與由所述計算機程序線程訪問的遠程存儲器關聯的遠程節 點;以及 將所述計算機程序線程標識為從所述主節點遷移到所述遠程節點的候選對象。
            18. 如權利要求17所述的機器可讀存儲介質,其特征在于,所述性能度量基于下述至 少一項: 與所述計算機程序線程的執行關聯的存儲器訪問;或 與所述計算機程序線程的執行關聯的功耗。
            19. 如權利要求17所述的機器可讀存儲介質,其特征在于,所述計算機系統的一個或 多個所述節點在移動設備上操作。
            20. 如權利要求17所述的機器可讀存儲介質,其特征在于,執行所述指令時,進一步使 所述機器: 如果所述計算機程序線程被標識為遷移的候選對象,則將所述遠程節點標識為所述計 算機程序線程的優選主節點;以及 如果與所述優選主節點關聯的處理器具有足夠的處理資源,將所述計算機程序線程遷 移到所述優選主節點。
            21. 如權利要求17所述的機器可讀存儲介質,其特征在于,所述性能度量包括下述至 少一項: 第一存儲器訪問度量,所述第一存儲器訪問度量是所述計算機程序線程經歷LLC未命 中的次數; 第二存儲器訪問度量,所述第二存儲器訪問度量是所述計算機程序線程訪問所述遠程 存儲器的次數;或 第三存儲器訪問度量,所述第三存儲器訪問度量是所述計算機程序線程訪問本地存儲 器的次數,所述本地存儲器與所述主節點關聯。
            22. 如權利要求21所述的機器可讀存儲介質,其特征在于,所述性能度量進一步包括 所述第二存儲器訪問度量與所述第三存儲器訪問度量的比例。
            23. 如權利要求22所述的機器可讀存儲介質,其特征在于,所述閾值包括下述至少一 項: 與所述第一存儲器訪問度量關聯的第一閾值; 與所述第二存儲器訪問度量關聯的第二閾值; 與所述第三存儲器訪問度量關聯的第三閾值;或 與所述比例關聯的第四閾值。
            24. 如權利要求17所述的機器可讀存儲介質,其特征在于,執行所述指令時,進一步使 所述機器: 如果所述性能度量超過所述閾值則采集線程標識信息,所述線程標識信息包括所述計 算機程序線程的身份和執行所述計算機程序線程的處理器的身份;以及 使用所述線程標識信息來確定所述主節點的身份。
            25. 如權利要求17所述的機器可讀存儲介質,其特征在于,執行所述指令時,進一步使 所述機器: 如果超過所述閾值,則確定所述計算機程序線程是存儲器密集型的; 監測所述第一計算機程序線程是存儲器密集型時的時間量;以及 如果所述時間量超過閾值持續時間,則確定所述計算機程序線程是持續存儲器密集型 的。
            26. 如權利要求17所述的機器可讀存儲介質,其特征在于,執行所述指令時,進一步使 所述機器: 如果超過所述閾值,則確定所述計算機程序線程是存儲器密集型的; 如果所述計算機程序線程在閾值持續時間是存儲器密集型的,則確定所述計算機程序 線程是持續存儲器密集型的; 其中,如果所述計算機程序線程是持續存儲器密集型的,則將所述計算機程序線程標 識為遷移的候選對象。
            27. 如權利要求17所述的機器可讀存儲介質,其特征在于,執行所述指令時,進一步使 所述機器: 如果超過所述閾值,則確定所述計算機程序線程是存儲器密集型的; 監測所述第一計算機程序線程是存儲器密集時的時間量;以及 如果所述時間量超過閾值持續時間,則確定所述計算機程序線程是持續存儲器密集型 的。
            【文檔編號】G06F9/45GK104335175SQ201280073674
            【公開日】2015年2月4日 申請日期:2012年6月29日 優先權日:2012年6月29日
            【發明者】J·姚 申請人:英特爾公司
            網友詢問留言 已有0條留言
            • 還沒有人留言評論。精彩留言會獲得點贊!
            1
            婷婷六月激情在线综合激情,亚洲国产大片,久久中文字幕综合婷婷,精品久久久久久中文字幕,亚洲一区二区三区高清不卡,99国产精品热久久久久久夜夜嗨 ,欧美日韩亚洲综合在线一区二区,99国产精品电影,伊人精品线视天天综合,精品伊人久久久大香线蕉欧美
            亚洲精品1区 国产成人一级 91精品国产欧美一区二区 亚洲精品乱码久久久久久下载 国产精品久久久久久久伊一 九色国产 国产精品九九视频 伊人久久成人爱综合网 欧美日韩亚洲区久久综合 欧美日本一道免费一区三区 夜夜爽一区二区三区精品 欧美日韩高清一区二区三区 国产成人av在线 国产精品对白交换绿帽视频 国产视频亚洲 国产在线欧美精品 国产精品综合网 国产日韩精品欧美一区色 国产日韩精品欧美一区喷 欧美日韩在线观看区一二 国产区精品 欧美视频日韩视频 中文字幕天天躁日日躁狠狠躁97 视频一二三区 欧美高清在线精品一区二区不卡 国产精品揄拍一区二区久久 99久久综合狠狠综合久久aⅴ 亚洲乱码视频在线观看 日韩在线第二页 亚洲精品无码专区在线播放 成人亚洲网站www在线观看 欧美三级一区二区 99久久精品免费看国产高清 91麻豆国产在线观看 最新日韩欧美不卡一二三区 成人在线观看不卡 日韩国产在线 在线亚洲精品 亚洲午夜久久久久中文字幕 国产精品成人久久久久久久 精品国产一区二区在线观看 欧美精品国产一区二区三区 中文在线播放 亚洲第一页在线视频 国产午夜精品福利久久 九色国产 精品国产九九 国产永久视频 久久精品人人做人人综合试看 国产一区二区三区免费观看 亚洲精品国产电影 9999热视频 国产精品资源在线 麻豆久久婷婷国产综合五月 国产精品免费一级在线观看 亚洲国产一区二区三区青草影视 中文在线播放 国产成人综合在线 国产在线观看色 国产亚洲三级 国产片一区二区三区 久久99精品久久久久久牛牛影视 亚洲欧美日韩国产 四虎永久免费网站 国产一毛片 国产精品视频在 九九热在线精品 99精品福利视频 色婷婷色99国产综合精品 97成人精品视频在线播放 精品久久久久久中文字幕 亚洲欧美一区二区三区孕妇 亚洲欧美成人网 日韩高清在线二区 国产尤物在线观看 在线不卡一区二区 91网站在线看 韩国精品福利一区二区 欧美日韩国产成人精品 99热精品久久 国产精品免费视频一区 高清视频一区 精品九九久久 欧美日韩在线观看免费 91欧美激情一区二区三区成人 99福利视频 亚洲国产精品91 久热国产在线 精品久久久久久中文字幕女 国产精品久久久久久久久99热 成人自拍视频网 国产精品视频久久久久久 久久影院国产 国产玖玖在线观看 99精品在线免费 亚洲欧美一区二区三区导航 久久久久久久综合 国产欧美日韩精品高清二区综合区 国产精品视频自拍 亚洲一级片免费 久久久久久九九 国产欧美自拍视频 视频一区二区在线观看 欧美日韩一区二区三区久久 中文在线亚洲 伊人热人久久中文字幕 日韩欧美亚洲国产一区二区三区 欧美亚洲国产成人高清在线 欧美日韩国产码高清综合人成 国产性大片免费播放网站 亚洲午夜综合网 91精品久久一区二区三区 国产无套在线播放 国产精品视频网站 国产成人亚洲精品老王 91在线网站 国产视频97 欧美黑人欧美精品刺激 国产一区二区三区免费在线视频 久久久国产精品免费看 99re6久精品国产首页 久久精品91 国产成人一级 国产成人精品曰本亚洲 日本福利在线观看 伊人成综合网 久久综合一本 国产综合久久久久久 久久精品成人免费看 久久福利 91精品国产91久久久久久麻豆 亚洲精品成人在线 亚洲伊人久久精品 欧美日本二区 国产永久视频 国产一区二 一区二区福利 国产一毛片 亚洲精品1区 毛片一区二区三区 伊人久久大香线蕉综合影 国产欧美在线观看一区 亚洲国产欧洲综合997久久 国产一区二区免费视频 国产91精品对白露脸全集观看 久久亚洲国产伦理 欧美成人伊人久久综合网 亚洲性久久久影院 久久99国产精一区二区三区! 91精品国产欧美一区二区 欧美日韩亚洲区久久综合 日韩精品一二三区 久久久夜色精品国产噜噜 国产在线精品福利91香蕉 久久久久久久亚洲精品 97se色综合一区二区二区 91国语精品自产拍在线观看性色 91久久国产综合精品女同我 日韩中文字幕a 国产成人亚洲日本精品 久久国产精品-国产精品 久久国产经典视频 久久国产精品伦理 亚洲第一页在线视频 国产精品久久久久三级 日韩毛片网 久久免费高清视频 麻豆国产在线观看一区二区 91麻豆国产福利在线观看 国产成人精品男人的天堂538 一区二区三区中文字幕 免费在线视频一区 欧美日韩国产成人精品 国产综合网站 国产资源免费观看 亚洲精品亚洲人成在线播放 精品久久久久久中文字幕专区 亚洲人成人毛片无遮挡 国产一起色一起爱 国产香蕉精品视频在 九九热免费观看 日韩亚洲欧美一区 九九热精品在线观看 精品久久久久久中文字幕专区 亚洲欧美自拍偷拍 国产精品每日更新 久久久久国产一级毛片高清板 久久天天躁狠狠躁夜夜中文字幕 久久精品片 日韩在线毛片 国产成人精品本亚洲 国产成人精品一区二区三区 九九热在线观看 国产r级在线观看 国产欧美日韩精品高清二区综合区 韩国电影一区二区 国产精品毛片va一区二区三区 五月婷婷伊人网 久久一区二区三区免费 一本色道久久综合狠狠躁篇 亚洲综合色站 国产尤物在线观看 亚洲一区亚洲二区 免费在线视频一区 欧洲精品视频在线观看 日韩中文字幕a 中文字幕日本在线mv视频精品 91精品在线免费视频 精品国产免费人成在线观看 精品a级片 中文字幕日本在线mv视频精品 日韩在线精品视频 婷婷丁香色 91精品国产高清久久久久 国产成人精品日本亚洲直接 五月综合视频 欧美日韩在线亚洲国产人 精液呈暗黄色 亚洲乱码一区 久久精品中文字幕不卡一二区 亚洲天堂精品在线 激情婷婷综合 国产免费久久精品久久久 国产精品亚洲二区在线 久久免费播放视频 五月婷婷丁香综合 在线亚洲欧美日韩 久久免费精品高清麻豆 精品久久久久久中文字幕 亚洲一区网站 国产精品福利社 日韩中文字幕免费 亚洲综合丝袜 91精品在线播放 国产精品18 亚洲日日夜夜 伊人久久大香线蕉综合影 亚洲精品中文字幕乱码影院 亚洲一区二区黄色 亚洲第一页在线视频 一区二区在线观看视频 国产成人福利精品视频 亚洲高清二区 国内成人免费视频 精品亚洲性xxx久久久 国产精品合集一区二区三区 97av免费视频 国产一起色一起爱 国产区久久 国产资源免费观看 99精品视频免费 国产成人一级 国产精品九九免费视频 欧美91精品久久久久网免费 99热国产免费 久久精品色 98精品国产综合久久 久久精品播放 中文字幕视频免费 国产欧美日韩一区二区三区在线 精品久久蜜桃 国产小视频精品 一本色道久久综合狠狠躁篇 91在线免费观看 亚洲精品区 伊人成综合网 伊人热人久久中文字幕 伊人黄色片 99国产精品热久久久久久夜夜嗨 久久免费精品视频 亚洲一区二区三区高清不卡 久久久久国产一级毛片高清板 国产片一区二区三区 久久狠狠干 99久久婷婷国产综合精品电影 国产99区 国产精品成人久久久久 久久狠狠干 青青国产在线观看 亚洲高清国产拍精品影院 国产精品一区二区av 九九热在线免费视频 伊人久久国产 国产精品久久久久久久久久一区 在线观看免费视频一区 国产精品自在在线午夜区app 国产精品综合色区在线观看 国产毛片久久久久久国产毛片 97国产免费全部免费观看 国产精品每日更新 国产尤物视频在线 九九视频这里只有精品99 一本一道久久a久久精品综合 久久综合给会久久狠狠狠 国产成人精品男人的天堂538 欧美一区二区高清 毛片一区二区三区 国产欧美日韩在线观看一区二区三区 在线国产二区 欧美不卡网 91在线精品中文字幕 在线国产福利 国内精品91久久久久 91亚洲福利 日韩欧美国产中文字幕 91久久精品国产性色也91久久 亚洲性久久久影院 欧美精品1区 国产热re99久久6国产精品 九九热免费观看 国产精品欧美日韩 久久久久国产一级毛片高清板 久久国产经典视频 日韩欧美亚洲国产一区二区三区 欧美亚洲综合另类在线观看 国产精品自在在线午夜区app 97中文字幕在线观看 视频一二三区 精品国产一区在线观看 国产欧美日韩在线一区二区不卡 欧美一区二三区 伊人成人在线观看 国内精品91久久久久 97在线亚洲 国产在线不卡一区 久久久全免费全集一级全黄片 国产精品v欧美精品∨日韩 亚洲毛片网站 在线不卡一区二区 99re热在线视频 久久激情网 国产毛片一区二区三区精品 久久亚洲综合色 中文字幕视频免费 国产视频亚洲 婷婷伊人久久 国产一区二区免费播放 久久99国产精品成人欧美 99国产在线视频 国产成人免费视频精品一区二区 国产不卡一区二区三区免费视 国产码欧美日韩高清综合一区 久久精品国产主播一区二区 国产一区电影 久久精品国产夜色 国产精品国产三级国产 日韩一区二区三区在线 久久97久久97精品免视看 久久国产免费一区二区三区 伊人久久大香线蕉综合电影网 99re6久精品国产首页 久久激情网 亚洲成人高清在线 国产精品网址 国产成人精品男人的天堂538 香蕉国产综合久久猫咪 国产专区中文字幕 91麻豆精品国产高清在线 久久国产经典视频 国产精品成人va在线观看 国产精品爱啪在线线免费观看 日本精品久久久久久久久免费 亚洲综合一区二区三区 久久五月网 精品国产网红福利在线观看 久久综合亚洲伊人色 亚洲国产精品久久久久久网站 在线日韩国产 99国产精品热久久久久久夜夜嗨 国产综合精品在线 国产区福利 精品亚洲综合久久中文字幕 国产制服丝袜在线 毛片在线播放网站 在线观看免费视频一区 国产精品久久久精品三级 亚洲国产电影在线观看 最新日韩欧美不卡一二三区 狠狠综合久久综合鬼色 日本精品1在线区 国产日韩一区二区三区在线播放 欧美日韩精品在线播放 亚洲欧美日韩国产一区二区三区精品 久久综合久久网 婷婷六月激情在线综合激情 亚洲乱码一区 国产专区91 97av视频在线观看 精品久久久久久中文字幕 久久五月视频 国产成人福利精品视频 国产精品网址 中文字幕视频在线 精品一区二区三区免费视频 伊人手机在线视频 亚洲精品中文字幕乱码 国产在线视频www色 色噜噜国产精品视频一区二区 精品亚洲成a人在线观看 国产香蕉尹人综合在线 成人免费一区二区三区在线观看 国产不卡一区二区三区免费视 欧美精品久久天天躁 国产专区中文字幕 久久精品国产免费中文 久久精品国产免费一区 久久无码精品一区二区三区 国产欧美另类久久久精品免费 欧美精品久久天天躁 亚洲精品在线视频 国产视频91在线 91精品福利一区二区三区野战 日韩中文字幕免费 国产精品99一区二区三区 欧美成人高清性色生活 国产精品系列在线观看 亚洲国产福利精品一区二区 国产成人在线小视频 国产精品久久久久免费 99re热在线视频 久久久久久久综合 一区二区国产在线播放 成人国产在线视频 亚洲精品乱码久久久久 欧美日韩一区二区综合 精品久久久久免费极品大片 中文字幕视频二区 激情粉嫩精品国产尤物 国产成人精品一区二区视频 久久精品中文字幕首页 亚洲高清在线 国产精品亚洲一区二区三区 伊人久久艹 中文在线亚洲 国产精品一区二区在线播放 国产精品九九免费视频 亚洲二区在线播放 亚洲狠狠婷婷综合久久久久网站 亚洲欧美日韩网站 日韩成人精品 亚洲国产一区二区三区青草影视 91精品国产福利在线观看 国产精品久久久久久久久99热 国产一区二区精品尤物 久碰香蕉精品视频在线观看 亚洲日日夜夜 在线不卡一区二区 国产午夜亚洲精品 九九热在线视频观看这里只有精品 伊人手机在线视频 91免费国产精品 日韩欧美中字 91精品国产91久久久久 国产全黄三级播放 视频一区二区三区免费观看 国产开裆丝袜高跟在线观看 国产成人欧美 激情综合丝袜美女一区二区 国产成人亚洲综合无 欧美精品一区二区三区免费观看 欧美亚洲国产日韩 日韩亚州 国产欧美日韩精品高清二区综合区 亚洲午夜国产片在线观看 精品久久久久久中文字幕 欧美精品1区 久久伊人久久亚洲综合 亚洲欧美日韩精品 国产成人精品久久亚洲高清不卡 久久福利影视 国产精品99精品久久免费 久久久久免费精品视频 国产日产亚洲精品 亚洲国产午夜电影在线入口 精品无码一区在线观看 午夜国产精品视频 亚洲一级片免费 伊人久久大香线蕉综合影 国产精品久久影院 久碰香蕉精品视频在线观看 www.欧美精品 在线小视频国产 亚洲国产天堂久久综合图区 欧美一区二区三区不卡 日韩美女福利视频 九九精品免视频国产成人 不卡国产00高中生在线视频 亚洲第一页在线视频 欧美日韩在线播放成人 99re视频这里只有精品 国产精品91在线 精品乱码一区二区三区在线 国产区久久 91麻豆精品国产自产在线观看一区 日韩精品成人在线 九九热在线观看 国产精品久久不卡日韩美女 欧美一区二区三区综合色视频 欧美精品免费一区欧美久久优播 国产精品网址 国产专区中文字幕 国产精品欧美亚洲韩国日本久久 日韩美香港a一级毛片 久久精品123 欧美一区二区三区免费看 99r在线视频 亚洲精品国产字幕久久vr 国产综合激情在线亚洲第一页 91免费国产精品 日韩免费小视频 亚洲国产精品综合一区在线 国产亚洲第一伦理第一区 在线亚洲精品 国产精品一区二区制服丝袜 国产在线成人精品 九九精品免视频国产成人 亚洲国产网 欧美日韩亚洲一区二区三区在线观看 在线亚洲精品 欧美一区二区三区高清视频 国产成人精品男人的天堂538 欧美日韩在线观看区一二 亚洲欧美一区二区久久 久久精品中文字幕首页 日本高清www午夜视频 久久精品国产免费 久久999精品 亚洲国产精品欧美综合 88国产精品视频一区二区三区 91久久偷偷做嫩草影院免费看 国产精品夜色视频一区二区 欧美日韩导航 国产成人啪精品午夜在线播放 一区二区视频在线免费观看 99久久精品国产自免费 精液呈暗黄色 久久99国产精品 日本精品久久久久久久久免费 精品国产97在线观看 99re视频这里只有精品 国产视频91在线 999av视频 亚洲美女视频一区二区三区 久久97久久97精品免视看 亚洲国产成人久久三区 99久久亚洲国产高清观看 日韩毛片在线视频 综合激情在线 91福利一区二区在线观看 一区二区视频在线免费观看 激情粉嫩精品国产尤物 国产成人精品曰本亚洲78 国产成人精品本亚洲 国产精品成人免费视频 国产成人啪精品视频免费软件 久久精品国产亚洲妲己影院 国产精品成人久久久久久久 久久大香线蕉综合爱 欧美一区二区三区高清视频 99热国产免费 在线观看欧美国产 91精品视频在线播放 国产精品福利社 欧美精品一区二区三区免费观看 国产一区二区免费视频 国产午夜精品一区二区 精品视频在线观看97 91精品福利久久久 国产一区福利 国产综合激情在线亚洲第一页 国产精品久久久久久久久久久不卡 九色国产 在线日韩国产 黄网在线观看 亚洲一区小说区中文字幕 中文字幕丝袜 日本二区在线观看 日本国产一区在线观看 欧美日韩一区二区三区久久 欧美精品亚洲精品日韩专 国产日产亚洲精品 久久综合九色综合欧美播 亚洲国产欧美无圣光一区 欧美视频区 亚洲乱码视频在线观看 久久无码精品一区二区三区 九九热精品免费视频 久久99精品久久久久久牛牛影视 国产精品成久久久久三级 国产一区福利 午夜国产精品视频 日本二区在线观看 99久久网站 国产亚洲天堂 精品国产一区二区三区不卡 亚洲国产日韩在线一区 国产成人综合在线观看网站 久久免费高清视频 欧美在线导航 午夜精品久久久久久99热7777 欧美久久综合网 国产小视频精品 国产尤物在线观看 亚洲国产精品综合一区在线 欧美一区二区三区不卡视频 欧美黑人欧美精品刺激 日本福利在线观看 久久国产偷 国产手机精品一区二区 国产热re99久久6国产精品 国产高清啪啪 欧美亚洲国产成人高清在线 国产在线第三页 亚洲综合一区二区三区 99r在线视频 99精品久久久久久久婷婷 国产精品乱码免费一区二区 国产在线精品福利91香蕉 国产尤物视频在线 五月婷婷亚洲 中文字幕久久综合伊人 亚洲精品一级毛片 99国产精品电影 在线视频第一页 久久99国产精品成人欧美 国产白白视频在线观看2 成人精品一区二区www 亚洲成人网在线观看 麻豆91在线视频 色综合合久久天天综合绕视看 久久精品国产免费高清 国产不卡一区二区三区免费视 欧美国产中文 99精品欧美 九九在线精品 国产中文字幕在线免费观看 国产一区中文字幕在线观看 国产成人一级 国产精品一区二区制服丝袜 国产一起色一起爱 亚洲精品成人在线 亚洲欧美精品在线 国产欧美自拍视频 99精品久久久久久久婷婷 久99视频 国产热re99久久6国产精品 视频一区亚洲 国产精品视频分类 国产精品成在线观看 99re6久精品国产首页 亚洲在成人网在线看 亚洲国产日韩在线一区 久久国产三级 日韩国产欧美 欧美在线一区二区三区 国产精品美女一级在线观看 成人午夜免费福利视频 亚洲天堂精品在线 91精品国产手机 欧美日韩视频在线播放 狠狠综合久久综合鬼色 九一色视频 青青视频国产 亚洲欧美自拍一区 中文字幕天天躁日日躁狠狠躁97 日韩免费大片 996热视频 伊人成综合网 亚洲天堂欧美 日韩精品亚洲人成在线观看 久久综合给会久久狠狠狠 日韩精品亚洲人成在线观看 日韩国产欧美 亚洲成aⅴ人片在线影院八 亚洲精品1区 99久久精品免费 国产精品高清在线观看 国产精品久久久免费视频 在线亚洲欧美日韩 91在线看视频 国产精品96久久久久久久 欧美日韩国产成人精品 91在线亚洲 热久久亚洲 国产精品美女免费视频观看 日韩在线毛片 亚洲永久免费视频 九九免费在线视频 亚洲一区网站 日本高清二区视频久二区 精品国产美女福利在线 伊人久久艹 国产精品久久久久三级 欧美成人精品第一区二区三区 99久久精品国产自免费 在线观看日韩一区 国产中文字幕一区 成人免费午夜视频 欧美日韩另类在线 久久99国产精品成人欧美 色婷婷中文网 久久天天躁夜夜躁狠狠躁2020 欧美成人伊人久久综合网 国产精品福利资源在线 国产伦精品一区二区三区高清 国产精品亚洲综合色区韩国 亚洲一区欧美日韩 色综合视频 国语自产精品视频在线区 国产高清a 成人国内精品久久久久影 国产在线精品香蕉综合网一区 国产不卡在线看 国产成人精品精品欧美 国产欧美日韩综合精品一区二区三区 韩国电影一区二区 国产在线视频www色 91中文字幕在线一区 国产人成午夜免视频网站 亚洲综合一区二区三区 色综合视频一区二区观看 久久五月网 九九热精品在线观看 国产一区二区三区国产精品 99久热re在线精品996热视频 亚洲国产网 在线视频亚洲一区 日韩字幕一中文在线综合 国产高清一级毛片在线不卡 精品国产色在线 国产高清视频一区二区 精品日本久久久久久久久久 亚洲国产午夜精品乱码 成人免费国产gav视频在线 日韩欧美一区二区在线观看 欧美曰批人成在线观看 韩国电影一区二区 99re这里只有精品6 日韩精品一区二区三区视频 99re6久精品国产首页 亚洲欧美一区二区三区导航 欧美色图一区二区三区 午夜精品视频在线观看 欧美激情在线观看一区二区三区 亚洲热在线 成人国产精品一区二区网站 亚洲一级毛片在线播放 亚洲一区小说区中文字幕 亚洲午夜久久久久影院 国产自产v一区二区三区c 国产精品视频免费 久久调教视频 国产成人91激情在线播放 国产精品欧美亚洲韩国日本久久 久久亚洲日本不卡一区二区 91中文字幕网 成人国产在线视频 国产视频91在线 欧美成人精品第一区二区三区 国产精品福利在线 久久综合九色综合精品 欧美一区二区三区精品 久久国产综合尤物免费观看 久久99青青久久99久久 日韩精品免费 久久国产精品999 91亚洲视频在线观看 国产精品igao视频 色综合区 在线亚洲欧国产精品专区 国产一区二区三区在线观看视频 亚洲精品成人在线 一区二区国产在线播放 中文在线亚洲 亚洲精品第一国产综合野 国产一区二区精品久久 一区二区三区四区精品视频 99热精品久久 中文字幕视频二区 国产成人精品男人的天堂538 99精品影视 美女福利视频一区二区 久久午夜夜伦伦鲁鲁片 综合久久久久久久综合网 国产精品国产欧美综合一区 国产99视频在线观看 国产亚洲女在线精品 婷婷影院在线综合免费视频 国产亚洲3p一区二区三区 91成人爽a毛片一区二区 亚洲一区二区高清 国产欧美亚洲精品第二区首页 欧美日韩导航 亚洲高清二区 欧美激情观看一区二区久久 日韩毛片在线播放 亚洲欧美日韩高清中文在线 亚洲日本在线播放 国产精品一区二区制服丝袜 精品国产一区二区三区不卡 国产不卡在线看 国产欧美网站 四虎永久在线观看视频精品 国产黄色片在线观看 夜夜综合 一本色道久久综合狠狠躁篇 欧美亚洲综合另类在线观看 国产91在线看 伊人久久国产 欧美一区二区在线观看免费网站 国产精品久久久久三级 久久福利 日韩中文字幕a 亚洲午夜久久久久影院 91在线高清视频 国产亚洲一区二区三区啪 久久人精品 国产精品亚洲午夜一区二区三区 综合久久久久久 久久伊人一区二区三区四区 国产综合久久久久久 日韩一区精品视频在线看 国产精品日韩欧美制服 日本精品1在线区 99re视频 无码av免费一区二区三区试看 国产视频1区 日韩欧美中文字幕一区 日本高清中文字幕一区二区三区a 亚洲国产欧美无圣光一区 国产在线视频一区二区三区 欧美国产第一页 在线亚洲欧美日韩 日韩中文字幕第一页 在线不卡一区二区 伊人久久青青 国产精品一区二区在线播放 www.五月婷婷 麻豆久久婷婷国产综合五月 亚洲精品区 久久国产欧美另类久久久 99在线视频免费 伊人久久中文字幕久久cm 久久精品成人免费看 久久这里只有精品首页 88国产精品视频一区二区三区 中文字幕日本在线mv视频精品 国产在线精品成人一区二区三区 伊人精品线视天天综合 亚洲一区二区黄色 国产尤物视频在线 亚洲精品99久久久久中文字幕 国产一区二区三区免费观看 伊人久久大香线蕉综合电影网 国产成人精品区在线观看 日本精品一区二区三区视频 日韩高清在线二区 久久免费播放视频 一区二区成人国产精品 国产精品免费精品自在线观看 亚洲精品视频二区 麻豆国产精品有码在线观看 精品日本一区二区 亚洲欧洲久久 久久中文字幕综合婷婷 中文字幕视频在线 国产成人精品综合在线观看 91精品国产91久久久久福利 精液呈暗黄色 香蕉国产综合久久猫咪 国产专区精品 亚洲精品无码不卡 国产永久视频 亚洲成a人片在线播放观看国产 一区二区国产在线播放 亚洲一区二区黄色 欧美日韩在线观看视频 亚洲精品另类 久久国产综合尤物免费观看 国产一区二区三区国产精品 高清视频一区 国产精品igao视频 国产精品资源在线 久久综合精品国产一区二区三区 www.五月婷婷 精品色综合 99热国产免费 麻豆福利影院 亚洲伊人久久大香线蕉苏妲己 久久电影院久久国产 久久精品伊人 在线日韩理论午夜中文电影 亚洲国产欧洲综合997久久 伊人国产精品 久草国产精品 欧美一区精品二区三区 亚洲成人高清在线 91免费国产精品 日韩精品福利在线 国产一线在线观看 国产不卡在线看 久久99青青久久99久久 亚洲精品亚洲人成在线播放 99久久免费看国产精品 国产日本在线观看 青草国产在线视频 麻豆久久婷婷国产综合五月 国产中文字幕一区 91久久精品国产性色也91久久 国产一区a 国产欧美日韩成人 国产亚洲女在线精品 一区二区美女 中文字幕在线2021一区 在线小视频国产 久久这里只有精品首页 国产在线第三页 欧美日韩中文字幕 在线亚洲+欧美+日本专区 精品国产一区二区三区不卡 久久这里精品 欧美在线va在线播放 精液呈暗黄色 91精品国产手机 91在线免费播放 欧美视频亚洲色图 欧美国产日韩精品 日韩高清不卡在线 精品视频免费观看 欧美日韩一区二区三区四区 国产欧美亚洲精品第二区首页 亚洲韩精品欧美一区二区三区 国产精品视频免费 在线精品小视频 久久午夜夜伦伦鲁鲁片 国产无套在线播放 久热这里只精品99re8久 欧美久久久久 久久香蕉国产线看观看精品蕉 国产成人精品男人的天堂538 亚洲人成网站色7799在线观看 日韩在线第二页 一本色道久久综合狠狠躁篇 国产一区二区三区不卡在线观看 亚洲乱码在线 在线观看欧美国产 久久福利青草精品资源站免费 国产玖玖在线观看 在线亚洲精品 亚洲成aⅴ人在线观看 精品91在线 欧美一区二三区 日韩中文字幕视频在线 日本成人一区二区 日韩免费专区 国内精品在线观看视频 久久国产综合尤物免费观看 国产精品系列在线观看 一本一道久久a久久精品综合 亚洲免费播放 久久精品国产免费 久久人精品 亚洲毛片网站 亚洲成a人一区二区三区 韩国福利一区二区三区高清视频 亚洲精品天堂在线 一区二区三区中文字幕 亚洲国产色婷婷精品综合在线观看 亚洲国产成人久久笫一页 999国产视频 国产精品香港三级在线电影 欧美日韩一区二区三区四区 日韩国产欧美 国产精品99一区二区三区 午夜国产精品理论片久久影院 亚洲精品中文字幕麻豆 亚洲国产高清视频 久久免费手机视频 日韩a在线观看 五月婷婷亚洲 亚洲精品中文字幕麻豆 中文字幕丝袜 www国产精品 亚洲天堂精品在线 亚洲乱码一区 国产日韩欧美三级 久久999精品 伊人热人久久中文字幕 久热国产在线视频 国产欧美日韩在线观看一区二区三区 国产一二三区在线 日韩国产欧美 91精品国产91久久久久 亚洲一区小说区中文字幕 精品一区二区免费视频 国产精品视频免费 国产精品亚洲综合色区韩国 亚洲国产精品成人午夜在线观看 欧美国产日韩精品 中文字幕精品一区二区精品