JobCenter: an open source, cross-platform, and distributed job queue management system optimized for scalability and versatility
1 Department of Biochemistry, University of Washington, 1705 NE Pacific St, Box 357350, Seattle, WA, 98195, USA
2 Department of Genome Sciences, University of Washington, Seattle, WA, 98195, USA
Source Code for Biology and Medicine 2012, 7:8 doi:10.1186/1751-0473-7-8Published: 30 July 2012
Laboratories engaged in computational biology or bioinformatics frequently need to run lengthy, multistep, and user-driven computational jobs. Each job can tie up a computer for a few minutes to several days, and many laboratories lack the expertise or resources to build and maintain a dedicated computer cluster.
JobCenter is a client–server application and framework for job management and distributed job execution. The client and server components are both written in Java and are cross-platform and relatively easy to install. All communication with the server is client-driven, which allows worker nodes to run anywhere (even behind external firewalls or “in the cloud”) and provides inherent load balancing. Adding a worker node to the worker pool is as simple as dropping the JobCenter client files onto any computer and performing basic configuration, which provides tremendous ease-of-use, flexibility, and limitless horizontal scalability. Each worker installation may be independently configured, including the types of jobs it is able to run. Executed jobs may be written in any language and may include multistep workflows.
JobCenter is a versatile and scalable distributed job management system that allows laboratories to very efficiently distribute all computational work among available resources. JobCenter is freely available at http://code.google.com/p/jobcenter/ webcite.