RU2010149889A - Конфигурируемое разделение для параллельных данных - Google Patents
Конфигурируемое разделение для параллельных данных Download PDFInfo
- Publication number
- RU2010149889A RU2010149889A RU2010149889/08A RU2010149889A RU2010149889A RU 2010149889 A RU2010149889 A RU 2010149889A RU 2010149889/08 A RU2010149889/08 A RU 2010149889/08A RU 2010149889 A RU2010149889 A RU 2010149889A RU 2010149889 A RU2010149889 A RU 2010149889A
- Authority
- RU
- Russia
- Prior art keywords
- data
- separation
- section
- instructions
- software implementation
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
1. Способ, который может быть использован разработчиком программного обеспечения, чтобы конфигурировать разделение параллельных данных, способ содержит этапы, на которых: ! получают (602) интерфейс (202) разделения данных, а именно получают (604), по меньшей мере, один заголовок (300) процедуры для вызова процедуры, чтобы создавать раздел данных, и получают (604), по меньшей мере, один заголовок процедуры для вызова процедуры, чтобы получать элемент данных из части данных, раздел данных имеет организационную структуру (128), которая точно не определена в интерфейсе разделения данных; и ! ассоциируют (606) программную реализацию (204) разделения данных с интерфейсом разделения данных, а именно ассоциируют (608), по меньшей мере, одно тело (400) процедуры, которая реализует создание раздела (126) данных и, по меньшей мере, одно тело процедуры, которая реализует получение элемента (210) данных из части (208) данных, организационная структура раздела данных указывается в программной реализации разделения данных. ! 2. Способ по п.1, дополнительно содержащий, по меньшей мере, один из следующих этапов, на которых: ! конфигурируют (616) программное обеспечение, чтобы вызывать инструкции (116) программной реализации разделения данных, которые указывают, поддерживает ли раздел данных доступ к элементу данных на основе порядковой позиции элемента данных; ! конфигурируют (618) программное обеспечение, чтобы вызывать инструкции (116) программной реализации разделения данных, которые указывают, поддерживает ли раздел данных динамическое разделение; ! конфигурируют программное обеспечение, чтобы вызывать (610) инструкции программной реализации разделения данн�
Claims (15)
1. Способ, который может быть использован разработчиком программного обеспечения, чтобы конфигурировать разделение параллельных данных, способ содержит этапы, на которых:
получают (602) интерфейс (202) разделения данных, а именно получают (604), по меньшей мере, один заголовок (300) процедуры для вызова процедуры, чтобы создавать раздел данных, и получают (604), по меньшей мере, один заголовок процедуры для вызова процедуры, чтобы получать элемент данных из части данных, раздел данных имеет организационную структуру (128), которая точно не определена в интерфейсе разделения данных; и
ассоциируют (606) программную реализацию (204) разделения данных с интерфейсом разделения данных, а именно ассоциируют (608), по меньшей мере, одно тело (400) процедуры, которая реализует создание раздела (126) данных и, по меньшей мере, одно тело процедуры, которая реализует получение элемента (210) данных из части (208) данных, организационная структура раздела данных указывается в программной реализации разделения данных.
2. Способ по п.1, дополнительно содержащий, по меньшей мере, один из следующих этапов, на которых:
конфигурируют (616) программное обеспечение, чтобы вызывать инструкции (116) программной реализации разделения данных, которые указывают, поддерживает ли раздел данных доступ к элементу данных на основе порядковой позиции элемента данных;
конфигурируют (618) программное обеспечение, чтобы вызывать инструкции (116) программной реализации разделения данных, которые указывают, поддерживает ли раздел данных динамическое разделение;
конфигурируют программное обеспечение, чтобы вызывать (610) инструкции программной реализации разделения данных, которые выполняют динамическое разделение, чтобы содействовать балансировке нагрузки;
конфигурируют программное обеспечение, чтобы передавать, по меньшей мере, одно значение (308) для помощи при разделении в инструкции программной реализации разделения данных.
3. Способ по п.2, в котором программное обеспечение конфигурируется, чтобы передавать в инструкции программной реализации разделения данных, по меньшей мере, одно из следующих значений (308) для помощи при разделении: значение распределения времени обработки, указывающее, как время обработки элементов данных согласуется с числом элементов данных, значение способа разделения, идентифицирующее конкретную схему разделения.
4. Способ по п.1, в котором способ содержит этап, на котором определяют (632) конструктор класса, который реализует конкретную организационную структуру разделения данных.
5. Компьютерная система (102) с параллельными данными в разнородных частях, система содержит:
по меньшей мере, одно запоминающее устройство (112), сконфигурированное с исполняемыми инструкциями (116);
по меньшей мере, один логический процессор (110), сконфигурированный, чтобы исполнять, по меньшей мере, часть инструкций для разделения данных;
интерфейс (202) разделения данных, который конфигурирует запоминающее устройство и предназначен, чтобы вызывать процедуру, чтобы создавать раздел (126) данных, и вызывать процедуру, чтобы получать элемент (210) данных из части (208) данных, раздел данных имеет организационную структуру (128), которая точно не определена в интерфейсе разделения данных;
первую программную реализацию (204) разделения данных, которая конфигурирует запоминающее устройство и ассоциирована с интерфейсом разделения данных, а именно, инструкции, которые реализуют создание первого раздела данных, и инструкции, которые реализуют получение элемента данных из части данных первого раздела данных, первый раздел данных имеет первую организационную структуру, которая указана в первой программной реализации разделения данных; и
вторую программную реализацию (204) разделения данных, которая конфигурирует запоминающее устройство и ассоциирована с интерфейсом разделения данных, а именно инструкции, которые реализуют создание второго раздела данных, и инструкции, которые реализуют получение элемента данных из части данных второго раздела данных, второй раздел данных имеет вторую организационную структуру, которая указана во второй программной реализации разделения данных и отличается от первой организационной структуры.
6. Система по п.5, в которой интерфейс разделения данных содержит заголовок (310) процедуры поддержки порядковых позиций для вызова инструкций программной реализации разделения данных, которые указывают, поддерживает ли раздел данных доступ к элементу данных части данных на основе порядковой позиции элемента данных.
7. Система по п.5, в которой интерфейс разделения данных содержит заголовок (312) процедуры поддержки динамического разделения для вызова инструкций программной реализации разделения данных, которые указывают, поддерживает ли раздел данных, по меньшей мере, одно из следующего: добавление части данных в ранее созданную группу частей данных в разделе данных, удаление части данных из ранее созданной группы частей данных в разделе данных.
8. Система по п.5, в которой система содержит запоминающее устройство, сконфигурированное посредством определения интерфейса (314), которое предоставляет свойство получения текущей части для получения текущего раздела данных.
9. Система по п.5, в которой система содержит запоминающее устройство, сконфигурированное посредством определения интерфейса (316), которое предоставляет свойство отдельной части данных для осуществления доступа к части данных в разделе данных.
10. Система по п.5, в которой система содержит запоминающее устройство, сконфигурированное посредством определения интерфейса (318), которое предоставляет свойство получения следующего элемента данных для получения элемента данных из части данных раздела данных.
11. Носитель (114) хранения информации, сконфигурированный с компьютерными данными (118) и компьютерными инструкциями (116) для разделения данных, способ содержит этапы, на которых:
ассоциируют (606) программную реализацию (204) разделения данных с интерфейсом (202) разделения данных, программная реализация разделения данных предназначена для того, чтобы реализовывать создание раздела (126) данных и реализовывать получение элемента (210) данных из части (208) данных раздела данных, раздел данных имеет организационную структуру (128), которая указывается в программной реализации разделения данных и точно не определена в интерфейсе разделения данных; и
выполняют (630) инструкции программной реализации разделения данных для создания раздела данных.
12. Сконфигурированный носитель по п.11, в котором способ содержит этапы, на которых исполняют (630) инструкции программной реализации разделения данных, чтобы создавать первый раздел данных из совокупности элементов данных во время работы прикладной программы в первый раз, и исполняют (630) инструкции программной реализации разделения данных, чтобы создавать второй раздел данных из совокупности элементов данных во время работы прикладной программы во второй раз, и в котором разделы (126) данных отличаются тем, что, по меньшей мере, один из элементов данных назначается в части данных в первом разделе данных, отличной от части во втором разделе данных.
13. Сконфигурированный носитель хранения информации по п.11, в котором этап, на котором исполняют (630) инструкции программной реализации разделения данных для создания раздела данных, назначает элементы данных частям данных, при этом число элементов (210) данных, назначенных данной части (126) данных, падает до предварительно определенного порогового значения, и в ответ на падение компьютерные инструкции (116) назначают, по меньшей мере, один другой элемент данных данной части данных.
14. Сконфигурированный носитель хранения информации по п.11, в котором этап, на котором исполняют (630) инструкции программной реализации разделения данных для создания раздела данных, назначает элементы данных частям данных, и при этом дополнительная часть (208) данных создается, и элементы данных назначаются после того, как части данных уже были назначены и получены из, по меньшей мере, одной другой части данных.
15. Сконфигурированный носитель по п.11, в котором способ содержит этап, на котором исполняют инструкции, посредством которых разрешающий поток (206) может предоставлять другим потокам (206) разрешение обрабатывать элементы (210) данных, которые были ранее назначены разрешающему потоку.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/132,613 | 2008-06-04 | ||
US12/132,613 US8806426B2 (en) | 2008-06-04 | 2008-06-04 | Configurable partitioning of parallel data for parallel processing |
PCT/US2009/042619 WO2009148741A1 (en) | 2008-06-04 | 2009-05-01 | Configurable partitioning for parallel data |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2010149889A true RU2010149889A (ru) | 2012-06-10 |
RU2503997C2 RU2503997C2 (ru) | 2014-01-10 |
Family
ID=41398427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2010149889/08A RU2503997C2 (ru) | 2008-06-04 | 2009-05-01 | Конфигурируемое разделение для параллельных данных |
Country Status (8)
Country | Link |
---|---|
US (1) | US8806426B2 (ru) |
EP (1) | EP2300915B1 (ru) |
CN (1) | CN102057353B (ru) |
AU (1) | AU2009255466B2 (ru) |
CA (1) | CA2722864C (ru) |
MX (1) | MX2010012816A (ru) |
RU (1) | RU2503997C2 (ru) |
WO (1) | WO2009148741A1 (ru) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100082655A1 (en) * | 2008-09-30 | 2010-04-01 | Yahoo! Inc. | Parallel execution of range query |
US8723877B2 (en) * | 2010-05-20 | 2014-05-13 | Apple Inc. | Subbuffer objects |
US9477651B2 (en) * | 2010-09-29 | 2016-10-25 | International Business Machines Corporation | Finding partition boundaries for parallel processing of markup language documents |
US9489183B2 (en) | 2010-10-12 | 2016-11-08 | Microsoft Technology Licensing, Llc | Tile communication operator |
US9430204B2 (en) | 2010-11-19 | 2016-08-30 | Microsoft Technology Licensing, Llc | Read-only communication operator |
US9507568B2 (en) * | 2010-12-09 | 2016-11-29 | Microsoft Technology Licensing, Llc | Nested communication operator |
US9395957B2 (en) | 2010-12-22 | 2016-07-19 | Microsoft Technology Licensing, Llc | Agile communication operator |
US9600342B2 (en) * | 2014-07-10 | 2017-03-21 | Oracle International Corporation | Managing parallel processes for application-level partitions |
EP3079060B1 (en) | 2015-04-08 | 2018-03-28 | Huawei Technologies Co., Ltd. | Load balancing for large in-memory databases |
US20180096031A1 (en) | 2016-09-30 | 2018-04-05 | International Business Machines Corporation | Database-agnostic parallel reads |
KR101872414B1 (ko) * | 2016-12-23 | 2018-06-28 | 충북대학교 산학협력단 | 분산 rdf 그래프에 대한 부하 분산을 지원하는 동적 분할 방법 |
CN108509220B (zh) * | 2018-04-02 | 2021-01-22 | 厦门海迈科技股份有限公司 | Revit工程计算量并行处理方法、装置、终端及介质 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2206002A (en) * | 1937-12-18 | 1940-06-25 | Texas Co | Manufacture of polyvalent metal soaps |
EP0473802B1 (en) | 1990-09-03 | 1995-11-08 | International Business Machines Corporation | Computer with extended virtual storage concept |
US5224056A (en) | 1991-10-30 | 1993-06-29 | Xilinx, Inc. | Logic placement using positionally asymmetrical partitioning algorithm |
CN1180192A (zh) * | 1996-10-10 | 1998-04-29 | 西北工业大学 | 基于共享数据的单程序多数据型程序自动并行化方法 |
JP3286219B2 (ja) * | 1997-09-11 | 2002-05-27 | トヨタ自動車株式会社 | 座席の使用状況判定装置 |
US6334141B1 (en) | 1999-02-02 | 2001-12-25 | International Business Machines Corporation | Distributed server for real-time collaboration |
US6480816B1 (en) | 1999-06-14 | 2002-11-12 | Sanjay Dhar | Circuit simulation using dynamic partitioning and on-demand evaluation |
US6408292B1 (en) * | 1999-08-04 | 2002-06-18 | Hyperroll, Israel, Ltd. | Method of and system for managing multi-dimensional databases using modular-arithmetic based address data mapping processes on integer-encoded business dimensions |
US7246345B1 (en) * | 2001-04-02 | 2007-07-17 | Sun Microsystems, Inc. | Method and apparatus for partitioning of managed state for a Java based application |
US7065576B2 (en) | 2001-09-27 | 2006-06-20 | Matsushita Electric Industrial Co., Ltd. | Dynamic multicast grouping for vehicles and other mobile objects |
US7002571B2 (en) | 2002-06-04 | 2006-02-21 | Intel Corporation | Grid-based loose octree for spatial partitioning |
US9886309B2 (en) * | 2002-06-28 | 2018-02-06 | Microsoft Technology Licensing, Llc | Identity-based distributed computing for device resources |
CN1482808A (zh) * | 2002-09-13 | 2004-03-17 | 中国科学院计算技术研究所 | Mpeg-4视频并行编码中的形状自适应的启发式数据划分方法 |
US7203696B2 (en) | 2003-08-29 | 2007-04-10 | Microsoft Corporation | Dynamic registry partitioning |
US7840949B2 (en) | 2003-11-03 | 2010-11-23 | Ramal Acquisition Corp. | System and method for data transformation using dataflow graphs |
US20050198469A1 (en) | 2003-11-12 | 2005-09-08 | Brian Mitchell | Parallel execution optimization method and system |
US7356672B2 (en) | 2004-05-28 | 2008-04-08 | The Regents Of The University Of California | Warp processor for dynamic hardware/software partitioning |
US20050268308A1 (en) | 2004-05-28 | 2005-12-01 | Nokia Corporation | System and method for implementing a general application program interface |
US20060020594A1 (en) | 2004-07-21 | 2006-01-26 | Microsoft Corporation | Hierarchical drift detection of data sets |
US7865898B2 (en) | 2006-01-27 | 2011-01-04 | Oracle America, Inc. | Repartitioning parallel SVM computations using dynamic timeout |
US7921416B2 (en) * | 2006-10-20 | 2011-04-05 | Yahoo! Inc. | Formal language and translator for parallel processing of data |
-
2008
- 2008-06-04 US US12/132,613 patent/US8806426B2/en active Active
-
2009
- 2009-05-01 CN CN200980121350.0A patent/CN102057353B/zh active Active
- 2009-05-01 EP EP09758904.8A patent/EP2300915B1/en active Active
- 2009-05-01 MX MX2010012816A patent/MX2010012816A/es active IP Right Grant
- 2009-05-01 CA CA2722864A patent/CA2722864C/en not_active Expired - Fee Related
- 2009-05-01 AU AU2009255466A patent/AU2009255466B2/en not_active Ceased
- 2009-05-01 WO PCT/US2009/042619 patent/WO2009148741A1/en active Application Filing
- 2009-05-01 RU RU2010149889/08A patent/RU2503997C2/ru not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
RU2503997C2 (ru) | 2014-01-10 |
MX2010012816A (es) | 2010-12-21 |
US8806426B2 (en) | 2014-08-12 |
EP2300915A4 (en) | 2012-06-27 |
EP2300915A1 (en) | 2011-03-30 |
EP2300915B1 (en) | 2015-12-16 |
AU2009255466A1 (en) | 2009-12-10 |
CN102057353B (zh) | 2015-12-16 |
CN102057353A (zh) | 2011-05-11 |
AU2009255466B2 (en) | 2014-05-15 |
CA2722864A1 (en) | 2009-12-10 |
US20090319992A1 (en) | 2009-12-24 |
WO2009148741A1 (en) | 2009-12-10 |
CA2722864C (en) | 2015-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2010149889A (ru) | Конфигурируемое разделение для параллельных данных | |
JP5719487B2 (ja) | アプリケーションをランタイム・インスタンスにインストールするための方法、システム、およびコンピュータ・プログラム製品、ならびにコンピュータ・プログラム(アプリケーション・インストール) | |
US9385989B2 (en) | Method and apparatus for managing MAC address generation for virtualized environments | |
US8307350B2 (en) | Multi level virtual function tables | |
US20170177415A1 (en) | Thread and/or virtual machine scheduling for cores with diverse capabilities | |
US20140331235A1 (en) | Resource allocation apparatus and method | |
US20140089924A1 (en) | Sharing Reconfigurable Computing Devices Between Workloads | |
US9400767B2 (en) | Subgraph-based distributed graph processing | |
US20120158453A1 (en) | Workflow processing system for supporting multi-tenant, and method thereof | |
US10362097B1 (en) | Processing an operation with a plurality of processing steps | |
CN111596927B (zh) | 服务部署方法、装置及电子设备 | |
US10007495B2 (en) | Code generation method for scheduling processors using hook function and exception handling function | |
US11288047B2 (en) | Heterogenous computer system optimization | |
JP2017520058A5 (ru) | ||
CN105700956A (zh) | 用于处理分布式作业的方法和*** | |
WO2016074130A1 (zh) | 一种***调用命令的批处理方法及装置 | |
CN112527459B (zh) | 一种基于Kubernetes集群的日志分析方法及装置 | |
CN103856548A (zh) | 动态资源调度方法和动态资源调度器 | |
CN105677481B (zh) | 一种数据处理方法、***及电子设备 | |
US20150160973A1 (en) | Domain based resource isolation in multi-core systems | |
KR101867960B1 (ko) | 매니 코어 시스템을 위한 운영체제 동적 재구성 장치 및 방법 | |
CN109101641B (zh) | 表格处理方法、装置、***和介质 | |
CN112052253B (zh) | 数据处理方法、电子设备及存储介质 | |
CN110083469B (zh) | 一种异构硬件组织运行统一内核方法及*** | |
JP5927871B2 (ja) | 管理装置、情報処理装置、管理プログラム、管理方法、プログラムおよび処理方法 |
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: 20190502 |