JP2007102781A - 持続的なユーザレベルスレッド用の装置、システムおよび方法 - Google Patents
持続的なユーザレベルスレッド用の装置、システムおよび方法 Download PDFInfo
- Publication number
- JP2007102781A JP2007102781A JP2006266590A JP2006266590A JP2007102781A JP 2007102781 A JP2007102781 A JP 2007102781A JP 2006266590 A JP2006266590 A JP 2006266590A JP 2006266590 A JP2006266590 A JP 2006266590A JP 2007102781 A JP2007102781 A JP 2007102781A
- Authority
- JP
- Japan
- Prior art keywords
- thread
- sequencer
- user level
- persistent user
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000002085 persistent effect Effects 0.000 title claims abstract description 55
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000012545 processing Methods 0.000 claims description 28
- 238000002955 isolation Methods 0.000 claims description 18
- 238000000926 separation method Methods 0.000 claims description 13
- 238000012546 transfer Methods 0.000 claims description 10
- 230000002688 persistence Effects 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 7
- 101100064323 Arabidopsis thaliana DTX47 gene Proteins 0.000 description 5
- 101150026676 SID1 gene Proteins 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 101100256921 Ajellomyces capsulatus SID3 gene Proteins 0.000 description 4
- 101100366400 Schizosaccharomyces pombe (strain 972 / ATCC 24843) spg1 gene Proteins 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 101000840469 Arabidopsis thaliana Isochorismate synthase 1, chloroplastic Proteins 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/3009—Thread control instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Executing Machine-Instructions (AREA)
Abstract
【解決手段】本発明の実施形態は、OS可視シーケンサで実行中である、OSがスケジューリングしたスレッドに基づき、命令セットエクステンションを用いて、OSがスケジューリングしたスレッドに対するコンテキストスイッチ動作とは無関係な、OS分離シーケンサで実行する持続的なユーザレベルスレッドを作成する方法を提供する。ここで、OSがスケジューリングしたスレッドと持続的なユーザレベルスレッドは仮想アドレススペースを共有するとしてもよい。本発明の実施形態はさらに、別のOS可視シーケンサで実行されるサービススレッドに、持続的なユーザレベルスレッドに対して、OSサービスを提供させる方法を提供するとしてもよい。本発明の実施形態はさらに、この方法に類する装置、システムおよび機械可読媒体を提供するとしてもよい。
【選択図】図8
Description
Claims (29)
- オペレーティングシステム(OS)可視シーケンサで実行中である、OSがスケジューリングしたスレッドに基づき、命令セットエクステンションを用いて、前記OSがスケジューリングしたスレッドに対するコンテキストスイッチ動作とは無関係な、OS分離シーケンサで実行する持続的なユーザレベルスレッドを作成すること
を含む方法。 - 前記OSがスケジューリングしたスレッドと前記持続的なユーザレベルスレッドは仮想アドレススペースを共有する
請求項1に記載の方法。 - 前記持続的なユーザレベルスレッドの実行中にOSによる処理を必要とするイベントが発生した場合、前記持続的なユーザレベルスレッドの実行を一時中断すること
を含む請求項1に記載の方法。 - 別のOS可視シーケンサで実行されるサービススレッドに、前記一時中断された持続的なユーザレベルスレッドに対して、OSサービスを提供させること
を含む請求項1に記載の方法。 - 前記サービススレッドと前記持続的なユーザレベルスレッドは、同じアプリケーションのコンテキストで実行される
請求項4に記載の方法。 - 前記持続的なユーザレベルスレッドに対してOSサービスを提供することは、
前記別のOS可視シーケンサに対して、制御移行命令を伝えることと、
前記制御移行命令を特権レベルで実行することと
を含む
請求項4に記載の方法。 - 前記特権レベルにはRing 0レベルが含まれる
請求項6に記載の方法。 - 前記サービススレッドに前記持続的なユーザレベルスレッドの状態を取得させることと、
前記持続的なユーザレベルスレッドに対して代理実行を行うことと、
前記持続的なユーザレベルスレッドを実行後状態にすることと
を含む請求項6に記載の方法。 - 前記実行後状態から前記持続的なユーザレベルスレッドの実行を再開すること
をさらに含む請求項8に記載の方法。 - OS可視シーケンサで実行中である、OSがスケジューリングしたスレッドに基づき、命令セットエクステンションを用いて、前記OSがスケジューリングしたスレッドに対するコンテキストスイッチ動作とは無関係な、OS分離シーケンサで実行する持続的なユーザレベルスレッドを作成するシーケンサマネージャ
を備える装置。 - 前記OSがスケジューリングしたスレッドと前記持続的なユーザレベルスレッドは仮想アドレススペースを共有する
請求項10に記載の装置。 - 前記シーケンサマネージャは、前記持続的なユーザレベルスレッドの実行中にOSによる処理を必要とするイベントが発生した場合、前記持続的なユーザレベルスレッドの実行を一時中断する
請求項10に記載の装置。 - 前記シーケンサマネージャは、別のOS可視シーケンサで実行されるサービススレッドに、前記持続的なユーザレベルスレッドに対してOSサービスを提供させる
請求項10に記載の装置。 - 前記サービススレッドと前記持続的なユーザレベルスレッドは、同じアプリケーションのコンテキストで実行される
請求項13に記載の装置。 - 前記シーケンサマネージャは、前記別のOS可視シーケンサに対して、制御移行命令を伝え、前記制御移行命令を特権レベルで実行させる
請求項13に記載の装置。 - 前記シーケンサマネージャは、前記サービススレッドに前記持続的なユーザレベルスレッドの状態を取得させ、前記持続的なユーザレベルスレッドに対して代理実行を行い、前記持続的なユーザレベルスレッドを実行後状態にする
請求項15に記載の装置。 - 前記実行後状態から前記持続的なユーザレベルスレッドの実行を再開する
請求項16に記載の装置。 - システムであって、
OS、少なくとも1つのユーザレベルプログラム、前記プログラムを接続するためのアプリケーションプログラムインターフェース、および前記プログラムの実行をスケジューリングするスケジューラを格納しているメモリと、
少なくとも1つのOS可視シーケンサおよび少なくとも1つのOS分離シーケンサを有するマルチシーケンサと、
OS可視シーケンサで実行中である、OSがスケジューリングしたスレッドに基づき、命令セットエクステンションを用いて、前記OSがスケジューリングしたスレッドに対するコンテキストスイッチ動作とは無関係な、OS分離シーケンサで実行する持続的なユーザレベルスレッドを作成するシーケンサマネージャと
を備えるシステム。 - 前記OSがスケジューリングしたスレッドと前記持続的なユーザレベルスレッドは仮想アドレススペースを共有する
請求項18に記載のシステム。 - 前記シーケンサマネージャは、前記持続的なユーザレベルスレッドの実行中にOSによる処理を必要とするイベントが発生した場合、前記持続的なユーザレベルスレッドの実行を一時中断する
請求項18に記載のシステム。 - 前記シーケンサマネージャは、別のOS可視シーケンサで実行されるサービススレッドに、前記持続的なユーザレベルスレッドに対して、OSサービスを提供させる
請求項18に記載のシステム。 - 前記シーケンサマネージャは、前記OS可視シーケンサに対して、制御移行命令を伝え、前記OS可視シーケンサに前記制御移行命令を特権レベルで実行させる
請求項21に記載のシステム。 - 前記シーケンサマネージャは、前記サービススレッドに前記持続的なユーザレベルスレッドの状態を取得させ、前記持続的なユーザレベルスレッドに対して代理実行を行い、前記持続的なユーザレベルスレッドを実行後状態にする
請求項22に記載のシステム。 - 前記実行後状態から前記持続的なユーザレベルスレッドの実行を再開する
請求項23に記載のシステム。 - 機械によって実行された場合、OS可視シーケンサで実行中である、OSがスケジューリングしたスレッドに基づき、命令セットエクステンションを用いて、前記OSがスケジューリングしたスレッドに対するコンテキストスイッチ動作とは無関係な、OS分離シーケンサで実行する持続的なユーザレベルスレッドを生成する、一連の命令を格納している機械可読媒体。
- 前記命令が実行されると、前記OSがスケジューリングしたスレッドと前記持続的なユーザレベルスレッドは仮想アドレススペースを共有する
請求項25に記載の機械可読媒体。 - 前記命令が実行されると、前記持続的なユーザレベルスレッドの実行中にOSによる処理を必要とするイベントが発生した場合、前記持続的なユーザレベルスレッドの実行が一時中断される
請求項25に記載の機械可読媒体。 - 前記命令が実行されると、別のOS可視シーケンサで実行されるサービススレッドが、前記持続的なユーザレベルスレッドに対して、OSサービスを提供する
請求項25に記載の機械可読媒体。 - 前記命令が実行されると、前記別のOS可視シーケンサに対して、制御移行命令が伝えられ、前記制御移行命令が特権レベルで実行される
請求項28に記載の機械可読媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/239,475 US8028295B2 (en) | 2005-09-30 | 2005-09-30 | Apparatus, system, and method for persistent user-level thread |
US11/239,475 | 2005-09-30 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2007102781A true JP2007102781A (ja) | 2007-04-19 |
JP2007102781A5 JP2007102781A5 (ja) | 2009-08-06 |
JP4690988B2 JP4690988B2 (ja) | 2011-06-01 |
Family
ID=37887229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006266590A Expired - Fee Related JP4690988B2 (ja) | 2005-09-30 | 2006-09-29 | 持続的なユーザレベルスレッド用の装置、システムおよび方法 |
Country Status (4)
Country | Link |
---|---|
US (5) | US8028295B2 (ja) |
JP (1) | JP4690988B2 (ja) |
CN (2) | CN101038543B (ja) |
DE (1) | DE102006046129A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1981129A2 (en) | 2007-04-10 | 2008-10-15 | Hirose Electric Co., Ltd. | Coaxial Connector |
JP2009104259A (ja) * | 2007-10-19 | 2009-05-14 | Intel Corp | マイクロプロセッサ上での複数命令ストリーム/複数データストリームの拡張を可能にする方法およびシステム |
JP2009187223A (ja) * | 2008-02-05 | 2009-08-20 | Nec Corp | プロセッサ、電子機器、割込み制御方法及び割込み制御プログラム |
JP2013500543A (ja) * | 2009-07-27 | 2013-01-07 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | データ並列スレッドを有する処理論理の複数のプロセッサにわたるマッピング |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8719819B2 (en) * | 2005-06-30 | 2014-05-06 | Intel Corporation | Mechanism for instruction set based thread execution on a plurality of instruction sequencers |
US8028295B2 (en) | 2005-09-30 | 2011-09-27 | Intel Corporation | Apparatus, system, and method for persistent user-level thread |
US8689215B2 (en) * | 2006-12-19 | 2014-04-01 | Intel Corporation | Structured exception handling for application-managed thread units |
US20080307419A1 (en) * | 2007-06-06 | 2008-12-11 | Microsoft Corporation | Lazy kernel thread binding |
US20080313656A1 (en) * | 2007-06-18 | 2008-12-18 | Microsoft Corporation | User mode stack disassociation |
US20080320475A1 (en) * | 2007-06-19 | 2008-12-25 | Microsoft Corporation | Switching user mode thread context |
US8261284B2 (en) * | 2007-09-13 | 2012-09-04 | Microsoft Corporation | Fast context switching using virtual cpus |
DE202009018265U1 (de) * | 2008-11-04 | 2011-08-26 | Htc Corporation | System und Vorrichtung zur Verbesserung eines Ressourcenfreigabeprozesses bei der semi-persistenten Terminierung in einem drahtlosen Kommunikationssystem |
US8464035B2 (en) | 2009-12-18 | 2013-06-11 | Intel Corporation | Instruction for enabling a processor wait state |
WO2013101139A1 (en) * | 2011-12-30 | 2013-07-04 | Intel Corporation | Providing an asymmetric multicore processor system transparently to an operating system |
CN104025046B (zh) * | 2012-01-10 | 2017-06-20 | 英特尔公司 | 与利用调回的isa桥接关联的方法、装置和计算设备 |
WO2013162589A1 (en) * | 2012-04-27 | 2013-10-31 | Intel Corporation | Migrating tasks between asymmetric computing elements of a multi-core processor |
US10162687B2 (en) * | 2012-12-28 | 2018-12-25 | Intel Corporation | Selective migration of workloads between heterogeneous compute elements based on evaluation of migration performance benefit and available energy and thermal budgets |
US9384036B1 (en) * | 2013-10-21 | 2016-07-05 | Google Inc. | Low latency thread context caching |
US10037227B2 (en) | 2015-12-17 | 2018-07-31 | Intel Corporation | Systems, methods and devices for work placement on processor cores |
US11023233B2 (en) * | 2016-02-09 | 2021-06-01 | Intel Corporation | Methods, apparatus, and instructions for user level thread suspension |
CN108009007B (zh) * | 2016-10-27 | 2021-01-15 | 华为技术有限公司 | 轻量级线程的调度方法及协同管理器、vCPU调度器 |
CN113946528A (zh) * | 2020-07-16 | 2022-01-18 | 华为技术有限公司 | 切换系统架构的方法与装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0497445A (ja) * | 1990-08-16 | 1992-03-30 | Nec Corp | 情報処理装置の診断方式 |
JPH05265876A (ja) * | 1992-03-19 | 1993-10-15 | Fujitsu Ltd | エラー報告処理方式 |
US5485626A (en) * | 1992-11-03 | 1996-01-16 | International Business Machines Corporation | Architectural enhancements for parallel computer systems utilizing encapsulation of queuing allowing small grain processing |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6732138B1 (en) * | 1995-07-26 | 2004-05-04 | International Business Machines Corporation | Method and system for accessing system resources of a data processing system utilizing a kernel-only thread within a user process |
US5991790A (en) * | 1996-07-01 | 1999-11-23 | Sun Microsystems, Inc. | Generation and delivery of signals in a two-level, multithreaded system |
US6223204B1 (en) * | 1996-12-18 | 2001-04-24 | Sun Microsystems, Inc. | User level adaptive thread blocking |
US6766515B1 (en) * | 1997-02-18 | 2004-07-20 | Silicon Graphics, Inc. | Distributed scheduling of parallel jobs with no kernel-to-kernel communication |
US5872963A (en) * | 1997-02-18 | 1999-02-16 | Silicon Graphics, Inc. | Resumption of preempted non-privileged threads with no kernel intervention |
US6175916B1 (en) * | 1997-05-06 | 2001-01-16 | Microsoft Corporation | Common-thread inter-process function calls invoked by jumps to invalid addresses |
US6189023B1 (en) * | 1997-09-30 | 2001-02-13 | Tandem Computers Incorporated | Simulating shared code thread modules with shared code fibers |
US5923892A (en) | 1997-10-27 | 1999-07-13 | Levy; Paul S. | Host processor and coprocessor arrangement for processing platform-independent code |
US6289369B1 (en) * | 1998-08-25 | 2001-09-11 | International Business Machines Corporation | Affinity, locality, and load balancing in scheduling user program-level threads for execution by a computer system |
US6366946B1 (en) * | 1998-12-16 | 2002-04-02 | Microsoft Corporation | Critical code processing management |
EP1037147A1 (en) * | 1999-03-15 | 2000-09-20 | BRITISH TELECOMMUNICATIONS public limited company | Resource scheduling |
JP3557947B2 (ja) * | 1999-05-24 | 2004-08-25 | 日本電気株式会社 | 複数のプロセッサで同時にスレッドの実行を開始させる方法及びその装置並びにコンピュータ可読記録媒体 |
US7043725B1 (en) * | 1999-07-09 | 2006-05-09 | Hewlett-Packard Development Company, L.P. | Two tier arrangement for threads support in a virtual machine |
EP1236097A4 (en) * | 1999-09-01 | 2006-08-02 | Intel Corp | BRANCH COMMAND TO THE PROCESSOR |
JP2001255961A (ja) | 2000-03-01 | 2001-09-21 | Internatl Business Mach Corp <Ibm> | コンピュータ及び冷却ファンの制御方法 |
US6651163B1 (en) * | 2000-03-08 | 2003-11-18 | Advanced Micro Devices, Inc. | Exception handling with reduced overhead in a multithreaded multiprocessing system |
US6961941B1 (en) * | 2001-06-08 | 2005-11-01 | Vmware, Inc. | Computer configuration for resource management in systems including a virtual machine |
JP3702813B2 (ja) * | 2001-07-12 | 2005-10-05 | 日本電気株式会社 | マルチスレッド実行方法及び並列プロセッサシステム |
US20030191730A1 (en) * | 2002-04-05 | 2003-10-09 | Compaq Information Technologies Group, L.P. | Unobtrusive rule-based computer usage enhancement system |
US7200846B2 (en) * | 2002-08-05 | 2007-04-03 | Sun Microsystems, Inc. | System and method for maintaining data synchronization |
US7962545B2 (en) * | 2002-12-27 | 2011-06-14 | Intel Corporation | Dynamic service registry for virtual machines |
US7216346B2 (en) * | 2002-12-31 | 2007-05-08 | International Business Machines Corporation | Method and apparatus for managing thread execution in a multithread application |
US7406699B2 (en) * | 2003-04-02 | 2008-07-29 | Microsoft Corporation | Enhanced runtime hosting |
US7093147B2 (en) * | 2003-04-25 | 2006-08-15 | Hewlett-Packard Development Company, L.P. | Dynamically selecting processor cores for overall power efficiency |
US7496928B2 (en) * | 2003-08-28 | 2009-02-24 | Microsoft Corporation | Method and system for moderating thread priority boost for I/O completion |
US7376954B2 (en) * | 2003-08-28 | 2008-05-20 | Mips Technologies, Inc. | Mechanisms for assuring quality of service for programs executing on a multithreaded processor |
US7360223B2 (en) * | 2003-09-24 | 2008-04-15 | Hewlett-Packard Development Company, L.P. | Arrangements and methods for invoking an upcall in a computer system |
US20050076186A1 (en) * | 2003-10-03 | 2005-04-07 | Microsoft Corporation | Systems and methods for improving the x86 architecture for processor virtualization, and software systems and methods for utilizing the improvements |
US7380039B2 (en) * | 2003-12-30 | 2008-05-27 | 3Tera, Inc. | Apparatus, method and system for aggregrating computing resources |
US8533716B2 (en) * | 2004-03-31 | 2013-09-10 | Synopsys, Inc. | Resource management in a multicore architecture |
US9189230B2 (en) * | 2004-03-31 | 2015-11-17 | Intel Corporation | Method and system to provide concurrent user-level, non-privileged shared resource thread creation and execution |
US20060075404A1 (en) * | 2004-10-06 | 2006-04-06 | Daniela Rosu | Method and system for scheduling user-level I/O threads |
US7669204B2 (en) * | 2004-10-14 | 2010-02-23 | International Business Machines Corporation | Autonomic SMT System tuning |
US8621458B2 (en) * | 2004-12-21 | 2013-12-31 | Microsoft Corporation | Systems and methods for exposing processor topology for virtual machines |
US8719819B2 (en) | 2005-06-30 | 2014-05-06 | Intel Corporation | Mechanism for instruction set based thread execution on a plurality of instruction sequencers |
US8607235B2 (en) | 2004-12-30 | 2013-12-10 | Intel Corporation | Mechanism to schedule threads on OS-sequestered sequencers without operating system intervention |
US7992144B1 (en) * | 2005-04-04 | 2011-08-02 | Oracle America, Inc. | Method and apparatus for separating and isolating control of processing entities in a network interface |
US8516483B2 (en) | 2005-05-13 | 2013-08-20 | Intel Corporation | Transparent support for operating system services for a sequestered sequencer |
US7752620B2 (en) * | 2005-06-06 | 2010-07-06 | International Business Machines Corporation | Administration of locks for critical sections of computer programs in a computer that supports a multiplicity of logical partitions |
US8028295B2 (en) * | 2005-09-30 | 2011-09-27 | Intel Corporation | Apparatus, system, and method for persistent user-level thread |
-
2005
- 2005-09-30 US US11/239,475 patent/US8028295B2/en not_active Expired - Fee Related
-
2006
- 2006-09-28 DE DE102006046129A patent/DE102006046129A1/de not_active Ceased
- 2006-09-29 CN CN2006101444908A patent/CN101038543B/zh not_active Expired - Fee Related
- 2006-09-29 JP JP2006266590A patent/JP4690988B2/ja not_active Expired - Fee Related
- 2006-09-29 CN CN201210472991.4A patent/CN102981808B/zh not_active Expired - Fee Related
-
2011
- 2011-08-30 US US13/221,119 patent/US8479217B2/en active Active
-
2013
- 2013-06-11 US US13/914,830 patent/US9383997B2/en active Active
-
2016
- 2016-05-27 US US15/166,469 patent/US9766891B2/en active Active
- 2016-12-21 US US15/386,615 patent/US9875102B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0497445A (ja) * | 1990-08-16 | 1992-03-30 | Nec Corp | 情報処理装置の診断方式 |
JPH05265876A (ja) * | 1992-03-19 | 1993-10-15 | Fujitsu Ltd | エラー報告処理方式 |
US5485626A (en) * | 1992-11-03 | 1996-01-16 | International Business Machines Corporation | Architectural enhancements for parallel computer systems utilizing encapsulation of queuing allowing small grain processing |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1981129A2 (en) | 2007-04-10 | 2008-10-15 | Hirose Electric Co., Ltd. | Coaxial Connector |
JP2009104259A (ja) * | 2007-10-19 | 2009-05-14 | Intel Corp | マイクロプロセッサ上での複数命令ストリーム/複数データストリームの拡張を可能にする方法およびシステム |
JP2009187223A (ja) * | 2008-02-05 | 2009-08-20 | Nec Corp | プロセッサ、電子機器、割込み制御方法及び割込み制御プログラム |
JP2013500543A (ja) * | 2009-07-27 | 2013-01-07 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | データ並列スレッドを有する処理論理の複数のプロセッサにわたるマッピング |
US9354944B2 (en) | 2009-07-27 | 2016-05-31 | Advanced Micro Devices, Inc. | Mapping processing logic having data-parallel threads across processors |
KR101759266B1 (ko) | 2009-07-27 | 2017-07-18 | 어드밴스드 마이크로 디바이시즈, 인코포레이티드 | 프로세서들에 걸쳐 데이터-병렬 쓰레드들을 지닌 프로세싱 로직을 매핑하는 방법 |
Also Published As
Publication number | Publication date |
---|---|
US9383997B2 (en) | 2016-07-05 |
JP4690988B2 (ja) | 2011-06-01 |
US8479217B2 (en) | 2013-07-02 |
DE102006046129A1 (de) | 2007-04-12 |
US20110314480A1 (en) | 2011-12-22 |
US9766891B2 (en) | 2017-09-19 |
US20070079301A1 (en) | 2007-04-05 |
CN101038543B (zh) | 2013-01-02 |
CN101038543A (zh) | 2007-09-19 |
CN102981808A (zh) | 2013-03-20 |
US20170102944A1 (en) | 2017-04-13 |
CN102981808B (zh) | 2015-07-29 |
US8028295B2 (en) | 2011-09-27 |
US9875102B2 (en) | 2018-01-23 |
US20160274910A1 (en) | 2016-09-22 |
US20130275735A1 (en) | 2013-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4690988B2 (ja) | 持続的なユーザレベルスレッド用の装置、システムおよび方法 | |
KR101247407B1 (ko) | 이질적 리소스와의 명령어 세트 아키텍처-기반 시퀀서간 통신 | |
JP6430970B2 (ja) | 異なる命令セットアーキテクチャを有するプロセッサ上におけるオペレーティングシステムの実行 | |
KR100537813B1 (ko) | 에뮬레이션 코프로세서 | |
US8429669B2 (en) | Virtual machine switching control by prefetching information out of and updating a set of processor control information based on a bitmap having update status | |
US8239610B2 (en) | Asynchronous page faults for virtual machines | |
KR101668399B1 (ko) | 프로세서 코어들의 하이퍼바이저 격리 | |
JP5071913B2 (ja) | 同時物理プロセッサ再割り当て方法、システム、およびプログラム | |
JP5945292B2 (ja) | 異種システムをブートし、コアの対称的なビューを表示する方法 | |
EP1915681A1 (en) | Method and apparatus for supporting universal serial bus devices in a virtualized environment | |
JPS61184643A (ja) | 仮想計算機の起動制御方式 | |
CN114579264A (zh) | 处理装置、处理系统和处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090324 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20090623 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100629 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100928 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110201 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110218 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4690988 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140225 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |