RU2016127444A - Восстановление контекста потока в многопоточной компьютерной системе - Google Patents
Восстановление контекста потока в многопоточной компьютерной системе Download PDFInfo
- Publication number
- RU2016127444A RU2016127444A RU2016127444A RU2016127444A RU2016127444A RU 2016127444 A RU2016127444 A RU 2016127444A RU 2016127444 A RU2016127444 A RU 2016127444A RU 2016127444 A RU2016127444 A RU 2016127444A RU 2016127444 A RU2016127444 A RU 2016127444A
- Authority
- RU
- Russia
- Prior art keywords
- mode
- stream
- context
- configuration
- last
- Prior art date
Links
- 238000000034 method Methods 0.000 claims 10
- 230000009849 deactivation Effects 0.000 claims 8
- 238000004140 cleaning Methods 0.000 claims 5
- 238000004590 computer program Methods 0.000 claims 4
- 238000004519 manufacturing process Methods 0.000 claims 3
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/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- 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/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- 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/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)
- Hardware Redundancy (AREA)
- Executing Machine-Instructions (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
- Advance Control (AREA)
Claims (38)
1. Компьютерная система, содержащая:
- конфигурацию, содержащую ядро, конфигурируемое между режимом единственного потока (ST) и многопоточным (МТ) режимом, причем режим ST адресует первичный поток, а режим МТ адресует первичный поток, а также один или несколько вторичных потоков на совместно используемых ресурсах ядра, и
- средство многопоточности, конфигурируемое для управления использованием конфигурации для выполнения способа, содержащего:
- деактивацию одного или нескольких вторичных потоков на основании переключения от режима МТ к режиму ST в ответ на сброс или деактивацию конфигурации, причем контекст потока, содержащий значения программно-доступных регистров и значения счетчика программы одного или нескольких вторичных потоков, делается недоступным для программ,
- производство запроса, при выполнении в режиме ST, на заданный последним максимальный уровень МТ для выявления заданного последним программно-задаваемого максимального ID потока конфигурации, причем заданный последним программно-задаваемый максимальный ID потока конфигурации указывает на то, является ли доступным контекст потока одного или нескольких вторичных потоков после переключения, и
- на основании заданного последним программно-задаваемого максимального ID потока, указывающего на то, что контекст потока одного или нескольких вторичных потоков является доступным после переключения, получение контекста потока одного или нескольких вторичных потоков путем выполнения этапов А) и Б), содержащих:
А) выполнение команды задания МТ для возобновления режима МТ, и
Б) получение доступа к контексту потока одного или нескольких вторичных потоков на основании нахождения в возобновленном режиме МТ.
2. Компьютерная система по п. 1, причем команда задания МТ является командой процессора обработки сигналов, содержащей распоряжение на задание МТ и программно-задаваемый максимальный ID потока, указывающий на МТ.
3. Компьютерная система по п. 1, содержащая, кроме того, сохранение контекста потока одного или нескольких вторичных потоков на основании переключения на режим ST.
4. Компьютерная система по п. 1, причем переключение от режима МТ к режиму ST производится в ответ на операцию по сбросу без очистки, и кроме того, выполнение команды задания МТ для возобновления режима МТ и получение доступа к контексту потока одного или нескольких вторичных потоков выполняется посредством автономной программы разгрузки.
5. Компьютерная система по п. 4, причем автономная программа разгрузки задает последний программно-задаваемый максимальный ID потока в качестве программно-задаваемого максимального ID потока при выпуске распоряжения на задание МТ для возобновления режима МТ.
6. Компьютерная система по п. 1, причем сброс с очисткой выполняется до загрузки не поддерживающей МТ в конфигурации операционной системы для предотвращения попыток осведомленной о МТ автономной программы разгрузки разгрузить из конфигурации какие-либо вторичные потоки.
7. Компьютерная система по п. 1, причем осведомленная о МТ, но не использующая МТ программа выпускает распоряжение на задание МТ с соответствующим максимальным ID потока с нулевым значением до выполнения автономной программы разгрузки для конфигурации.
8. Компьютерная система по п. 1, причем последний программно-задаваемый максимальный ID потока удерживается до осуществления чистого сброса или деактивации конфигурации.
9. Компьютерно-реализуемый способ восстановления контекста потока в конфигурации, содержащей ядро, конфигурируемое между режимом единственного потока (ST) и многопоточным (МТ) режимом, причем режим ST адресует первичный поток, а режим МТ адресует первичный поток, а также один или несколько вторичных потоков на совместно используемых ресурсах ядра, причем способ содержит:
- деактивацию одного или нескольких вторичных потоков на основании переключения от режима МТ к режиму ST в ответ на сброс или деактивацию конфигурации, причем контекст потока, содержащий значения программно-доступных регистров и значения счетчика программы одного или нескольких вторичных потоков, делается недоступным для программ,
- производство запроса, при выполнении в режиме ST, на заданный последним максимальный уровень МТ для выявления заданного последним программно-задаваемого максимального ID потока конфигурации, причем заданный последним программно-задаваемый максимальный ID потока конфигурации указывает на то, является ли доступным контекст потока одного или нескольких вторичных потоков после переключения, и
- на основании заданного последним программно-задаваемого максимального ID потока, указывающего на то, что контекст потока одного или нескольких вторичных потоков является доступным после переключения, получение контекста потока одного или нескольких вторичных потоков путем выполнения этапов А) и Б), содержащих:
А) выполнение команды задания МТ для возобновления режима МТ, и
Б) получение доступа к контексту потока одного или нескольких вторичных потоков на основании нахождения в возобновленном режиме МТ.
10. Способ по п. 9, причем команда задания МТ является командой процессора обработки сигналов, содержащей распоряжение на задание МТ и программно-задаваемый максимальный ID потока, указывающий на МТ.
11. Способ по п. 9, содержащий, кроме того, сохранение контекста потока одного или нескольких вторичных потоков на основании переключения на режим ST.
12. Способ по п. 9, причем переключение от режима МТ к режиму ST производится в ответ на операцию по сбросу без очистки, и кроме того, выполнение команды задания МТ для возобновления режима МТ и получение доступа к контексту потока одного или нескольких вторичных потоков выполняется посредством автономной программы разгрузки.
13. Способ по п. 12, причем автономная программа разгрузки задает последний программно-задаваемый максимальный ID потока в качестве программно-задаваемого максимального ID потока при выпуске распоряжения на задание МТ для возобновления режима МТ.
14. Способ по п. 9, причем сброс с очисткой выполняется до загрузки не поддерживающей МТ в конфигурации операционной системы для предотвращения попыток осведомленной о МТ автономной программы разгрузки разгрузить из конфигурации какие-либо вторичные потоки.
15. Способ по п. 9, причем осведомленная о МТ, но не использующая МТ программа выпускает распоряжение на задание МТ с соответствующим максимальным ID потока с нулевым значением до выполнения автономной программы разгрузки для конфигурации.
16. Компьютерный программный продукт для восстановления контекста потока в конфигурации, содержащей ядро, конфигурируемое между режимом единственного потока (ST) и многопоточным (МТ) режимом, причем режим ST адресует первичный поток, а режим МТ адресует первичный поток, а также один или несколько вторичных потоков на совместно используемых ресурсах ядра, причем компьютерный программный продукт содержит:
- машиночитаемый информационный носитель, имеющий заключенные в него программные команды, причем машиночитаемый информационный носитель не является сигналом, а программные команды являются считываемыми посредством устройства обработки данных для принуждения устройства обработки данных к выполнению способа, содержащего:
- деактивацию одного или нескольких вторичных потоков на основании переключения от режима МТ к режиму ST в ответ на сброс или деактивацию конфигурации, причем контекст потока, содержащий значения программно-доступных регистров и значения счетчика программы одного или нескольких вторичных потоков, делается недоступным для программ,
- производство запроса, при выполнении в режиме ST, на заданный последним максимальный уровень МТ для выявления заданного последним программно-задаваемого максимального ID потока конфигурации, причем заданный последним программно-задаваемый максимальный ID потока конфигурации указывает на то, является ли доступным контекст потока одного или нескольких вторичных потоков после переключения, и
- на основании заданного последним программно-задаваемого максимального ID потока, указывающего на то, что контекст потока одного или нескольких вторичных потоков является доступным после переключения, получение контекста потока одного или нескольких вторичных потоков путем выполнения этапов А) и Б), содержащих:
А) выполнение команды задания МТ для возобновления режима МТ, и
Б) получение доступа к контексту потока одного или нескольких вторичных потоков на основании нахождения в возобновленном режиме МТ.
17. Компьютерный программный продукт по п. 16, причем команда задания МТ является командой процессора обработки сигналов, содержащей распоряжение на задание МТ и программно-задаваемый максимальный ID потока, указывающий на МТ.
18. Компьютерный программный продукт по п. 16, содержащая, кроме того, сохранение контекста потока одного или нескольких вторичных потоков на основании переключения на режим ST.
19. Компьютерный программный продукт по п. 16, причем переключение от режима МТ к режиму ST производится в ответ на операцию по сбросу без очистки, и кроме того, выполнение команды задания МТ для возобновления режима МТ и получение доступа к контексту потока одного или нескольких вторичных потоков выполняется посредством автономной программы разгрузки.
20. Компьютерный программный продукт по п. 16, причем последний программно-задаваемый максимальный ID потока удерживается до осуществления чистого сброса или деактивации конфигурации.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/226,911 US9417876B2 (en) | 2014-03-27 | 2014-03-27 | Thread context restoration in a multithreading computer system |
US14/226,911 | 2014-03-27 | ||
PCT/EP2015/055444 WO2015144477A1 (en) | 2014-03-27 | 2015-03-16 | Thread context restoration in a multithreading computer system |
Publications (4)
Publication Number | Publication Date |
---|---|
RU2016127444A true RU2016127444A (ru) | 2018-04-28 |
RU2016127444A3 RU2016127444A3 (ru) | 2018-04-28 |
RU2670909C2 RU2670909C2 (ru) | 2018-10-25 |
RU2670909C9 RU2670909C9 (ru) | 2018-12-12 |
Family
ID=52727100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2016127444A RU2670909C9 (ru) | 2014-03-27 | 2015-03-16 | Восстановление контекста потока в многопоточной компьютерной системе |
Country Status (13)
Country | Link |
---|---|
US (2) | US9417876B2 (ru) |
EP (1) | EP3123323A1 (ru) |
JP (1) | JP6509246B2 (ru) |
KR (1) | KR101868725B1 (ru) |
CN (1) | CN106133689B (ru) |
AU (1) | AU2015238663B2 (ru) |
CA (1) | CA2940988C (ru) |
IL (1) | IL247887B (ru) |
RU (1) | RU2670909C9 (ru) |
SG (1) | SG11201606094TA (ru) |
TW (1) | TWI614681B (ru) |
WO (1) | WO2015144477A1 (ru) |
ZA (1) | ZA201605466B (ru) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9448847B2 (en) | 2011-07-15 | 2016-09-20 | Throughputer, Inc. | Concurrent program execution optimization |
US10671426B2 (en) * | 2016-11-28 | 2020-06-02 | Arm Limited | Data processing |
US10552212B2 (en) | 2016-11-28 | 2020-02-04 | Arm Limited | Data processing |
US10423446B2 (en) | 2016-11-28 | 2019-09-24 | Arm Limited | Data processing |
CN108347623B (zh) * | 2017-01-23 | 2021-05-25 | 北京新唐思创教育科技有限公司 | 在线直播内容的生成方法、装置及在线直播系统 |
GB2564144B (en) | 2017-07-05 | 2020-01-08 | Advanced Risc Mach Ltd | Context data management |
JP7381189B2 (ja) | 2017-11-09 | 2023-11-15 | ニプロ株式会社 | 弁付き針組立体 |
WO2019191738A1 (en) * | 2018-03-31 | 2019-10-03 | Micron Technology, Inc. | Backpressure control using a stop signal for a multi-threaded, self-scheduling reconfigurable computing fabric |
KR102446709B1 (ko) * | 2018-03-31 | 2022-09-26 | 마이크론 테크놀로지, 인크. | 멀티 스레드, 자체 스케줄링 재구성 가능한 컴퓨팅 패브릭의 실행 제어 |
CN109298922A (zh) | 2018-08-30 | 2019-02-01 | 百度在线网络技术(北京)有限公司 | 并行任务处理方法、协程框架、设备、介质和无人车 |
RU199929U1 (ru) * | 2019-12-31 | 2020-09-29 | Федеральное государственное бюджетное образовательное учреждение высшего образования «Московский государственный университет геодезии и картографии» | Устройство для обработки потоков пространственно-временных данных в режиме реального времени |
Family Cites Families (143)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5684993A (en) | 1993-01-04 | 1997-11-04 | Microsoft Corporation | Segregation of thread-specific information from shared task information |
US5613114A (en) | 1994-04-15 | 1997-03-18 | Apple Computer, Inc | System and method for custom context switching |
US5799188A (en) | 1995-12-15 | 1998-08-25 | International Business Machines Corporation | System and method for managing variable weight thread contexts in a multithreaded computer system |
US6061711A (en) * | 1996-08-19 | 2000-05-09 | Samsung Electronics, Inc. | Efficient context saving and restoring in a multi-tasking computing system environment |
US6418460B1 (en) | 1997-02-18 | 2002-07-09 | Silicon Graphics, Inc. | System and method for finding preempted threads in a multi-threaded application |
US5872963A (en) | 1997-02-18 | 1999-02-16 | Silicon Graphics, Inc. | Resumption of preempted non-privileged threads with no kernel intervention |
US6658447B2 (en) * | 1997-07-08 | 2003-12-02 | Intel Corporation | Priority based simultaneous multi-threading |
US6104700A (en) * | 1997-08-29 | 2000-08-15 | Extreme Networks | Policy based quality of service |
US6487578B2 (en) | 1997-09-29 | 2002-11-26 | Intel Corporation | Dynamic feedback costing to enable adaptive control of resource utilization |
US6272625B1 (en) | 1997-10-08 | 2001-08-07 | Oak Technology, Inc. | Apparatus and method for processing events in a digital versatile disc (DVD) system using system threads and separate dormant/awake counter threads and clock driven semaphores |
US6697935B1 (en) | 1997-10-23 | 2004-02-24 | International Business Machines Corporation | Method and apparatus for selecting thread switch events in a multithreaded processor |
US6061710A (en) | 1997-10-29 | 2000-05-09 | International Business Machines Corporation | Multithreaded processor incorporating a thread latch register for interrupt service new pending threads |
US6401155B1 (en) | 1998-12-22 | 2002-06-04 | Philips Electronics North America Corporation | Interrupt/software-controlled thread processing |
US6542991B1 (en) | 1999-05-11 | 2003-04-01 | Sun Microsystems, Inc. | Multiple-thread processor with single-thread interface shared among threads |
US6519265B1 (en) * | 1999-05-28 | 2003-02-11 | Sony Corporation | System and method for context switching in an electronic network |
US6542921B1 (en) | 1999-07-08 | 2003-04-01 | Intel Corporation | Method and apparatus for controlling the processing priority between multiple threads in a multithreaded processor |
US7318090B1 (en) * | 1999-10-20 | 2008-01-08 | Sony Corporation | Method for utilizing concurrent context switching to support isochronous processes |
US6889319B1 (en) | 1999-12-09 | 2005-05-03 | Intel Corporation | Method and apparatus for entering and exiting multiple threads within a multithreaded processor |
JP4693326B2 (ja) | 1999-12-22 | 2011-06-01 | ウビコム インコーポレイテッド | 組込み型プロセッサにおいてゼロタイムコンテクストスイッチを用いて命令レベルをマルチスレッド化するシステムおよび方法 |
US6981180B1 (en) * | 2000-03-16 | 2005-12-27 | Akamai Technologies, Inc. | Method and apparatus for testing request-response service using live connection traffic |
US6757811B1 (en) | 2000-04-19 | 2004-06-29 | Hewlett-Packard Development Company, L.P. | Slack fetch to improve performance in a simultaneous and redundantly threaded processor |
US6792525B2 (en) | 2000-04-19 | 2004-09-14 | Hewlett-Packard Development Company, L.P. | Input replicator for interrupts in a simultaneous and redundantly threaded processor |
US6658654B1 (en) | 2000-07-06 | 2003-12-02 | International Business Machines Corporation | Method and system for low-overhead measurement of per-thread performance information in a multithreaded environment |
US7073173B1 (en) | 2000-12-04 | 2006-07-04 | Microsoft Corporation | Code and thread differential addressing via multiplex page maps |
EP1256877A1 (en) * | 2001-05-10 | 2002-11-13 | Hewlett-Packard Company, A Delaware Corporation | Manufacture of computer systems |
TW200825907A (en) * | 2001-06-19 | 2008-06-16 | Intel Corp | Method of assigning thread priority in a multi-threaded processor, multi-threaded processor, computer system and storage medium |
US6954846B2 (en) | 2001-08-07 | 2005-10-11 | Sun Microsystems, Inc. | Microprocessor and method for giving each thread exclusive access to one register file in a multi-threading mode and for giving an active thread access to multiple register files in a single thread mode |
US7363474B2 (en) | 2001-12-31 | 2008-04-22 | Intel Corporation | Method and apparatus for suspending execution of a thread until a specified memory access occurs |
JP3813930B2 (ja) | 2002-01-09 | 2006-08-23 | 松下電器産業株式会社 | プロセッサ及びプログラム実行方法 |
US8024735B2 (en) | 2002-06-14 | 2011-09-20 | Intel Corporation | Method and apparatus for ensuring fairness and forward progress when executing multiple threads of execution |
US7185338B2 (en) | 2002-10-15 | 2007-02-27 | Sun Microsystems, Inc. | Processor with speculative multithreading and hardware to support multithreading software |
US9138644B2 (en) * | 2002-12-10 | 2015-09-22 | Sony Computer Entertainment America Llc | System and method for accelerated machine switching |
US7533012B2 (en) | 2002-12-13 | 2009-05-12 | Sun Microsystems, Inc. | Multi-user web simulator |
US7822950B1 (en) | 2003-01-22 | 2010-10-26 | Ubicom, Inc. | Thread cancellation and recirculation in a computer processor for avoiding pipeline stalls |
US20040154010A1 (en) | 2003-01-31 | 2004-08-05 | Pedro Marcuello | Control-quasi-independent-points guided speculative multithreading |
US7155600B2 (en) * | 2003-04-24 | 2006-12-26 | International Business Machines Corporation | Method and logical apparatus for switching between single-threaded and multi-threaded execution states in a simultaneous multi-threaded (SMT) processor |
US7290261B2 (en) | 2003-04-24 | 2007-10-30 | International Business Machines Corporation | Method and logical apparatus for rename register reallocation in a simultaneous multi-threaded (SMT) processor |
US7496915B2 (en) | 2003-04-24 | 2009-02-24 | International Business Machines Corporation | Dynamic switching of multithreaded processor between single threaded and simultaneous multithreaded modes |
US20040216101A1 (en) | 2003-04-24 | 2004-10-28 | International Business Machines Corporation | Method and logical apparatus for managing resource redistribution in a simultaneous multi-threaded (SMT) processor |
US7360062B2 (en) | 2003-04-25 | 2008-04-15 | International Business Machines Corporation | Method and apparatus for selecting an instruction thread for processing in a multi-thread processor |
US7849297B2 (en) | 2003-08-28 | 2010-12-07 | Mips Technologies, Inc. | Software emulation of directed exceptions in a multithreading processor |
JP4818919B2 (ja) * | 2003-08-28 | 2011-11-16 | ミップス テクノロジーズ インコーポレイテッド | プロセッサ内での実行の計算スレッドを一時停止して割り当て解除するための統合されたメカニズム |
US7836450B2 (en) | 2003-08-28 | 2010-11-16 | Mips Technologies, Inc. | Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts |
US20050071422A1 (en) * | 2003-09-25 | 2005-03-31 | International Business Machines Corporation | Method, system, and computer program product for an automation tool adapter for use with multiple different automation tools |
US7493621B2 (en) | 2003-12-18 | 2009-02-17 | International Business Machines Corporation | Context switch data prefetching in multithreaded computer |
US7210073B1 (en) * | 2003-12-31 | 2007-04-24 | Precise Software Solutions Ltd. | Workflows for performance management methodology |
US20050183065A1 (en) | 2004-02-13 | 2005-08-18 | Wolczko Mario I. | Performance counters in a multi-threaded processor |
US7426731B2 (en) * | 2004-03-22 | 2008-09-16 | Hewlett-Packard Development Company, L.P. | Determining processor usage by a thread |
US20050251649A1 (en) | 2004-04-23 | 2005-11-10 | Sony Computer Entertainment Inc. | Methods and apparatus for address map optimization on a multi-scalar extension |
US7216223B2 (en) | 2004-04-30 | 2007-05-08 | Hewlett-Packard Development Company, L.P. | Configuring multi-thread status |
US7607141B2 (en) | 2004-05-03 | 2009-10-20 | Microsoft Corporation | Systems and methods for support of various processing capabilities |
US7418582B1 (en) | 2004-05-13 | 2008-08-26 | Sun Microsystems, Inc. | Versatile register file design for a multi-threaded processor utilizing different modes and register windows |
US7519796B1 (en) | 2004-06-30 | 2009-04-14 | Sun Microsystems, Inc. | Efficient utilization of a store buffer using counters |
US7702887B1 (en) | 2004-06-30 | 2010-04-20 | Sun Microsystems, Inc. | Performance instrumentation in a fine grain multithreaded multicore processor |
US7676791B2 (en) * | 2004-07-09 | 2010-03-09 | Microsoft Corporation | Implementation of concurrent programs in object-oriented languages |
US7565659B2 (en) | 2004-07-15 | 2009-07-21 | International Business Machines Corporation | Light weight context switching |
JP4956891B2 (ja) | 2004-07-26 | 2012-06-20 | 富士通株式会社 | 演算処理装置,情報処理装置および演算処理装置の制御方法 |
JP4504132B2 (ja) | 2004-07-30 | 2010-07-14 | 富士通株式会社 | 記憶制御装置、中央処理装置、情報処理装置及び記憶制御装置の制御方法 |
US7707578B1 (en) | 2004-12-16 | 2010-04-27 | Vmware, Inc. | Mechanism for scheduling execution of threads for fair resource allocation in a multi-threaded and/or multi-core processing system |
US8621458B2 (en) | 2004-12-21 | 2013-12-31 | Microsoft Corporation | Systems and methods for exposing processor topology for virtual machines |
US8015566B2 (en) * | 2005-01-13 | 2011-09-06 | Lenovo (Singapore) Pte. Ltd. | Attributing energy consumption to individual code threads in a data processing system |
US7317907B2 (en) * | 2005-01-31 | 2008-01-08 | Research In Motion Limited | Synchronizing server and device data using device data schema |
US7490230B2 (en) | 2005-02-04 | 2009-02-10 | Mips Technologies, Inc. | Fetch director employing barrel-incrementer-based round-robin apparatus for use in multithreading microprocessor |
US20060242389A1 (en) | 2005-04-21 | 2006-10-26 | International Business Machines Corporation | Job level control of simultaneous multi-threading functionality in a processor |
US7765550B2 (en) * | 2005-05-26 | 2010-07-27 | Hewlett-Packard Development Company, L.P. | System for controlling context switch of deferred requests using counter and flag setting of thread accessing shared resource or entering code region |
US8010969B2 (en) | 2005-06-13 | 2011-08-30 | Intel Corporation | Mechanism for monitoring instruction set based thread execution on a plurality of instruction sequencers |
US7308565B2 (en) * | 2005-06-15 | 2007-12-11 | Seiko Epson Corporation | Saving/restoring task state data from/to device controller host interface upon command from host processor to handle task interruptions |
JP4963018B2 (ja) | 2005-08-15 | 2012-06-27 | 株式会社ソニー・コンピュータエンタテインメント | スケジューリング方法およびスケジューリング装置 |
US8171268B2 (en) * | 2005-09-19 | 2012-05-01 | Intel Corporation | Technique for context state management to reduce save and restore operations between a memory and a processor using in-use vectors |
US8402224B2 (en) * | 2005-09-20 | 2013-03-19 | Vmware, Inc. | Thread-shared software code caches |
RU2312388C2 (ru) * | 2005-09-22 | 2007-12-10 | Андрей Игоревич Ефимов | Способ организации многопроцессорной эвм |
US8275942B2 (en) | 2005-12-22 | 2012-09-25 | Intel Corporation | Performance prioritization in multi-threaded processors |
US9323578B2 (en) | 2006-01-19 | 2016-04-26 | International Business Machines Corporation | Analyzing wait states in a data processing system |
US7577826B2 (en) | 2006-01-30 | 2009-08-18 | Sony Computer Entertainment Inc. | Stall prediction thread management |
US8271994B2 (en) * | 2006-02-11 | 2012-09-18 | International Business Machines Corporation | Reduced data transfer during processor context switching |
CN100571167C (zh) | 2006-02-24 | 2009-12-16 | 国际商业机器公司 | Web服务业务流程的单元测试的方法和设备 |
JP2007317171A (ja) * | 2006-04-27 | 2007-12-06 | Matsushita Electric Ind Co Ltd | マルチスレッド計算機システム、マルチスレッド実行制御方法 |
US8041929B2 (en) | 2006-06-16 | 2011-10-18 | Cisco Technology, Inc. | Techniques for hardware-assisted multi-threaded processing |
US8136111B2 (en) | 2006-06-27 | 2012-03-13 | International Business Machines Corporation | Managing execution of mixed workloads in a simultaneous multi-threaded (SMT) enabled system |
US7634642B2 (en) | 2006-07-06 | 2009-12-15 | International Business Machines Corporation | Mechanism to save and restore cache and translation trace for fast context switch |
US8291431B2 (en) * | 2006-08-29 | 2012-10-16 | Qualcomm Incorporated | Dependent instruction thread scheduling |
US8839271B2 (en) | 2006-10-11 | 2014-09-16 | International Business Machines Corporation | Call stack sampling to obtain information for analyzing idle states in a data processing system |
US7698540B2 (en) | 2006-10-31 | 2010-04-13 | Hewlett-Packard Development Company, L.P. | Dynamic hardware multithreading and partitioned hardware multithreading |
US8117478B2 (en) | 2006-12-29 | 2012-02-14 | Intel Corporation | Optimizing power usage by processor cores based on architectural events |
US7584346B1 (en) | 2007-01-25 | 2009-09-01 | Sun Microsystems, Inc. | Method and apparatus for supporting different modes of multi-threaded speculative execution |
US8156496B2 (en) * | 2007-01-31 | 2012-04-10 | Hewlett-Packard Development Company, L.P. | Data processing system and method |
US9195462B2 (en) | 2007-04-11 | 2015-11-24 | Freescale Semiconductor, Inc. | Techniques for tracing processes in a multi-threaded processor |
CN101042640A (zh) | 2007-04-24 | 2007-09-26 | 上海华龙信息技术开发中心 | 一种带有位扩充和位压缩单元的数字信号处理器 |
US20080270658A1 (en) | 2007-04-27 | 2008-10-30 | Matsushita Electric Industrial Co., Ltd. | Processor system, bus controlling method, and semiconductor device |
CN101681260B (zh) | 2007-06-20 | 2013-04-17 | 富士通株式会社 | 运算装置 |
US8762692B2 (en) * | 2007-09-27 | 2014-06-24 | Intel Corporation | Single instruction for specifying and saving a subset of registers, specifying a pointer to a work-monitoring function to be executed after waking, and entering a low-power mode |
JP5576798B2 (ja) | 2007-12-12 | 2014-08-20 | ユニバーシティ・オブ・ワシントン | 決定論的マルチプロセッシング(deterministicmultiprocessing) |
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 |
CN101216725B (zh) | 2008-01-04 | 2011-04-27 | 东南大学 | 利用堆栈深度进行多线程预测的动态功耗控制方法 |
US7734900B2 (en) | 2008-01-11 | 2010-06-08 | International Business Machines Corporation | Computer configuration virtual topology discovery and instruction therefore |
US7559061B1 (en) | 2008-03-16 | 2009-07-07 | International Business Machines Corporation | Simultaneous multi-threading control monitor |
US8117602B2 (en) * | 2008-04-01 | 2012-02-14 | Kaspersky Lab, Zao | Method and system for monitoring execution performance of software program product |
US8495662B2 (en) | 2008-08-11 | 2013-07-23 | Hewlett-Packard Development Company, L.P. | System and method for improving run-time performance of applications with multithreaded and single threaded routines |
US8656145B2 (en) * | 2008-09-19 | 2014-02-18 | Qualcomm Incorporated | Methods and systems for allocating interrupts in a multithreaded processor |
US8209437B2 (en) | 2008-09-25 | 2012-06-26 | Rockliffe Systems, Inc. | Personal information management data synchronization |
US7873816B2 (en) | 2008-11-20 | 2011-01-18 | International Business Machines Corporation | Pre-loading context states by inactive hardware thread in advance of context switch |
US20100135179A1 (en) | 2008-11-28 | 2010-06-03 | International Business Machines Corporation | Communication device |
US8402464B2 (en) | 2008-12-01 | 2013-03-19 | Oracle America, Inc. | System and method for managing contention in transactional memory using global execution data |
US8572581B2 (en) | 2009-03-26 | 2013-10-29 | Microsoft Corporation | Measurement and reporting of performance event rates |
US8346509B2 (en) | 2009-04-08 | 2013-01-01 | Intel Corporation | Context switch sampling |
US8949582B2 (en) | 2009-04-27 | 2015-02-03 | Lsi Corporation | Changing a flow identifier of a packet in a multi-thread, multi-flow network processor |
GB2469822B (en) | 2009-04-28 | 2011-04-20 | Imagination Tech Ltd | Method and apparatus for scheduling the issue of instructions in a multithreaded microprocessor |
US9672132B2 (en) | 2009-11-19 | 2017-06-06 | Qualcomm Incorporated | Methods and apparatus for measuring performance of a multi-thread processor |
US8612978B2 (en) | 2009-12-10 | 2013-12-17 | Oracle America, Inc. | Code execution utilizing single or multiple threads |
US8615644B2 (en) | 2010-02-19 | 2013-12-24 | International Business Machines Corporation | Processor with hardware thread control logic indicating disable status when instructions accessing shared resources are completed for safe shared resource condition |
US8381216B2 (en) | 2010-03-05 | 2013-02-19 | Microsoft Corporation | Dynamic thread pool management |
US20110283286A1 (en) | 2010-05-11 | 2011-11-17 | Dell Products L.P. | Methods and systems for dynamically adjusting performance states of a processor |
WO2011161774A1 (ja) | 2010-06-22 | 2011-12-29 | 富士通株式会社 | マルチコアプロセッサシステム、制御プログラム、および制御方法 |
US8392473B2 (en) * | 2010-09-07 | 2013-03-05 | Microgen Aptitude Limited | Fast hierarchical enrichment |
US8656408B2 (en) | 2010-09-30 | 2014-02-18 | International Business Machines Corporations | Scheduling threads in a processor based on instruction type power consumption |
US8677361B2 (en) | 2010-09-30 | 2014-03-18 | International Business Machines Corporation | Scheduling threads based on an actual power consumption and a predicted new power consumption |
US8418177B2 (en) | 2010-10-01 | 2013-04-09 | Microsoft Corporation | Virtual machine and/or multi-level scheduling support on systems with asymmetric processor cores |
US8601193B2 (en) | 2010-10-08 | 2013-12-03 | International Business Machines Corporation | Performance monitor design for instruction profiling using shared counters |
US8489787B2 (en) | 2010-10-12 | 2013-07-16 | International Business Machines Corporation | Sharing sampled instruction address registers for efficient instruction sampling in massively multithreaded processors |
US20120137295A1 (en) | 2010-11-30 | 2012-05-31 | Alcatel-Lucent Canada Inc. | Method for displaying cpu utilization in a multi-processing system |
CN103348324A (zh) | 2011-02-10 | 2013-10-09 | 富士通株式会社 | 调度方法、设计辅助方法以及系统 |
US9213551B2 (en) | 2011-03-11 | 2015-12-15 | Oracle International Corporation | Return address prediction in multithreaded processors |
US9330430B2 (en) | 2011-03-21 | 2016-05-03 | Apple Inc. | Fast queries in a multithreaded queue of a graphics system |
US9015449B2 (en) | 2011-03-27 | 2015-04-21 | International Business Machines Corporation | Region-weighted accounting of multi-threaded processor core according to dispatch state |
GB2489708B (en) | 2011-04-05 | 2020-04-15 | Advanced Risc Mach Ltd | Thread selection for multithreaded processing |
US8695010B2 (en) | 2011-10-03 | 2014-04-08 | International Business Machines Corporation | Privilege level aware processor hardware resource management facility |
CA2759365A1 (en) | 2011-11-24 | 2013-05-24 | Ibm Canada Limited - Ibm Canada Limitee | Identification of thread progress information |
US9075610B2 (en) | 2011-12-15 | 2015-07-07 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including thread consolidation |
US9720744B2 (en) | 2011-12-28 | 2017-08-01 | Intel Corporation | Performance monitoring of shared processing resources |
US9069598B2 (en) | 2012-01-06 | 2015-06-30 | International Business Machines Corporation | Providing logical partions with hardware-thread specific information reflective of exclusive use of a processor core |
CN102566974B (zh) | 2012-01-14 | 2014-03-26 | 哈尔滨工程大学 | 基于同时多线程的取指控制方法 |
US8930950B2 (en) | 2012-01-19 | 2015-01-06 | International Business Machines Corporation | Management of migrating threads within a computing environment to transform multiple threading mode processors to single thread mode processors |
US8751830B2 (en) | 2012-01-23 | 2014-06-10 | International Business Machines Corporation | Memory address translation-based data encryption/compression |
US8966232B2 (en) | 2012-02-10 | 2015-02-24 | Freescale Semiconductor, Inc. | Data processing system operable in single and multi-thread modes and having multiple caches and method of operation |
US20130283280A1 (en) | 2012-04-20 | 2013-10-24 | Qualcomm Incorporated | Method to reduce multi-threaded processor power consumption |
US9075735B2 (en) | 2012-06-21 | 2015-07-07 | Breakingpoint Systems, Inc. | Systems and methods for efficient memory access |
US9208044B2 (en) | 2012-06-25 | 2015-12-08 | Infosys Limited | Methods for simulating message-oriented services and devices thereof |
US9529719B2 (en) | 2012-08-05 | 2016-12-27 | Advanced Micro Devices, Inc. | Dynamic multithreaded cache allocation |
US8984313B2 (en) | 2012-08-31 | 2015-03-17 | Intel Corporation | Configuring power management functionality in a processor including a plurality of cores by utilizing a register to store a power domain indicator |
US9563663B2 (en) | 2012-09-28 | 2017-02-07 | Oracle International Corporation | Fast path evaluation of Boolean predicates |
CN103488546B (zh) * | 2013-01-29 | 2016-06-08 | 中国人民解放军理工大学 | 一种支持多级别数据和数据库在线并发备份与恢复方法 |
CN103488684B (zh) | 2013-08-23 | 2016-12-28 | 国家电网公司 | 基于缓存数据多线程处理的电力可靠性指标快速计算方法 |
US9218185B2 (en) * | 2014-03-27 | 2015-12-22 | International Business Machines Corporation | Multithreading capability information retrieval |
-
2014
- 2014-03-27 US US14/226,911 patent/US9417876B2/en active Active
-
2015
- 2015-03-16 AU AU2015238663A patent/AU2015238663B2/en active Active
- 2015-03-16 SG SG11201606094TA patent/SG11201606094TA/en unknown
- 2015-03-16 WO PCT/EP2015/055444 patent/WO2015144477A1/en active Application Filing
- 2015-03-16 EP EP15711699.7A patent/EP3123323A1/en not_active Ceased
- 2015-03-16 RU RU2016127444A patent/RU2670909C9/ru active
- 2015-03-16 JP JP2016557118A patent/JP6509246B2/ja active Active
- 2015-03-16 CA CA2940988A patent/CA2940988C/en active Active
- 2015-03-16 KR KR1020167023371A patent/KR101868725B1/ko active IP Right Grant
- 2015-03-16 CN CN201580015798.XA patent/CN106133689B/zh active Active
- 2015-03-25 TW TW104109602A patent/TWI614681B/zh active
- 2015-08-06 US US14/819,633 patent/US9454372B2/en active Active
-
2016
- 2016-08-05 ZA ZA2016/05466A patent/ZA201605466B/en unknown
- 2016-09-18 IL IL24788716A patent/IL247887B/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
US20150277920A1 (en) | 2015-10-01 |
JP6509246B2 (ja) | 2019-05-08 |
TW201610841A (zh) | 2016-03-16 |
RU2670909C2 (ru) | 2018-10-25 |
CN106133689B (zh) | 2019-03-22 |
AU2015238663A1 (en) | 2016-08-11 |
US9454372B2 (en) | 2016-09-27 |
TWI614681B (zh) | 2018-02-11 |
US20150339121A1 (en) | 2015-11-26 |
RU2016127444A3 (ru) | 2018-04-28 |
IL247887B (en) | 2019-10-31 |
ZA201605466B (en) | 2017-08-30 |
US9417876B2 (en) | 2016-08-16 |
CA2940988C (en) | 2022-08-16 |
JP2017513112A (ja) | 2017-05-25 |
EP3123323A1 (en) | 2017-02-01 |
IL247887A0 (en) | 2016-11-30 |
CN106133689A (zh) | 2016-11-16 |
KR101868725B1 (ko) | 2018-07-17 |
RU2670909C9 (ru) | 2018-12-12 |
WO2015144477A1 (en) | 2015-10-01 |
AU2015238663B2 (en) | 2017-05-25 |
CA2940988A1 (en) | 2015-10-01 |
KR20160113681A (ko) | 2016-09-30 |
SG11201606094TA (en) | 2016-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2016127444A (ru) | Восстановление контекста потока в многопоточной компьютерной системе | |
RU2016127225A (ru) | Динамическое активирование многопоточности | |
TWI547876B (zh) | 虛擬環境之中斷處理方法與系統 | |
RU2012148401A (ru) | Средство процессорной поддержки | |
RU2016127442A (ru) | Область управления для администрирования множественными потоками в компьютере | |
JP2018537800A5 (ru) | ||
RU2016127443A (ru) | Команда запуска виртуального выполнения для диспетчеризации множественных потоков в компьютере | |
RU2016126976A (ru) | Общая последовательность загрузки для управляющей сервисной программы, способной к инициализации во множественных архитектурах | |
GB2517877A (en) | Controlling an order for processing data elements during vector processing | |
JP2015502618A5 (ru) | ||
RU2012148586A (ru) | Фильтрация программного прерывания в транзакционном выполнении | |
JP2016209043A5 (ru) | ||
RU2016127435A (ru) | Диспетчеризация множественных потоков в компьютере | |
WO2017070861A1 (zh) | 一种中断响应方法、装置及基站 | |
RU2017103951A (ru) | Эффективная маршрутизация прерываний для многопоточного процесса | |
US10037292B2 (en) | Sharing message-signaled interrupt vectors in multi-processor computer systems | |
JP2016532192A5 (ru) | ||
JP2014010549A5 (ru) | ||
US9952954B2 (en) | Multicore processor system having an error analysis function | |
RU2017103676A (ru) | Управление выполнением потоков в многопоточном процессоре | |
US9606825B2 (en) | Memory monitor emulation for virtual machines | |
RU2015129090A (ru) | Программируемый логический контроллер и способ его событийно-управляемого программирования | |
US9952990B2 (en) | Implementing pseudo non-masking interrupts behavior using a priority interrupt controller | |
JP2014115791A5 (ru) | ||
JP2022067307A5 (ru) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TH4A | Reissue of patent specification |