0% found this document useful (1 vote)
93 views3 pages

Compiler Farm Synopsis

Synopsis of Compiler Farms submitted in partial fulfillment of the course - CSE416 Compiler Design of B.Tech Computer Science and Engineering

Uploaded by

Tanmay Baranwal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
93 views3 pages

Compiler Farm Synopsis

Synopsis of Compiler Farms submitted in partial fulfillment of the course - CSE416 Compiler Design of B.Tech Computer Science and Engineering

Uploaded by

Tanmay Baranwal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

INTRODUCTION TO COMPILER FARMS

[ Synopsis Report ]

Submitted in Partial Fulfillment of the


Requirement for the Completion of

COMPILER DESIGN - CSE415


by

Tanmay Baranwal (B.Tech. CSE)


11202766-K2202B42
School of Computer Science and Engineering
under the guidance of

Asst. Prof. Harshpreet Singh


Department of Computer Science and Engineering
Lovely Professional University
Punjab - India

Submission Date : 7th February, 2015

Contents :
1. Introduction
2. Objectives
3. Applications
4. Resources
5. Future Scope
6. References

Introduction :
A compile farm is a server cluster which is basically a collection of computer server usually maintained
by an enterprise, has been setup to compile computer programs remotely for various reasons.

Objective :
A compile farm is a part of our main server which is used to continue and produce releases of programs
easily and uniformly.
Compile farms are composed of machines of various architectures running on various OS and is intended
to allow developers to test and use their programs on a variety of platforms.

Application :
Compile farms are used widely and is applicable in following areas :
1. Cross Platform Development
2. Continuous Integration in Cross Platform Development
3. Distributed Compile Farms

Cross Platform Development :


Considering multiple processor architecture and operating system, each developer needs to have a
machine for each environment. In this scenario, a compile form can be used by configuring to the target
OS and architecture to build and run their software patches.

Continuous Integration in Cross Platforms :


Overcoming the problems of CFD, which causes an error that prevents functionality of software code on
different CPU/OS, CI (Continuous Integration) scripts automatically builds the latest version of source
tree from a version control repository.
Distributed Compile Farms :
For distributed compilation in which s/w builds requires parallel execution, can be performed by using
separate machines on server.
DCF mediator is invoked in order to check a crone job and publishes the builds to SDC.

Resources :
To use compile farms, to builds software patches we need :
a.
b.
c.
d.

Source, which is basically stored on a GIT server or Mercurial hg


SSH Daemon, allowing user to login
One or more cross compiler
Memory, to store builds in clients directory

Future Scopes :
Based upon our needs for computational resource in computer science, the usage of compiler farm
through clustered system is one of the most promising means by which we can bridge the gap between
variety of programs, compiling individual source codes on various systems with various architecture.
There are various of compile farms available in which GCC GNU is most used and DEBIAN is most
efficient. For parallel compilation and queuing of s/w patches NI LabView FPGA Compile Farm is used.

Reference :
[https://gcc.gnu.org/wiki/CompileFarm]
[http://www.nas.nasa.gov/SC10/PDF/Datasheets/Duffy_ClusterComputing_demo.pdf]
[http://sine.ni.com/nips/cds/view/p/lang/en/nid/210566]
[http://en.wikipedia.org/wiki/Compile_farm]

You might also like