RR DE SALUD PERCIBIDA EN MODELOS DE MORTALIDAD SEGÚN SEXO: MUJERES
1. SOBRE LOS RESULTADOS
1.2. Comparación de los resultados de los modelos finales
1.2.3. Salud percibida y mortalidad según sexo
Job management systems are divided into two primary components; Batch Queuing systems that accept execution jobs from users and assign them to resources on the underlying system when available; and Job Schedulers which determine the order of execution for each job.
3.2.1
Batch Queuing Systems
Batch Processing systems can trace their history back to early mainframes (Tanenbaum & Tannenbaum, 1992). Data used to be input into systems us- ing punch cards and similar ”slow” mechanisms. The mainframes were not utilised in an online manner as it was not cost effective. For several hours operators would upload data from tapes and punchcards into the system and then the computer would process all the inputed data in a batch. Each discrete simulation or program within the batch is commonly known as a job. With the advent of the modern microcomputer, users have become used to a real time response from their computers. As mainframe computers have evolved into super computers and clusters, they have migrated from offline processing to online processing.
Under this new approach to running large systems, batch processors are used to effectively share the resources between multiple users. As modern High Per- formance Computing (HPC) systems support multiuser environments the batch processing systems’ primary function is to ensure that system resources are not over subscribed. Thus batch processors can now be considered queuing systems. Jobs are processed as they arrive but when the system becomes over subscribed jobs begin to be queued. This class of software is still known as a batch system because it is responsible for the execution of many jobs at the
3. Requirements of a Job Scheduler 44
same time. As mentioned in Section 2.2 modern systems tend to be very large and not all applications can scale-up on these resources. The batch queuing systems are responsible for dividing the system and assigning the appropriate parts to different jobs. Commonly a user may submit more than one job at a time. Since each job only needs a subset of the HPC system the batch pro- cessing system becomes a good tool for users to manage their workloads.
Modern batch systems are defined as online systems because the moment a job is submitted to the system it is considered to be executed. As discussed previously when describing the offline batch system, all jobs in the batch had to be uploaded before execution would begin. However, modern batch processors are not considered real-time systems because under most conditions after the user submits the job, they are unable to determine the state of the program or its output until the execution cycle completes.
3.2.2
Job Schedulers
Once a job has been submitted to a batch queue the order of execution is de- termined by the job scheduler. While first-come-first-served maybe the most intuitive method to order the execution, it is not always the most effective solu- tion. There are several reasons why system administrators may want or need out of order execution. While scheduling algorithms are discussed in detail in Section 4.2, this section covers the reasons for out-of-order execution and ex- plains why the scheduler is an integral part of the job management system.
Large compute or HPC systems consume a lot of power and require special cooling systems. Even when idle, large clusters tend to consume electricity in megawatts (J. Dongarra, 2013). System administrators aim to maximise the usage of these systems, so that while powered up the machines are always fulfilling their purpose rather than sitting idle. There could occur a scenario
3. Requirements of a Job Scheduler 45
where an HPC system is under 80% load and the next job requires 30% of the system. Under a first come first served approach 20% of the system will sit idle awaiting the 10% required to begin the next job. However, in First Come First Served (FCFS) with back-filling, if the second or third job in the queue require less than 20% then these jobs can be executed first. This way the system is always well utilised and for all the electrical power delivered in, the system delivers computational power out.
Backfilling leads to issues of Quality of Service (QoS). Very large jobs will get deferred in favour of small jobs and this will slow down users’ work. Schedulers are therefore required to ensure that a certain QoS is maintained. This QoS can be extended to include higher priorities for users or projects. Users may have deadlines, or in case of commercial settings users could be paying for their time on the system. The jobs submitted by these users can not be deferred for business reasons. Job schedulers are required to handle such decisions.
As mentioned in the previous section, a single user can rely on a job scheduler to mange his/her workflow. Some applications may have multiple stages within their execution cycle. A user could submit two jobs where the second job de- pends on the data generated from the first job. Without a scheduler the batch queuing system will execute both jobs as soon as there is a resource available. The scheduler however, will be able to hold the second job, awaiting the result of the first. While holding the second job, other jobs that arrive on the system can be executed out of order.
Chapter 4.2 details the different algorithms that have been developed to better manage large computer systems, leading to better QoS and resource utilisation.
3. Requirements of a Job Scheduler 46