blog




  • Essay / Improved design productivity with NBS and Netbatch

    Why NetBatch? At my workplace, we have many more IT needs compared to the number of machines we own. It would therefore be economically impossible to purchase enough machines to satisfy our constantly increasing peak consumption. NetBatch is a tool that allows our organization to maximize the use of available IT resources. This article discusses NetBatch and NBS, a package around NetBatch that handles task management, which uses the principles of queuing, task scheduling, and sequencing to achieve its goals. How does it work? Each person has a computer on their desk which constitutes a source of computing power. When that person is not using that computer to do interactive work, it remains inactive. However, with NetBatch we can take advantage of these untapped computing hours. At night, whenever someone is away from work, or at any time when a computer is not being used for a predefined purpose, NetBatch can run tasks on it. Users who need computing power submit "jobs" on these machines subject to some restrictions. NetBatch queues jobs and executes them when they are at the top of the queue and a suitable machine is available. This allows us to respond to peak loads by distributing demand across a large number of machines at any time. Typically, different projects follow different computing cycles, so one group may be in crisis when another is peaking and NetBatch provides a good solution for the needs of the entire design community of our organization. An overview of the job submission process is provided in Appendix A. This describes the flow of a typical job from the time a user needs to perform an IT task to the time the job completes or breaks down. NetBatch: Structure NetBatch Terminology: Each The user chooses an allocated pool of the netbatch, the class of machines on which to run the tasks, and a queue slot priority flag set by qslot and submits a computing task. The pool is a collection of machines that can run NetBatch jobs. Each pool consists of a master machine and a number of servers. The master machine monitors the status of all machines in the pool, such as CPU load, number of interactive users, Qslot weighting, queues submitted jobs, and schedules jobs on the servers. Classes are a mechanism that allows users to match tasks with appropriate machines.