KR102055617B1 - Method and system for extending virtual address space of process performed in operating system - Google Patents

Method and system for extending virtual address space of process performed in operating system Download PDF

Info

Publication number
KR102055617B1
KR102055617B1 KR1020130112512A KR20130112512A KR102055617B1 KR 102055617 B1 KR102055617 B1 KR 102055617B1 KR 1020130112512 A KR1020130112512 A KR 1020130112512A KR 20130112512 A KR20130112512 A KR 20130112512A KR 102055617 B1 KR102055617 B1 KR 102055617B1
Authority
KR
South Korea
Prior art keywords
virtual address
address space
extended
operating system
ranges
Prior art date
Application number
KR1020130112512A
Other languages
Korean (ko)
Other versions
KR20140049462A (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 US14/056,057 priority Critical patent/US9229875B2/en
Publication of KR20140049462A publication Critical patent/KR20140049462A/en
Application granted granted Critical
Publication of KR102055617B1 publication Critical patent/KR102055617B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/109Address translation for multiple virtual address spaces, e.g. segmentation
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

A method of extending a virtual address space of a process performed by an operating system includes a virtual address range and a plurality of extended virtual addresses included in a virtual address space corresponding to the process. selecting the number of ranges; Expanding and setting the virtual address space into multiple virtual address spaces using the selected virtual address range and the number of the selected plurality of extended virtual address ranges; Providing the multiple virtual address spaces to the process.

Figure R1020130112512

Description

METHOOD AND SYSTEM FOR EXTENDING VIRTUAL ADDRESS SPACE OF PROCESS PERFORMED IN OPERATING SYSTEM}

The present invention relates to a system and method for extending a virtual address space of a process performed in an operating system, and more particularly to a technique for extending a linear virtual address space of a process into multiple virtual address spaces. Here, the multiple virtual address spaces include a plurality of linear virtual address spaces.

Recently, as the memory capacity increases due to the development of hardware process technology, an in-memory computing operation method of maximizing the use of the increased memory is being used.

The rapid increase in memory capacity leads to the need for an address space that is more extended than the linear virtual address space that a process can support, and therefore, a way to expand one linear virtual address space allocated to a process is needed. Required.

Embodiments of the present invention provide a method, apparatus, and system for extending the virtual address space of a process performed in an operating system.

In addition, embodiments of the present invention provide a method, apparatus and system for extending a virtual address space corresponding to a process into multiple virtual address spaces comprising a plurality of extended virtual address ranges.

In addition, embodiments of the present invention provide a method, apparatus, and system for determining a particular virtual address range in the process of providing a plurality of extended virtual address ranges included in a multiple virtual address space to a process.

A method of extending a virtual address space of a process performed by an operating system according to an embodiment of the present invention includes a plurality of virtual address ranges and a plurality of virtual address ranges included in a virtual address space corresponding to the process. Selecting the number of extended virtual address ranges; Expanding and setting the virtual address space into multiple virtual address spaces by using the selected virtual address range and the number of the selected plurality of extended virtual address ranges; And providing the multiple virtual address spaces to the process.

The setting and extending the virtual address space into the multiple virtual address spaces may include generating the plurality of extended virtual address ranges corresponding to the selected virtual address range based on the number of the selected plurality of extended virtual address ranges. ; And setting the multiple virtual address spaces including the plurality of extended virtual address ranges.

Selecting the virtual address range and the number of the plurality of extended virtual address ranges further comprises providing a user application programming interface (API) for selecting the virtual address range and the number of the plurality of extended virtual address ranges. can do.

The method of extending a virtual address space of a process performed in the operating system includes determining a specific virtual address range in which the process is executed among the provided multiple virtual address spaces; And executing the process using the specific virtual address range.

The determining of the specific virtual address range may include changing an address of a page table of a virtual address range corresponding to the process to an address of a page table corresponding to the specific virtual address range.

The determining of the specific virtual address range may further include providing a user API for determining the specific virtual address range in which the process is executed among the provided multiple virtual address spaces.

The method of extending a virtual address space of a process performed by the operating system may further include releasing the set multiple virtual address spaces.

The releasing the set multiple virtual address space may further include providing a user API for releasing the set multiple virtual address space.

A system for extending a virtual address space of a process performed by an operating system according to an embodiment of the present invention includes a plurality of virtual address ranges and a plurality of virtual address ranges included in a virtual address space corresponding to the process. A selection unit for selecting a number of extended virtual address ranges; A setting unit configured to expand and set the virtual address space into multiple virtual address spaces by using the selected virtual address range and the number of the selected plurality of extended virtual address ranges; And a providing unit for providing the multiple virtual address spaces to the process.

The setting unit generates the plurality of extended virtual address ranges corresponding to the selected virtual address range based on the number of the selected plurality of extended virtual address ranges, and includes the plurality of extended virtual address ranges. You can set the space.

A system for extending a virtual address space of a process performed by the operating system includes: a determination unit to determine a specific virtual address range in which the process is executed among the provided multiple virtual address spaces; And an execution unit that executes the process using the specific virtual address range.

The system for expanding a virtual address space of a process performed by the operating system may further include a release unit for releasing the set multiple virtual address spaces.

Embodiments of the present invention may provide a method, apparatus, and system for extending the virtual address space of a process performed in an operating system.

In addition, embodiments of the present invention may provide a method, apparatus and system for extending a virtual address space corresponding to a process into multiple virtual address spaces comprising a plurality of extended virtual address ranges.

In addition, embodiments of the present invention may provide a method, apparatus, and system for determining a specific virtual address range in the process of providing a plurality of extended virtual address ranges included in a multiple virtual address space to a process.

1 is a diagram illustrating a virtual address space of a process performed in an existing operating system.
2 is a diagram illustrating multiple virtual address spaces of a process according to an embodiment of the present invention.
3 is a flowchart illustrating a method of expanding a virtual address space of a process according to an embodiment of the present invention.
4 is a block diagram illustrating a system for extending a virtual address space of a process according to an embodiment of the present invention.

Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited or limited by the embodiments. Also, like reference numerals in the drawings denote like elements.

1 is a diagram illustrating a virtual address space of a process performed in an existing operating system.

Referring to FIG. 1, the virtual address space 110 of a process has a virtual address space in a linear form. In other words, existing operating systems provide only one linear virtual address space for a process. In this case, the virtual address space 110 may include a plurality of memory area's virtual address ranges 111, 112, and 113 of memory areas representing different memory areas. Hereinafter, the virtual address ranges 111, 112, and 113 of the memory area will be described as the virtual address ranges 111, 112, and 113. For example, one process may be provided with the virtual address range 111 of the first memory area, the virtual address range 112 of the second memory area, and the virtual address range 113 of the third memory area.

Existing operating systems can distinguish between the physical address space and the virtual address space 110, and when the virtual address space 110 is enabled for the CPU, the process converts the virtual address into a physical address at run time. You can then access the physical memory to perform memory operations. In this case, the process of converting the virtual address into the physical address may be performed by using a hardware module including a memory management unit (MMU). In addition, the process of converting a virtual address into a physical address may be performed by using a translation table including a page table. Here, the page table may include address mapping information for mapping a physical address corresponding to a virtual address of a specific process.

In addition, the existing operating system may support a multi-tasking method in which a plurality of processes are executed at the same time. At this time, when context switching occurs to a new process that is distinct from the process in the process being performed, the process of switching the context based on address mapping information suitable for the new process should be performed. In this case, since the context switching process requires storing all the context information of the process being executed and restoring the context information of the new process, overhead may occur.

In addition, existing operating systems may support threads, which are light weight processes. A plurality of threads created in a single process share the same virtual address space 110, but the process execution positions of the plurality of threads are different, so when a switch between threads occurs, the execution positions of the threads must be tracked. .

Therefore, a method of physically extending the size of a memory address accessible to CPUs has been proposed, but when the size of a CPU memory address is physically increased, the size of a process and data is increased because the size of a CPU instruction and a pointer variable are also increased. The overhead may increase.

Accordingly, the present invention proposes a method of extending a virtual address space available to a process by providing multiple virtual address spaces in one process. Detailed description thereof will be described below.

2 is a diagram illustrating multiple virtual address spaces of a process according to an embodiment of the present invention.

Unlike a single virtual address space of a processor provided by an existing operating system, referring to FIG. 2, the multiple virtual address spaces 210 of a process may include virtual address ranges 220, 230, 240, 260 and a plurality of extended virtuals. Address ranges 230, 231, 232, or 250, 251, 252, 253, 254. Here, each of the plurality of extended virtual address ranges 230, 231, 232, or 250, 251, 252, 253, and 254 may be selected virtual among the virtual address ranges 220, 230, 240, 250, and 260 of the memory area. It may be generated from address range 230 or 250.

For example, the operating system selects the virtual address range 230 or 250 to expand and selects the number of extended virtual address ranges 230, 231, 232 or 250, 251, 252, 253, 254 to create. Multiple virtual address spaces 210 can be created.

As a more specific example, the process of selecting the virtual address range 230 or 250 to be extended and the number of extended virtual address ranges 230, 231, 232 or 250, 251, 252, 253, 254 to be created Is a user application programming interface (API) that selects the number of virtual address ranges 230 or 250 to extend and the number of extended virtual address ranges 230, 231, 232 or 250, 251, 252, 253, 254 to create. The number of virtual address ranges 230 or 250 to expand and the number of extended virtual address ranges 230, 231, 232 or 250, 251, 252, 253, and 254 to be generated may be selected and provided from the user. have. The operating system then expands corresponding to the virtual address range 230 or 250 to expand based on the number of extended virtual address ranges 230, 231, 232 or 250, 251, 252, 253, 254 to create. By creating virtual address ranges 230, 231, 232 or 250, 251, 252, 253, 254, including extended virtual address ranges 230, 231, 232 or 250, 251, 252, 253, 254. Multiple virtual address spaces 210 can be created.

The operating system may provide an extended multiple virtual address space 210 to the process, and the plurality of extended virtual address ranges 230, 231, 232, 250, 251, included in the provided multiple virtual address space 210, 252, 253, and 254 and the virtual address ranges 220, 240, and 260 may determine a specific virtual address range in which a process is executed. For example, the operating system may provide a user API to determine a particular virtual address range on which a process runs, thereby determining the particular virtual address range on which the process executes among the provided multiple virtual spaces. More specifically, the determining of the specific virtual address range may be performed by changing the address of the page table of the virtual address range corresponding to the process to the address of the page table corresponding to the specific virtual address range. For example, one of the extended virtual address ranges 230, 231, 232 or 250, 251, 252, 253, 254 may be determined that a particular virtual address range 231 or 253 on which the process is to be executed.

In addition, the operating system may execute the process using the determined specific virtual address range and release the established multiple virtual address spaces 210. For example, the operating system may provide a user API for releasing the multiple virtual address spaces 210 to receive a release input from the user, thereby releasing the set multiple virtual address spaces.

3 is a flowchart illustrating a method of expanding a virtual address space of a process according to an embodiment of the present invention.

Referring to FIG. 3, a system for extending a virtual address space includes a virtual address range and a plurality of extended virtual address ranges included in a virtual address space corresponding to a process. The number of pieces is selected (310). In this case, the process of selecting the virtual address range and the number of extended virtual address ranges includes providing a user application programming interface (API) for selecting the virtual address range to be extended and the number of the plurality of extended virtual address ranges to be created. can do.

In addition, the system for expanding the virtual address space may be configured to expand and set the virtual address space into multiple virtual address spaces by using the selected virtual address range and the selected number of extended virtual address ranges (320). In this case, the process of extending and setting the virtual address space into the multiple virtual address spaces may include generating a plurality of extended virtual address ranges corresponding to the selected virtual address range based on the number of the selected plurality of extended virtual address ranges and the plurality of virtual address spaces. The method may include setting a multiple virtual address space including the extended virtual address ranges of.

In addition, the system for extending the virtual address space provides a set multiple virtual address space to the process (330).

In addition, the system that extends the virtual address space determines a particular virtual address range in which a process is executed among the provided multiple virtual address spaces (340). In this case, the determining of the specific virtual address range may include changing the address of the page table of the virtual address range corresponding to the process to the address of the page table corresponding to the specific virtual address range. In addition, determining the specific linear virtual address space may include providing a user API for determining a specific virtual address range in which a process is executed among the provided multiple virtual address spaces.

In addition, the system extending the virtual address space executes the process using a particular virtual address range (350).

In addition, the system extending the virtual address space releases the established multiple virtual address space (360). In this case, releasing the set multiple virtual address space may include providing a user API for releasing the set multiple virtual address space.

4 is a block diagram illustrating a system for extending a virtual address space of a process according to an embodiment of the present invention.

Referring to FIG. 4, a system for expanding a virtual address space of a process includes a selecting unit 410, a setting unit 420, a providing unit 430, a determining unit 440, an execution unit 450, and a release unit 460. ).

The selector 410 selects a number of virtual address ranges and a plurality of extended virtual address ranges included in a virtual address space corresponding to the process.

The setting unit 420 expands the virtual address space into multiple virtual address spaces by using the selected virtual address range and the number of the selected plurality of extended virtual address ranges.

At this time, the setting unit 420 generates a plurality of extended virtual address ranges corresponding to the selected virtual address range based on the number of the selected extended virtual address ranges, and includes a plurality of extended virtual address ranges. You can set the address space.

The provider 430 provides a multi-virtual address space to the process.

The determination unit 440 determines a specific virtual address range in which a process is executed among the provided multiple virtual address spaces.

The execution unit 450 executes a process using a specific virtual address range.

The release unit 460 releases the set multiple virtual address spaces.

The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the devices and components described in the embodiments may include, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable arrays (FPAs), It may be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of explanation, one processing device may be described as being used, but one of ordinary skill in the art will appreciate that the processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as parallel processors.

The software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device. Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. Or may be permanently or temporarily embodied in a signal wave to be transmitted. The software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner. Software and data may be stored on one or more computer readable recording media.

Method according to the embodiment is implemented in the form of program instructions that can be executed by various computer means may be recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

Although the embodiments have been described by the limited embodiments and the drawings as described above, various modifications and variations are possible to those skilled in the art from the above description. For example, the described techniques may be performed in a different order than the described method, and / or components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different form than the described method, or other components. Or even if replaced or substituted by equivalents, an appropriate result can be achieved.

Therefore, other implementations, other embodiments, and equivalents to the claims are within the scope of the claims that follow.

210: virtual address space
220, 230, 240, 260: Multiple virtual address ranges
231, 232, 251, 252, 253, 254: extended virtual address range

Claims (13)

A method of extending the virtual address space of a process running on an operating system,
The selector selects a virtual address range to be extended from among a plurality of virtual address ranges included in a virtual address space corresponding to the process, and selects a plurality of extensions to be generated for the selected virtual address range. Selecting a number of extended virtual address ranges;
A setting unit configured to expand and set the virtual address space into multiple virtual address spaces by using the selected virtual address range and the number of the selected plurality of extended virtual address ranges; And
Providing, by the provider, the multiple virtual address spaces to the process
How to extend the virtual address space of the process performed on the operating system, including.
The method of claim 1,
Expanding and setting the virtual address space to the multiple virtual address spaces
Generating the plurality of extended virtual address ranges corresponding to the selected virtual address range based on the number of the selected plurality of extended virtual address ranges; And
Establishing the multiple virtual address spaces including the plurality of extended virtual address ranges
How to extend the virtual address space of the process performed on the operating system, including.
The method of claim 1,
Selecting the virtual address range and the plurality of extended virtual address ranges
Providing a user application programming interface (API) for selecting the virtual address range and the number of the plurality of extended virtual address ranges
How to extend the virtual address space of the process performed by the operating system further comprising.
The method of claim 1,
Determining, by the determining unit, a specific virtual address range in which the process is executed among the provided multiple virtual address spaces; And
An execution unit executing the process using the specific virtual address range
How to extend the virtual address space of the process performed by the operating system further comprising.
The method of claim 4, wherein
The determining of the specific virtual address range
Changing an address of a page table of a virtual address range corresponding to the process to an address of a page table corresponding to the specific virtual address range
How to extend the virtual address space of the process performed on the operating system, including.
The method of claim 4, wherein
The determining of the specific virtual address range
Providing a user API for determining the specific virtual address range in which the process is executed of the provided multiple virtual address spaces
How to extend the virtual address space of the process performed by the operating system further comprising.
The method of claim 1,
A release unit releasing the set virtual address space
How to extend the virtual address space of the process performed by the operating system further comprising.
The method of claim 7, wherein
The step of releasing the set virtual address space is
Providing a user API for releasing the set multiple virtual address space
How to extend the virtual address space of the process performed by the operating system further comprising.
A computer-readable recording medium having recorded thereon a program for performing the method of any one of claims 1 to 8. In a system that extends the virtual address space of processes running on the operating system,
Selecting a virtual address range to be extended from among a plurality of virtual address ranges included in a virtual address space corresponding to the process, and a plurality of extended virtual addresses to be generated for the selected virtual address range A selection unit for selecting a number of extended virtual address ranges;
A setting unit configured to expand and set the virtual address space into multiple virtual address spaces by using the selected virtual address range and the number of the selected plurality of extended virtual address ranges; And
Providing unit for providing the multiple virtual address space to the process
A system that extends a virtual address space of a process performed by an operating system including a.
The method of claim 10,
The setting unit
Generate the plurality of extended virtual address ranges corresponding to the selected virtual address range based on the number of the selected plurality of extended virtual address ranges,
And extend a virtual address space of a process performed by an operating system that establishes the multiple virtual address space including the plurality of extended virtual address ranges.
The method of claim 10,
A determining unit to determine a specific virtual address range in which the process is executed among the provided multiple virtual address spaces; And
Execution unit for executing the process using the specific virtual address range
The system further extends the virtual address space of the process performed by the operating system.
The method of claim 10,
A release unit for releasing the set virtual address space
The system further extends the virtual address space of the process performed by the operating system.
KR1020130112512A 2012-10-17 2013-09-23 Method and system for extending virtual address space of process performed in operating system KR102055617B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/056,057 US9229875B2 (en) 2012-10-17 2013-10-17 Method and system for extending virtual address space of process performed in operating system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020120115111 2012-10-17
KR20120115111 2012-10-17

Publications (2)

Publication Number Publication Date
KR20140049462A KR20140049462A (en) 2014-04-25
KR102055617B1 true KR102055617B1 (en) 2019-12-13

Family

ID=50655060

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130112512A KR102055617B1 (en) 2012-10-17 2013-09-23 Method and system for extending virtual address space of process performed in operating system

Country Status (1)

Country Link
KR (1) KR102055617B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080177974A1 (en) 2007-01-20 2008-07-24 Men-Chow Chiang System and method for reducing memory overhead of a page table in a dynamic logical partitioning environment
JP2012185609A (en) 2011-03-04 2012-09-27 Sony Corp Virtual memory system, control method of virtual memory, and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826057A (en) * 1992-01-16 1998-10-20 Kabushiki Kaisha Toshiba Method for managing virtual address space at improved space utilization efficiency
KR0162759B1 (en) * 1995-06-23 1999-01-15 양승택 Extended virtual address space implementation method
KR20020009247A (en) * 2000-07-25 2002-02-01 서평원 Method for data access of idle process in multi processing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080177974A1 (en) 2007-01-20 2008-07-24 Men-Chow Chiang System and method for reducing memory overhead of a page table in a dynamic logical partitioning environment
JP2012185609A (en) 2011-03-04 2012-09-27 Sony Corp Virtual memory system, control method of virtual memory, and program

Also Published As

Publication number Publication date
KR20140049462A (en) 2014-04-25

Similar Documents

Publication Publication Date Title
CN114816664B (en) GPU virtualization
US10025503B2 (en) Autonomous dynamic optimization of platform resources
US10877757B2 (en) Binding constants at runtime for improved resource utilization
US10102373B2 (en) Method and apparatus for capturing operation in a container-based virtualization system
US9009703B2 (en) Sharing reconfigurable computing devices between workloads
KR20140002048A (en) Combined virtual graphics device
Kwon et al. {DC-Store}: Eliminating noisy neighbor containers using deterministic {I/O} performance and resource isolation
CN112035397B (en) Electronic system including FPGA and method of operating the same
US10048886B2 (en) Method and system providing file system for an electronic device comprising a composite memory device
CN108139937B (en) Multi-root I/O virtualization system
CN104516769A (en) Verification of dynamic logical partitioning
US20190377612A1 (en) VCPU Thread Scheduling Method and Apparatus
US10025608B2 (en) Quiesce handling in multithreaded environments
US9317340B2 (en) Intelligent virtual machine (VM) re-location
KR101740317B1 (en) Method and apparatus for memory management
CN109791510B (en) Managing data flows in heterogeneous computing
US20180157605A1 (en) Configuration of a memory controller for copy-on-write
US10223260B2 (en) Compiler-generated memory mapping hints
US9189405B2 (en) Placement of data in shards on a storage device
US20150220442A1 (en) Prioritizing shared memory based on quality of service
KR20140103805A (en) Method for distributing data and apparatus therefor
US20150186180A1 (en) Systems and methods for affinity dispatching based on network input/output requests
JP2010205208A (en) Host computer, multipath system, and method and program for allocating path
US9678752B2 (en) Scheduling apparatus and method of dynamically setting the size of a rotating register
KR102055617B1 (en) Method and system for extending virtual address space of process performed in operating system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant