Report: Scheduling Master-Slave Multiprocessor Systems Abstract: In this Scheduling we are going to define following few things: 1. the master processor, the slave processor, and their scheduling. 2. Provide several applications for the model. 3. develop some algorithms like O( n log n). 4. also we show some problems to be NP-Hard. Introduction the problem of scheduling was very well known so a computer system was developed which was a parallel computer, operates under the control of a host processor. The host processor is referred to as Master processor and the processor in the parallel computers are referred as slave processors. The most common and well known example of such a processor is nCube Hypercube . nCUBE was founded in 1983 in Beaverton, Oregon by a group of Intel employees. In which while writing a system one writes a program on the master computer. This is a sequential program that spawn parallel tasks to be run on the slave processor. The number of parallel tasks spawned is always equal to the number of slave processor. Execution The execution of such processes/ computer systems generally are of 3 types of time interval: 1. only masters 2. only slaves 3. or both master and slaves. So to execute each task we need to do three processes: 1. Processing : This is done by the master computer, in which the master collects data needed by the slave and includes the overhead involved in initiating the transfer of the data as well as the code to be run. 2. Slave Work: This is the work slave must do to complete the assigned computation task received the data and code from the master , delay can be there. 3. Post Processing: This is the work the master must do to receive the results and store them in the desired format. It also includes any checking or data combining work the master may do on the results. Examples The most efficient and appropriate example given by one the scholars (Sh. Sartaj Sahni) is of the Industrial Settings How does Industrial Settings Work: Its a simple process as all industries follow this. There were following participants and functions performed by them a consolidator, trucks, raw material, receiver, shipping, inspection of truck etc. So a consolidator receives the raw material, assembles it and loads it into the truck then inspects the whole consignment before it ships to the destination. Further when the receiver waits for the trucks loaded with the raw material and when it receives the consignment it inspects the goods and manufacture them and load them back to the trucks to send them back to the consolidator. And before the truck starts/leaves for the shipment of the good manufactured the receiver inspects the truck and goods. And when the consolidator receives the truck he again inspects them before receiving. This is known as Post-Processing. The activities performed by consolidator are known as master work and the task performed by receiver is known as slave work. Such kind of functions and performances are carried over in number of different industries also e.g maintenance/repair industry. Master-slave Scheduling as Mathematical problem: The master slave scheduling defines following attributes: 1. there is a single master processor 2. there are as many slave processors as parallel jobs 3. associated with each job, there are three tasks: Pre-Processing, Slave work, ab Post-processing. The master-slave scheduling model may be referred as a Generalized Job Shop 1. the job shop has 2 classes of machines: master and slave. 2. there is exactly one master machine and the number of the slave machines equals to the number of jobs. 3. each job has three tasks to be done in order: 1st and 3rd are done by ‘M’ and 2nd is done by ‘S’. Problem: Let us take ai, bi, and ci which denote time needed to perform the three tasks associated with job i . Where ai >0 , bi >0 and ci >0 respectively. Let n = number of jobs as well as the number of slaves. Figure: (a) shows a possible schedule for the case when n =2 and (b) shows schedule results when the master pre-processes job 2 first and all other tasks started at earliest possible time. So according to figure (a) (a1, b1, c1 ) = (2, 6, 1) and (a2, b2, c2) = (1, 2, 3). Where M denotes the Master Processor and S1 and S2 denotes slave processors. And the finish time is 9 for figure 1(a) and 10 for figure 1(b) and mean time is 8.5 and 8 respectively. When we are scheduling a parallel computer system using the above model, we are interested in schedules that minimizes the finish time. However, when scheduling industrial system using this model we may be minimizing either the schedule time or the mean finish time of the jobs. From figure: In both the schedules once the processing of job begins the job is processed continuously till completion. Schedules with this property are said to have “no-wait-in-process”.