CN102103521A - HPC system and method for dynamically dispatching task based on HPC system - Google Patents

HPC system and method for dynamically dispatching task based on HPC system Download PDF

Info

Publication number
CN102103521A
CN102103521A CN 201110033759 CN201110033759A CN102103521A CN 102103521 A CN102103521 A CN 102103521A CN 201110033759 CN201110033759 CN 201110033759 CN 201110033759 A CN201110033759 A CN 201110033759A CN 102103521 A CN102103521 A CN 102103521A
Authority
CN
China
Prior art keywords
node
rear end
main control
control module
user
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.)
Pending
Application number
CN 201110033759
Other languages
Chinese (zh)
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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN 201110033759 priority Critical patent/CN102103521A/en
Publication of CN102103521A publication Critical patent/CN102103521A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

The invention relates to a mobile high performance computer (HPC) system. The system comprises rear-end acceleration nodes or a plurality of interconnected rear-end acceleration nodes, a user terminal node, a user interface, a main control module, broadcasting modules and computation modules, wherein the user terminal node is used for installing an operating system; the user interface is installed in the operating system of a client node and is used for providing an operation interface for a user; the main control module is arranged on the client node and is used for receiving job tasks of the user and uniformly distributing the job tasks to a rear end; the broadcasting modules are arranged on all the rear-end acceleration nodes and are used for broadcasting the internet protocol (IP) address and the connection port of each rear-end acceleration node; and the computation modules are arranged on all the rear-end acceleration nodes and are used for receiving the tasks transmitted by the main control module on a user terminal, executing the tasks and returning results to the user terminal.

Description

HPC system and based on the method for the dynamic assignment task of HPC system
Technical field
The present invention relates to the computing technique field, relate in particular to the method that high-performance computer system and this system realize the dynamic assignment task.
Background technology
High-performance computer (HPC) refers to use usually a lot of processors as computing system and the environment of several the computing machines of organizing in the part of individual machine or a certain cluster as single computational resource operation.High-performance calculation occupies high-end market all the time, and medium-sized and small enterprises and individual also have the high-performance calculation demand, but can not bear huge volume of high-performance computer and expensive price.
Polycaryon processor is the born carrier of high-performance calculation.By the Godson processor of Computer Department of the Chinese Academy of Science's independent research, be a nova in the 21 century processor family.Godson since coming out, with its cheap price, ultralow power consumption, the high-performance of multinuclear has been expanded his application market rapidly.This patent uses Godson 3A processor, and 4 cores are arranged, and adopts the MIPS reduced instruction set computer.On framework, can compare favourably with the X 86 processor of main flow.
Because it is bulky that traditional HPC has, power consumption is many, and computing power reaches petaflops, generally is applicable to weather forecast, geodata collection, the national or world-class application that military and national defense etc. are large-scale.Traditional HPC obviously is unsuitable for the individual or medium and small sized enterprises have, but they still have some a large amount of demands of calculating.Application such as for example, Corporate Finance calculating, human parameters index analysis.Be directed to small-sized high-performance calculation, no matter still be still blank out at home in the world.Mobile HPC system is aimed at a kind of technology that addresses this problem and produce.
Mobile HPC is mainly used in education, enterprises and institutions and individual.The characteristics of mobile HPC are: volume is little, little power consumption, be fit to carry, use simple.Mobile HPC spreads to the personal desktop with high-performance calculation.The described mobile HPC of this patent is made up of based on the node that the Godson processor makes up one or several.Because the Godson processor has super low-power consumption, computing velocity is fast, when calculating in a large number, use the Godson processor, can be the green low-carbon environment-friendly life and do one's bit.The user can use notebook computer or PC to visit mobile HPC running environment by netting twine
Mobile HPC system is a kind of new life's a product, the exploitation/service efficiency that how to improve mobile HPC system be a urgent need solve problem, this patent has proposed a kind of dynamic assignment task method, can effectively improve the exploitation/service efficiency of mobile HPC system.
Summary of the invention
The objective of the invention is to, design the computing method of a kind of high-performance computer system and this system dynamics assigned tasks, this method is based on Godson processor, (SuSE) Linux OS, Windows, thus can the dynamic cascading compute node satisfy the demand of user's various computing speed and reduce system management complexity, improve task executions speed, reduce power consumption, improve the utilization factor of resource.
For addressing the above problem, the invention provides a kind of system based on mobile HPC, it is characterized in that, comprising:
Node or a plurality of interconnective rear end acceleration node are quickened in a rear end;
The user terminal node, it is used for installing operating system;
User interface, it is installed in the operating system in the user endpoints, is used to the user that operation interface is provided;
Main control module is arranged in the operation requests that is used to accept the user on the user endpoints, task type judged, and cutting, distribution gathers;
Broadcast module is arranged in each rear end and quickens to be used to broadcast each rear end acceleration IP addresses of nodes and connectivity port on the node;
Computing module is arranged in each rear end and quickens to be used on node to accept the task and the back return results of executing the task that the main control module on the user terminal sends and give user terminal.
Node is quickened by a slice low-power consumption general processor, 2 DDR2 internal memories, north bridge module, 2 hardware systems that GBIC module, a slice flash ROM, BIOS module are formed in described rear end, in the wherein said flash ROM programming linux kernel of simplifying.
Described low-power consumption general processor is a Godson 3A general processor.
Part in the described main control module has been write as template, and another part is in response to changing with program.
Described computing module is the Daemon modular device, and this computing module part has been write as template, and another part is in response to changing with program.
Described user endpoints is the X86 framework, and it is used for configure window operating system.
For realizing that the object of the invention also provides a kind of method of the dynamic assignment task based on mobile HPC system, it is characterized in that, comprising:
Step 1: the user opens the rear end and quickens node;
Step 2: Diso modular device and the Daemon modular device that quicken on the node rear end power up back operation automatically at node;
Step 3: user terminal quickens the broadcast packet that node Diso modular device is sent by receiving the rear end, quickens node with the rear end and connects, and node is quickened at the same network segment in user terminal configuration of IP address and rear end;
Step 4: the user interface and the main control module of user terminal are mutual, the generation task;
Step 5: main control module is according to the type of task, the number of backend nodes and CPU check figure cutting subtask, and the subtask is sent to the rear end by the communication protocol stack packing quicken node and calculate;
Step 6: the main control module of after acceleration node in rear end calculates by the Daemon modular device subtask result of calculation being issued user terminal according to the communication protocol stack packing;
Step 7: after main control module is received the result of subtask, the subtask result is integrated the final result of formation, the notice user interface;
Step 8: user interface display result.
Described Daemon module is opened two threads, a receiving thread, a computational threads; Receiving thread is responsible for receiving the TCP connection of user terminal, generates a connection that receives data then and gives computational threads; Computational threads is responsible for receiving the http packet, promptly reads and the resolution data bag thereby parse the content that the xml file reads the xml file.
Described computational threads has been used the select mechanism of unix network service; At first judge any class activity; The Daemon module generates a listen socket and is placed in the select set, is used for the connection that the listen for user terminal node sends, and connects then; Generating the connection socket is placed in the select set, if there have the adapter sleeve interface activity promptly to connect socket to be readable; , have the HTTP packet so and send that promptly to connect socket readable or to have the message that disconnect to connect promptly to connect socket not readable; If there is the HTTP packet to send, program will change the handle packet program over to so; The program of handle packet is analyzing XML file from packet at first, Analysis of X ML file then, and the parameter of the user's algorithm that obtains in the file being comprised, passing to user's algorithm then, to go computing be calculation procedure; Then result of calculation is filled in the XML bag, is packaged into the HTTP packet and sends the result to the user terminal node; If connect socket not readable have to send on promptly disconnect the message that connects, program will disconnect TCP and connect promptly to disconnect and connect so, and the release resource.
Described Diso modular device can at first detect the configuration of this machine; Diso software service oneself IP and link slogan that can in LAN (Local Area Network), continue and unlimited broadcast (sites) in turn then; User terminal and receive that the broadcast of node is quickened in the rear end after, the IP that receives in the time of can using broadcasting and port numbers and rear end are quickened node and are set up TCP and be connected; Connect after the foundation, broadcast can be used as heartbeat becomes the sign that rear end acceleration node lives.
Description of drawings
Fig. 1 is each intermodule hierarchical relationship figure of the present invention;
Fig. 2 is the workflow diagram of system of the present invention;
Fig. 3 is the work synoptic diagram of Diso module;
Fig. 4 is a Daemon device computational threads process flow diagram of the present invention;
Fig. 5 is the algorithm flow chart of Monte Carlo algorithm;
Fig. 6 is the workflow diagram of user terminal main control module;
Fig. 7 is a system software protocol stack of the present invention;
Fig. 8 is a system construction drawing of the present invention;
Fig. 9 is a communication protocol stack of the present invention;
Figure 10 is that the present invention uses mode chart;
Figure 11 is Daemon software service task balance mode figure of the present invention.
Embodiment
Below in conjunction with accompanying drawing, the present invention is described in further detail.
Realize that as accompanying drawing 1 system of dynamic cascading compute node comprises:
1) node 2 is quickened in the rear end
Need one or several to be called the hardware unit that node 2 is quickened in the rear end, they interconnect by connected modes such as netting twine, bluetooths.Rear end in the present embodiment is quickened node 2 and is linked together by netting twine, and these devices have constituted the hardware body of mobile HPC.Node 2 is quickened by a slice low-power consumption general processor, 2 DDR2 internal memories, north bridge module, 2 hardware systems that GBIC module, a slice flash ROM, BIOS module are formed in each rear end.In the flash ROM programming linux kernel 21 of simplifying.Node is quickened in the rear end does not have hard disk.So also reduced the possibility that whole hardware unit is made mistakes.The low-power consumption general processor can be Godson 3A general processor or Intel's atom (IntelAtom) processor.What the low-power consumption general processor in the embodiments of the invention adopted is Godson 3A general processor.
2) the user terminal node 1
Need a hardware unit that is called user terminal node 1.User terminal node 1 need be the X86 framework.User terminal both can be that notebook computer also can be a PC.Need configure window operating system 11 on the user terminal.
3) user interface 13
User terminal node 1 needs to dispose a modular device that is called user interface 13.User interface is installed on the Windows 11.User interface can change according to the different application demand of user.
4) main control module 12
The user terminal node need be disposed a modular device that is called main control module 12, and its main effect is exactly an operation requests of accepting the user, the generation task, and the cutting of finishing the work and distributing, and be responsible for arrangement and receive the result.The main control module part has been write as template, and part is in response to changing with program.
5) broadcast module
Each rear end quickens to need to dispose a broadcast module-Diso on the node.Diso modular device 22 mainly is the IP and the connectivity port of broadcasting oneself, makes the user terminal node that is connected with him can find it, and can connect with it by IP and port numbers.
6) computing module:
A computing module-be called Daemon modular device 23 is quickened to need to dispose on node in each rear end, and main effect is to receive the task that the main control module on the user terminal is sent, and the back return results of executing the task is given user terminal.The computing module part has been write as template, and part is in response to changing with program.
Each intermodule hierarchical relationship as shown in Figure 1.The rear end quickens to have disposed the linux kernel 21 of simplifying before this on the node 2, based on having disposed Diso modular device 22 and Daemon modular device 23 on the kernel.Diso just makes the rear end quicken a kind of device of node self-discovery.The user terminal of X86 framework has been installed Windows, and based on having disposed main control module 12 on the operating system, main control module 12 is that the Daemon modular device 23 that quickens node 1 with the rear end is leading one decks of communicating by letter.Main control module 12 connects interactive task with Daemon modular device 23.Main control module 12 deploy user interface 13 modular devices.Main control module 12 is responsible for user interface 13 mutual, generates with regard to calculation task.
A user terminal node 1 connects one or several rear ends by netting twine and quickens node 2.It also is by the netting twine cascade that the rear end is quickened between the node 2.Can freely expand according to the demand of user's computing velocity.Operating personnel are by exploitation user interface 13, main control module 12 and the computing module realization operation based on mobile HPC.Wherein finish mutual with the user, generation task by user interface; Main control module is responsible for task is cut into the subtask, is distributed to computing module, and collects the computing information of computing module, and result of calculation is gathered, and final report (FR) is given user interface.Concrete steps are following as accompanying drawing 2:
100: the user opens the rear end and quickens node.
200: Diso modular device and the Daemon modular device that quicken on the node rear end power up back operation automatically at node.
300: user terminal quickens the broadcast packet that node Diso modular device is sent by receiving the rear end, quickens node with the rear end and connects.User terminal needs configuration of IP address (quickening node at the same network segment with the rear end)
400: the user interface and the main control module of user terminal are mutual, the generation task.
500: main control module is according to the number and the CPU check figure cutting subtask of backend nodes.And the subtask is sent to the rear end by communication protocol stack packing quicken node and calculate.
600: the main control module of after acceleration node in rear end calculates by the Daemon modular device subtask result of calculation being issued user terminal according to the communication protocol stack packing.
700: after main control module is received the result of subtask, the subtask result is integrated the final result of formation, the notice user interface
800: the user interface display result.
The detailed introduction of each module among the present invention:
Diso module: Diso quickens to be set to the self-starting of starting shooting when node powers up in the rear end.The Diso modular device can at first detect the configuration of this machine.As: the number of kernel.Because the port number that generates is identical with interior check figure.The Diso modular device can be broadcasted IP and the link slogan of oneself in LAN (Local Area Network) then.The IP difference of node is quickened in each rear end, and the port number that each rear end acceleration node can be used is identical with the CPU check figure.This broadcast continues, as: broadcasting in per 3 seconds 3 times, infinite loop.User terminal is after receiving that the broadcast of node is quickened in the rear end, and the IP that receives in the time of can using broadcasting and port numbers and rear end are quickened node and set up TCP and be connected.Connect after the foundation, broadcast can be used as heartbeat becomes the sign that rear end acceleration node lives.Work synoptic diagram referring to the Diso of Fig. 3.
The Daemon module: the Daemon module functions is for to connect with user terminal, resolution data bag, calculating, result of calculation is packaged into packet, sends to user terminal.Computing module and Diso module that node is quickened in it and rear end are the format exchange data with the communication protocol stack.Communication protocol stack comprises ICP/IP protocol, http protocol, soap protocol.
The Daemon module is opened two threads.610, one computational threads 620 of a receiving thread.Receiving thread 610 is responsible for receiving the TCP connection of user terminal, generates a connection that receives data then and gives computational threads 620.Computational threads is responsible for receiving the http packet, promptly reads and resolution data bag 621 thereby parse the content that the xml file reads the xml file, as shown in Figure 4.
As shown in Figure 4, be example in data during by calculation template 622 steps with the Monte Carlo algorithm.The Monte Carlo algorithm claims the stochastic model algorithm again.Briefly be exactly to estimate integral body,, solve computational problem with random number based on probability with part.General random number of throwing in is many more, and it is accurate more to calculate.Computational threads reads the parameter of the content acquisition Monte Carlo of xml file, move the Monte Carlo algorithm then, result calculated is write into the xml file, use HTTP to add the soap agreement then and on the TCP that set up connects, issue user terminal and be about to the result of calculation packing and send 623.Judge whether readable 624, if it is readable then continue to read and resolution data bag 621, if no longer sending, user terminal comprised the packet of calculating parameter in the TCP connection of having set up, user terminal can be sent an end and quicken node to the rear end, and the TCP connection closed promptly discharges resource and closes and connect 625 so.Monte Carlo algorithm in this module is the concrete content of calculating, and decides according to operating personnel's concrete calculation procedure.
The user terminal main control module is as shown in Figure 6: 2 parts about Fig. 6 is divided into, left-hand component are the operations of user terminal main control module, and the right is that each module of node and the mutual part of main control module are quickened in the rear end.The broadcast that node is sent is quickened in the main control module charge capture rear end of user terminal, noting IP and port numbers and rear end quickens node and sets up TCP and be connected and promptly connect 705, sending after the connecting back reception main control module process task balance of task promptly receives calculation task 706.Then task is cut into that to calculate behind a plurality of subtasks be that the subtask calculates 707, at last the subtask result is returned main control module and gather.Main control module with user interactions after generate calculation task 701, main control module also be responsible for task cutting 702, distribute 703 and gather 704.The cutting of task is relevant with the character of task.Main control module is at first judged the type of task.Thereby determine that the cutting to task is segmentation or grouping.For example quicken node in the rear end and calculate the Monte Carlo algorithm, calculating target is the difference of algorithm computation result in Monte Carlo under the comparison different parameters.Main control module will be according to the type of this task, with the mode cutting of ginseng with grouping.Suppose to have N rear end to quicken node with the continuous collaborative work of netting twine, node 4 cores are quickened in each rear end.Main control module is one group with 4 parameters so, and main control module just has been divided into the 4N group to calculative parameter like this.At first main control module and each rear end are quickened node and are set up 4 and be connected.Main control module is issued 4 parameters in each group uniformly 4 and is connected calculating.After main control module received that certain return results that connects of node is quickened in the rear end, data can giving again in one group of parameter connected to this.Result of calculation in one group is all returned, and has just finished a circulation.After circulation N time, the result that node is quickened in the rear end all returns like this.Main control module gathers 704 to result of calculation.The mode that gathers is for depositing the result of calculation grouping or all store together.If grouping is deposited, then divide into groups according to the requirement of handling procedure.Importing handling procedure into through the result of calculation after gathering compares.Task cutting in the main control module, distribute, gather mode and be fixed as template.The communication mode that node is quickened in main control module and rear end also has been template admittedly.The user only need insert the calculating content in template.Insert content with the user interactions part for the user in figure below.
Subscriber interface module: operating personnel write according to user's application demand.
Communications protocol is introduced:
Communications protocol during main control module and computing module are mutual uses HTTP to communicate on TCP/IP.The HTTP client computer uses TCP to be connected to http server.After connecting, client computer can send the HTTP request message to server, and server can be handled this request subsequently, sends a http response to client computer then.But this response has comprised the state code of indication request state.Communication protocol is for using the HTTP request of observing the SOAP coding rule.
Template code is:
POST******HTTP/1.1
Host:www.**********.com
Content-Type:text/xml;charset=″utf-8″
Content-Length:****
<env:Envelope
xmlns:env=″http://www.w3.org/2001/06/soap-envelope″>
<env:Header>
*************
</env:Header>
<env:Body>
************
</env:Body>
</env:Envelope>
The content of annotating .* number representative transmission is relevant
The method of operating of module is among the present invention:
1. the user needs exploitation:
The exploitation user interface is filled in main control module and computing module template.User interface is write according to user's request fully, and this part needs operating personnel to develop fully.Main control module and computing module the invention provides the template of writing, and the user only needs computational logic is inserted.
2. development procedure:
1) writes user interface
2) write main control module
The code of main control module is write based on C#.The code that main control module needs operating personnel to insert is: replace the comparison program of mentioning in the above-mentioned main control module according to user's computation requirement.Main control module also needs operating personnel to write part with user interface interaction.
3) write computing module
The computing module code is based on the Linux standard C.Computing module provides the interface of algorithmic function, and operating personnel only need insert according to function interface according to user's computation requirement and get final product.Function interface is: double Cal_fun (* * * * * * *); Replace the said Meng Takaluo algorithm of example in the Daemon module.
4) program division is deployed to the rear end and quickens node
Node is quickened in the rear end does not have hard disk, has only size to quicken the start-up point of node as whole rear end for the flash ROM of 16M.Flash ROM is only supported piece to write with piece to wipe.Diso module, Daemon module and the BIOS that the node deploy is quickened in the rear end is provided with, Linux simplifies kernel and will write in the flash ROM.Each operating personnel rewrite template in the Daemon module according to the different needs of user's request.When the program among each ROM changes, need to use the flash_be order that the content in the flash ROM is all wiped, use the load order that the position of whole programs from the program place is written to the flash ROM then.With the process of program burn writing in the flash ROM, we have carried out command file, and the user only need carry out and get final product, and need not manually.
3. use-case:
1) user interface: the present invention has developed the example of user interface at the user terminal oneself of X86 framework.Such as the user will use user terminal to come the machine of different CPU framework is done the comparison of a computing velocity, user's can on user interface, touch the button " setting up coordinate system ", the dialog box of setting up coordinate system is ejected at the interface then, insert the meaning and the scale of axle representative in length and breadth, just on the interface, set up empty coordinate axis by confirming button, transverse axis is represented the time, and the longitudinal axis is represented the calculating progress.Touch the button " calculation task ", can eject on the interface and fill in the calculation task dialog box, the name of filling in calculation task is called the Monte Carlo algorithm, and the position at executable file place.Touch the button " this computer ", the user terminal itself at the X86 framework runs a Monte Carlo algorithm, the oblique line of one blueness of drawing then in the coordinate system of having set up so.Touch the button then " rear end 4 nuclears ", task can be submitted to 4 nuclear parallel computations on rear end acceleration node, the oblique line of one green of drawing in coordinate system so.The rear end is quickened node and is connected two then, and touch the button " rear end 8 nuclears ", task can be submitted to 8 nuclear parallel computations on rear end acceleration node, the oblique line of one yellow of drawing in coordinate system so.The slope of oblique line is big more, and the time that expression is finished is short, i.e. fast operation.We also can be more accurate simultaneously.Touch the button " demonstration time ", can see the time that has shown three calculating operations on the interface.Numeral can demonstrate the acceleration effect that node is quickened in the rear end accurately like this.Figure can be expressed the acceleration effect that node is quickened in the rear end intuitively.The number that the backend nodes cascade is different, the arithmetic speed difference.
2) fill in the communication module template.
Request: be sent to the package that node is quickened in the rear end from user terminal
POST/Design_Time_Addresses/AsionOption/Service1/HTTP/1.1
Content-Type:application/soap+xml;charset=utf-8
Host:zjp-msft
Content-Length:711
Expect:100-continue
<s:Envelope
xmlns:s=″http://www.w3.org/2003/05/soap-envelope″
xmlns:a=″http://www.w3.org/2005/08/addressing″><s:Header><a:Action
s:mustUnderstand=″1″>http://tempuri.org/IService1/PriceAsianOptions</a:Action><a:MessageID>urn:uuid:
1fcc8535-dc9d-4344-8fc4-6122f05fdc93</a:MessageID><a:ReplyTo><a:Address>http://www.w3.org/2005/
08/addressing/anonymous</a:Address></a:ReplyTo><a:To
s:mustUnderstand=″1″>http://zjp-msft/Design_Time_Addresses/AsionOption/Service1/</a:To></s:Header><
s:Body><PriceAsianOptions
xmlns=″http://tempuri.org/″><initial>30</initial><exercise>30</exercise><up>1.4</up><down>0.8</down
><interest>1.08</interest><periods>20</periods><runs>100000</runs></PriceAsianOptions></s:Body></s:
Envelope>
Response: the package that is sent to form from Linux
HTTP/1.1200?OK
Content-Length:480
Content-Type:application/soap+xml;charset=utf-8
Server:Microsoft-HTTPAPI/2.0
Date:Sun,25?Jul?2010?13:15:42?GMT
X-Charles-Received-Continue:HTTP/1.1?100?Continue
<s:Envelope
xmlns:s=″http://www.w3.org/2003/05/soap-envelope″
xmlns:a=″http://www.w3.org/2005/08/addressing″><s:Header><a:Action
s:mustUnderstand=″1″>http://tempuri.org/IService1/PriceAsianOptionsResponse</a:Action><a:RelatesTo>u
rn:uuid:1fcc8535-dc9d-4344-8fc4-6122f05fdc93</a:RelatesTo></s:Header><s:Body><PriceAsianOptionsRe
sponse
xmlns=″http://tempuri.org/″><PriceAsianOptionsResult>9.5394600768453461</PriceAsianOptionsResult><
/PriceAsianOptionsResponse></s:Body></s:Envelope>
3) fill in calculation template---the Monte Carlo algorithm is written in the computing module
double?Cal_fun(struct?Cal_Input?Input_Para)
{ double*pricePath=new?double[Input_Para.periods+1];
//Risk-neutral?probabilities
double?piup=(Input_Para.interest-Input_Para.down)/(Input_Para.up-Input_Para.down);
double?pidown=1-piup;
double?temp=0.0;
double?priceAverage=0.0;
double?callPayOff=0.0;
for(int?index=0;index<Input_Para.runs;index++)
{ //Generate?Path
double?sumPricePath=Input_Para.initial;
for(int?i=1;i<=Input_Para.periods;i++)
{ pricePath[0]=Input_Para.initial;
double?rn=(double)random()/(double)RAND_MAX;
if(rn>pidown)
{ pricePath[i]=pricePath[i-1]*Input_Para.up;
}
else
{ pricePath[i]=pricePath[i-1]*Input_Para.down;
}
sumPricePath+=pricePath[i];
}
priceAverage=sumPricePath/(Input_Para.periods+1);
callPayOff=max(priceAverage-Input_Para.exercise,0);
temp+=callPayOff;
}
double?returnValue=
(temp/pow(Input_Para.interest,Input_Para.periods))/Input_Para.runs;
delete[]pricePath;
return?returnValue;
}
4) fill in the main control module Accounting Legend Code
Main control module only need be imported acceleration node Monte Carlo, rear end parameter group and get final product.This example has 500 groups of parameters.Open up a slice region of memory, every group of parameter is according to<double; Double; Double; Double; Double; Int; Int〉mode stores.
5) program burn writing is quickened in the flash ROM of node to the rear end.
Node is quickened in user terminal and rear end link to each other with serial ports, the rear end is quickened node and is linked in the LAN (Local Area Network) at local place, so that download the program of having finished writing from operating personnel's machine.Open the beginning of Windows-annex-communication-hyper terminal.Then node is quickened in the rear end and power up, press the Esc key always in the process that rear end acceleration node starts, program is stopped, input command: flash_be, the wait flash ROM clashes and finishes.Input command ifaddr rtk0 10.10.11.2 quickens node to the rear end and joins an interim IP.After wait command is finished, input command
Load-p tftp: after the programming of // 10.10.111.12/vmlinux/ wait routine finishes, restart and get final product.
System module protocol stack diagram of the present invention as shown in Figure 7.The rear end quickens at first to have disposed the linux kernel of simplifying on the node, based on having disposed Diso modular device and Daemon modular device on the kernel.The user terminal of X86 framework has been installed Windows, and based on having disposed main control module on the operating system, main control module is leading one deck of communicating by letter with the Daemon module that node is quickened in the rear end.The main control module deploy subscriber interface module device.Main control module is responsible for catching the rear end and is quickened the broadcast that node is sent, and the foundation and the distribution of task is responsible in the back that connects.
Daemon device computational threads treatment scheme of the present invention as shown in Figure 5.Computational threads has been used the select mechanism 630 of unix network service.At first judge any class activity 631.The Daemon device generates a listen socket 632 and is placed in the select set, be used for the connection that the listen for user terminal node sends, connect 635 then, generating the connection socket is placed in the select set, if there have the adapter sleeve interface activity promptly to connect socket to be readable 633, have the HTTP packet so and send promptly to connect socket readable 633 or have and disconnect the message that connects and promptly connect socket not readable 634.If there is the HTTP packet to send, program will change the handle packet program over to so.The program of handle packet is analyzing XML file 636 from packet at first, Analysis of X ML file then, the parameter of the user's algorithm that obtains in the file being comprised, passing to user's algorithm then goes computing promptly to calculate 637 steps, then result of calculation is filled in the XML bag 638, is packaged into the HTTP packet and sends result 639 to the user terminal node.Disconnect the message that connects if connection socket not readable 634 has promptly to send, program will disconnect the TCP connection and promptly disconnect connection 640 so, and discharge resource 641.
System construction drawing of the present invention as shown in Figure 8.The user terminal node need be deployed with and the graphical interfaces of user interactions and the main control module of control task.User interface is different because of user's request with main control module.Each user terminal has connected one or several rear ends and has quickened node, and the number that node is quickened in the rear end of connection also is to decide along with user's computing velocity demand difference.If amount of user data is big, require to go out in the short time result of calculation, need to take high degree of parallelism so, just need multi-link several rear end to quicken node.But under the certain situation of data scale, be not that the rear end acceleration node of connection is The more the better.Because the cutting of task and gathering has the regular hour to consume.The how cutting of concrete task needs to connect several rear ends and quickens nodes, and to use difference different because of the user.
Communication protocol stack of the present invention as shown in Figure 9.Soap protocol is a Simple Object Access Protocol.It as the bottom communications protocol, uses RPC as the conforming approach that calls with HTTP, the form that uses XML to transmit as data, and it is mutual to allow ISP and services client to carry out communication through fire wall at INTERNET.Mutual data all will encapsulate by communication protocol stack between every user terminal and the rear end acceleration node.Soap protocol is adapted at exchange message in dispersion or the distributed environment.SOAP has the characteristics of simplicity and extensibility.When client sends request, no matter what platform is client be, at first request is converted to the XML form, the SOAP gateway can automatically perform this conversion.After changing into the XML form, SOAP terminal name (far call method name) and other some protocol-identifier information are packaged into the HTTP request, send to server then.If application program requirement, server are returned a HTTP response message and are given client.The HTTP bottom is set up TCP and is connected, and guarantees reliability of data transmission.
User of the present invention uses mode chart as shown in figure 10.Windows is installed, based on allocating operating system main control module and graphical interface of user on the user terminal.User terminal uses netting twine and several rear ends acceleration node to be connected as shown in the figure.The rear end quickens to use the netting twine cascade between the node.Preset the algorithm that the user need do a large amount of calculating in the Daemon modular device of rear end acceleration node deploy.The user terminal main control module is responsible for the generation task, and task is distributed to rear end acceleration node, and the rear end is quickened node and finished the main control module that calculating back return results is given user terminal.The main task amount of user terminal is quickened node and is finished in the rear end.
Daemon module module design task balanced way of the present invention as shown in figure 11.Node is quickened in the rear end just can Intelligent Measurement go out the cascade number that node is quickened in the rear end when powering up startup.If there be N rear end to quicken node in cascade, it is 4 nuclears that node is quickened in each rear end, and node is quickened in so all rear ends can do 4N parallel computation simultaneously.The main control module of user terminal can be set up 4N with rear end acceleration node simultaneously at most and be connected, distributed tasks goes to carry out to daemon in turn on each connects, can be immediately after the daemon task is finished return results give the user terminal main control module, after any one connection was wherein finished the work, the user terminal main control module can be sent out task again and connect to this.Load is balanced like this, and arithmetic speed is also very fast.
Those skilled in the art can also carry out various modifications to above content under the condition that does not break away from the definite the spirit and scope of the present invention of claims.Therefore scope of the present invention is not limited in above explanation, but determine by the scope of claims.

Claims (11)

1. the system based on mobile HPC is characterized in that, comprising:
Node or a plurality of interconnective rear end acceleration node are quickened in a rear end;
The user terminal node, it is used for installing operating system;
User interface, it is installed in the operating system in the user endpoints, is used to the user that operation interface is provided;
Main control module is arranged in the operation requests that is used to accept the user on the user endpoints task type is judged, cutting, and distribution gathers;
Broadcast module is arranged in each rear end and quickens to be used to broadcast each rear end acceleration IP addresses of nodes and connectivity port on the node;
Computing module is arranged in each rear end and quickens to be used on node to accept the task and the back return results of executing the task that the main control module on the user terminal sends and give user terminal.
2. the system based on mobile HPC as claimed in claim 1, it is characterized in that: node is quickened by a slice low-power consumption general processor, 2 DDR2 internal memories, north bridge module, 2 hardware systems that GBIC module, a slice flash ROM, BIOS module are formed in described rear end, in the wherein said flash ROM programming linux kernel of simplifying.
3. the system based on mobile HPC as claimed in claim 2 is characterized in that: described low-power consumption general processor is a Godson 3A general processor.
4. the system based on mobile HPC as claimed in claim 1 is characterized in that, the part in the described main control module has been write as template, and another part is in response to changing with program.
5. the system based on mobile HPC as claimed in claim 1 is characterized in that, described computing module is the Daemon modular device, and this computing module part has been write as template, and another part is in response to changing with program.
6. described system based on mobile HPC as claimed in claim 1 is characterized in that described user endpoints is the X86 framework, and it is used for configure window operating system.
7. the method based on the dynamic assignment task of mobile HPC system is characterized in that, comprising:
Step 1: the user opens the rear end and quickens node;
Step 2: Diso modular device and the Daemon modular device that quicken on the node rear end power up back operation automatically at node;
Step 3: user terminal quickens the broadcast packet that node Diso modular device is sent by receiving the rear end, quickens node with the rear end and connects, and node is quickened at the same network segment in user terminal configuration of IP address and rear end;
Step 4: the user interface and the main control module of user terminal are mutual, the generation task;
Step 5: main control module is according to the type of task, the number and the CPU check figure cutting subtask of backend nodes, and the subtask is sent to the rear end by the communication protocol stack packing quickens node and calculate;
Step 6: the main control module of after acceleration node in rear end calculates by the Daemon modular device subtask result of calculation being issued user terminal according to the communication protocol stack packing;
Step 7: after main control module is received the result of subtask, the subtask result is integrated the final result of formation, the notice user interface;
Step 8: user interface display result.
8. the method for the dynamic assignment task based on mobile HPC system as claimed in claim 7, it is characterized in that: described Daemon module is opened two threads, a receiving thread, a computational threads; Receiving thread is responsible for receiving the TCP connection of user terminal, generates a connection that receives data then and gives computational threads; Computational threads is responsible for receiving the http packet, promptly reads and the resolution data bag thereby parse the content that the xml file reads the xml file.
9. the method for the dynamic assignment task based on mobile HPC system as claimed in claim 8 is characterized in that described computational threads has been used the select mechanism of unix network service; At first judge any class activity; The Daemon device generates a listen socket and is placed in the select set, is used for the connection that the listen for user terminal node sends, and connects then; Generating the connection socket is placed in the select set, if there have the adapter sleeve interface activity promptly to connect socket to be readable; Have the HTTP packet and send that promptly to connect socket readable or to have the message that disconnect to connect promptly to connect socket not readable; If there is the HTTP packet to send, program will change the handle packet program over to so; The program of handle packet is analyzing XML file from packet at first, Analysis of X ML file then, and the parameter of the user's algorithm that obtains in the file being comprised, passing to user's algorithm then, to go computing be calculation procedure; Then result of calculation is filled in the XML bag, is packaged into the HTTP packet and sends the result to the user terminal node; If connect socket not readable have to send on promptly disconnect the message that connects, program will disconnect TCP and connect promptly to disconnect and connect so, and the release resource.
10. the method for the dynamic assignment task based on mobile HPC system as claimed in claim 7 is characterized in that described Diso modular device can at first detect the configuration of this machine; Diso software service oneself IP and link slogan that can in LAN (Local Area Network), continue and unlimited broadcast (sites) in turn then; User terminal and receive that the broadcast of node is quickened in the rear end after, the IP that receives in the time of can using broadcasting and port numbers and rear end are quickened node and are set up TCP and be connected; Connect after the foundation, broadcast can be used as heartbeat becomes the sign that rear end acceleration node lives.
11. the method for described dynamic assignment task based on mobile HPC system as claimed in claim 7, it is characterized in that, the broadcast that node is sent is quickened in the main control module charge capture rear end of described user terminal, noting IP and port numbers and rear end quickens node and sets up TCP and be connected and promptly connect 705, sending after the connecting back reception main control module process task balance of task promptly receives calculation task 706.Then task is cut into that to calculate behind a plurality of subtasks be that the subtask calculates 707, at last the subtask result is returned main control module and gather.Main control module with user interactions after generate calculation task 701, main control module also be responsible for task cutting 702, distribute 703 and gather 704.
CN 201110033759 2011-01-31 2011-01-31 HPC system and method for dynamically dispatching task based on HPC system Pending CN102103521A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110033759 CN102103521A (en) 2011-01-31 2011-01-31 HPC system and method for dynamically dispatching task based on HPC system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110033759 CN102103521A (en) 2011-01-31 2011-01-31 HPC system and method for dynamically dispatching task based on HPC system

Publications (1)

Publication Number Publication Date
CN102103521A true CN102103521A (en) 2011-06-22

Family

ID=44156311

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110033759 Pending CN102103521A (en) 2011-01-31 2011-01-31 HPC system and method for dynamically dispatching task based on HPC system

Country Status (1)

Country Link
CN (1) CN102103521A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004114043A2 (en) * 2003-06-24 2004-12-29 Nokia Inc. Single-point management system for devices in a cluster
CN1776622A (en) * 2004-11-17 2006-05-24 雷西昂公司 Scheduling in a high-performance computing (HPC) system
CN101034362A (en) * 2007-02-05 2007-09-12 南京邮电大学 Method for implementing network job scheduling using mobile proxy

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004114043A2 (en) * 2003-06-24 2004-12-29 Nokia Inc. Single-point management system for devices in a cluster
CN1776622A (en) * 2004-11-17 2006-05-24 雷西昂公司 Scheduling in a high-performance computing (HPC) system
CN101034362A (en) * 2007-02-05 2007-09-12 南京邮电大学 Method for implementing network job scheduling using mobile proxy

Similar Documents

Publication Publication Date Title
US7548843B2 (en) Simulation of distributed networks
CN110083455B (en) Graph calculation processing method, graph calculation processing device, graph calculation processing medium and electronic equipment
US20070288935A1 (en) Cluster computing support for application programs
CN102523225A (en) Decoupling method in distributed loosely-coupled framework and distributed loosely-coupled framework platform
CN102063330B (en) Performance data acquisition method for large-scale parallel program
CN111381983B (en) Lightweight message middleware system and method of virtual test target range verification system
CN104299466A (en) Remote hardware experimental method and system based on cloud computing platform
Birman Like it or not, web services are distributed objects
CN101430674A (en) Intraconnection communication method of distributed virtual machine monitoring apparatus
CN103164287A (en) Distributed-type parallel computing platform system based on Web dynamic participation
Sahadevan et al. An offline online strategy for IoT using MQTT
CN101771703A (en) Information service system and method
CN110532060A (en) A kind of hybrid network environmental data collecting method and system
CN109600439A (en) The dispositions method and PaaS platform of PaaS platform based on micro services
Sotiriadis et al. Towards inter-cloud simulation performance analysis: Exploring service-oriented benchmarks of clouds in SimIC
JP2009123202A (en) Processor-server hybrid system for processing data
CN112948088A (en) Cloud workflow intelligent management and scheduling system in cloud computing platform
CN102103521A (en) HPC system and method for dynamically dispatching task based on HPC system
CN106648957A (en) Operating system backup and recovery method and system
CN109669788A (en) The MPI implementation method of multi core chip towards direct memory access interconnection communication
Taboada et al. Efficient java communication protocols on high-speed cluster interconnects
CN115412500B (en) Asynchronous communication method, system, medium and equipment supporting load balancing strategy
Chen et al. HaoCL: Harnessing large-scale heterogeneous processors made easy
Cabral et al. A Scalable Clustered Architecture for Cyber-Physical Systems
Guan et al. The embedded Internet technology based on a real-time kernel for non-PC devices

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20110622