RU2015117932A - METHOD (OPTIONS) FOR TRANSFER OF OBJECT FROM THE FIRST PROCESS TO THE SECOND PROCESS, MACHINE READABLE MEDIA (OPTIONS) AND DATA PROCESSING SYSTEM - Google Patents

METHOD (OPTIONS) FOR TRANSFER OF OBJECT FROM THE FIRST PROCESS TO THE SECOND PROCESS, MACHINE READABLE MEDIA (OPTIONS) AND DATA PROCESSING SYSTEM Download PDF

Info

Publication number
RU2015117932A
RU2015117932A RU2015117932A RU2015117932A RU2015117932A RU 2015117932 A RU2015117932 A RU 2015117932A RU 2015117932 A RU2015117932 A RU 2015117932A RU 2015117932 A RU2015117932 A RU 2015117932A RU 2015117932 A RU2015117932 A RU 2015117932A
Authority
RU
Russia
Prior art keywords
specified
memory
copy
computer device
address space
Prior art date
Application number
RU2015117932A
Other languages
Russian (ru)
Other versions
RU2632416C2 (en
Inventor
Григорий Викторович ДЕМЧЕНКО
Original Assignee
Общество С Ограниченной Ответственностью "Яндекс"
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 Общество С Ограниченной Ответственностью "Яндекс" filed Critical Общество С Ограниченной Ответственностью "Яндекс"
Priority to RU2015117932A priority Critical patent/RU2632416C2/en
Priority to PCT/IB2015/057320 priority patent/WO2016181200A1/en
Publication of RU2015117932A publication Critical patent/RU2015117932A/en
Application granted granted Critical
Publication of RU2632416C2 publication Critical patent/RU2632416C2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

1. Способ передачи объекта от первого процесса на второй процесс, причем первый процесс имеет первое адресное пространство памяти, а второй процесс имеет второе адресное пространство памяти; выполняемый процессором компьютерного устройства, выполняющим указанный первый процесс; и включающийпредоставление первой копии указанного объекта в первой смежной области указанного первого адресного пространства памяти;предоставление второй копии указанного объекта во второй смежной области указанного первого адресного пространства памяти;сравнение для каждого местоположения указанных первой и второй копий указанного объекта соответствующих значений, сохраненных в соответствующих местоположениях в рамках указанной первой копии указанного объекта и указанной второй копии указанного объекта;формирование индекса местоположения в указанных первой и второй копиях указанного объекта, в которых указанные соответствующие значения в соответствующих местоположениях различаются;предоставление копии указанного объекта и указанного индекса местоположений для передачи на указанный второй процесс для использования в корректировке указанных местоположений в указанной копии указанного объекта для указанного второго адресного пространства памяти.2. Способ по п. 1, в которомполучают указатель указанного объекта для передачи;заменяют распределитель памяти по умолчанию на заданный пользователем распределитель памяти, выполненный с возможностью распределения памяти в смежной области памяти;при этом предоставление указанной первой копии содержит копирование указанного объекта для передачи в указанную первую1. A method of transferring an object from a first process to a second process, the first process having a first memory address space, and the second process having a second memory address space; performed by a processor of a computer device executing said first process; and comprising providing a first copy of said object in a first adjacent region of said first address memory space; providing a second copy of said object in a second adjacent region of said first memory address space; comparing for each location of said first and second copies of said object corresponding values stored at respective locations in within the specified first copy of the specified object and the specified second copy of the specified object; the formation of the index locations in said first and second copies of said object in which said corresponding values at respective locations differ; providing a copy of said object and said location index for transmission to said second process for use in correcting said locations in said copy of said object for said second address space memory 2. The method of claim 1, wherein obtaining a pointer to the indicated object for transmission; replacing the default memory allocator with a user-defined memory allocator configured to allocate memory in an adjacent memory region; wherein providing said first copy comprises copying said object to be transferred to said first

Claims (24)

1. Способ передачи объекта от первого процесса на второй процесс, причем первый процесс имеет первое адресное пространство памяти, а второй процесс имеет второе адресное пространство памяти; выполняемый процессором компьютерного устройства, выполняющим указанный первый процесс; и включающий1. A method of transferring an object from a first process to a second process, the first process having a first memory address space, and the second process having a second memory address space; performed by a processor of a computer device executing said first process; and including предоставление первой копии указанного объекта в первой смежной области указанного первого адресного пространства памяти;providing a first copy of said object in a first adjacent area of said first memory address space; предоставление второй копии указанного объекта во второй смежной области указанного первого адресного пространства памяти;providing a second copy of the specified object in the second adjacent area of the specified first address memory space; сравнение для каждого местоположения указанных первой и второй копий указанного объекта соответствующих значений, сохраненных в соответствующих местоположениях в рамках указанной первой копии указанного объекта и указанной второй копии указанного объекта;comparing for each location of the indicated first and second copies of the specified object the corresponding values stored in the respective locations within the specified first copy of the specified object and the specified second copy of the specified object; формирование индекса местоположения в указанных первой и второй копиях указанного объекта, в которых указанные соответствующие значения в соответствующих местоположениях различаются;the formation of a location index in the specified first and second copies of the specified object, in which the indicated corresponding values at the respective locations differ; предоставление копии указанного объекта и указанного индекса местоположений для передачи на указанный второй процесс для использования в корректировке указанных местоположений в указанной копии указанного объекта для указанного второго адресного пространства памяти.providing a copy of the specified object and the specified location index for transmission to the specified second process for use in adjusting the specified locations in the specified copy of the specified object for the specified second memory address space. 2. Способ по п. 1, в котором2. The method according to p. 1, in which получают указатель указанного объекта для передачи;receive a pointer to the specified object for transmission; заменяют распределитель памяти по умолчанию на заданный пользователем распределитель памяти, выполненный с возможностью распределения памяти в смежной области памяти;replacing the default memory allocator with a user-defined memory allocator configured to allocate memory in an adjacent memory region; при этом предоставление указанной первой копии содержит копирование указанного объекта для передачи в указанную первую смежную область памяти, распределенную указанным заданным пользователем распределителем памяти; иwherein the provision of said first copy comprises copying said object for transmission to said first adjacent memory region allocated by said memory allocator specified by a user; and предоставление указанной второй копии содержит копирование указанного объекта для передачи в указанную вторую смежную область памяти, распределенную указанным заданным пользователем распределителем памяти.providing said second copy comprises copying said object for transmission to said second adjacent memory area allocated by said user-specified memory allocator. 3. Способ по п. 1, в котором3. The method according to p. 1, in which получают указатель указанного объекта для передачи, причем указанный объект занимает первую смежную область памяти, распределенную заданным пользователем распределителем памяти; иget a pointer to the specified object for transmission, and the specified object occupies the first adjacent memory area allocated by a user-specified memory allocator; and предоставление указанной второй копии содержит копирование указанного объекта для передачи в указанную вторую смежную область памяти, распределенную указанным заданным пользователем распределителем памяти.providing said second copy comprises copying said object for transmission to said second adjacent memory area allocated by said user-specified memory allocator. 4. Способ по п. 1, в котором предоставление копии указанного объекта содержит копирование указанной первой копии указанного объекта или указанной второй копии указанного объекта в буфер.4. The method of claim 1, wherein providing a copy of said object comprises copying said first copy of said object or said second copy of said object to a buffer. 5. Способ по п. 1, в котором указанную скопированную первую или вторую копию указанного объекта располагают в базовом адресе в указанном первом адресном пространстве памяти, и извлекают указанный базовый адрес из значений указанной копии указанного объекта в указанный буфер в каждом местоположении в указанном индексе местоположений.5. The method according to claim 1, in which the specified copied first or second copy of the specified object is located in the base address in the specified first address space of the memory, and the specified base address is extracted from the values of the specified copy of the specified object in the specified buffer at each location in the specified location index . 6. Способ по п. 1, в котором указанную скопированную первую или вторую копию указанного объекта располагают в базовом адресе в указанном первом адресном пространстве памяти, и извлекают указанный базовый адрес из значений скопированной первой или второй копии объекта в каждом местоположении в указанном индексе местоположений перед копированием в указанный буфер.6. The method according to claim 1, in which the specified copied first or second copy of the specified object is located in the base address in the specified first address space of the memory, and the specified base address is extracted from the values of the copied first or second copy of the object at each location in the specified location index before copy to the specified buffer. 7. Способ по п. 1, в котором сообщают о размере указанного объекта с указанной копией указанного объекта и указанный индекс местоположений для передачи указанному второму процессу.7. The method according to claim 1, in which they report the size of the specified object with the specified copy of the specified object and the specified location index for transmission to the specified second process. 8. Способ по п. 1, в котором используют функцию сериализации, выполняющую указанные шаги при вызове родительского объекта для передачи указанного объекта.8. The method according to p. 1, in which use the serialization function that performs these steps when calling the parent object to transfer the specified object. 9. Способ по п. 1, в котором указанный первый процесс инстанцируют на первом компьютерном устройстве, а второй процесс инстанцируют на втором отличном компьютерном устройстве.9. The method of claim 1, wherein said first process is instantiated on a first computer device, and a second process is instantiated on a second excellent computer device. 10. Способ по п. 1, в котором указанный первый процесс инстанцируют на первом компьютерном устройстве, а после инстанцируют второй процесс на первом компьютерном устройстве.10. The method according to claim 1, wherein said first process is instantiated on a first computer device, and then a second process is instantiated on a first computer device. 11. Способ по п. 1, в котором указанное предоставление указанной копии указанного объекта и указанного индекса местоположений для передачи содержит запись указанной копии указанного объекта и указанного индекса местоположений в персистентную память.11. The method according to claim 1, wherein said providing a specified copy of the specified object and the specified location index for transmission comprises recording a specified copy of the specified object and the specified location index in persistent memory. 12. Способ по п. 11, в котором персистентная память содержит в себе память компьютера или энергонезависимую память, доступную указанному первому и указанному второму процессу.12. The method of claim 11, wherein the persistent memory comprises computer memory or non-volatile memory available to said first and said second process. 13. Способ по п. 1, в котором указанное предоставление указанной копии указанного объекта и указанного индекса местоположений для передачи включает передачу указанной копии указанного объекта и указанного индекса местоположений на компьютерное устройство по сетевой линии.13. The method according to claim 1, wherein said providing a specified copy of the specified object and the specified location index for transmission includes transmitting the specified copy of the specified object and the specified location index to the computer device via a network line. 14. Способ по п. 2, в котором указанный первый процесс выполняют в виде компилируемой программы на С, а указанный заданный пользователем распределитель памяти выполняют с возможностью осуществления перегруженной функции распределения памяти.14. The method of claim 2, wherein said first process is executed as a compiled C program, and said user-specified memory allocator is configured to perform an overloaded memory allocation function. 15. Способ по п. 2, в котором указанный первый процесс выполняют в виде компилируемой программы на С++, а указанный заданный пользователем распределитель памяти выполняют с возможностью осуществления перегруженной функции.15. The method of claim 2, wherein said first process is executed as a compiled C ++ program, and said user-specified memory allocator is configured to perform an overloaded function. 16. Способ по п. 1, в котором указанное первое и указанное второе адресное пространство памяти выполняют в виде виртуального пространства адресной памяти.16. The method of claim 1, wherein said first and said second address memory space is implemented as a virtual address memory space. 17. Машиночитаемый носитель, включающий в себя выполняемые машиночитаемые коды при выполнении которых компьютерное устройство осуществляет способ по п. 1.17. Machine-readable medium, including executable computer-readable codes upon execution of which a computer device implements the method according to claim 1. 18. Способ передачи объекта от первого процесса на второй процесс, причем первый процесс имеет первое адресное пространство памяти, а второй процесс имеет второе адресное пространство памяти; выполняемый процессором компьютерного устройства, выполняющим указанный второй процесс, и включающий18. A method of transferring an object from a first process to a second process, the first process having a first memory address space, and the second process having a second memory address space; performed by a processor of a computer device that performs the specified second process, and including получение копии указанного объекта и индекса месторасположений в указанной копии объекта, указывающие на указатели местоположений в указанной копии указанного объекта;obtaining a copy of the specified object and the location index in the specified copy of the object, indicating location pointers in the specified copy of the specified object; копирование указанного объекта в смежную область указанного второго адресного пространства памяти, причем указанная область имеет базовый адрес; иcopying said object to an adjacent region of said second address memory space, said region having a base address; and добавление указанного значения базового адреса к значениям указанного объекта в указанной смежной области указанного второго адресного пространства памяти в каждом местоположении в указанном индексе местоположений.adding the specified base address value to the values of the specified object in the specified adjacent area of the specified second memory address space at each location in the specified location index. 19. Способ по п. 18, в котором получают базовый адрес для указанного объекта в указанном первом адресном пространстве памяти, и извлекают указанный базовый адрес из указанного объекта в указанном первом адресном пространстве памяти из значений указанного объекта в указанной смежной области указанного второго адресного пространства памяти в каждом местоположении в указанном индексе местоположений.19. The method according to p. 18, which obtains a base address for the specified object in the specified first memory address space, and extracts the specified base address from the specified object in the specified first memory address space from the values of the specified object in the specified adjacent area of the specified second memory address space at each location in the specified location index. 20. Способ по п. 18, в котором получают данные о размере указанного объекта и распределяют смежную область памяти по меньшей мере указанного размера в указанном втором адресном пространстве памяти.20. The method according to p. 18, in which data is obtained on the size of the specified object and allocate an adjacent memory region of at least the specified size in the specified second memory address space. 21. Способ по п. 18, в котором используют функцию десериализации, выполняющую указанные шаги при вызове родительского объекта для получения указанного объекта.21. The method according to p. 18, in which use the function of deserialization that performs these steps when calling the parent object to obtain the specified object. 22. Машиночитаемый носитель, включающий машиночитаемые коды, при выполнении которых компьютерное устройство осуществляет способ по п. 18.22. Machine-readable medium, including computer-readable codes, the execution of which the computer device implements the method according to p. 18. 23. Система обработки данных, включающая первое компьютерное устройство, связанное со вторым компьютерным устройством, причем указанное первое компьютерное устройство выполнено с возможностью осуществления способа по п. 1, а второе компьютерное устройство выполнено с возможностью осуществления способа по п. 18.23. A data processing system including a first computer device associated with a second computer device, wherein said first computer device is configured to implement the method of claim 1, and the second computer device is configured to implement the method of claim 18. 24. Система по п. 23, в которой указанные первый и второй компьютерные устройства представляют собой различные устройства. 24. The system of claim 23, wherein said first and second computer devices are various devices.
RU2015117932A 2015-05-14 2015-05-14 Method (options) of object transfer from first process to second process, machine-readable media (options) and data processing system RU2632416C2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
RU2015117932A RU2632416C2 (en) 2015-05-14 2015-05-14 Method (options) of object transfer from first process to second process, machine-readable media (options) and data processing system
PCT/IB2015/057320 WO2016181200A1 (en) 2015-05-14 2015-09-23 A data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2015117932A RU2632416C2 (en) 2015-05-14 2015-05-14 Method (options) of object transfer from first process to second process, machine-readable media (options) and data processing system

Publications (2)

Publication Number Publication Date
RU2015117932A true RU2015117932A (en) 2016-12-10
RU2632416C2 RU2632416C2 (en) 2017-10-04

Family

ID=57249148

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2015117932A RU2632416C2 (en) 2015-05-14 2015-05-14 Method (options) of object transfer from first process to second process, machine-readable media (options) and data processing system

Country Status (2)

Country Link
RU (1) RU2632416C2 (en)
WO (1) WO2016181200A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11070621B1 (en) * 2020-07-21 2021-07-20 Cisco Technology, Inc. Reuse of execution environments while guaranteeing isolation in serverless computing

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5403639A (en) * 1992-09-02 1995-04-04 Storage Technology Corporation File server having snapshot application data groups
US5617537A (en) * 1993-10-05 1997-04-01 Nippon Telegraph And Telephone Corporation Message passing system for distributed shared memory multiprocessor system and message passing method using the same
US6119208A (en) * 1997-04-18 2000-09-12 Storage Technology Corporation MVS device backup system for a data processor using a data storage subsystem snapshot copy capability
US6539464B1 (en) * 2000-04-08 2003-03-25 Radoslav Nenkov Getov Memory allocator for multithread environment
US6453403B1 (en) * 2000-05-19 2002-09-17 Sun Microsystems, Inc. System and method for memory management using contiguous fixed-size blocks
US7558264B1 (en) * 2001-09-28 2009-07-07 Emc Corporation Packet classification in a storage system
US7447829B2 (en) * 2003-10-15 2008-11-04 International Business Machines Corporation Heap and stack layout for multithreaded processes in a processing system
US7363456B2 (en) * 2005-04-15 2008-04-22 International Business Machines Corporation System and method of allocating contiguous memory in a data processing system
US8473723B2 (en) * 2009-12-10 2013-06-25 International Business Machines Corporation Computer program product for managing processing resources
US8959054B1 (en) * 2010-03-25 2015-02-17 Emc Corporation Methods and apparatus for optimal journaling for continuous data replication
US9009726B2 (en) * 2010-12-10 2015-04-14 Microsoft Technology Licensing, Llc Deterministic sharing of data among concurrent tasks using pre-defined deterministic conflict resolution policies
US9081839B2 (en) * 2011-01-28 2015-07-14 Oracle International Corporation Push replication for use with a distributed data grid
US20130339656A1 (en) * 2012-06-15 2013-12-19 International Business Machines Corporation Compare and Replace DAT Table Entry

Also Published As

Publication number Publication date
WO2016181200A1 (en) 2016-11-17
RU2632416C2 (en) 2017-10-04

Similar Documents

Publication Publication Date Title
US10635474B2 (en) Systems and methods for virtio based optimization of data packet paths between a virtual machine and a network device for live virtual machine migration
CA2921616C (en) Data storage method and apparatus
JP6391878B1 (en) Virtual machine system
US9652150B2 (en) Global memory sharing method and apparatus, and communications system
JP2019532450A5 (en)
RU2016127436A (en) EXTENSION AND REDUCTION OF ADDRESS IN A MULTI-THREADED COMPUTER SYSTEM
WO2021244155A1 (en) Inter-process communication method and inter-process communication apparatus
JP2015001828A (en) Allocation program, allocation device, and allocation method
JP2015146115A (en) Arithmetic processing apparatus, information processing apparatus, and arithmetic processing apparatus control method
RU2006103559A (en) METHOD AND SYSTEM FOR VIRTUALIZATION OF A GUEST PHYSICAL ADDRESS IN A VIRTUAL MACHINE
WO2017054197A1 (en) Scaling out method, device and system
CA2794339A1 (en) Transfer of user data between logical data sites
RU2016107012A (en) DEVICE AND METHOD FOR MANAGING THE FREQUENCY SPECTRUM, DATABASE OF GEOGRAPHICAL LOCATIONS AND DEVICE FOR SECONDARY SYSTEM
US20180364948A1 (en) Data Processing Method, Related Device, and Storage System
RU2015136594A (en) DEVICE AND METHOD FOR WIRELESS DATA TRANSMISSION SYSTEM
WO2017086987A1 (en) In-memory data shuffling
US9772776B2 (en) Per-memory group swap device
RU2015117932A (en) METHOD (OPTIONS) FOR TRANSFER OF OBJECT FROM THE FIRST PROCESS TO THE SECOND PROCESS, MACHINE READABLE MEDIA (OPTIONS) AND DATA PROCESSING SYSTEM
JP2018501559A5 (en)
US20190215281A1 (en) Fenced Clone Applications
CN110489356B (en) Information processing method, information processing device, electronic equipment and storage medium
EP3227787B1 (en) Systems and methods for providing improved latency in a non-uniform memory architecture
CN112513822B (en) Information processing method, device, equipment and system
US10042774B2 (en) Method and apparatus for masking and transmitting data
CN109359226A (en) A kind of data capture method and relevant apparatus