NASA Logo

NTRS

NTRS - NASA Technical Reports Server

Back to Results
Parallel Eclipse Project CheckoutParallel Eclipse Project Checkout (PEPC) is a program written to leverage parallelism and to automate the checkout process of plug-ins created in Eclipse RCP (Rich Client Platform). Eclipse plug-ins can be aggregated in a feature project. This innovation digests a feature description (xml file) and automatically checks out all of the plug-ins listed in the feature. This resolves the issue of manually checking out each plug-in required to work on the project. To minimize the amount of time necessary to checkout the plug-ins, this program makes the plug-in checkouts parallel. After parsing the feature, a request to checkout for each plug-in in the feature has been inserted. These requests are handled by a thread pool with a configurable number of threads. By checking out the plug-ins in parallel, the checkout process is streamlined before getting started on the project. For instance, projects that took 30 minutes to checkout now take less than 5 minutes. The effect is especially clear on a Mac, which has a network monitor displaying the bandwidth use. When running the client from a developer s home, the checkout process now saturates the bandwidth in order to get all the plug-ins checked out as fast as possible. For comparison, a checkout process that ranged from 8-200 Kbps from a developer s home is now able to saturate a pipe of 1.3 Mbps, resulting in significantly faster checkouts. Eclipse IDE (integrated development environment) tries to build a project as soon as it is downloaded. As part of another optimization, this innovation programmatically tells Eclipse to stop building while checkouts are happening, which dramatically reduces lock contention and enables plug-ins to continue downloading until all of them finish. Furthermore, the software re-enables automatic building, and forces Eclipse to do a clean build once it finishes checking out all of the plug-ins. This software is fully generic and does not contain any NASA-specific code. It can be applied to any Eclipse-based repository with a similar structure. It also can apply build parameters and preferences automatically at the end of the checkout.
Document ID
20120006522
Acquisition Source
Jet Propulsion Laboratory
Document Type
Other - NASA Tech Brief
Authors
Crockett, Thomas M.
(California Inst. of Tech. Pasadena, CA, United States)
Joswig, Joseph C.
(California Inst. of Tech. Pasadena, CA, United States)
Shams, Khawaja S.
(California Inst. of Tech. Pasadena, CA, United States)
Powell, Mark W.
(California Inst. of Tech. Pasadena, CA, United States)
Bachmann, Andrew G.
(Stinger Ghaffarian Technologies, Inc. (SGT, Inc.) United States)
Date Acquired
August 25, 2013
Publication Date
October 1, 2011
Publication Information
Publication: NASA Tech Briefs, October 2011
Subject Category
Computer Programming And Software
Report/Patent Number
NPO-47136
Distribution Limits
Public
Copyright
Public Use Permitted.
No Preview Available