JP2007506199A - マルチスレッディングのスレッド管理の方法および装置 - Google Patents
マルチスレッディングのスレッド管理の方法および装置 Download PDFInfo
- Publication number
- JP2007506199A JP2007506199A JP2006527169A JP2006527169A JP2007506199A JP 2007506199 A JP2007506199 A JP 2007506199A JP 2006527169 A JP2006527169 A JP 2006527169A JP 2006527169 A JP2006527169 A JP 2006527169A JP 2007506199 A JP2007506199 A JP 2007506199A
- Authority
- JP
- Japan
- Prior art keywords
- thread
- threads
- current thread
- helper
- resource
- 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
- 238000007726 management method Methods 0.000 title abstract description 4
- 238000000034 method Methods 0.000 claims abstract description 59
- 238000012545 processing Methods 0.000 claims abstract description 47
- 230000008569 process Effects 0.000 claims description 29
- 238000004891 communication Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 20
- 238000005457 optimization Methods 0.000 description 13
- 238000004458 analytical method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000013468 resource allocation Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/441—Register allocation; Assignment of physical memory space to logical memory space
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Remote Monitoring And Control Of Power-Distribution Networks (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Time-Division Multiplex Systems (AREA)
Abstract
【解決手段】一実施形態において、典型的な処理は、データ処理ユニット中の一つ以上の実行ファイルを有するコードの編集中に、最も下部の順を有するカレントスレッドを選択する段階と、カレントスレッドから生成された一つ以上の子スレッドに割り当てるリソースを決定する段階と、カレントスレッドと当該カレントスレッドの一つ以上の子スレッドとの間のリソースコンフリクトを避けるために、カレントスレッドの一つ以上の子スレッドに割り当てられたリソースに考慮して、カレントスレッドにリソースを割り当てる段階とを備える。他の方法および装置もまた開示されている。
Description
Claims (20)
- データ処理ユニット中の一つ以上の実行ファイルを有するコードの編集中に、最も下部の順を有するカレントスレッドを選択する選択段階と、
前記カレントスレッドから生成された一つ以上の子スレッドに割り当てるリソースを決定する決定段階と、
前記カレントスレッドと当該カレントスレッドの一つ以上の子スレッドとの間のリソースコンフリクトを避けるために、前記カレントスレッドの一つ以上の子スレッドに割り当てられたリソースに考慮して、前記カレントスレッドにリソースを割り当てる割り当て段階とを備える方法。 - 前記リソースが、前記各々のスレッドによって使用される少なくとも一つのハードウェアレジスタおよびメモリを含む請求項1に記載の方法。
- 前記一つ以上の子スレッドに割り当てられた前記リソースが、前記カレントスレッドによってアクセス可能なデータ構造中に記録される
請求項1に記載の方法。 - 前記カレントスレッドに割り当てられた前記リソースに関してのデータ構造中のリソース情報をアップデートする段階を更に備え、
前記データ構造が前記カレントスレッドの親スレッドによってアクセス可能である請求項1に記載の方法。 - 一つ以上の前記スレッドのそれぞれが実行されるまで、ボトムアップの順に、前記選択段階、前記決定段階、および前記割り当て段階を繰り返す段階を更に備える請求項1に記載の方法。
- 前記一つ以上のスレッドのそれぞれが実行された後に、前記一つ以上のスレッドの親スレッドである主要スレッドにリソースを割り当てる段階を更に備え、
前記主要スレッドの前記リソースが、前記一つ以上のスレッドに割り当てられたりソースを考慮して割り当てられる請求項5に記載の方法。 - 前記カレントスレッドに前記リソースを割り当てる前記段階に優先して、前記データ処理システム内にリソースが残っているか否か決定する段階と、
前記カレントスレッドの少なくとも一つの子スレッドを消去する段階と、
前記少なくとも一つの消去された子スレッドに関連付けられる前記リソースを用いて前記カレントスレッドに前記リソースを割り当てる段階とを更に備える請求項1に記載の方法。 - 装置に方法を実行させる実行コードを有する機械可読な媒体であって、前記方法が、
データ処理ユニット中の一つ以上の実行ファイルを有するコードの編集中に、最も下部の順を有するカレントスレッドを選択する段階と、
前記カレントスレッドから生成された一つ以上の子スレッドに割り当てるリソースを決定する段階と、
前記カレントスレッドと当該カレントスレッドの一つ以上の子スレッドとの間のリソースコンフリクトを避けるために、前記カレントスレッドの一つ以上の子スレッドに割り当てられたリソースに考慮して、前記カレントスレッドにリソースを割り当てる段階とを備える機械可読な媒体。 - 前記リソースが、前記各々のスレッドによって使用される少なくとも一つのハードウェアレジスタおよびメモリを含む請求項8に記載の機械可読な媒体。
- 前記一つ以上の子スレッドに割り当てられた前記リソースが、前記カレントスレッドによってアクセス可能なデータ構造中に記録される請求項8に記載の機械可読な媒体。
- 前記カレントスレッドに割り当てられた前記リソースに関してのデータ構造中のリソース情報をアップデートする段階を更に備え、前記データ構造が前記カレントスレッドの親スレッドによってアクセス可能である請求項1に記載の方法。
- 前記方法が、
一つ以上の前記スレッドのそれぞれが実行されるまで、ボトムアップの順に、前記選択段階、前記決定段階、および前記割り当て段階を繰り返す段階を更に備える請求項8に記載の機械可読な媒体。 - 前記方法が、前記一つ以上のスレッドのそれぞれが実行された後に、前記一つ以上のスレッドの親スレッドである主要スレッドにリソースを割り当てる段階を更に備える請求項12に記載の機械可読な媒体。
- 前記方法が、
前記カレントスレッドに前記リソースを割り当てる前記段階に優先して、前記データ処理システム内にリソースが残っているか否か決定する段階と、
前記カレントスレッドの少なくとも一つの子スレッドを消去する段階と、
前記少なくとも一つの消去された子スレッドに関連付けられる前記リソースを用いて前記カレントスレッドに前記リソースを割り当てる段階とを更に備える請求項8に記載の機械可読な媒体。 - マルチスレッディングオペレーションの実行ができるプロセッサと、前記プロセッサに結合するメモリを備え、前記メモリから前記プロセッサによって実行される処理が、前記プロセッサに、
データ処理ユニット中の一つ以上の実行ファイルを有するコードの編集中に、最も下部の順を有するカレントスレッドを選択し、
前記カレントスレッドから生成された一つ以上の子スレッドに割り当てるリソースを決定し、
前記カレントスレッドと当該カレントスレッドの一つ以上の子スレッドとの間のリソースコンフリクトを避けるために、前記カレントスレッドの一つ以上の子スレッドに割り当てられたリソースに考慮して、前記カレントスレッドにリソースを割り当てることを引き起こすデータ処理システム。 - 前記処理が、前記プロセッサに、前記カレントスレッドに割り当てられた前記リソースに関してのデータ構造中のリソース情報をアップデートすることを更に引き起こし、前記データ構造が前記カレントスレッドの親スレッドによってアクセス可能である請求項15に記載のデータ処理システム。
- 前記処理が、前記プロセッサに、一つ以上の前記スレッドのそれぞれが実行されるまで、ボトムアップの順に、前記選択段階、前記決定段階、および前記割り当て段階を繰り返すことを更に引き起こす請求項16に記載のデータ処理システム。
- 前記処理が、前記プロセッサに、前記一つ以上のスレッドのそれぞれが実行された後に、前記一つ以上のスレッドの親スレッドである主要スレッドにリソースを割り当てることを更に引き起こし、前記主要スレッドの前記リソースが、前記一つ以上のスレッドに割り当てられたりソースを考慮して割り当てられる請求項17に記載のデータ処理システム。
- 前記処理が、前記プロセッサに、
前記カレントスレッドに前記リソースを割り当てる前記段階に優先して、前記データ処理システム内にリソースが残っているか否か決定し、
前記カレントスレッドの少なくとも一つの子スレッドを消去し、
前記少なくとも一つの消去された子スレッドに関連付けられる前記リソースを用いて前記カレントスレッドに前記リソースを割り当てることを更に引き起こす請求項15に記載のデータ処理システム。 - 前記リソースが、前記隠すレッドによって使用される少なくとも一つのハードウエアレジスタおよびメモリを含む請求項15に記載のデータ処理システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/676,581 US20050071841A1 (en) | 2003-09-30 | 2003-09-30 | Methods and apparatuses for thread management of mult-threading |
PCT/US2004/032075 WO2005033936A1 (en) | 2003-09-30 | 2004-09-29 | Methods and apparatuses for thread management of multi-threading |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2007506199A true JP2007506199A (ja) | 2007-03-15 |
JP2007506199A5 JP2007506199A5 (ja) | 2009-06-18 |
JP4528300B2 JP4528300B2 (ja) | 2010-08-18 |
Family
ID=34377426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006527169A Expired - Fee Related JP4528300B2 (ja) | 2003-09-30 | 2004-09-29 | マルチスレッディングのスレッド管理の方法および装置 |
Country Status (7)
Country | Link |
---|---|
US (2) | US20050071841A1 (ja) |
EP (1) | EP1668500B1 (ja) |
JP (1) | JP4528300B2 (ja) |
CN (1) | CN100578453C (ja) |
AT (1) | ATE465446T1 (ja) |
DE (1) | DE602004026750D1 (ja) |
WO (1) | WO2005033936A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011141743A (ja) * | 2010-01-07 | 2011-07-21 | Nec Corp | マルチプロセッサ、これを用いたコンピュータシステム、およびマルチプロセッサの処理方法 |
JP7476638B2 (ja) | 2020-04-15 | 2024-05-01 | 株式会社デンソー | マルチプロセッサシステム |
Families Citing this family (91)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7337442B2 (en) * | 2002-12-03 | 2008-02-26 | Microsoft Corporation | Methods and systems for cooperative scheduling of hardware resource elements |
US20040243767A1 (en) * | 2003-06-02 | 2004-12-02 | Cierniak Michal J. | Method and apparatus for prefetching based upon type identifier tags |
US20050071841A1 (en) * | 2003-09-30 | 2005-03-31 | Hoflehner Gerolf F. | Methods and apparatuses for thread management of mult-threading |
US7206795B2 (en) * | 2003-12-22 | 2007-04-17 | Jean-Pierre Bono | Prefetching and multithreading for improved file read performance |
US7448037B2 (en) * | 2004-01-13 | 2008-11-04 | International Business Machines Corporation | Method and data processing system having dynamic profile-directed feedback at runtime |
US7707543B2 (en) * | 2004-11-24 | 2010-04-27 | Siemens Aktiengesellschaft | Architecture for a computer-based development environment with self-contained components and a threading model |
US7870081B2 (en) * | 2004-12-31 | 2011-01-11 | Intel Corporation | Parallelization of bayesian network structure learning |
US8230422B2 (en) * | 2005-01-13 | 2012-07-24 | International Business Machines Corporation | Assist thread for injecting cache memory in a microprocessor |
US20060212450A1 (en) * | 2005-03-18 | 2006-09-21 | Microsoft Corporation | Temporary master thread |
US7472256B1 (en) | 2005-04-12 | 2008-12-30 | Sun Microsystems, Inc. | Software value prediction using pendency records of predicted prefetch values |
US8010969B2 (en) * | 2005-06-13 | 2011-08-30 | Intel Corporation | Mechanism for monitoring instruction set based thread execution on a plurality of instruction sequencers |
US20070094213A1 (en) * | 2005-07-14 | 2007-04-26 | Chunrong Lai | Data partitioning and critical section reduction for Bayesian network structure learning |
US20070094214A1 (en) * | 2005-07-15 | 2007-04-26 | Li Eric Q | Parallelization of bayesian network structure learning |
US7774779B2 (en) * | 2005-11-18 | 2010-08-10 | At&T Intellectual Property I, L.P. | Generating a timeout in a computer software application |
US9003421B2 (en) * | 2005-11-28 | 2015-04-07 | Intel Corporation | Acceleration threads on idle OS-visible thread execution units |
US8087018B2 (en) * | 2006-03-31 | 2011-12-27 | Intel Corporation | Managing and supporting multithreaded resources for native code in a heterogeneous managed runtime environment |
US9754265B2 (en) * | 2006-05-01 | 2017-09-05 | At&T Intellectual Property I, L.P. | Systems and methods to automatically activate distribution channels provided by business partners |
US8726279B2 (en) * | 2006-05-06 | 2014-05-13 | Nvidia Corporation | System for multi threaded multi processor sharing of asynchronous hardware units |
US8056083B2 (en) | 2006-10-10 | 2011-11-08 | Diskeeper Corporation | Dividing a computer job into micro-jobs for execution |
US9588809B2 (en) * | 2006-10-10 | 2017-03-07 | Invistasking LLC | Resource-based scheduler |
US8239869B2 (en) * | 2006-06-19 | 2012-08-07 | Condusiv Technologies Corporation | Method, system and apparatus for scheduling computer micro-jobs to execute at non-disruptive times and modifying a minimum wait time between the utilization windows for monitoring the resources |
US20080140762A1 (en) * | 2006-10-05 | 2008-06-12 | Holt John M | Job scheduling amongst multiple computers |
CN100430898C (zh) * | 2006-12-20 | 2008-11-05 | 金魁 | 一种多线程管理的应用系统 |
US7584346B1 (en) * | 2007-01-25 | 2009-09-01 | Sun Microsystems, Inc. | Method and apparatus for supporting different modes of multi-threaded speculative execution |
US8447933B2 (en) | 2007-03-06 | 2013-05-21 | Nec Corporation | Memory access control system, memory access control method, and program thereof |
US10452820B2 (en) * | 2007-06-26 | 2019-10-22 | International Business Machines Corporation | Thread-based software license management |
US8219989B2 (en) * | 2007-08-02 | 2012-07-10 | International Business Machines Corporation | Partition adjunct with non-native device driver for facilitating access to a physical input/output device |
US8645974B2 (en) * | 2007-08-02 | 2014-02-04 | International Business Machines Corporation | Multiple partition adjunct instances interfacing multiple logical partitions to a self-virtualizing input/output device |
US9223580B2 (en) * | 2007-08-30 | 2015-12-29 | International Business Machines Corporation | Systems, methods and computer products for cross-thread scheduling |
US8544006B2 (en) * | 2007-12-19 | 2013-09-24 | International Business Machines Corporation | Resolving conflicts by restarting execution of failed discretely executable subcomponent using register and memory values generated by main component after the occurrence of a conflict |
US8413151B1 (en) | 2007-12-19 | 2013-04-02 | Nvidia Corporation | Selective thread spawning within a multi-threaded processing system |
US8312455B2 (en) * | 2007-12-19 | 2012-11-13 | International Business Machines Corporation | Optimizing execution of single-threaded programs on a multiprocessor managed by compilation |
US8321840B2 (en) * | 2007-12-27 | 2012-11-27 | Intel Corporation | Software flow tracking using multiple threads |
CN101482831B (zh) * | 2008-01-08 | 2013-05-15 | 国际商业机器公司 | 对工作线程与辅助线程进行相伴调度的方法和设备 |
US8601241B2 (en) * | 2008-02-01 | 2013-12-03 | International Business Machines Corporation | General purpose register cloning |
US8359589B2 (en) * | 2008-02-01 | 2013-01-22 | International Business Machines Corporation | Helper thread for pre-fetching data |
US8707016B2 (en) * | 2008-02-01 | 2014-04-22 | International Business Machines Corporation | Thread partitioning in a multi-core environment |
US8775778B2 (en) * | 2008-02-01 | 2014-07-08 | International Business Machines Corporation | Use of a helper thread to asynchronously compute incoming data |
GB0808575D0 (en) * | 2008-05-12 | 2008-06-18 | Xmos Ltd | Compilign and linking |
GB0808576D0 (en) * | 2008-05-12 | 2008-06-18 | Xmos Ltd | Compiling and linking |
US8615770B1 (en) | 2008-08-29 | 2013-12-24 | Nvidia Corporation | System and method for dynamically spawning thread blocks within multi-threaded processing systems |
US8959497B1 (en) * | 2008-08-29 | 2015-02-17 | Nvidia Corporation | System and method for dynamically spawning thread blocks within multi-threaded processing systems |
US20100153934A1 (en) * | 2008-12-12 | 2010-06-17 | Peter Lachner | Prefetch for systems with heterogeneous architectures |
US8583700B2 (en) * | 2009-01-02 | 2013-11-12 | International Business Machines Corporation | Creation of date window for record selection |
KR101572879B1 (ko) | 2009-04-29 | 2015-12-01 | 삼성전자주식회사 | 병렬 응용 프로그램을 동적으로 병렬처리 하는 시스템 및 방법 |
US8214831B2 (en) * | 2009-05-05 | 2012-07-03 | International Business Machines Corporation | Runtime dependence-aware scheduling using assist thread |
JP5452125B2 (ja) * | 2009-08-11 | 2014-03-26 | クラリオン株式会社 | データ処理装置及びデータ処理方法 |
US8056080B2 (en) * | 2009-08-31 | 2011-11-08 | International Business Machines Corporation | Multi-core/thread work-group computation scheduler |
US8468539B2 (en) * | 2009-09-03 | 2013-06-18 | International Business Machines Corporation | Tracking and detecting thread dependencies using speculative versioning cache |
US8561046B2 (en) * | 2009-09-14 | 2013-10-15 | Oracle America, Inc. | Pipelined parallelization with localized self-helper threading |
US8667260B2 (en) * | 2010-03-05 | 2014-03-04 | International Business Machines Corporation | Building approximate data dependences with a moving window |
US8612730B2 (en) | 2010-06-08 | 2013-12-17 | International Business Machines Corporation | Hardware assist thread for dynamic performance profiling |
US8667253B2 (en) | 2010-08-04 | 2014-03-04 | International Business Machines Corporation | Initiating assist thread upon asynchronous event for processing simultaneously with controlling thread and updating its running status in status register |
US8413158B2 (en) * | 2010-09-13 | 2013-04-02 | International Business Machines Corporation | Processor thread load balancing manager |
US8713290B2 (en) * | 2010-09-20 | 2014-04-29 | International Business Machines Corporation | Scaleable status tracking of multiple assist hardware threads |
US8793474B2 (en) | 2010-09-20 | 2014-07-29 | International Business Machines Corporation | Obtaining and releasing hardware threads without hypervisor involvement |
US8561070B2 (en) * | 2010-12-02 | 2013-10-15 | International Business Machines Corporation | Creating a thread of execution in a computer processor without operating system intervention |
US8832672B2 (en) * | 2011-01-28 | 2014-09-09 | International Business Machines Corporation | Ensuring register availability for dynamic binary optimization |
US9471373B2 (en) | 2011-09-24 | 2016-10-18 | Elwha Llc | Entitlement vector for library usage in managing resource allocation and scheduling based on usage and priority |
US9558034B2 (en) | 2011-07-19 | 2017-01-31 | Elwha Llc | Entitlement vector for managing resource allocation |
US9298918B2 (en) | 2011-11-30 | 2016-03-29 | Elwha Llc | Taint injection and tracking |
US9443085B2 (en) | 2011-07-19 | 2016-09-13 | Elwha Llc | Intrusion detection using taint accumulation |
US9798873B2 (en) | 2011-08-04 | 2017-10-24 | Elwha Llc | Processor operable to ensure code integrity |
US9460290B2 (en) | 2011-07-19 | 2016-10-04 | Elwha Llc | Conditional security response using taint vector monitoring |
US9575903B2 (en) | 2011-08-04 | 2017-02-21 | Elwha Llc | Security perimeter |
US9465657B2 (en) * | 2011-07-19 | 2016-10-11 | Elwha Llc | Entitlement vector for library usage in managing resource allocation and scheduling based on usage and priority |
CN102629192A (zh) * | 2012-04-20 | 2012-08-08 | 西安电子科技大学 | 用于片上多核并发多线程处理器的指令包及其操作方法 |
US9021493B2 (en) * | 2012-09-14 | 2015-04-28 | International Business Machines Corporation | Management of resources within a computing environment |
CN103218453A (zh) * | 2013-04-28 | 2013-07-24 | 南京龙渊微电子科技有限公司 | 一种文件拆分方法及装置 |
US10725889B2 (en) * | 2013-08-28 | 2020-07-28 | Micro Focus Llc | Testing multi-threaded applications |
US9417918B2 (en) * | 2013-11-20 | 2016-08-16 | International Business Machines Corporation | Computing session workload scheduling and management of parent-child tasks |
US9772867B2 (en) * | 2014-03-27 | 2017-09-26 | International Business Machines Corporation | Control area for managing multiple threads in a computer |
US9396044B2 (en) * | 2014-04-25 | 2016-07-19 | Sony Corporation | Memory efficient thread-level speculation |
US9423961B2 (en) * | 2014-09-08 | 2016-08-23 | Apple Inc. | Method to enhance programming performance in multilevel NVM devices |
US9348644B2 (en) | 2014-10-08 | 2016-05-24 | International Business Machines Corporation | Application-level dispatcher control of application-level pseudo threads and operating system threads |
US9529568B1 (en) * | 2014-12-19 | 2016-12-27 | Amazon Technologies, Inc. | Systems and methods for low interference logging and diagnostics |
CN106201853A (zh) * | 2015-04-30 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 测试方法及装置 |
CN106407197B (zh) * | 2015-07-28 | 2020-06-30 | 北京京东尚科信息技术有限公司 | 遍历数据的方法及装置 |
US20170031724A1 (en) * | 2015-07-31 | 2017-02-02 | Futurewei Technologies, Inc. | Apparatus, method, and computer program for utilizing secondary threads to assist primary threads in performing application tasks |
US20170372448A1 (en) * | 2016-06-28 | 2017-12-28 | Ingo Wald | Reducing Memory Access Latencies During Ray Traversal |
CN106445703A (zh) * | 2016-09-22 | 2017-02-22 | 济南浪潮高新科技投资发展有限公司 | 一种解决数据传输中防并发脏读方法 |
CN106547612B (zh) * | 2016-10-18 | 2020-10-20 | 深圳怡化电脑股份有限公司 | 一种多任务处理方法及装置 |
CN109766131B (zh) * | 2017-11-06 | 2022-04-01 | 上海宝信软件股份有限公司 | 基于多线程技术实现软件智能化自动升级的系统及方法 |
CN108345505B (zh) * | 2018-02-02 | 2022-08-30 | 珠海金山网络游戏科技有限公司 | 一种多线程资源管理方法和系统 |
US10754706B1 (en) * | 2018-04-16 | 2020-08-25 | Microstrategy Incorporated | Task scheduling for multiprocessor systems |
CN110879748B (zh) * | 2018-09-06 | 2023-06-13 | 阿里巴巴集团控股有限公司 | 一种共享资源分配方法、装置和设备 |
US10802882B2 (en) * | 2018-12-13 | 2020-10-13 | International Business Machines Corporation | Accelerating memory access in a network using thread progress based arbitration |
US11188593B1 (en) * | 2018-12-28 | 2021-11-30 | Pivotal Software, Inc. | Reactive programming database interface |
US11314718B2 (en) * | 2019-11-21 | 2022-04-26 | International Business Machines Corporation | Shared disk buffer pool update and modification |
CN111190961B (zh) * | 2019-12-18 | 2023-09-29 | 航天信息股份有限公司 | 一种动态优化的多线程数据同步方法及系统 |
CN114090270B (zh) * | 2022-01-21 | 2022-05-20 | 武汉中科通达高新技术股份有限公司 | 线程管理方法、装置、电子设备及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1097435A (ja) * | 1996-09-20 | 1998-04-14 | Nec Corp | 資源割当てシステム |
JP2003015892A (ja) * | 2001-06-29 | 2003-01-17 | Casio Comput Co Ltd | 情報端末装置及びアプリケーション管理プログラム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6363410B1 (en) * | 1994-12-13 | 2002-03-26 | Microsoft Corporation | Method and system for threaded resource allocation and reclamation |
US6233599B1 (en) * | 1997-07-10 | 2001-05-15 | International Business Machines Corporation | Apparatus and method for retrofitting multi-threaded operations on a computer by partitioning and overlapping registers |
US6567839B1 (en) * | 1997-10-23 | 2003-05-20 | International Business Machines Corporation | Thread switch control in a multithreaded processor system |
EP0964333A1 (en) * | 1998-06-10 | 1999-12-15 | Sun Microsystems, Inc. | Resource management |
WO2001075732A1 (en) * | 2000-03-31 | 2001-10-11 | Stephen Meade | Method, system, and computer-usable medium for computer-assisted trading |
US7124403B2 (en) * | 2001-08-15 | 2006-10-17 | Sun Microsystems, Inc. | Methods and apparatus for managing defunct processes |
US7328242B1 (en) * | 2001-11-09 | 2008-02-05 | Mccarthy Software, Inc. | Using multiple simultaneous threads of communication |
US7509643B2 (en) * | 2003-03-24 | 2009-03-24 | Sun Microsystems, Inc. | Method and apparatus for supporting asymmetric multi-threading in a computer system |
US7313795B2 (en) * | 2003-05-27 | 2007-12-25 | Sun Microsystems, Inc. | Method and system for managing resource allocation in non-uniform resource access computer systems |
US7415699B2 (en) * | 2003-06-27 | 2008-08-19 | Hewlett-Packard Development Company, L.P. | Method and apparatus for controlling execution of a child process generated by a modified parent process |
US20050071841A1 (en) * | 2003-09-30 | 2005-03-31 | Hoflehner Gerolf F. | Methods and apparatuses for thread management of mult-threading |
-
2003
- 2003-09-30 US US10/676,581 patent/US20050071841A1/en not_active Abandoned
-
2004
- 2004-02-13 US US10/779,193 patent/US7398521B2/en not_active Expired - Fee Related
- 2004-09-29 DE DE602004026750T patent/DE602004026750D1/de not_active Expired - Lifetime
- 2004-09-29 WO PCT/US2004/032075 patent/WO2005033936A1/en active Application Filing
- 2004-09-29 CN CN200480027177A patent/CN100578453C/zh not_active Expired - Fee Related
- 2004-09-29 AT AT04785288T patent/ATE465446T1/de not_active IP Right Cessation
- 2004-09-29 EP EP04785288A patent/EP1668500B1/en not_active Expired - Lifetime
- 2004-09-29 JP JP2006527169A patent/JP4528300B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1097435A (ja) * | 1996-09-20 | 1998-04-14 | Nec Corp | 資源割当てシステム |
JP2003015892A (ja) * | 2001-06-29 | 2003-01-17 | Casio Comput Co Ltd | 情報端末装置及びアプリケーション管理プログラム |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011141743A (ja) * | 2010-01-07 | 2011-07-21 | Nec Corp | マルチプロセッサ、これを用いたコンピュータシステム、およびマルチプロセッサの処理方法 |
JP7476638B2 (ja) | 2020-04-15 | 2024-05-01 | 株式会社デンソー | マルチプロセッサシステム |
Also Published As
Publication number | Publication date |
---|---|
EP1668500B1 (en) | 2010-04-21 |
US20050071841A1 (en) | 2005-03-31 |
US7398521B2 (en) | 2008-07-08 |
US20050081207A1 (en) | 2005-04-14 |
CN1853166A (zh) | 2006-10-25 |
DE602004026750D1 (de) | 2010-06-02 |
ATE465446T1 (de) | 2010-05-15 |
CN100578453C (zh) | 2010-01-06 |
EP1668500A1 (en) | 2006-06-14 |
JP4528300B2 (ja) | 2010-08-18 |
WO2005033936A1 (en) | 2005-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4528300B2 (ja) | マルチスレッディングのスレッド管理の方法および装置 | |
JP4701174B2 (ja) | マルチスレッディングのためのコンパイラが生成したヘルパースレッドの方法および装置 | |
JP4003830B2 (ja) | マルチプロセッシング環境における透過動的最適化のための方法およびシステム | |
Franklin et al. | ARB: A hardware mechanism for dynamic reordering of memory references | |
US20180060049A1 (en) | Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads | |
US8037465B2 (en) | Thread-data affinity optimization using compiler | |
JP5547208B2 (ja) | シーケンシャル・プログラムを複数スレッドに分解し、スレッドを実行し、シーケンシャルな実行を再構成するシステム、方法および装置 | |
US9690583B2 (en) | Exploiting an architected list-use operand indication in a computer system operand resource pool | |
US9690589B2 (en) | Computer instructions for activating and deactivating operands | |
US20130166886A1 (en) | Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads | |
Dorai et al. | Transparent threads: Resource sharing in SMT processors for high single-thread performance | |
US20160162406A1 (en) | Systems, Methods, and Apparatuses to Decompose a Sequential Program Into Multiple Threads, Execute Said Threads, and Reconstruct the Sequential Execution | |
WO2007055889A1 (en) | Facilitating communication and synchronization between main and scout threads | |
JP2006092532A (ja) | 最近アクセスしたリソースのデータ局所性の増加 | |
KR100738777B1 (ko) | 정보 처리 시스템에서 병렬 처리되는 작업들간의 데이터 종속성의 대략적인 결정을 위한 컴퓨터 시스템 동작 방법 및 장치 | |
Taura et al. | Fine-grain multithreading with minimal compiler support—a cost effective approach to implementing efficient multithreading languages | |
Kyriacou et al. | Cacheflow: A short-term optimal cache management policy for data driven multithreading | |
Lankamp | Developing a reference implementation for a microgrid of microthreaded microprocessors | |
Wang et al. | Smarq: Software-managed alias register queue for dynamic optimizations | |
Ying | Scaling sequential code with hardware-software co-design for fine-grain speculative parallelization | |
Renau et al. | TLS Chip Multiprocessors: Micro-Architectural Mechanisms for Fast Tasking with Out-of-Order Spawn Draft paper submitted for publication. November 6, 2003. Please keep confidential |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090120 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20090420 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091020 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100119 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100126 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100219 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100226 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100318 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100326 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100419 |
|
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: 20100518 |
|
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: 20100604 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130611 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |