KR20050013661A - ARM compiler distributed processing system which uses a TCP/IP Socket communication - Google Patents

ARM compiler distributed processing system which uses a TCP/IP Socket communication

Info

Publication number
KR20050013661A
KR20050013661A KR1020050004021A KR20050004021A KR20050013661A KR 20050013661 A KR20050013661 A KR 20050013661A KR 1020050004021 A KR1020050004021 A KR 1020050004021A KR 20050004021 A KR20050004021 A KR 20050004021A KR 20050013661 A KR20050013661 A KR 20050013661A
Authority
KR
South Korea
Prior art keywords
compiler
tcp
localhost
compiling
socket
Prior art date
Application number
KR1020050004021A
Other languages
Korean (ko)
Inventor
김준범
Original Assignee
김준범
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김준범 filed Critical 김준범
Priority to KR1020050004021A priority Critical patent/KR20050013661A/en
Publication of KR20050013661A publication Critical patent/KR20050013661A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

PURPOSE: A distributed compiling system for an ARM(Advanced RISC Machine) compiler of a large program source using the TCP/IP(Transmission Control Protocol/Internet Protocol) socket communication is provided to shorten a compiling time by distributing a compiling process to a local host PC computer of each engineer and servers. CONSTITUTION: The system includes multiple servers, a communicating means enabling communication between computers, a socket program, a compiler, and a converter. Using a preprocessed file and a compiling option received from the local host PC through the communication means, the compiler performs compilation with the daemon typed socket program by ordering a compiling instruction. The daemon typed socket program transfers an object file generated by the compiler. The converter converts the object file into a TCP/IP packet in order to transmit it to the local host through the socket program.

Description

TCP/IP Socket 통신을 이용한 ARM 컴파일러 전용, 분산 컴파일 시스템{ARM compiler distributed processing system which uses a TCP/IP Socket communication}ARM compiler distributed processing system which uses a TCP / IP Socket communication}

본 발명은 대용량의 프로그램 소스를 로컬호스트(Localhost) PC에서 뿐만 아니라 동시에 여러 서버들에게 분산하여 컴파일하는 방법에 관한 ARM 컴파일러 전용 TCP/IP 소켓(Socket) 프로그램과 시스템 구성에 관한 것이다.The present invention relates to an ARM compiler-specific TCP / IP socket program and system configuration for a method of distributing a large amount of program source on a localhost PC as well as to multiple servers at the same time.

현재는 각 엔지니어의 컴퓨터에 ARM 컴파일러를 설치하여 각각 독립적으로 컴파일하여 바이너리를 취하는 방법을 사용하였다.Currently, the ARM compiler is installed on each engineer's computer and compiled independently of each other to take a binary.

이로인해 개개인의 컴퓨터 사양에 따라서 컴파일 속도가 차이가 날뿐아니라This not only compiles differently depending on individual computer specifications.

컴파일을 하기위해 컴파일 명령을 내린후 완료까지의 시간이 과도히 지체되는 불편함이 발생한다.It is inconvenient that the time to completion after giving a compile command to compile is excessively delayed.

또한 임금을 지불하는 경영진의 입장에서는 직원들의 임금비 낭비는 굉장한 부담을 줄 수 있으며 개발자의 입장인 엔지니어들은 소스 파일들을 수정한후 컴파일을 하여야 결과를 알 수 있으므로 잦은 컴파일의 필요성을 피할 수는 없다.Also, from the point of view of paying executives, the waste of wages of employees can be very burdensome, and the engineer's position, engineers can modify the source files and compile them so that the result is not inevitable.

종전에 나온 분산 컴파일 방식은 한두개의 소스를 웹을 통해 웹(WWW) 서버를 사용하여 전송한후 서버에서 컴파일을 실행하여 파일형태가 아닌 실행 결과값만 리턴하는 CGI방식이다. 또한 분산처리의 목적이 여러 로컬 PC에서 컴파일러를 설치하지않고 단지 서버라는 컴퓨터에서만 설치하여 관리의 용이한면이 강조되고 있으며 로컬호스트(Localhost) PC 에서는 컴파일을 하지 않는 점이 본 발명과 상이하다.The previous distributed compilation method is a CGI method that transmits one or two sources through a web using a web (WWW) server and then compiles the server and returns only the execution result value rather than a file type. In addition, the purpose of distributed processing is to install only on the server computer, rather than installing the compiler in many local PCs, the emphasis is easy to manage, and does not compile on the localhost (Localhost) PC is different from the present invention.

상기와 본 발명과의 차이점은 본 발명은 로컬과 서버에서 동시에 나누어서 컴파일하며 오브젝트 파일들을 로컬 컴퓨터쪽에 집중시켜 로컬에서 오브젝트 파일들을 링크 과정을 거쳐 바이너리를 만든다점에서 서로 다르다고 볼 수 있으며 그 목적 또한 본 발명에 있어서는 고용량의 소스들의 컴파일 시간을 단축시키려함에 있어서 차이가 난다고 볼 수있다.The difference between the present invention and the present invention is that the present invention differs in that the present invention can be divided into local and server at the same time to compile and centralize the object files to the local computer to make binary through the linking process of the object files locally. In the invention it can be seen that there is a difference in trying to shorten the compilation time of high-volume sources.

따라서 본발명은 상기와 같은 문제점을 해결하기위해 각 엔지니어의 로컬호스트(Localhost) PC 컴퓨터 뿐만 아니라 동시에 서버들에게 컴파일의 처리를 분담시켜 컴파일 시간을 단축시켜주는 ARM 컴파일러 전용의 TCP 소켓(Socket) 통신 프로그램과 시스템을 제공하는 것이다.Therefore, in order to solve the above problems, TCP socket communication dedicated to the ARM compiler, which reduces the compilation time by allocating the processing of compilation to not only the localhost PC computer of each engineer but also the servers at the same time. It is to provide programs and systems.

상기와 같은 본발명의 목적은 로컬호스트(Localhost) PC와 서버 컴퓨터간의 통신 수단을 이용하여 로컬호스트(Localhost) PC 측의 부하를 줄임과 동시에 소요되는 시간을 줄임에 목적이있다.The purpose of the present invention as described above is to reduce the time required and at the same time to reduce the load on the localhost PC by using a communication means between the localhost PC and the server computer.

다수의 서버들(Servers);Multiple servers;

컴퓨터들 사이의 통신이 가능한 수단;Means capable of communicating between computers;

상기 통신 수단을 통해 로컬호스트(Localhost) PC에서 전달받은 전처리된 파일과 컴파일 옵션을 사용하여 컴파일 명령을 내리는 데몬(Daemon)형식의 소켓(Socket) 프로그램 수단과 컴파일하는 컴파일 수단;Compilation means for compiling with a daemon program socket socket means for issuing a compilation command using a preprocessed file and a compilation option received from a localhost PC through the communication means;

또한 상기 컴파일 수단에 의해 생성된 오브젝트 파일을 전송하기 위한 상기와 동일한 데몬형식의 소켓(Socket) 프로그램 수단;In addition, a socket program means of the same daemon type as for transmitting the object file generated by the compilation means;

상기 소켓(Socket) 프로그램에 의하여 로컬호스트(Localhost) PC로 전송하기위해 TCP/IP 패킷으로 변환하는 변환수단을 포함하는 것을 특징으로한다.And converting means for converting the packet into TCP / IP packets for transmission to a localhost PC by the socket program.

다수의 PC 인 로컬호스트(Localhost);Multiple hosts, localhosts;

컴퓨터들 사이의 통신이 가능한 수단;Means capable of communicating between computers;

전처리된 파일과 컴파일 옵션을 상기 통신 수단을 통해 전달하는 소켓(Socket) 프로그램 수단과 컴파일하는 컴파일 수단;Compilation means for compiling a socket program means for delivering a preprocessed file and a compilation option through the communication means;

상기 소켓(Socket) 프로그램에 의하여 서버에서 생성된 오브젝트(Object) 파일을 전송 받을 수 있도록 TCP/IP 패킷을 변환하는 변환수단을 포함하는 것을 특징으로한다.And converting means for converting the TCP / IP packet to receive the object file generated by the server by the socket program.

상기의 서버와 로컬호스트인 PC 사이에 사용되는 통신규약은(Protocol)은 TCP/IP 이며 소켓방식의 통신을 하는 것을 원칙으로 한다.The protocol used for communication between the server and the PC that is the local host is TCP / IP.

도 1 은 전체 서버들과 로컬 호스트 PC들의 연결 및 네트워크 구성도1 is a diagram illustrating a connection and network configuration of entire servers and local host PCs.

도 2 는 ARM 컴파일러를 이용한 로컬호스트(Localhost) PC와 서버들간의 동시 컴파일 방법에 대한 순서도 및 로컬 호스트(Localhost) PC와 서버들간의 Preprocess, Send, Receive 과정의 흐름도.FIG. 2 is a flow chart of a simultaneous compilation method between a localhost PC and servers using an ARM compiler, and a flowchart of a preprocess, send, and receive process between a localhost PC and servers. FIG.

이하에서는 본 발명에 따른 로컬 호스트(Localhost) PC컴퓨터에 있는 개발 프로그램 소스들을 분산 컴파일 하는 구성에 대하여 첨부된 도면을 참조하여 상세히 설명한다.Hereinafter, a configuration of distributed compilation of development program sources in a localhost PC computer according to the present invention will be described in detail with reference to the accompanying drawings.

1. 로컬호스트(Localhost) PC와 Server 들사이의 통신이 가능하게끔 네트워크 구성을 한다 이때 네트워크의 속도를 개선하기위해 일반 허브가 아닌 스위칭허브를 사용한다.1. Localhost Configure the network to enable communication between PCs and servers. Use a switching hub instead of a general hub to improve the speed of the network.

2. 네트워크 구성이 완료된후 네트워크의 상태를 TCP/IP의 어플리케이션 Layer단에서 확인절차를 거친다.2. After the network configuration is completed, the network status is checked at the application layer of TCP / IP.

3. 서버와 로컬호스트(Localhost) PC에는 같은 ARM 전용 컴파일러를 설치하며 필요한 응용프로그램 및 유틸리티를 설치한다.3. Install the same ARM-only compiler on the server and on the localhost PC and install any necessary applications and utilities.

4. 또한 각 로컬호스트(Localhost) PC 와 각 서버에서는 독립적으로 컴파일할수있는지 환경구성과 컴파일 테스트를 해본다.4. Also, test the configuration and compilation to see if each Localhost PC and each server can compile independently.

5. 서버들에는 본 발명에서 개발한 ARM 컴파이러 전용, TCP 소켓프로그램 데몬을 설치하며 로컬호스트(Localhost) PC 에는 데몬 형식이 아닌 서버의 데몬과 통신할수있는 일반 TCP 소켓 프로그램을 설치한다.5. Install the ARM Compiler dedicated, TCP socket program daemon developed in the present invention in the server, and install a general TCP socket program that can communicate with the daemon of the server, not daemon type in the localhost PC.

6. 로컬호스트(Localhost) PC에서는 분산처리를 할때와 하지 않을때는 컴파일 옵션을 달리하여 조정할 수 있다.6. Localhost On a PC, you can tweak the compilation options when you are doing distributed processing or not.

7. 로컬에서 컴파일 옵션을 분산처리로 정했을때도 서버쪽에서 응답이 없을시는 컴파일이 로컬에서 독립적으로 실행된다.7. Even if the local compilation option is set to distributed, if there is no response from the server side, the compilation is executed locally.

8. 분산 컴파일 옵션을 사용하여 로컬호스트(Localhost) PC에서 수행시에는 컴파일 옵션과 로컬호스트(Localhost) PC에서 프리프로세스(Preprocess)를 거친 소스파일들을 TCP 패킷으로 만들어 소켓방식의 통신과정을 거쳐 서버에 보내진다.8. When running on a localhost PC using the distributed compilation option, the server goes through a socket-type communication process by making TCP packets of source files that have been preprocessed on the compilation option and the localhost PC. Is sent to.

9. 서버에서는 로컬호스트(Localhost) PC쪽에서 보낸 컴파일 옵션과 프리프로세스(Preprocess) 소스 파일을 컴파일과정의 일부분인 오브젝트화를 시킨 오브젝트 파일로 만들어진다.9. On the server, the compilation options and preprocess source files sent from the localhost PC are made into object files that are objectized as part of the compilation process.

10. 이로인해 만들어진 오브젝트 파일은 다시 로컬호스트(Localhost) PC로 보내어진다.10. The resulting object file is then sent back to the localhost PC.

11. 로컬호스트(Localhost) PC에서는 서버와는 별도로 아직 컴파일이 되지않은 소스파일들의 컴파일 과정이 동시에 진행되며 로컬호스트(Localhost) PC와 서버에서 만든 오브젝트 파일들은 로컬호스트(Localhost) PC의 정해진 저장장소에모아지며 모든 소스의 컴파일 과정이 마치면 로컬호스트(Localhost) PC에서는 링크과정을 통하여 바이너리(Binary) 파일을 생성한다.11. Localhost PCs compile the source files that have not yet been compiled separately from the server, and object files created on the Localhost PC and the server are designated storage locations on the Localhost PC. Once all the sources have been compiled, the localhost PC creates a binary file through the linking process.

본 발명에 따르면 기존의 엔지니어들이 로컬호스트(Localhost) PC에서만 컴파일하는 방식에서 벗어나 로컬호스트(Localhost) PC에서도 컴파일을 하면서 동시에 속도 개선을 위하여 복수의 여러 서버들에게 나누어서 분산 컴파일을 시키면 소비되는 시간을 방지할 수가 있다는데 착안하여 개발을 하게 되었으며 그 효과면에서도 상당한 이득이 있다는것을 테스트를 통해 확인하였다.According to the present invention, the existing engineers compile only on the localhost PC and compile on the localhost PC, while at the same time, the distributed time is distributed to a plurality of servers to improve the speed. It was developed based on the idea that it can be prevented, and the test confirmed that there is a significant benefit in terms of its effectiveness.

발명의 요지와 범위를 벗어남이 없이 많은 다른 가능한 수정과 변형이 이루어 질 수 있다.Many other possible modifications and variations can be made without departing from the spirit and scope of the invention.

Claims (1)

로컬(Local) PC에서 컴파일하는 동시에 아직 컴파일 되지않은 소스들을 전처리(Preprocess) 과정만을 거친 프리프로세스 파일들을 다수의 서버들에 전달하며 전달받은 서버들는 컴파일을 하여만들어진 오브젝트 파일을 로컬(Local) PC로 전송한다. 또한 모든 소스들의 컴파일 과정이 끝나면 로컬호스트(Localhost) PC는 로컬호스트(Localhost) PC와 서버에서 모아진 오브젝트 파일들을 링크 과정을 통해 바이너리(Binary) 파일을 생성한다.Preprocess files that have been compiled on a local PC and have not been compiled yet, have been preprocessed to multiple servers, and the server receives the compiled object files to the local PC. send. In addition, after compiling all the sources, Localhost PC creates a binary file by linking the object files collected from Localhost PC and server. 로컬호스트(Localhost) PC와 다수의 서버들간의 통신 수단은 TCP/IP 프로토콜을 사용한 소켓방식을 이용한다.Localhost The means of communication between a PC and a number of servers uses sockets using the TCP / IP protocol.
KR1020050004021A 2005-01-17 2005-01-17 ARM compiler distributed processing system which uses a TCP/IP Socket communication KR20050013661A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050004021A KR20050013661A (en) 2005-01-17 2005-01-17 ARM compiler distributed processing system which uses a TCP/IP Socket communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050004021A KR20050013661A (en) 2005-01-17 2005-01-17 ARM compiler distributed processing system which uses a TCP/IP Socket communication

Publications (1)

Publication Number Publication Date
KR20050013661A true KR20050013661A (en) 2005-02-04

Family

ID=37224997

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050004021A KR20050013661A (en) 2005-01-17 2005-01-17 ARM compiler distributed processing system which uses a TCP/IP Socket communication

Country Status (1)

Country Link
KR (1) KR20050013661A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100615450B1 (en) * 2004-12-13 2006-08-28 한국전자통신연구원 Tool-chain configuration and operation method for the embedded system
KR100738004B1 (en) * 2005-05-23 2007-07-13 (주)주빅스테크놀러지 Hybrid Peer To Peer Network Intelligent Distributed Compiler System and Method thereof, and Computer Readable Recording Medium on which a Program therefor is recorded
CN113885875A (en) * 2021-09-30 2022-01-04 上海米哈游海渊城科技有限公司 Distributed compiling method, system, main server and storage medium

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100615450B1 (en) * 2004-12-13 2006-08-28 한국전자통신연구원 Tool-chain configuration and operation method for the embedded system
KR100738004B1 (en) * 2005-05-23 2007-07-13 (주)주빅스테크놀러지 Hybrid Peer To Peer Network Intelligent Distributed Compiler System and Method thereof, and Computer Readable Recording Medium on which a Program therefor is recorded
CN113885875A (en) * 2021-09-30 2022-01-04 上海米哈游海渊城科技有限公司 Distributed compiling method, system, main server and storage medium

Similar Documents

Publication Publication Date Title
CN102567074B (en) USB (universal serial bus) device redirecting method facing virtual machines
Kosar et al. A framework for reliable and efficient data placement in distributed computing systems
US8375070B2 (en) Collective operations in a file system based execution model
US8028268B2 (en) System and method for building software package for embedded system
KR101496333B1 (en) System and method for inter connection between component in using software bus
WO2009111799A2 (en) Globally distributed utility computing cloud
US20070256080A1 (en) Xml/Soap Interprocess Intercontroller Communication
CN112202615B (en) Multi-CNI cooperative work system and method
CN102420873B (en) Compound network brand new cloud application platform
US8458693B2 (en) Transitioning from static to dynamic cluster management
CN103051711B (en) Based on the construction method of the embedded cloud terminal system of SPICE agreement
CN103634138A (en) Remote management, operation and maintenance method and system for distributed scheduling
CN101140525B (en) Distributed translate and edit method
KR20050013661A (en) ARM compiler distributed processing system which uses a TCP/IP Socket communication
CN104111863A (en) Method and system for managing virtual machines in different virtual platforms
CN106844156A (en) WCF communication informations hold-up interception method in intelligent building comprehensive management platform system
CN103077063B (en) Microcode Compilation Method and device
Basak et al. Fog computing out of the box: Dynamic deployment of fog service containers with TOSCA
Ranjitha et al. Wireless clustering using Raspberry pi
CN115242786B (en) Multi-mode big data job scheduling system and method based on container cluster
CN116320055B (en) Network protocol conversion method and system
Focht et al. I/O Forwarding on NEC SX-9
Zhang et al. Design and Implementation of Linux-Web Server Based on Embedded System
Ferreira et al. Linux HPC Cluster Installation
Woodman et al. Setting up a Beowulf cluster Using Open MPI on Linux

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
E601 Decision to refuse application