Font Size: a A A

Design And Implementation Of Distributed High-precision Floating-point Calculation Server

Posted on:2012-06-19Degree:MasterType:Thesis
Country:ChinaCandidate:C ChengFull Text:PDF
GTID:2178330335952650Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
With the development of Internet technology and improvement of network environment, web applications have had rapid development, and more and more traditional local applications have released their web versions. The high precision floating point calculation can also be transplanted to web application. Developing high precision floating-point calculation server application based on network server is very useful and significant.Based on the design of high performance network I/O framework, this paper realized the cross-platform high-performance I/O design pattern, and the distributed high-precision floating-point calculations server could obtain the ascension of throughput by adding server amounts. The main works finished in this paper were as follows:(1) Make full use of functors in object-oriented programming. Using functors in place of function pointers can reduce programming complexity, and simplify the realization of design pattern.(2) Design and realize the cross-platform multi-thread and network library. The API interfaces of network and thread were unified with pre-compiled macro technology between windows operating system and linux operating system; functors were used to realize the easy-to-use thread pool model.(3) Implement the cross-platform network I/O pattern with high performance. Epoll, non-blocking synchronous network I/O pattern under windows platform, is quite different with IOCP, non-blocking asynchronous network I/O pattern under linux platform, in operation principles and flow process. Through modifying their workflows, they were unified into the "simulation" asynchronous I/O pattern.(4) Carry on a distribute topology structure design for the server side. In general, the reasons led to the performance bottleneck on the server side are always from I/O and CPU operation. Dividing network I/O and CPU operation into standalone processes can achieve load balancing. Two kinds of server processes were designed, one is gateway process running on the gateway server for processing I/O, and the other is the floating-point calculation process running on the floating-point calculation server for CPU operation. These two processes used socket for communication to acquire natural distribution structure. Each gateway server can manage and maintain several floating-point arithmetic servers, the client just need link to the gateway server to acquire service and floating-point calculation server can only link and regist to a sole gateway server.In addition, the application layer protocol was designed, which determined the communication flow among clients, gateway and floating-point calculation servers.Finally, the server completed was tested after integrating software and hardware system, and the test results proved the validity and effectiveness of the architecture about distributed high-precision floating-point calculation server designed.
Keywords/Search Tags:high-precision floating-point calculation, functors, cross-platform, distributed
PDF Full Text Request
Related items