RU2008144192A - Многопоточная обработка электронных таблиц с использованием уровней зависимости - Google Patents

Многопоточная обработка электронных таблиц с использованием уровней зависимости Download PDF

Info

Publication number
RU2008144192A
RU2008144192A RU2008144192/09A RU2008144192A RU2008144192A RU 2008144192 A RU2008144192 A RU 2008144192A RU 2008144192/09 A RU2008144192/09 A RU 2008144192/09A RU 2008144192 A RU2008144192 A RU 2008144192A RU 2008144192 A RU2008144192 A RU 2008144192A
Authority
RU
Russia
Prior art keywords
formula
dependent
formulas
auxiliary
sequence
Prior art date
Application number
RU2008144192/09A
Other languages
English (en)
Other versions
RU2461059C2 (ru
Inventor
Джеффри Дж. ДУЗАК (US)
Джеффри Дж. ДУЗАК
Эндрю БЕККЕР (US)
Эндрю БЕККЕР
Мэттью Дж. АНДРОСКИ (US)
Мэттью Дж. АНДРОСКИ
Дуэйн КЭМПБЕЛЛ (US)
Дуэйн КЭМПБЕЛЛ
Original Assignee
Майкрософт Корпорейшн (Us)
Майкрософт Корпорейшн
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Майкрософт Корпорейшн (Us), Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн (Us)
Publication of RU2008144192A publication Critical patent/RU2008144192A/ru
Application granted granted Critical
Publication of RU2461059C2 publication Critical patent/RU2461059C2/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

1. Способ обработки формул в программе (1520, 500) электронных таблиц, содержащий этапы на которых: ! упорядочивают формулы в единую последовательность (500, 626) вычислений, ! пытаются оценить первую формулу в единой последовательности (500, 628) вычислений, ! если первая формула является зависимой от вспомогательной формулы в единой последовательности вычислений, перемещают первую формулу в дочернее положение относительно вспомогательной формулы (604, 630, 634), и ! продолжают упорядочивать все формулы в единую последовательность вычислений до тех пор, пока каждая зависимая формула не будет сделана дочерней для соответствующей своей вспомогательной формулы, и в результате не получится объединенная последовательность (602, 604, 644) с одной или более дочерних последовательностей формул. ! 2. Способ по п.1, дополнительно содержащий этап на котором: ! делят объединенную последовательность (602, 604) на несколько уровней (618, 620) зависимости, причем каждый уровень зависимости содержит формулы (608, 610, 612, 642, 640), которые являются зависимыми только от формул из предыдущего уровня (618) зависимости или от формул внутри их собственных дочерних последовательностей (608, 610, 640, 642). ! 3. Способ по п.2, в котором зависимую формулу (612) перемещают на следующий уровень зависимости, если она является дочерней для первой вспомогательной формулы (610) и является зависимой от невычисленной второй вспомогательной формулы (608, 636, 642). ! 4. Способ по п.2, в котором вспомогательная формула имеет первую зависимую формулу и вторую зависимую формулу, и первую и вторую зависимые формулы перемещают на следующий уровень (638, 640) зависимости. ! 5. Компьютерный программный продукт (150

Claims (20)

1. Способ обработки формул в программе (1520, 500) электронных таблиц, содержащий этапы на которых:
упорядочивают формулы в единую последовательность (500, 626) вычислений,
пытаются оценить первую формулу в единой последовательности (500, 628) вычислений,
если первая формула является зависимой от вспомогательной формулы в единой последовательности вычислений, перемещают первую формулу в дочернее положение относительно вспомогательной формулы (604, 630, 634), и
продолжают упорядочивать все формулы в единую последовательность вычислений до тех пор, пока каждая зависимая формула не будет сделана дочерней для соответствующей своей вспомогательной формулы, и в результате не получится объединенная последовательность (602, 604, 644) с одной или более дочерних последовательностей формул.
2. Способ по п.1, дополнительно содержащий этап на котором:
делят объединенную последовательность (602, 604) на несколько уровней (618, 620) зависимости, причем каждый уровень зависимости содержит формулы (608, 610, 612, 642, 640), которые являются зависимыми только от формул из предыдущего уровня (618) зависимости или от формул внутри их собственных дочерних последовательностей (608, 610, 640, 642).
3. Способ по п.2, в котором зависимую формулу (612) перемещают на следующий уровень зависимости, если она является дочерней для первой вспомогательной формулы (610) и является зависимой от невычисленной второй вспомогательной формулы (608, 636, 642).
4. Способ по п.2, в котором вспомогательная формула имеет первую зависимую формулу и вторую зависимую формулу, и первую и вторую зависимые формулы перемещают на следующий уровень (638, 640) зависимости.
5. Компьютерный программный продукт (1508, 1520), считываемый вычислительной системой (1500), и материально воплощающий программу из инструкций, выполняемых вычислительной системой для выполнения способа по п.1.
6. Способ использования нескольких процессоров для вычисления формул в программе (200, 1000) электронных таблиц, содержащий этапы, на которых:
определяют количество процессоров (206),
выделяют механизм повторного вычисления для каждого процессора (209),
поддерживают поток управления для синхронизации обработки механизмов (1004) повторного вычисления,
упорядочивают формулы в единую последовательность (700, 626) вычислений,
пытаются оценить первую формулу в единой последовательности вычислений первым механизмом (708, 628, 1120) повторного вычисления,
если первая формула является зависимой от первой вспомогательной формулы, перемещают первую зависимую формулу и первую вспомогательную формулу в очередь для первого механизма (706, 636, 1122) повторного вычисления,
пытаются оценить вторую формулу в единой последовательности вычислений вторым механизмом (708, 1124, 1138) повторного вычисления,
если вторая формула является зависимой от второй вспомогательной формулы, перемещают вторую зависимую формулу и вторую вспомогательную формулу в очередь для второго механизма (710, 1138, 1140) повторного вычисления, и
продолжают выполнение итерации вниз по единой последовательности вычислений до достижения конца последовательности (708, 706, 710, 1142, 644).
7. Способ по п.6, дополнительно содержит этапы, на которых опустошают очереди каждого механизма повторного вычисления для переупорядочения (1122, 1140), причем первую зависимую формулу делают дочерней для первой вспомогательной формулы, и при этом вторую зависимую формулу делают дочерней для второй вспомогательной формулы (802, 804, 630, 634).
8. Способ по п.7, в котором вторая вспомогательная формула сама является дочерней для третьей вспомогательной формулы (804).
9. Способ по п.6, причем способ дополнительно содержит этапы, на которых:
если первая формула является зависимой от первой вспомогательной формулы, то маркируют первую зависимую формулу для ее отслеживания (1420),
определяют, является ли первая вспомогательная формула зависимой от первой зависимой формулы (1414, 1418),
если первая вспомогательная формула является зависимой от первой зависимой формулы, маркируют первую вспомогательную формулу для ее отслеживания (1420),
извлекают отслеженные формулы (1422, 1424) после окончания итераций по единой последовательности вычислений,
определяют, является ли какая-либо из отслеживаемых формул “грязной” (1426),
если отслеживаемые формулы являются “грязными”, то перемещают отслеживаемые формулы и их дочерние формулы или в одноуровневую последовательность вычислений без каких-либо дочерних последовательностей или уровней зависимости (1428), и
вычисляют одноуровневую последовательность вычислений с использованием одного потока (1432).
10. Способ по п.6, причем способ дополнительно содержит этапы, на которых:
определяют, является ли первая зависимая формула зависимой от невычисленной второй вспомогательной формулы (802, 804, 612, 636); и
если первая зависимая формула является зависимой от первой вспомогательной формулы и является зависимой от невычисленной второй вспомогательной формулы, то перемещают первую зависимую формулу на отдельный уровень (610, 612, 618, 620, 636, 642) зависимости.
11. Способ по п.6, причем способ дополнительно содержит этапы, на которых:
определяют, имеет ли первая вспомогательная формула и первую зависимую формулу и вторую зависимую формулу (1132, 638), и
если первая вспомогательная формула имеет и первую зависимую формулу и вторую зависимую формулу, перемещают первую и вторую зависимые формулы на отдельный уровень (612, 620, 638, 640) зависимости.
12. Способ по п.6, причем способ дополнительно содержит этапы, на которых:
определяют, существуют ли в последовательности вычислений формулы, которые должны быть выполнены только потоком управления (1206), и
перемещают формулы только потока управления на отдельный уровень зависимости (1212).
13. Способ по п.6, в котором формулу только потока управления перемещают на уровень зависимости, непосредственно следующий за текущим уровнем зависимости (1130).
14. Способ по п.6, в котором операции потока первого механизма повторного вычисления приостанавливают при достижении потоком конца уровня зависимости (1132, 1134).
15. Способ по п.6, в котором операции потока первого механизма повторного вычисления приостанавливают при заполнении очереди первого механизма повторного вычисления (1132, 1134).
16. Способ по п.6, в котором формулу только потока управления помещают в очередь для таких формул. (1132, 1130).
17. Компьютерный программный продукт (1508, 1520), считываемый вычислительной системой и материально воплощающий программу из инструкций, выполняемых вычислительной системой (1500), для выполнения способа по п.6.
18. Способ переупорядочения последовательности вычислений в приложении электронных таблиц посредством использования уровней зависимости, содержащий этапы, на которых:
создают первый уровень зависимости, содержащий первую дочернюю последовательность и вторую дочернюю последовательность (618, 608, 610, 642, 640),
пытаются оценить каждую формулу в первой дочерней последовательности (608, 628),
пытаются попытки оценить каждую формулу во второй дочерней последовательности (608, 628),
если формула не может быть оценена, определяют, является ли формула зависимой от первой вспомогательной формулы в ее собственной дочерней последовательности и зависимой от второй вспомогательной формулы в другой дочерней последовательности в рамках того же уровня зависимости (612, 620, 630, 636),
определяют, является ли вторая вспомогательная формула невычисленной (612, 620, 636),
если вторая вспомогательная формула является невычисленной, перемещают зависимую формулу на следующий уровень (612, 642) зависимости, и
если вторая вспомогательная формула является вычисленной, оценивают зависимую формулу на текущем уровне (604, 632) зависимости.
19. Способ по п.18, причем способ дополнительно содержит этапы, на которых:
определяют, имеет ли первая вспомогательная формула, от которой уже зависит первая зависимая формула, вторую зависимую формулу в виде дочерней (630, 638), и
если первая вспомогательная формула уже имеет дочернюю, то перемещают первую и вторую зависимые формулы на следующий уровень (638, 640) зависимости.
20. Способ по п.18, причем способ дополнительно содержит этапы, на которых:
определяют, существуют ли формулы только потока управления (1206), и
если существуют формулы только потока управления, то перемещают эти элементы на следующий уровень зависимости (1206, 1212).
RU2008144192/08A 2006-05-08 2007-05-08 Многопоточная обработка электронных таблиц с использованием уровней зависимости RU2461059C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/430,486 US8032821B2 (en) 2006-05-08 2006-05-08 Multi-thread spreadsheet processing with dependency levels
US11/430,486 2006-05-08

Publications (2)

Publication Number Publication Date
RU2008144192A true RU2008144192A (ru) 2010-05-20
RU2461059C2 RU2461059C2 (ru) 2012-09-10

Family

ID=38662346

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2008144192/08A RU2461059C2 (ru) 2006-05-08 2007-05-08 Многопоточная обработка электронных таблиц с использованием уровней зависимости

Country Status (13)

Country Link
US (1) US8032821B2 (ru)
EP (1) EP2024868B1 (ru)
JP (1) JP5081901B2 (ru)
KR (1) KR101354810B1 (ru)
CN (1) CN101438276B (ru)
AU (1) AU2007259398B2 (ru)
BR (1) BRPI0711327A2 (ru)
CA (2) CA2648875C (ru)
MX (1) MX2008014241A (ru)
MY (1) MY153218A (ru)
NO (1) NO20084366L (ru)
RU (1) RU2461059C2 (ru)
WO (1) WO2007145742A2 (ru)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7533139B2 (en) * 2004-09-27 2009-05-12 Microsoft Corporation Method and system for multithread processing of spreadsheet chain calculations
US8032821B2 (en) 2006-05-08 2011-10-04 Microsoft Corporation Multi-thread spreadsheet processing with dependency levels
US7814052B2 (en) 2006-11-03 2010-10-12 Salesforce.Com, Inc. Implementing formulas for custom fields in an on-demand database
US20110067015A1 (en) * 2008-02-15 2011-03-17 Masamichi Takagi Program parallelization apparatus, program parallelization method, and program parallelization program
EP2107474A1 (en) * 2008-03-31 2009-10-07 British Telecommunications Public Limited Company Data access
US8584004B2 (en) * 2008-04-23 2013-11-12 Microsoft Corporation Asynchronous user defined functions
US8255905B2 (en) 2008-06-27 2012-08-28 Microsoft Corporation Multi-threaded processes for opening and saving documents
US9037959B2 (en) * 2008-09-30 2015-05-19 Apple Inc. Formula display and search in a spreadsheet
US20110264993A1 (en) * 2010-04-23 2011-10-27 Microsoft Corporation Multi-Threaded Sort of Data Items in Spreadsheet Tables
US8527866B2 (en) * 2010-04-30 2013-09-03 Microsoft Corporation Multi-threaded sort of data items in spreadsheet tables
US20110314365A1 (en) * 2010-06-17 2011-12-22 Microsoft Corporation Decompiling loops in a spreadsheet
US9952893B2 (en) 2010-11-03 2018-04-24 Microsoft Technology Licensing, Llc Spreadsheet model for distributed computations
US8793566B2 (en) 2010-11-10 2014-07-29 Duquesne University Of The Holy Spirit System and method for allocating, scheduling, tracking and reporting usage of training assets and facilities
US11676090B2 (en) * 2011-11-29 2023-06-13 Model N, Inc. Enhanced multi-component object-based design, computation, and evaluation
US11074643B1 (en) 2012-12-21 2021-07-27 Model N, Inc. Method and systems for efficient product navigation and product configuration
US9417890B2 (en) * 2013-04-12 2016-08-16 Microsoft Technology Licensing, Llc Compilation of transformation in recalculation user interface
US9552007B2 (en) * 2013-12-19 2017-01-24 International Business Machines Corporation Parallel technique for computing problem functions in solving optimal power flow
US9292486B2 (en) * 2014-01-08 2016-03-22 International Business Machines Corporation Validation of formulas with external sources
US9898348B2 (en) * 2014-10-22 2018-02-20 International Business Machines Corporation Resource mapping in multi-threaded central processor units
US9898440B2 (en) * 2015-02-25 2018-02-20 Sap Se Calculation framework utilizing fragmentation of expressions
US10289672B1 (en) * 2015-12-21 2019-05-14 Workday, Inc. Threading spreadsheet calculations
CN109409872A (zh) * 2017-08-17 2019-03-01 深圳市智派网络技术有限公司 电子现金的转账方法及装置
KR101985491B1 (ko) * 2017-12-11 2019-06-03 주식회사 핀인사이트 다이어그램 방식의 시각화 수식 작성을 통한 결과 생성 및 모니터링 장치
US11416262B1 (en) * 2018-05-22 2022-08-16 Workday, Inc. Systems and methods for improving computational speed of planning by enabling interactive processing in hypercubes
AU2019326449A1 (en) * 2018-08-21 2021-04-22 GrowthPlan LLC Grid-based data processing with changeable cell formats
US11886916B2 (en) 2020-06-30 2024-01-30 Microsoft Technology Licensing, Llc System for adaptive multithreaded recalculation operations
CN113420537B (zh) * 2021-06-22 2023-01-31 平安科技(深圳)有限公司 电子表格数据处理方法、装置、设备及存储介质

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694603A (en) 1982-09-28 1997-12-02 Reiffin; Martin G. Computer memory product with preemptive multithreading software
US5276607A (en) * 1990-03-28 1994-01-04 Wordperfect Corporation Method for optimal recalculation
CA2074769C (en) * 1991-08-09 2001-03-20 International Business Machines Corporation Formula processor
CA2078315A1 (en) * 1991-09-20 1993-03-21 Christopher L. Reeve Parallel processing apparatus and method for utilizing tiling
JPH0744629A (ja) * 1993-07-30 1995-02-14 Nec Corp 表計算処理装置
US5943663A (en) 1994-11-28 1999-08-24 Mouradian; Gary C. Data processing method and system utilizing parallel processing
JPH08235266A (ja) * 1995-02-23 1996-09-13 Matsushita Electric Ind Co Ltd 表計算処理方法
US6138130A (en) 1995-12-08 2000-10-24 Inventure Technologies, Inc. System and method for processing data in an electronic spreadsheet in accordance with a data type
US6055548A (en) 1996-06-03 2000-04-25 Microsoft Corporation Computerized spreadsheet with auto-calculator
JP2882475B2 (ja) * 1996-07-12 1999-04-12 日本電気株式会社 スレッド実行方法
US5913925A (en) * 1996-12-16 1999-06-22 International Business Machines Corporation Method and system for constructing a program including out-of-order threads and processor and method for executing threads out-of-order
US5970506A (en) * 1997-01-20 1999-10-19 Justsystem Corporation Spreadsheet-calculating system and method
US6304866B1 (en) 1997-06-27 2001-10-16 International Business Machines Corporation Aggregate job performance in a multiprocessing system by incremental and on-demand task allocation among multiple concurrently operating threads
JP3209205B2 (ja) 1998-04-28 2001-09-17 日本電気株式会社 プロセッサにおけるレジスタ内容の継承装置
US6205465B1 (en) * 1998-07-22 2001-03-20 Cisco Technology, Inc. Component extensible parallel execution of multiple threads assembled from program components specified with partial inter-component sequence information
US6349295B1 (en) 1998-12-31 2002-02-19 Walker Digital, Llc Method and apparatus for performing supplemental searches over a network
US6957191B1 (en) 1999-02-05 2005-10-18 Babcock & Brown Lp Automated financial scenario modeling and analysis tool having an intelligent graphical user interface
US6535905B1 (en) 1999-04-29 2003-03-18 Intel Corporation Method and apparatus for thread switching within a multithreaded processor
US6560606B1 (en) * 1999-05-04 2003-05-06 Metratech Method and apparatus for processing data with multiple processing modules and associated counters
EP1109105A1 (en) 1999-12-14 2001-06-20 Sun Microsystems, Inc. Inserting a data object into a text document
EP1152331B1 (en) 2000-03-16 2017-11-22 Kabushiki Kaisha Square Enix (also trading as Square Enix Co., Ltd.) Parallel task processing system and method
CA2408313A1 (en) 2000-06-21 2001-12-27 Microsoft Corporation System and method for integrating spreadsheets and word processing tables
US7155667B1 (en) 2000-06-21 2006-12-26 Microsoft Corporation User interface for integrated spreadsheets and word processing tables
AUPQ836500A0 (en) * 2000-06-26 2000-07-20 Dstc Pty Ltd Parallel execution mechanism for spreadsheets
JP2002133360A (ja) 2000-10-27 2002-05-10 Mitsuyoshi Yamane 表計算処理におけるセルのレイアウトによる入出力方法及びそのプログラムを記録した記録媒体
RU2202123C2 (ru) * 2001-06-06 2003-04-10 Бачериков Геннадий Иванович Параллельная вычислительная система с программируемой архитектурой
JP3702814B2 (ja) * 2001-07-12 2005-10-05 日本電気株式会社 マルチスレッド実行方法及び並列プロセッサシステム
US7010779B2 (en) * 2001-08-16 2006-03-07 Knowledge Dynamics, Inc. Parser, code generator, and data calculation and transformation engine for spreadsheet calculations
US7028167B2 (en) 2002-03-04 2006-04-11 Hewlett-Packard Development Company, L.P. Core parallel execution with different optimization characteristics to decrease dynamic execution path
US8793176B2 (en) 2002-06-13 2014-07-29 Cfph, Llc Systems and methods for providing a customizable spreadsheet application interface for an electronic trading system
GB0224272D0 (en) * 2002-10-18 2002-11-27 Morrow Iain Systems and method for improved data processing
US7266763B2 (en) 2002-11-26 2007-09-04 Microsoft Corporation User defined spreadsheet functions
US7207043B2 (en) 2002-12-31 2007-04-17 International Business Machines Corporation Programmatic response-time based workload distribution techniques
US7228543B2 (en) 2003-01-24 2007-06-05 Arm Limited Technique for reaching consistent state in a multi-threaded data processing system
JP4042604B2 (ja) * 2003-03-31 2008-02-06 日本電気株式会社 プログラム並列化装置,プログラム並列化方法およびプログラム並列化プログラム
US7243096B2 (en) 2003-04-29 2007-07-10 International Business Machines Corporation Method and system in an electronic data table for managing order oriented criteria
US7530013B2 (en) * 2003-06-13 2009-05-05 Ultimate Risk Solutions, Llc Optimizer of interdependent information
US7454595B1 (en) * 2004-04-19 2008-11-18 Sandia Corporation Distributed processor allocation for launching applications in a massively connected processors complex
US7664804B2 (en) 2004-06-01 2010-02-16 Microsoft Corporation Method, system, and apparatus for exposing workbook ranges as data sources
US7533139B2 (en) * 2004-09-27 2009-05-12 Microsoft Corporation Method and system for multithread processing of spreadsheet chain calculations
US7810032B2 (en) 2004-12-01 2010-10-05 International Business Machines Corporation System and method for performing over time statistics in an electronic spreadsheet environment
US7451397B2 (en) * 2004-12-15 2008-11-11 Microsoft Corporation System and method for automatically completing spreadsheet formulas
US8010969B2 (en) * 2005-06-13 2011-08-30 Intel Corporation Mechanism for monitoring instruction set based thread execution on a plurality of instruction sequencers
US8032821B2 (en) 2006-05-08 2011-10-04 Microsoft Corporation Multi-thread spreadsheet processing with dependency levels

Also Published As

Publication number Publication date
CN101438276B (zh) 2012-09-05
CN101438276A (zh) 2009-05-20
BRPI0711327A2 (pt) 2011-08-30
MY153218A (en) 2015-01-29
EP2024868A2 (en) 2009-02-18
EP2024868A4 (en) 2011-01-12
CA2648875A1 (en) 2007-12-21
MX2008014241A (es) 2009-03-20
WO2007145742A2 (en) 2007-12-21
RU2461059C2 (ru) 2012-09-10
US20070260667A1 (en) 2007-11-08
AU2007259398A1 (en) 2007-12-21
EP2024868B1 (en) 2018-02-28
CA2648875C (en) 2015-02-24
US8032821B2 (en) 2011-10-04
CA2875086A1 (en) 2007-12-21
JP2009536766A (ja) 2009-10-15
JP5081901B2 (ja) 2012-11-28
KR101354810B1 (ko) 2014-01-22
NO20084366L (no) 2008-12-05
KR20090018097A (ko) 2009-02-19
WO2007145742A3 (en) 2008-02-28
AU2007259398B2 (en) 2012-01-19

Similar Documents

Publication Publication Date Title
RU2008144192A (ru) Многопоточная обработка электронных таблиц с использованием уровней зависимости
US10949260B2 (en) Execution time prediction for energy-efficient computer systems
US9830158B2 (en) Speculative execution and rollback
US8433885B2 (en) Method, system and computer-accessible medium for providing a distributed predicate prediction
Li et al. Work stealing for interactive services to meet target latency
US7188234B2 (en) Run-ahead program execution with value prediction
US20140195788A1 (en) Reducing instruction miss penalties in applications
US20120297232A1 (en) Adjusting the clock frequency of a processing unit in real-time based on a frequency sensitivity value
JP2010033554A (ja) ユニプロセッサ・システム上のプリエンプタブルな読み取り・コピー・更新のための猶予期間検出の最適化
RU2007132861A (ru) Энергоэффективный механизм упреждающей выборки инструкций
GB2513266A (en) Providing logical partitions with hardware-thread specific information reflective of exclusive use of a processor core
TWI564807B (zh) 排程方法及應用其的處理裝置
JP2013084178A (ja) シミュレーション装置,方法,およびプログラム
US20120109622A1 (en) Extract cpu time facility
RU2015109474A (ru) Код векторного исключения
KR20170092707A (ko) 최적화된 브라우저 렌더링 프로세스
GB2520594A (en) Data processing method and apparatus for prefetching
JP2016506577A5 (ru)
Feliu et al. Symbiotic job scheduling on the IBM POWER8
IN2014CH00978A (ru)
Andersch et al. On latency in GPU throughput microarchitectures
De Pestel et al. RPPM: Rapid performance prediction of multithreaded applications on multicore hardware
US20160011889A1 (en) Simulation method and storage medium
JP2004062908A5 (ru)
US20130151783A1 (en) Interface and method for inter-thread communication

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20150306

MM4A The patent is invalid due to non-payment of fees

Effective date: 20150509