CN109729110A - Manage method, equipment and the computer-readable medium of dedicated processes resource - Google Patents

Manage method, equipment and the computer-readable medium of dedicated processes resource Download PDF

Info

Publication number
CN109729110A
CN109729110A CN201711025182.8A CN201711025182A CN109729110A CN 109729110 A CN109729110 A CN 109729110A CN 201711025182 A CN201711025182 A CN 201711025182A CN 109729110 A CN109729110 A CN 109729110A
Authority
CN
China
Prior art keywords
resource
subset
dedicated processes
resources
request
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201711025182.8A
Other languages
Chinese (zh)
Other versions
CN109729110B (en
Inventor
赵军平
郭帆
王鲲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201711025182.8A priority Critical patent/CN109729110B/en
Priority to US16/173,004 priority patent/US10783003B2/en
Publication of CN109729110A publication Critical patent/CN109729110A/en
Application granted granted Critical
Publication of CN109729110B publication Critical patent/CN109729110B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6281Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5029Service quality level-based billing, e.g. dependent on measured service level customer is charged more or less
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Abstract

Embodiment of the disclosure is related to managing method, equipment and the computer-readable medium of dedicated processes resource.In accordance with an embodiment of the present disclosure, server can receive the first application from client request and the index based on the subset of resources for including in the request, determine corresponding with subset of resources dedicated processes resource to be used to handle first application request.In accordance with an embodiment of the present disclosure, dedicated processes resource can be divided into multiple subset of resources, to improve the utilization rate of dedicated processes resource.

Description

Manage method, equipment and the computer-readable medium of dedicated processes resource
Technical field
Embodiment of the disclosure relates in general to management dedicated processes resource, and more particularly, to management dedicated processes Method, equipment and the computer-readable medium of resource.
Background technique
Application in client can be designed to complete various places using computing resources such as processing and storage resources Reason or analysis task.As the demand and complexity of the tasks such as machine learning, deep learning, data mining are continuously increased, A large amount of and/or variable computing resources is needed to meet the operation of respective application.This can be by providing with multiple dedicated processes The machine in source or system are realized, wherein application can be scheduled for one or more dedicated processes resources of the machine or system Upper operation.For example, having developed computing system based on cloud, which includes having one or more dedicated processes moneys The machine in source.Different clients can according to need lease the computing resource of the system (for example, dedicated processes resource) to Run respective application.
As the computing capability of dedicated processes resource is continuously available raising, how dedicated processes resource is more reasonably utilized It is the project for being worth research.
Summary of the invention
Embodiment of the disclosure provides memory management method, equipment and corresponding computer program product.
According to the disclosure in a first aspect, providing a kind of method for managing dedicated processes resource.This method comprises: The request of the first application from client is received, the request of the first application includes the index of first resource subset, first resource Subset is to a subset of resources in multiple subset of resources that dedicated processes resource is divided and is generated, multiple subset of resources With corresponding index, dedicated processes resource includes at least one of computing resource and storage resource;Obtain dedicated processes money Mapping relations between source and multiple subset of resources;And the index based on first resource subset, it is determined and the from mapping relations The corresponding dedicated processes resource of one subset of resources is for handling the first application request.
According to the second aspect of the disclosure, a kind of equipment for managing dedicated processes resource is provided.The equipment includes: At least one processor;And the memory coupled at least one processor, memory, which has, is stored in instruction therein, refers to It enables and electronic equipment is made to execute movement when being executed by least one processor, movement includes: first received from client The request of the request of application, the first application includes the index of first resource subset, and first resource subset is to dedicated processes resource Divided and a subset of resources in multiple subset of resources for generating, multiple subset of resources have corresponding index, dedicated Process resource includes at least one of computing resource and storage resource;It obtains between dedicated processes resource and multiple subset of resources Mapping relations;And the index based on first resource subset, it is corresponding with first resource subset dedicated from mapping relations determination Process resource is for handling the first application request.
According to the third aspect of the disclosure, a kind of computer-readable medium is provided.It is stored on the computer-readable medium There is instruction, when instruction by least one dedicated processes resource of machine when being executed, so that machine is realized according to first aspect Method.
There is provided Summary is their specific realities below in order to which simplified form introduces the selection to concept Applying in mode will be further described.Summary is not intended to identify the key feature or main feature of the disclosure, is also not intended to It limits the scope of the present disclosure.
Detailed description of the invention
Disclosure exemplary embodiment is described in more detail in conjunction with the accompanying drawings, the disclosure it is above-mentioned and other Purpose, feature and advantage will be apparent, wherein in disclosure exemplary embodiment, identical reference label is usual Represent same parts.
Fig. 1 is shown can be in the schematic block diagram of the system for some embodiments for wherein realizing the disclosure;
Fig. 2 shows the schematic block diagrams according to the division dedicated processes resources of some embodiments of the disclosure;
Fig. 3 shows the process of process or method according to the division dedicated processes resource of some embodiments of the disclosure Figure;
Fig. 4 shows the flow chart of the process or method of the processing application according to some embodiments of the disclosure;And
Fig. 5 is shown according to some embodiments of disclosure schematic block diagram of the horizontal glass as similarity really.
Specific embodiment
Preferred embodiment of the present disclosure is more fully described below with reference to accompanying drawings.Although showing the disclosure in attached drawing Preferred embodiment, however, it is to be appreciated that may be realized in various forms the disclosure without that should be limited by embodiments set forth here System.On the contrary, thesing embodiments are provided so that the disclosure is more thorough and complete, and can be complete by the scope of the present disclosure Ground is communicated to those skilled in the art.
Terminology used in this article " comprising " and its deformation indicate that opening includes, i.e., " including but not limited to ".Unless Especially statement, term "or" indicate "and/or".Term "based" indicates " being based at least partially on ".Term " implemented by an example Example " and " one embodiment " expression " at least one example embodiment "." at least one is other for term " another embodiment " expression Embodiment ".Term " first ", " second " etc. may refer to different or identical object.It is hereafter also possible that other bright True and implicit definition.
As described above, dedicated processes resource can be local in client or can be provided by remote machine or system.? In some examples, computing system based on cloud can be disposed, including with the multiple of one or more dedicated processes resources Machine.The dedicated processes resource of the computing system can be used as needed by different clients, will be accordingly using tune It spends in available dedicated processes resource and runs.
Fig. 1 shows embodiment of the disclosure can be in the schematic diagram for the exemplary computing system 100 being wherein implemented.At this Deployed in computing system 100 for application operation multiple servers include server 110-1, server 110-2 ..., clothes It is engaged in device 110-N (being hereinafter referred to as known as server 110, wherein N is the natural number greater than 1).Server 110 can be physics or Virtual machine.For example, server 110 can be deployed in data center or logic in private or public cloud, container or The server or calculating equipment etc. of virtual machine or physics.Computing system 100 further includes dedicated processes resource 160-1, dedicated Process resource 160-2, dedicated processes resource 160-3, dedicated processes resource 160-4, dedicated processes resource 160-5 ..., it is dedicated Process resource 160-M (hereafter referred to collectively as dedicated processes resource 160, wherein M is the natural number greater than 1).On each server 110 With one or more dedicated processes resources 160.
In the example of fig. 1, server 110-1 tool there are two dedicated processes resource 160 (i.e. dedicated processes resource 160-1, Dedicated processes resource 160-2), server 110-2 tool there are three dedicated processes resource 160 (i.e. dedicated processes resource 160-3, specially With process resource 160-4 and dedicated processes resource 160-5), and server 110-N has a dedicated processes resource 160 (i.e. Dedicated processes resource 160-M).Dedicated processes resource 160 can be dedicated processes resource or general dedicated processes resource.Dedicated place The example of reason resource 160 can include but is not limited to figure dedicated processes resource (GPU), field programmable gate array (FPGA) Deng.For convenient for discussing, the example using GPU as dedicated processes resource is described some embodiments.In addition to dedicated processes provide Except source 160, server 110 can also include the general dedicated place of one or more of such as central dedicated processes resource (CPU) Manage resource (not shown).
Fig. 1 also shows multiple client 120-1,120-2...120-P etc. and (hereinafter referred to as or is individually referred to as client 120, wherein P is natural number greater than 1), be respectively provided with the application 150-1,150-2 to be run ..., 150-Q (hereinafter referred to as For using 150, wherein Q is the natural number greater than 1).It can be any application that can be run on machine using 150, which can To be designed to execute the tasks such as corresponding data processing or analysis.As an example, can be executed and high-performance calculation using 150 (HPC), machine learning (ML) or relevant data processing or the analysis task such as deep learning (DL) and artificial intelligence (AI).For These applications can rapidly and efficiently be run and/or in order to retain processing locality resource, client 120 can be with request server 110 dedicated processes resource 160 applies 150 to run these.In such an implementation, client 120 can pass through Internet Network 130 is connected to one or more servers 110, and application 150 is transferred to one or more dedicated processes of server 110 Resource 160 is run.Depending on the interface that client 120, server 110 and/or dedicated processes resource 160 are supported, Internet Network 130 can be supported to access the various network transmissions such as (RDMA) and transmission control protocol (TCP) based on remote direct memory The different types of wired or wireless connection of technology.
It should be appreciated that equipment shown in fig. 1 and/or arrangement are only an examples.In other examples, the computing system 100 may include any an appropriate number of server 110 and client 120.Each server 110 can be equipped with any appropriate The dedicated processes resource 160 of number, and each client 120 can have and to be run multiple apply 150.In addition, although It is illustrated separately, scheduler 140 can be realized in practical applications by the other equipment independently of server 110, or can be with Partly or entirely realized on one or more servers 110.
It is clear and succinct in order to describe, the example embodiment of the disclosure will mainly be described in detail by taking GPU kernel as an example.Such as Known, GPU is originated from the memory of its a large amount of kernel and high bandwidth as a kind of application specific processor, powerful computing capability. In GPU hardware framework, a GPU usually has an a large amount of GPU kernel, such as 5120 or close to 10000 kernels.GPU Kernel is most basic processing unit as a kind of dedicated processes resource, also referred to as stream handle (SP).Instruction and task are most It is all processed on GPU kernel eventually.Multiple GPU kernels are performed simultaneously instruction, to realize the parallel computation of GPU.Multiple SP In addition some other resources, such as register, shared drive, a stream multiprocessor (SM) can be formed.
It is understood, however, that GPU is only a kind of illustrative dedicated processes resource, it is not intended to limit the disclosure Range.Spirit and principle described herein can be applied to other dedicated processes resources, such as such as field programmable gate array (FPGA) etc the process resource in accelerator, it is being whether currently known or exploitation in the future, and be not restricted to GPU kernel.
As described above, as the computing capability of the dedicated processes resource of such as GPU is continuously available raising, dedicated processes resource It is reasonable using being the project for being worth research.In the tradition application of dedicated processes resource, such as the dedicated of game running Process resource, there is no the researchs rationally utilized for being directed to dedicated processes resource.With the computing capability of dedicated processes resources Enhancing is seemed by the dedicated processes resource that a physics is monopolized in an application or container and is extremely wasted.It can be with therefore, it is necessary to one kind Operation while dedicated processes resource is divided into multiple subset of resources logically independent of each other to support multiple applications.So And compared with the resources such as traditional CPU divide, the division of dedicated processes resource faces some challenges.For example, dedicated processes resource Hardware do not support the resource of hardware-level to divide (that is, virtualization of hardware-level).Therefore, it is necessary to one kind can be by dedicated place Operation while reason resource is divided into multiple subset of resources logically independent of each other to support multiple applications.
Fig. 2 shows schematic block Figure 200 according to an embodiment of the present disclosure for dividing dedicated processes resource.As shown in Fig. 2, Dedicated processes resource 160 software layer be divided into the subset of resources 1600-1 being logically independent, subset of resources 1600-2 ..., Subset of resources 1600-R (hereinafter referred to as subset of resources 1600, wherein R is the natural number greater than 1).Fig. 3 is shown according to the disclosure Some embodiments division dedicated processes resource method 300 flow chart.Now in conjunction with Fig. 2 and Fig. 3 to according to the disclosure The division dedicated processes resource of some embodiments is illustrated.Note that being carried out by taking GPU as an example only for illustrating convenient purpose Explanation.It is appreciated that the division of the dedicated processes resource such as FPGA also may be implemented in embodiment of the disclosure.The reality of the disclosure Example is applied to be not limited in this respect.
In frame 310, dedicated processes resource 160 is divided into multiple subset of resources 1600 by server 110.As an example, In traditional technology, a virtual GPU is usually created for a physics GPU, that is to say, that the number of physics GPU and virtual GPU It is identical, therefore will cause the waste of GPU resource.As described above, a GPU usually has a large amount of GPU kernel and deposits Store up resource.The computing resource of one GPU and storage resource can be divided into multiple subset of resources by server 100.Each resource Subset includes the GPU kernel and storage resource of certain amount.In other words, server 110 is multiple for a physics GPU creation Virtual GPU effectively improves the utilization of resources of GPU so that multiple applications can be operated in simultaneously on the same physics GPU Rate.
In certain embodiments, for example, a physics GPU is if very big using required dedicated processes stock number It is unable to satisfy processing requirement, multiple physics GPU can be looked at as a virtual GPU by server 110, to answer for handling this With.As another example, if an occupied resource of virtual GPU can satisfy the processing of multiple applications, server 110 Multiple virtual GPU can be further created for the virtual GPU.
In the exemplary embodiment, dedicated processes resource 160 can be fifty-fifty divided into multiple subset of resources by server 110 1600.For example, the kernel of GPU and storage resource can be equally distributed in multiple virtual GPU by server 110.Another In example embodiment, dedicated processes resource 160 can be divided into different resource amount by server 110 based on configuration parameter Multiple subset of resources.In one embodiment, which can be preconfigured to server 110.In another embodiment In, which can also be generated according to the case where current dedicated processes resource by server 110.For example, multiple virtual GPU In a virtual GPU be for handling the application for needing calculation amount very big, server 110 can be by kernel more in GPU Distribute to the virtual GPU.
In certain embodiments, all resources included by dedicated processes resource 160 can be divided into multiple by server 110 Subset of resources 1600.In certain embodiments, server 110 can also be by resource currently available in dedicated processes resource 160 It is divided into multiple subset of resources 1600, so that the resource in dedicated processes resource 160 is fully utilized.
In frame 320, server 110 is that multiple subset of resources 1600 generate multiple corresponding indexes respectively.For example, server 110 can be that subset of resources 1600-1 generates index " 000 ", is that subset of resources 1600-1 generates index " 001 ".Server 110 Index can be generated for each subset in subset of resources 1600 in any suitable manner, consequently facilitating searching the subset.
In frame 330, server 110 is stored between dedicated processes resource 160 and the index of the multiple subset of resources generated Mapping relations.Server 110 can store the mapping relations in table form.Server 110 can also be in tree-shaped form Store the mapping relations.Embodiment of the disclosure is not limited in this respect.Only as an example, if dedicated processes resource 160- 1 index is " 00 ", and the index of subset of resources corresponding to dedicated processes resource 160-1 is " 000 ", " 011 " and " 110 "; The index of dedicated processes resource 160-2 be subset of resources corresponding to " 01 " dedicated processes resource 160-2 index be " 100 ", " 101 " and " 111 ", then the mapping relations of the subset of resources of dedicated processes resource 160-1 and 160-2 and its difference can be with table 1 mode stores.
Table 1
00 000 011 110
01 100 101 111
In certain embodiments, server 110 can be by the rope of dedicated processes resource 160 and the multiple subset of resources generated Mapping relations between drawing are stored in local storage.In another embodiment, server 110 can deposit the mapping relations Storage is in the storage equipment of remote accessible (for example, cloud storage equipment).
In the exemplary embodiment, server 110 can generate for each subset of resources 1600 and store unifying identifier It accords with (URI).The unified identifier includes the Internet protocol address of server 110, the number of Service-Port and resource The index of collection.In certain embodiments, server 110 can determine access authority for multiple subset of resources 1600.Due to money Source subset 1600 can be accessed by multiple client 120, and therefore, access authority can be set in server 110, so that specific visitor Family end 120 cannot access certain subset of resources 1600.
Fig. 4 shows the flow chart of the method 400 of the processing application according to some embodiments of the disclosure.In certain implementations In example, the context for dedicated processes resource 160 can be pre-created in server 110.For example, server 110 can be initial Change hardware etc..In the exemplary embodiment, server 110 can also create the stream pond (Stream including multiple streams (Stream) pool)。
In frame 410, server 110 receives the request of the first application 150-1 from client 120, and first applies 150-1 Request include first resource subset 1600-1 index " 000 ".In certain embodiments, server 110, which receives, comes from client First group of end 120 applies 150 request.Only as an example, server 110 can apply 150 (examples for receive first group Such as, using 150-1, using 150-2) it is lined up according to temporal sequencing.In certain embodiments, client 120 Connection can be established with server 110 in advance, scheduler 140 can be by the characteristic of the first application 150-1 request (based on for example, The demand etc. of the demand of calculation ability and/more memory spaces) and subset of resources 1600 characteristic (for example, the calculating being capable of providing Amount/memory space) it is that the first application 150-1 distributes matched subset of resources.
In frame 420, server 110 obtains the mapping relations between dedicated processes resource 160 and multiple subset of resources 1600. Only as an example, server 110 can obtain between dedicated processes resource 160 and multiple subset of resources 1600 as shown in Table 1 Mapping relations.In certain embodiments, server 110 can be somebody's turn to do from local memory device or from remote storage device Mapping relations.In further embodiments, server 110 can also be configured the mapping relations.
In frame 430, index of the server 110 based on first resource subset, from mapping relations determination and first resource subset Corresponding dedicated processes resource is for handling first application request.As an example, if server 110 is received from visitor The request of the request of the first application 150-1 at family end 120, the first application 150-1 includes the index of first resource subset 1600-1 " 000 ", server 110 can determine the first private resource subset based on index " 000 ", the mapping relations shown in the table 1 The corresponding dedicated processes resource of 1600-1 is 160-1, and server 110 is handled using the resource of dedicated processes resource 160-1 The request of first application 150-1.
Only as an example, in certain embodiments, server 110 can directly determine the first money based on index " 000 " Subset 1600-1 corresponding dedicated processes resource in source is 160-1.In certain embodiments, server 110 can be based on index " 000 " determines that the index of the corresponding dedicated processes resource of first resource subset 1600-1 is " 00 ", and server 110 can be based on " 00 " is indexed to be somebody's turn to do from multiple dedicated processes resources (for example, dedicated processes resource 160-1, dedicated processes resource 160-2 etc.) is determining Indexing " 00 " corresponding dedicated processes resource is dedicated processes resource 160-1.
In certain embodiments, server 110 can determine the first application 150-1 for first resource subset 1600-1's Access authority.If the first application 150-1 has the access authority of first resource subset 1600-1, server 110 can be determined The corresponding dedicated processes resource of first resource subset 1600-1, to apply 150-1 for handling first.If first applies 150- 1 does not have the access authority of first resource subset 1600-1, and 150-1 is applied in the refusal of server 110 processing first.In exemplary reality It applies in example, scheduler 140 can distribute its accessible subset of resources using 150-1 for first again.
In further embodiments, server 110 receives the request and second of the first application 150-1 from client 120 Using the request of 150-2, the request of the first application 150-1 includes the index " 000 " of subset of resources, and the second application 150-2's asks The index " 011 " including subset of resources 1600-2 is sought, server 110 can be based on index " 000 " and " 011 ", shown in table 1 Mapping relations determine that the corresponding dedicated processes resource of first resource subset 1600-1 and Secondary resource subset 1600-2 is 160-1.
In certain embodiments, server 110 can apply the priority of 150 request based on first group, be first group Using at least one subset of resources in the multiple subset of resources of at least one request scheduling in 150 request, which refers to Show using processed sequence.The priority can be preconfigured the server 110.The priority can also be stored in clothes In the addressable storage equipment of device 110 of being engaged in.Only as an example, server 110 determines that the second application 150-2 is with higher preferential Grade, even if the first application 150-1 is before the second application 150-2 in queue according to time sequence, server 110 preferably the The resource that two application 150-2 scheduling subset of resources 1600-2 are included.
In certain embodiments, the first application 150-1 and second can be respectively mapped to by server 110 using 150-2 In the stream being pre-created.Since different applications are mapped in different stream by server 110, different applications can be It is simultaneously handled in identical dedicated processes resource, to improve the efficiency of request processing.In the exemplary embodiment, if First application 150-1 and second has been processed into using 150-2, and occupied stream will be called back.It is appreciated that an application It can be mapped on one or more streams.
In the exemplary embodiment, the request that server 110 can monitor the first application 150-1 uses dedicated processes resource Situation, for carrying out charging for the first application 150-1.Only as an example, server 110 can monitor and the first application The kernel of the related GPU of 150-1 uses time, the occupancy of memory space etc..As an example, server 110 can will be above-mentioned Monitoring result is stored in local memory device, or is uploaded in cloud storage equipment.In certain embodiments, server 110 Charging can be carried out to the first application 150-1 according to the monitoring result.In a further embodiment, server 110 can also root It is analyzed using 150-1 according to the monitoring result first.
Fig. 5 shows the schematic block diagram for being adapted to realize the electronic equipment 500 of the embodiment of the present disclosure.It can manage Client 110 shown in Fig. 1 may be implemented in solution, electronic equipment 500.As shown, equipment 500 includes central dedicated processes money Source (CPU) 510, can be according to the computer program instructions being stored in read-only memory (ROM) 520 or from storage unit 580 are loaded into the computer program instructions in random access storage device (RAM) 530, to execute various movements appropriate and processing. In RAM 530, it can also store equipment 500 and operate required various programs and data.CPU 510, ROM 520 and RAM 530 are connected with each other by bus 510.Input/output (I/O) interface 550 is also connected to bus 540.
Multiple components in equipment 500 are connected to I/O interface 550, comprising: input unit 560, such as keyboard, mouse etc.; Output unit 570, such as various types of displays, loudspeaker etc.;Storage unit 580, such as disk, CD etc.;And it is logical Believe unit 590, such as network interface card, modem, wireless communication transceiver etc..Communication unit 590 allows equipment 500 by such as The computer network of internet and/or various telecommunication networks exchange information/data with other equipment.
Each process as described above and processing, such as 300 and 400, it can be executed by dedicated processes resource 510.Example Such as, in some embodiments, process/method 300 and 400 can be implemented as computer software programs, be tangibly embodied in Machine readable media, such as storage unit 580.In some embodiments, some or all of of computer program can be via ROM 520 and/or communication unit 590 and be loaded into and/or be installed in equipment 500.When computer program is loaded into RAM 530 and by CPU 510 execute when, the one or more steps of method as described above 300 and 400 can be executed.Alternatively, exist In other embodiments, CPU 510 can also be configured to effect the above process in any other suitable manner.
The disclosure can be method, apparatus, system and/or computer program product.Computer program product may include Computer readable storage medium, containing the computer-readable program instructions for executing various aspects of the disclosure.
Computer readable storage medium, which can be, can keep and store the tangible of the instruction used by instruction execution equipment Equipment.Computer readable storage medium for example can be-- but it is not limited to-- storage device electric, magnetic storage apparatus, optical storage Equipment, electric magnetic storage apparatus, semiconductor memory apparatus or above-mentioned any appropriate combination.Computer readable storage medium More specific example (non exhaustive list) includes: portable computer diskette, hard disk, random access memory (RAM), read-only deposits It is reservoir (ROM), erasable programmable read only memory (EPROM or flash memory), static random access memory (SRAM), portable Compact disk read-only memory (CD-ROM), digital versatile disc (DVD), memory stick, floppy disk, mechanical coding equipment, for example thereon It is stored with punch card or groove internal projection structure and the above-mentioned any appropriate combination of instruction.Calculating used herein above Machine readable storage medium storing program for executing is not interpreted that instantaneous signal itself, the electromagnetic wave of such as radio wave or other Free propagations lead to It crosses the electromagnetic wave (for example, the light pulse for passing through fiber optic cables) of waveguide or the propagation of other transmission mediums or is transmitted by electric wire Electric signal.
Computer-readable program instructions as described herein can be downloaded to from computer readable storage medium it is each calculate/ Processing equipment, or outer computer or outer is downloaded to by network, such as internet, local area network, wide area network and/or wireless network Portion stores equipment.Network may include copper transmission cable, optical fiber transmission, wireless transmission, router, firewall, interchanger, gateway Computer and/or Edge Server.Adapter or network interface in each calculating/processing equipment are received from network to be counted Calculation machine readable program instructions, and the computer-readable program instructions are forwarded, for the meter being stored in each calculating/processing equipment In calculation machine readable storage medium storing program for executing.
Computer program instructions for executing disclosure operation can be assembly instruction, instruction set architecture (ISA) instructs, Machine instruction, machine-dependent instructions, microcode, firmware instructions, condition setup data or with one or more programming languages The source code or object code that any combination is write, the programming language include the programming language-of object-oriented such as Smalltalk, C++ etc., and conventional procedural programming languages-such as " C " language or similar programming language.Computer Readable program instructions can be executed fully on the user computer, partly execute on the user computer, be only as one Vertical software package executes, part executes on the remote computer or completely in remote computer on the user computer for part Or it is executed on server.In situations involving remote computers, remote computer can pass through network-packet of any kind It includes local area network (LAN) or wide area network (WAN)-is connected to subscriber computer, or, it may be connected to outer computer (such as benefit It is connected with ISP by internet).In some embodiments, by utilizing computer-readable program instructions Status information carry out personalized customization electronic circuit, such as programmable logic circuit, field programmable gate array (FPGA) or can Programmed logic array (PLA) (PLA), the electronic circuit can execute computer-readable program instructions, to realize each side of the disclosure Face.
Referring herein to according to the flow chart of the method, apparatus (system) of the embodiment of the present disclosure and computer program product and/ Or block diagram describes various aspects of the disclosure.It should be appreciated that flowchart and or block diagram each box and flow chart and/ Or in block diagram each box combination, can be realized by computer-readable program instructions.
These computer-readable program instructions can be supplied to general purpose computer, special purpose computer or other programmable datas The dedicated processes resource of processing unit, to produce a kind of machine, so that these instructions by computer or other are being compiled When the dedicated processes resource of journey data processing equipment executes, the one or more side in implementation flow chart and/or block diagram is produced The device of function action specified in frame.These computer-readable program instructions can also be stored in computer-readable storage In medium, these are instructed so that computer, programmable data processing unit and/or other equipment work in a specific way, thus, The computer-readable medium for being stored with instruction then includes a manufacture comprising one in implementation flow chart and/or block diagram Or the instruction of the various aspects of function action specified in multiple boxes.
Computer-readable program instructions can also be loaded into computer, other programmable data processing units or other In equipment, so that series of operation steps are executed in computer, other programmable data processing units or other equipment, to produce Raw computer implemented process, so that executed in computer, other programmable data processing units or other equipment Instruct function action specified in one or more boxes in implementation flow chart and/or block diagram.
The flow chart and block diagram in the drawings show system, method and the computer journeys according to multiple embodiments of the disclosure The architecture, function and operation in the cards of sequence product.In this regard, each box in flowchart or block diagram can generation One module of table, program segment or a part of instruction, the module, program segment or a part of instruction include one or more use The executable instruction of the logic function as defined in realizing.In some implementations as replacements, function marked in the box It can occur in a different order than that indicated in the drawings.For example, two continuous boxes can actually be held substantially in parallel Row, they can also be executed in the opposite order sometimes, and this depends on the function involved.It is also noted that block diagram and/or The combination of each box in flow chart and the box in block diagram and or flow chart, can the function as defined in executing or dynamic The dedicated hardware based system made is realized, or can be realized using a combination of dedicated hardware and computer instructions.
The presently disclosed embodiments is described above, above description is exemplary, and non-exclusive, and It is not limited to disclosed each embodiment.Without departing from the scope and spirit of illustrated each embodiment, for this skill Many modifications and changes are obvious for the those of ordinary skill in art field.The selection of term used herein, purport In the principle, practical application or technological improvement to the technology in market for best explaining each embodiment, or lead this technology Other those of ordinary skill in domain can understand each embodiment disclosed herein.

Claims (20)

1. a kind of method for managing dedicated processes resource, comprising:
The request of the first application from client is received, the request of first application includes the index of first resource subset, The first resource subset be to a subset of resources in multiple subset of resources that dedicated processes resource is divided and is generated, The multiple subset of resources have corresponding index, the dedicated processes resource include in computing resource and storage resource at least It is a kind of;
Obtain the mapping relations between the dedicated processes resource and the multiple subset of resources;And
Based on the index of the first resource subset, determined from the mapping relations corresponding with the first resource subset described Dedicated processes resource is for handling first application request.
2. according to the method described in claim 1, wherein the method is executed by software module.
3. according to the method described in claim 1, wherein obtaining between the dedicated processes resource and the multiple subset of resources Mapping relations include:
From the storage equipment for being stored with the mapping relations, the mapping relations are obtained.
4. according to the method described in claim 1, wherein determining the dedicated processes money corresponding with the first resource subset Source includes:
It is corresponding with the index of the first resource subset from mapping relations determination based on the index of the first resource subset The dedicated processes resource index;And
Based on the index of the dedicated processes resource, the dedicated processes resource is determined from multiple dedicated processes resources.
5. according to the method described in claim 1, wherein determining the dedicated processes money corresponding with the first resource subset Source includes:
Determine that the request of first application is directed to the access authority of the first resource subset;And
There is the access authority in response to the request of first application, determine corresponding with the first resource subset described Dedicated processes resource.
6. according to the method described in claim 1, further include:
Monitor it is described first application request use the case where the dedicated processes resource be used for be directed to it is described first apply into Row charging.
7. according to the method described in claim 1, wherein the multiple subset of resources be by the dedicated processes resource fifty-fifty Divide and generate.
8. according to the method described in claim 1, wherein the multiple subset of resources be based on resource configuration parameter, will be described special The subset of resources with different stock numbers is divided into process resource and is generated.
9. according to the method described in claim 1, further include:
Obtain the context created for the dedicated processes resource and for handling the application request from client extremely Few stream;And
The request of first application is handled using the context and at least one described stream.
10. according to the method described in claim 1, further include:
In response to receiving the request of first group of application, the request of first group of application is lined up;
The priority of request based on first group of application is that at least one of request of first group of application request is adjusted Resource included by least one subset of resources in the multiple subset of resources is spent, the priority indication is using processed Sequentially;And
At least one described application request is mapped to at least one of multiple streams of creation.
11. a kind of equipment for managing dedicated processes resource, comprising:
At least one processor;And
The memory coupled at least one described processor, the memory, which has, is stored in instruction therein, described instruction First equipment is made to execute movement when being executed by least one described processor, the movement includes:
The request of the first application from client is received, the request of first application includes the index of first resource subset, The first resource subset be to a subset of resources in multiple subset of resources that dedicated processes resource is divided and is generated, The multiple subset of resources have corresponding index, the dedicated processes resource include in computing resource and storage resource at least It is a kind of;
Obtain the mapping relations between the dedicated processes resource and the multiple subset of resources;And
Based on the index, from the mapping relations determine the dedicated processes resource corresponding with the first resource subset with For handling first application request.
12. equipment according to claim 11, wherein obtain the dedicated processes resource and the multiple subset of resources it Between mapping relations include:
From the storage equipment for being stored with the mapping relations, the mapping relations are obtained.
13. equipment according to claim 11, wherein determining the dedicated processes corresponding with the first resource subset Resource includes:
It is corresponding with the index of the first resource subset from mapping relations determination based on the index of the first resource subset The dedicated processes resource index;And
Based on the index of the dedicated processes resource, the dedicated processes resource is determined from multiple dedicated processes resources.
14. equipment according to claim 11, wherein determining the dedicated processes corresponding with the first resource subset Resource includes:
Determine that the request of first application is directed to the access authority of the first resource subset;And
There is the access authority in response to the request of first application, determine corresponding with the first resource subset described Dedicated processes resource.
15. equipment according to claim 11, wherein the movement further include:
Monitor it is described first application request use the case where the dedicated processes resource be used for be directed to it is described first apply into Row charging.
16. equipment according to claim 11, wherein the multiple subset of resources is that the dedicated processes resource is averaged Ground divide and generate.
17. equipment according to claim 11, wherein the multiple subset of resources is to be based on resource configuration parameter, it will be described Dedicated processes resource is divided into the subset of resources with different stock numbers and generates.
18. equipment according to claim 11, wherein the movement further include:
Obtain the context created for the dedicated processes resource and for handling the application request from client extremely Few stream;And
The request of first application is handled using the context and at least one described stream.
19. equipment according to claim 11, wherein the movement further include:
In response to receiving the request of first group of application, the request of first group of application is lined up;
The priority of request based on first group of application is that at least one of request of first group of application request is adjusted Resource included by least one subset of resources in the multiple subset of resources is spent, the priority indication is using processed Sequentially;And
At least one described application request is mapped to at least one of multiple streams of creation.
20. a kind of computer-readable medium, it is stored with instruction on the computer-readable medium, when described instruction is by machine When at least one dedicated processes resource executes, so that the machine realizes -10 described in any item methods according to claim 1.
CN201711025182.8A 2017-10-27 2017-10-27 Method, apparatus and computer readable medium for managing dedicated processing resources Active CN109729110B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201711025182.8A CN109729110B (en) 2017-10-27 2017-10-27 Method, apparatus and computer readable medium for managing dedicated processing resources
US16/173,004 US10783003B2 (en) 2017-10-27 2018-10-29 Method, device, and computer readable medium for managing dedicated processing resources

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711025182.8A CN109729110B (en) 2017-10-27 2017-10-27 Method, apparatus and computer readable medium for managing dedicated processing resources

Publications (2)

Publication Number Publication Date
CN109729110A true CN109729110A (en) 2019-05-07
CN109729110B CN109729110B (en) 2022-02-11

Family

ID=66290926

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711025182.8A Active CN109729110B (en) 2017-10-27 2017-10-27 Method, apparatus and computer readable medium for managing dedicated processing resources

Country Status (2)

Country Link
US (1) US10783003B2 (en)
CN (1) CN109729110B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110764901A (en) * 2019-09-17 2020-02-07 阿里巴巴集团控股有限公司 Data processing method based on GPU (graphics processing Unit) resources, electronic equipment and system
CN113204412A (en) * 2020-01-31 2021-08-03 伊姆西Ip控股有限责任公司 Method, electronic device, and computer storage medium for task scheduling

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113032113A (en) * 2019-12-25 2021-06-25 中科寒武纪科技股份有限公司 Task scheduling method and related product

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070150699A1 (en) * 2005-12-28 2007-06-28 Schoinas Ioannis T Firm partitioning in a system with a point-to-point interconnect
CN102023932A (en) * 2009-09-18 2011-04-20 英特尔公司 Providing hardware support for shared virtual memory between local and remote physical memory
US20150100601A1 (en) * 2013-10-03 2015-04-09 Cleversafe, Inc. Dispersed storage system with sub-vaults and methods for use therewith
US20150134796A1 (en) * 2013-11-11 2015-05-14 Amazon Technologies, Inc. Dynamic partitioning techniques for data streams

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9417899B2 (en) * 2013-03-14 2016-08-16 International Business Machines Corporation Memory page de-duplication in a computer system that includes a plurality of virtual machines
US9658782B2 (en) * 2014-07-30 2017-05-23 Excelero Storage Ltd. Scalable data using RDMA and MMIO
US10409648B1 (en) * 2017-03-01 2019-09-10 Amazon Technologies, Inc. Splitting processing responsibility for separately stored data partitions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070150699A1 (en) * 2005-12-28 2007-06-28 Schoinas Ioannis T Firm partitioning in a system with a point-to-point interconnect
CN102023932A (en) * 2009-09-18 2011-04-20 英特尔公司 Providing hardware support for shared virtual memory between local and remote physical memory
US20150100601A1 (en) * 2013-10-03 2015-04-09 Cleversafe, Inc. Dispersed storage system with sub-vaults and methods for use therewith
US20150134796A1 (en) * 2013-11-11 2015-05-14 Amazon Technologies, Inc. Dynamic partitioning techniques for data streams

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110764901A (en) * 2019-09-17 2020-02-07 阿里巴巴集团控股有限公司 Data processing method based on GPU (graphics processing Unit) resources, electronic equipment and system
CN113204412A (en) * 2020-01-31 2021-08-03 伊姆西Ip控股有限责任公司 Method, electronic device, and computer storage medium for task scheduling

Also Published As

Publication number Publication date
US20190171487A1 (en) 2019-06-06
US10783003B2 (en) 2020-09-22
CN109729110B (en) 2022-02-11

Similar Documents

Publication Publication Date Title
Yahia et al. Comprehensive survey for cloud computing based nature-inspired algorithms optimization scheduling
Barika et al. Orchestrating big data analysis workflows in the cloud: research challenges, survey, and future directions
US10552161B2 (en) Cluster graphical processing unit (GPU) resource sharing efficiency by directed acyclic graph (DAG) generation
US11521067B2 (en) Decentralized distributed deep learning
US10310908B2 (en) Dynamic usage balance of central processing units and accelerators
US9846589B2 (en) Virtual machine placement optimization with generalized organizational scenarios
CN110389763A (en) For dispatching the method, equipment and computer-readable medium of dedicated processes resource
EP3032442B1 (en) Modeling and simulation of infrastructure architecture for big data
US9367359B2 (en) Optimized resource management for map/reduce computing
CN104937544B (en) Method, computer-readable medium and computer system for calculating task result
CN110389824A (en) Handle method, equipment and the computer program product of calculating task
US11055139B2 (en) Smart accelerator allocation and reclamation for deep learning jobs in a computing cluster
US20190065251A1 (en) Method and apparatus for processing a heterogeneous cluster-oriented task
US20210174189A1 (en) Optimization Framework for Real-Time Rendering of Media Using Machine Learning Techniques
CN109729110A (en) Manage method, equipment and the computer-readable medium of dedicated processes resource
dos Anjos et al. Smart: An application framework for real time big data analysis on heterogeneous cloud environments
US20230222004A1 (en) Data locality for big data on kubernetes
Choi et al. DEXSim: an experimental environment for distributed execution of replicated simulators using a concept of single simulation multiple scenarios
US10102029B2 (en) Extending a map-reduce framework to improve efficiency of multi-cycle map-reduce jobs
US11823077B2 (en) Parallelized scoring for ensemble model
US11100123B2 (en) Sharing intermediate data in map-reduce
US20230196182A1 (en) Database resource management using predictive models
Kousalya et al. Automated workflow scheduling in self-adaptive clouds: Concepts, algorithms and methods
US20190146838A1 (en) Independent storage and processing of data with centralized event control
US10152556B1 (en) Semantic modeling platform

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant