C.A. -^^^ Center for Information Systems Research Massachusetts Institute of Technology Sloan School of Management 77 Massachusetts Avenue Cambridge, Massachusetts, 02139 ENTERPRISE ; A MARKET-LIKE TASK SCHEDULER FOR DISTRIBUTED COMPUTING ENVIRONMENTS Thomas W. Malone Richard E. Fikes Michael T. Howard October 1983 CISR WP //111 Sloan WP #1537-84 © T. W. Malone, R. E. Fikes, M. T. Howard 1983 Also published as a working paper by the Intelligent Systems Laboratory, Xerox Palo Alto Research Center, October 1983. Center for Information Systems Research Sloan School of Management Massachusetts Institute of Technology Enterprise: A Market-like Task Sciieduler for Distributed Computing Environments 'l"homas VV. Malone* Richard H. Kikes Michael T. Howard* Working Paper Cognitive and Instructional Sciences Group Xerox Palo Alio Research Center October 1983 Abstract: This paper describes a system for sharing tasks among processors on a network of personal computers and presents an analysis of the problem of scheduling tasks on such a network. Ihc system, called Enterprise, is based on the metaphor of a market: processors send out "requests for bids" on tasks to be done and other processors respond with bids giving estimated completion limes JTic s\stem includes a language independent lliat reflect machine speed and ciirrcnijv loaded files. Distributed Scheduling Protocol (DSP), and an implemenuition of tJiis protocol for scheduling ihc Fnterprise implementation assigns processes to the best remote processes in Interlisp-D. machmc a\ailable at run-time (cither remote or local) and includes facilities for asynchronous In a scries of simulations of different load conditions and message passing among processes. network configurations, DSP was found to be substantially superior to both random assignment and a more complex alternative that maintained detailed schedules of estimated start and finish times. *Nnw at Massachusetts Institute of Technology. Kntcrprisc: A Market-like Task Scheduler Computing Environments for Dislributcd Introdudioii and Willi the rapid spread of personal compiiier networks VLSI the opportunities processors, for becoming more and more compelling. massive use Parallel ^i' llic increasing a\ailabilii\ of low cost and distributed computing are parallel hardware can often increase overall program speed by concurrently executing independent subparts of an algorithm on different processors some increase the redundancy, in the number of systems parallel processors ((24), In [47]). With their potential than reliable dicir multiple for single-processor There arc also important cases of inherently distributed problem solving where the counterparts. information and resulting actions necessary to solve a problem occur in widely distributed initial locations (e.g., [3], [39], (7], [48]). Providing appropriate programming facilities computations involves a new set of problems. main [28], made much more be can [1]. can improve average execution time even more rapidly than cases, parallel search algorithms classes of problems in multiprocessing for specifying, systems: (1) and debugging controlling, For example, Jones &. Schwarz parallel [27] discuss three resource schcJuIing-how to allocate processor time and memorj' space, (2) rcIlabilii}~-how to deal with various kinds of component failures, and (3) s}'nchronizaiion"how to coordinate concurrent activities that depend on each other's actions. In diis paper we describe a prototype system called Enterprise that addresses those problems and present the results of analyzing one aspect of the problem of resource scheduling, naincly the scheduling of tasks on processors. This analysis was based on simulations of several alternative task scheduling under algorithms operating various network are applicable to many forms of parallel and configurations Although we have fiKused on decentralized methods for scheduling tasks, load conditions. our results on this topic computation, regardless of whether or not the processors and whether or not they share memory. are geographically The Enterprise system schedules and nins processes on a local area network of high-performance personal computers. separated It is implemented in Inlcrlisp-I) (Dandelion), and 1132 (Dorado) Scientific and runs on iJie Xerox 1100 (Dolphin), 1108 Information Processors connected witli an Ethernet. 0\ A new As sunun.in/cd in W II l.ihlc 1. 01 nil IM UI'KISI I IM SVSI processing diMrihiitid for pliilosopli) UN I the tr.idituuidl philosopin used in dosiiiiiing systems based on networks such as Hthcrncis |.M] is not used b> their owners, and dedicated special purpose servers such as and various knids of data base servers. ,\ system l-.nicrp;ise that like pr(KCSsor available at run time (either remote or liKal) enables a distributed systems. In this new philosophy, file idle when servers, print servers, schedules tasks on the best new philosophy workstations arc personal loc.il .irc.i which remain lo lia\c dedicated personal workstations in designing such dedicated to their still owners, but during the (often substantial) periods of the day when their owners are not using them, personal workstations tJiese become general purpose on the network. servers, available to other users "Server" functions can migrate and replicate as needed on otherwise unused machines (except for those such as file servers programs can be written and print servers lo on that are required to run take advantage of the parallelism available on a network at any lime, with little extra cost Thus specific machines). maximum amount of processing power and when there are few extra machines available. System Architecture In order to use this new philosophy, at least the following three facilities way of commuiiicaiing between processes on different machines, (2) a best available machines (either remote or local), with dealing As shown The first in and (3) programming language tasks constructs Figure 1, layer provides an Inter-Proccss Communication (IPC) facility to by which different processes, each other. When tlie The such as an Ethernet remote procedure calls different PUPs (see provide reliable non-duplicated delivery of messages over a "best efforts" physical transport medium for for the Enterprise system provides these facilities in three layers of software. processes are on different machines, the IPC protocol uses internetwork datagrams called [4]) to (1) a on the remoteness. on the same or different machines, can send messages either must be provided: way of schcJuIing on the [34]. Enterprise uses a pre-existing protocol that calls ([2], [42]) in which messages are passed to highly optimized is remote machines as procedure remote machines. next layer of the Enterprise system the IPC, locates the best available is machine the Distributed to perform a turns out to be the one on which the request originated). Mechanism, which uses both die communicate with each other. DSP and IPC Scheduhng Protocol (DSP) which, using task (even if Uic best Finally, tlie top layer to create processes machine is a for a task Remote Process on different machines that can Iiililc A 1. I 1 (iistrihutcd proccssin}> philosophy ruditional distrihutcd processing philosophy a. dedicated personal workstations b. unused workstations are c. 2. rii-n New idle dedicated special purpose servers distributed processing philosophy a. dedicated personal workstations b. unused workstations arc general purpose servers c. special purpose ser\crs only where required by hardware . \ Levels 4, 5 / . REMOTEPROC I I ENTERPRISE System 7-. / / r Level 3 / DSP / 1- L^ "N I I Level 2 BSP IPC V RPC / / ^^ Level Level Pup Internetwork Datagram 1 Ethernet Figure 1. Arpanet Packet radio Protocol layers used in Uic Enterprise system. IKa-fn:* lask .li/i'd Silii'diiliii}' One (»(" first avi\ilahlc processor. systems which ob\i(His solutions lo the llic rriDSt As we (e.g.. (2)). such when (1) loaded when (2) have difTcrent lo simpl\ is many Liiken in The problem of scheduling (e.g.. Almost |44]). priorities (e.g.. for on processors tasks all scheduling techniques, where tiie all In highly parallel systems there. some subtasks processor lime the entire system can continue to operate with in scheduling is under files all more high. is in Uiis halt, in traditional number of mathematical and software (e.g.. [5]. [8]. [9], [27], however, deals with centralized area, brought to one place and the decisions are made difTcrent processors, brought to a is is where the information used developing decentralized scheduling techniques fails, lo ilic search problem are in a of course, a well-known problem is, work traditional the information number of are distributed over a i.isk different speeds or different techniques for solving this problem in both single and multi-processor systems (30]. .1 existing distributed sub-optimal: radically operating systems and scheduling theory, and there are a 129], jssign detail below, there are three important conditions be when network-wide demand (3) is and others), that it memory), virtual tasks promising ma> have different capabilities prix.essors into more will see in approach simple a problem stiicdulinc t.isk This approach, or one similar to in scheduling there may be and the For example, when [33]. resulting actions substantial from benefits a centralized scheduler but systems that use decentralized scheduling techniques the remaining nodes. Furtliemiore. inherently distributed and rapidly changing (e.g., much of the information used momentary system load). Thus, decentralized scheduling techniques can "bring the decisions to the information" rather dian having to constantly transmit information the to centralized a maker. decision Overview of the Distributed Scheduling Protocol Since many of problems in the problems of coordinating concurrent computer systems arc isomorphic to coordinating human organizations organizational metaphors in the design of system's Distributed Scheduling Protixrol tlie ([7]. [13], [31]. [39]), we have explicitly Enterprise scheduling mechanism. (DSP) is drawn upon In particular, the based on the metapiior of a market (similar to the contract net protocol of Smith and Davis [11], [38], [39] and the scheduler in the Distributed Computing System ([12])). Wc use the term clients for the machines with tasks to be done and contractors for the remote server machines (as in [13]). bids on a task he wants done, contractors selects a conu-actor scheduling process. \\'ho from among the received In the standard case, 'Ilie essential idea is that a client requests can do the task respond with bids, and the client bids. the Figure 2 following illustrates tlie steps occur: messages used in tliis Typical message sequence; Client Contractor MACHINE machine Optional messages Figure 2. Mcssaccs in ihc Disiribuicd Scheduling Protocol. 1. riic ilicni htihiilcitsis the uisk. coniraclors csiim.itc lo Idle contractors 2. o "miiicM Jar bids", requirements, and special ;iii\ processing its 'i'hc description of piiority ilie Uisk llie of allows tii.it lime. "bids" giving respond with request lor bids iixludcs summary a contractors respond with "acknowledgements" their and add esfinidird conplctioii Busy times. the task to their queues (in order of priority). 3. When a 4. When bidder and if idle, the client receives a bid. bid If a later contractor becomes is submits a bid for the next ii sends the task to the contractor it task on who submitted and cannot be the task has side-effects bid If the later restarted), the client the bid. on the significantly better than the early one. ihe client cancels the task sends the task to the later bidder. queue. its first not significantly better (or is sends a cancel mcss;ige to ihe bidder. later 5. When a 6. When a the contractors If a task takes much the client that it contractor finishes a task, client receives the result can of a off." it was estimated returns task, remove the task from longer tlian was "cut it it the result to the client. broadcasts a "cancel" message so that all their queues. to take, the contractor aborts the task Tliis cutoff feature and notifies prevents the possibility of a few people or tasks monopolizing an entire system. Protection against processor failure. In addition to this bidding cycle, clients periodically contractors to which they have sent tasks about the status of the tasks. respond query (or any other message to a Failures might result from machine failed for other uses. contraclcr has fails to its own tasks decision. (i.e., that this processing its from happening, the own bid. client scheduled machine. locally failed. client's its clients, machine client first Similariy, if a the contractor assumes the client task. offers to be its own machine submits contractor), then the local bidder and uould therefore receive every task. waits for oilier bids during a specified interval To before Since contractor machines arc assumed to be processing tasks for only one user al a time, the client machine's on the one of In the protocol as described above, if the local the client machine would presumably always be the prevent cdules the task on another machine. rcv receive periodic queries from The "remote or local" assumes the contractor has any case, unless the task description specifically prohibits restarting and the contractor aborts failed bids for In client hardware or software malfunctions or from a person preempting a the client automatically tasks, DSF), the in the query the If a contractor fails to (Human own bid is also infiatcd by a factor that reflects the current load users of a processor can express their willingness to have tasks by setting cither of these two parajneters.) ('ompiiiiMni the ainlnni Willi conticiciors: use. specifying \siihoui task invimi'l. iko the conir.icl noi piolocitl (|11|. I This scihicikc. clmosc ainmnwus also iiliows for It of a coiitr.ielors is. (li.it iiri .iw.ird" bid. ".innoiiiiccmciu. ;iii iiiwouinii where which processor clients <ind contractors to oider of numerical insk As we perfonn the job). will see among other things, to iJicory about optimality. One of and objects the that the to Though are (e.g.. contractors select on the basis (2) clients select contractors s.itisf\ the minimum requirements computations. [35]: In call certainly situations in First, for programmer's rcnwleiiess interprocess is inherent!) and message passing systems message passing primitive), we believe that abstraction parallel. communication and Those ability to specify, facilities, Ilius. for it programming many is distributed appropriate to use the same For example, process mechanisms typically for user interaction process, with processes (e.g.. providing input for a process, or extended to include remote processes, are crucial debug, and control distributed computations. In addition, program to be designed without concern for the physical location of each prcKCSS Second, their own if a system The primary argument them to in favor be implemented more communication provides remote processes, it is a trivial matter remote procedures on top of remote processes, but the reverse true. situations. all-cases, the which remote procedures are a useful programming as the basis for our receiving output from a process). implement is proposals for such (1) procedure-call constructs ([2], [35], [46]), most-but not deleting a running process, querying the status of a a the systems include the notion of transfer of control from the more appropriate and powerful facilities they allow Most of programmer. language constructs for remoteness as for parallelism. activation. to us, and send messages arc concurrent processes with separate receive that we used them processes are a to the restricts the basis for (1) callee. tlicre construct the to ([19]. [20], [25]). "threads" of control, while procedure provide dimensions: Procedures one of two general classes into fall message-passing constnicts caller priorities, DSI' that is the requirements task. the most important issues in designing a system for distributed parallel processing constructs assume contract nets two primary ;ind nice connections with results from traditional scheduling \ery choice of language constructs available (2) to the uses of clients choose which coiur.iciors to clients perform the contractors that Ihun Remote Remote Processes Rather .md {M)]). i)SI> below, this specialization of the contract net protcKol allows make some among serve I-^S|. schciiDii imiintil programmers merely describe is DSP and difference between mutual selection b\ of cMinmicJ coiiiplciion nines (from lor wliicli clients to The most imponant clients" tasks in the .illdws facilities available of remote procedures seems efficiently for than to be remote processes. remote prtKCSscs make them tlic tliat is for users to certainly not their simplicity allows However, the control and construct of choice in most nil DSP is only one of a I l.ircc class immediately clear which ivf allows a contracti)r lo bid ASKSC MIDI of ctrcLii\c potcnli.ill) the possible schedulers i)n one task is commonly occurinc situations. In tlie scheduling proiocols. and t.isk most desirable, good as development of l-or it is not example, a protocol that another »)ne niiglu be more elTicieni than wliile pcrfoniiinj: Or. random scheduling might be almost DSP. I'KOIM.IM l.l\(. as a DSP wc sophisticated scheduler in analv/ed the objectives of ilie most task scheduler and used a simulation program to compare the performance of pi'imising alternative Global In proKxrols. scheduling wc present section this the results of that Scheduling Objectives Traditional schedulers for cenirali/ed computing systems often use layering the design of a system made In (e.g.. [8]). according to their order in a priority are study. lisl lliis while the policy decisions about hov\ priorities are assigned a higher level in the system (see at DSP [30]). separation of policy and mechanism. The DSP jobs according to priorities assigned some higher at scheduling as a basis for lisl approach, one level of the system sequences jobs allows precisely protocol itself is By assigning these level. that in systems of identical processors, tlie average waiting time known doing the shortest jobs on decisions based decentralized Thus, by assigning priorities first [9]. result priority in sequencing For example, of jobs is it is minimized by order of job length, the completely in optimal sequencing of tasks on globally a same kind of wiili priorities in different ways, the designers of distributed systems can achieve different global objectives. well tlie concerned only processors. Oplimality results for mean flow lime and maximum flow Traditional scheduling theory time. has been primarily concerned with minimizing one of two objectives: [9]) time of jobs (F3^,^)"the average time from availability of a job until maximum also flow time of jobs (Fmax^"^'^ "'"'^ """' maximizes the utilization ^^ of the processors being scheduled scheduling theory, involving the "tardiness" of jobs in to be less useful in these problems are comparing scheduling the A number rcl.itive wc consider known [9] exactly. and l.PT value [17]. to so Minimizing F^^^ third class of results much of tlie in this field has involved bounds on computational complexity and "goodness" of optimal is If cases where all In these cases, first schedules (e.g.. [10]. [26]). (LPT), to achieve the objectives jobs are available if all at the F^^^^^ some processors arc uniformly that is F^^^, same time and the processors arc identical, then guaranteed to produce an from most general forms of both Tlie literature of results suggest the value of using two simple heuristics, shortest processing time (SPT) and longest processing time First [23]), heuristics in terms of sclicdulcs resulting ([6]. completed, and (2) the last job. (A (e.g., the average flow relation to their respective deadlines, appears most computer system scheduling problems.) NP-complcle [8]. is it completion of the (1) and first F^^,^, respectively. their processing limes are SPT exactly minimizes F^^^, no worse than 4/3 of the minimum possible faster than others, then tlie I. PI heuristic is guaranteed 1(1 ;ill iniuiuco .III no worse th.m luicc the luM poNsihlc I'ljji^ jobs arc axail.ibic Instead processing limes lia\e certain llie expected values for wiiich all difl'crcnl jobs. random distributions (e.g.. these cases, In K^^^, and respectively. (|45J. |I5]). \-„^^^- in ad\ancc. with dilTercni exiionenti.il) I'inailv. minimi/c the expected exactly 1.1*1 we consider cases where the jobs arc not lime but instead arri\c randomly and have exponentially distributed the s;imc available al In these cases, processing times. c,ise> sphere known the system contains identical processors on if prcemplions and sharing are allowed, ihen SIT and values of wo consider Next, \;iliie |l()|. ihc siirnc lime but iheir cx.icl processing times are not at and the processors are identical if preemption, then allow PI I 143). DSP Oilier scheduling objcciivcs. can be used Many Parallel heuristic search. (1) "best traditional a in allcmalive al each point achieve flow artificial if the processor available given it, DSP, capabilities, its human their order the single most promising By using ihc hcurisiic [36]. a system with n processors available each task will be executing on the best Another obvious use of DSP is lo assign each user of the system a fixed nuinbcr of priority points in each time period. programs) can then allocate these priority points obtain to response the times can Furtliermore, priority. Arbitrary market with priority points. (2) search, most promising alternatives rather than only one. ;/ to For example: search space to explore next. in a always chosen lo be explored next is have different processors possible objectives besides die programs use various kinds of intelligence heuristic first" evaluaiion function lo determine priorities for be always exploring the many other time for independent jobs. which of several aliernatives heuristics for determining For example, to maximum of minimizing mean or iradilional ones they to tasks in (see desire [41] for Users (or any way they choose similar-though a in non- automated--scheme). Incentive market with priority points. (3) If the personal computers on a network are assigned to different people, then a slight modification of the arbitrary market in (2) can be used to give people an incentive lo make tlicir personal computers available as contractors. In this modified scheme, people accumulate additional priority points for their every use, Alternative time Scheduling their machine theory (e.g., performance.) to (9]). be the most (In fact, The second where no attention is as a contractor for someone else's own later task. Protocols For comparison purports, consider the scheme designed acts is it a given follov^ing two alternative protocols. logical extension is the protocol we initially random assignment method to the scheduling ITie first protocol is a of the traditional techniques from scheduling thought would that provides a decision. provide the best comparison with designs iissi^iiniciil iMi:icr The proUKol oncicoiucs the possible deficiency .ilicrn;iti\c first complelion limcs arc pnnided by processors thai arc noi ready using DSP may start a on task machine a much machine), only to find that another canceled and restarted, finishes later than machines could be made, then iininedialely available, used, their tasks is ["hat on the machine first wasted. is is. clients own their local If the task If not, tasks will finish the human tasks By analogy with "lazy" evaluation of variables it users who. actually witli their in start and [18]) the original DSP finish times. is submitted. could be called "lazy assignment" because clients defer assigning a task to a specific contractor until the contractor it assigns tasks In this protocol, estimates its soon as contractors bid on all starting time for a task higher priority who This alternative protocol, therefore, contractors to submitted is scheduled. Then When new it. as by finding tlie if first they are currently busy. time in added its schedule and sends the the client picks the best bid tasks are at have been "bumped." may then try to contractor task to the contractor to a contractor's schedule, or Tlicsc clients A which no task of when a longer than expected to complete, the contractor notifies the owners of later tasks in that their reservations is be called "eager assignment," since will possible. tasks even all is execution. way. each contractor this estimated could complete any new task that ([14], when DSP begin soon as possible after the tasks become when conditions change, expected to do, along machines that were not to wait for faster until to contractors as and so the contractor can make estimates of when actually ready to start. is the job reasonable estimates of complelion times on currently busy as necessary it (p(>ssibly machine becomes available soon. ihese estimates might also be useful to the and then reassigned mainuins a schedule of faster no esiinuies of liiai immediately, axailabic immediately would know enough tasks are assigned this alternative, In If clients have no idea of when available is the processing time all could have. it that DSP of to st.irl task its takes schedule reschedule their tasks on other contractors. It is important to note that even in cases where there guaranteed to converge. new the scheduling of a finite task can nc\ cr cause (but possibly large) occur only Random when a task more than amount of rescheduling is bumped by a a finite in rapidly large In the second alternative protocol, clients pick the when a lot of bumping, this scheduling process is number of bumps. To reduce the changing situations, rescheduling can amount. assignment bids and contractors pick the all is Since tasks can only buinp the reser\ ations of other tasks of lower priority, first first contractor who responds tasks they receive after an idle period. they are executing a task, and they answer all requests for bids to their request for Contractors do not bid at when they are idle. If a cliciu dots receive luil hulv U .iii\ Ldiilliuies lo ivbro.idciisi ihe ivquesi heginninc coniniclois receive a task alter alre.uix uho (with a "Ininip" message) and ihe clicni In the siinulalions discussed and a\ailablc. beUm. the Ihsi task of" suliniiiicd the selection when more execiiliDii dI" anotlii ol" llian the one it fi>r luds peiKulicillv. one. ihe new ; i.isk continues ining lo schedule bidders I'nsl task is when more than one rejecied elsewhere. it irtachinc waning, are boih modeled as is V\ lien choices since the dcla> times for message transmission and prwcssing are piesuinably random. contractor machines migli! often respond iikmc quicklv fast reality, ones and so would be more mechanism in Simulution Results: a mean In this section objective. tli.in the of this scheduling perfoiinance.) siinulaied Time Flon flow tiine of independent jobs we summarize is likely to be the primary objective assignineni, and (3) random assignmetu. determined according alternative, in topic aic so this the results of a series of simulation studies of distributed scheduling alternatives outlined above: Howard belter (In slow appropriate to use simulations lo compare alternative strategics for achieving this is it Mean liuis the perfoniiance bidders, fiisi be somewhat to requests for bids than distributed scheduling cnvironmenLs, and since analytic results about real scarce, be the to miglit Minimi/.ing Since minimizing the many likely system real is r.indiv.n priorities to arc shortest the not both the eager and lazy alternatives, priorities arc In processing Iliese used. three tJie (1) lazy assis'in'enl (the original DSP), (2) eager time first (SFT) In heuristic. simulation studies are described in the more random detail by [21]. Method To simulate the performance of the alternative scheduling strategies, most of the code for the operational Enterprise systcrn was used, with some of messages between machines) redefined so that a ITie completion the ftinctions (primarily those for sending complete network was simulated on one machine. of jobs was simulated using elapsed time of the simulation clock, machines completing simulated jobs proportionally more quickly Job For loads. all the simulations, "scripts" of tlian random job submissions were assumed to be independent of each other and required to be run remotely. assumed to be a Poisson exponentially distributed. new job would and the amount of processing This means arrive in the system, constant probability number prcx:ess generators, that, at we any that, at and instant, it also slow in faster uitli ones. created. The job All jobs were arrivals were each job was assuincd to be every instant, there was a constant prob.ibiliiy that a llial. for each job currently executing, thoie would end. was a Hy varying the paiamctcrs of the random created scripts with average loads of 0.1, 0.5. and 0.9, where average load defined as the expected amount of ajnount of processing power pr(x:cssing requested per time in the system, interval llius, 0.1 represents a light load divided by the and is total 0.9 a heavy load. 12 addilion lo ihc In errors. i'slinuiliiw amomu incliuicd an c*-limatcd of how long ihe job would perfect Nine hhuhinc ainfi^umiions. all configur.itions, a total achieved in different C'onvnunlciUions. ways: a single machine of speed communication where delays to arc start time than some is delayed at all. in bumps were mad^. the In a real system, jobs late Replications. generated. often, the tliesc same of the two accuracies (0 and using tlie same scripts for all fi\c scripts if the job processing In real times, this In other cases, different assumptions among mechanisms. scheduling In keeping with the spirit would ordinarily have lo be (After a job begins execution, when of simulating bumped by more it is not subject to from late bids are recci\ed method might improve is if if fewer jobs were sometimes successfliUy assigned lo a contractor. random method could achieve; if Thus, this rebroadcasting ± five different random scripts of job submissions were were used for each of the three scheduling meUiods, each 100 percent), and each of the nine machine configurations. ihc different methods, accuracies, much more powerful comparison of than job to performance could only get worse. For each load average, Then machine of simulations, clients rebroadcast their requests for bids in every simulates the best scheduling performance the less 1 bids. random assignment Similarly, in the or performance of the eager mctliod could only get worse lime interval of the simulation until the job occurred trade-offs rebroadcasiing. but the performance of the la/y receiving 1: in was the eager simulations are rescheduled every lime their scheduled In other words, the after relative In the lazy simulations, jobs are never restarted fast contractors. resuirted and laic bids, in different cases this be perfectly reliable and instantaneous. appropriate. is tolerance before being rescheduled. being bumped.) on the network were defined, or 8 machines of speed negligible about communications delays might change Bumping, resiariing after the case of inaccurate range. the "pure" cases of the different scheduling meciianisins, assumption of insuintaneoiis commimications "pure" scheduling mediods. jobs 8; made were either etc. 2; order to simulate In In error). o\er different configurations of machiiies communication among machines was assumed situations distributed cases, these estimates of 8 units of prwessing power was available, but and 2 madiines of speed speed 4 examine extreme random!) each job. ihc scripis also in die esiiniaie a user niigln ha\e jtth (i.e.. (± 100 percent inaccurate were uniformh errors the each I'or In order lo lake). (0 percent error) or very estimates, anuninl of processing ;icUi.il of processing the differences due to the factors in submissions had been generated randomly By and configurations, we obtained a in each which we were interested different case. I Ik- holm^ icsulls piCM-'iiicd .no machine conngiiraiions several liiiic one should be catecorv. the flow times hevii.inl aboiil a\or.fpinc tiicn; is at "eager" ofsysiem Somewhat as, assignment load. With and in in 'lO'J .'. advantage under How cases, machines are often busy non-identical is the because appears to be tJie faster better than the With heavy so this is machines. There advantage a clear analytically (see even when the csiimates are off by as other hand, often di)cs worse of having one csiimates. poor processing lime csiimates. does effects of non-mndom fast processing power, toLil fast does not matter nearly as much. machine configuration: scheduling methods at As (1) lig!it loads m.xhinc rather than lliis last result a (3) combination of can also be derived [33]). of accuracy cf processing lime face of At light loads, a not. At moderate loads, Figure 4 shows, the benefits of non-random scheduling at all load levels slower machines with the same is This sizable two non-random assignment methods the assignmeiu preference .^s (2) lazy of non-ideniical processors, there case a significant advantage. tlie and loads, these differences are loads) increase as the range of processor speeds in the network increases. all is more compiieaicd and machines while the random method does a sizable advantage of (averaged over even loads in of machme configuration, llicre are three important just discussed, there Effect light almost always available so this is here. Figure 3 shows that the "la/y" assignment much perfect estimates of processing amounts, botli eager assignment loads consistently assign jobs to machine shown flow limes arc times, so the original surprisingly. some tJie advantage for either of the two non-random assignment methods. light same the normali/cd method. Even with (5%-50%). approxiinatel> in ,ii'o each conngiiration b\ di\iuing by assignment arc consistently better than random assignment. substantial wc relative good least as TluT.'rorc. sinj-lc of any particular time of of sclu'JuIing mellwd expensive witli arJ one ci.nlkuration of a this \\a). in .niJ o\i.M of mulliple identical fiovs and eager methods patterns as the averages of the original Kffcct Ihc scnpis The averages of these noiTna!i/ed values showed exactly the saine the la/y t'or method. the rand('m fast lor job^ over anJ since there arc large differences between dilTercnt configurations p<^pulation r/fixl n>iv\ ITiere arc three configiiralions Strictly spi-akme. since the JiiTerent conliriLiratioas arc not rep!cs>:iMaii\e machme. i'ffeci nic.in each case. c^)n^lJUlrati;l^^ (if niiilliple nca-iJciuiL-.!) m.iLhinos. machines. fi\c method nf .I'-cr.iycs in with much worse wiili much wiiii iis The lazy assignment "ver.ili as 100 percent. bad estimates method is pcrfonnanco degiadmc llian The quite robust in the on);, a few percent eager assignmeiu method, on the with good ones, and bad estimates than purely random assignment. in some cases it Single Processor o E Multiple O Identical o Processors o o <> Multiple Non-identical Processors EZl LAZY PERFECT ESTIMATES Load Factor FICDSE 3. KS ^a ^S LAZY +/- lOO: ERJtOP. EAGER PERTECT ESTI>lAri5 EAGER /- lOOZ ERROR BSl RANDOM Perfcroacc; cf 3 ccbeciulisg methods (Itzy atEignoent, eager astignnect, random fEsigrmen: ; uader various loadt and accuTaciet of processing time estimates. c CD E 05 CO VCD O -5 Range of Processor Speeds O EAGER ASSIGNMENT, +/- lOOZ ERRORS + LAZY ASSIGNMENT. +/- 1002 ERRORS FIGDKE 4. Improverject in average flow time of con-random assignment methods compared to random assignment. "Range of processor speeds" is defined as ratio of speed of fastest to slowest contractor in network. 14 ilic hi/\ iwn non-r.indoni lumibcr ilic as loads increase. "pure" simulations, communication was treated order in at boih hc.i\\ and hough lliey arc not (± 100% linies instantaneous and as hro.idcMsl nioss.igcs used While csiiin.iics loi jobs. free in by llic liclu loads. shown here, in ihcsc error), order to maximi/c designing an actual system, one would presumably sacrifice st)mc In performance I oljob processing similar results were obtained (or poor estim.ites scheduling nine same mmiber of messages per job llic method requires many more messages scheduling perfomiancc. and dl dircciod stlicdiiling mciliods wiili pcrlcci piiH.ossiiig melliod icquires almost the eager shows liciiic 5 inidiinl (if mcssiii^r liiiffn. reduce to number of messages. the Discussion The similarities of scheduling problem this to that of job shop scheduling might lead one to believe that ob\ ious extensions of traditional scheduling theory algorithms such as the eager assignment mediod would provide the best pcrfonn.ince simulation results by Conway. scheduling of distributed Lisks. for Maxwell, and Miller Also, early of a job shop environment showed that [9] schedules based on very inaccurate estimates performed almost as well as schedules based on perfect estimates and much do so poorly in that random better than our examples when two primary factors account for "Stable world illusion." (1) machin; later back :'iat later this method Wc believe result: and to the method, each job in the simulation, to start But same machine, then they times, later in if is assigned to the jobs of higher priority arrive keep "bumping" the will first job other words, jobs are assigned to machines on the will arrive that the (i.e.. worid jobs are rescheduled every time any their estimated start time, by the time the chance then, should the eager assignment In the eager assignment assumption that no more jobs though Why, given inaccurate processing lime estimates? estimates the soonest completion time. and are assigned to schedules. is it job is rescheduled, it will remain new jobs may on another machine that could have completed it stable). arrive tliat Hven delay already have missed a before it will now be completed. In some of our simulations for this effect, that is, (not included here), the bids included an extra factor to correct bids included an estimate of would be delayed by jobs the job began execution. though the inclusion of that (See Unexpected [28] amilabiliiy. the When priority jobs arrive at a processor, all how yet arrived, but for the derivation this correction assignment method somewhat, (2) had not factor did long the starting time of the job could be expected to arrive before of this correction factor.) Even improve the performance of the eager changes were not substantial. a job takes longer than expected, or the clients who submitted when higher jobs scheduled later on that ' Directed Messages J*: w CO Ik(D O. ^— C o o (D CD CD CO o C) Broadcast CO L_ CD Messages > < Load Factor EAGER PERFECT ESTIMATES LAZY PERTECT ESTIMATES Figure 5. Avcr.nsc number of broadcast and mcLhods to directed mesatcs used by eager and schedule cdch lask under various loads. lazy assignment 15 pnKCssor When ;i noiillcd wiili "liimip" mcss;iccs ;irc job takes loss who ci\cn .iiid cliiincc lo rcsclicdulc ihcir jobs. ;i expected or when jobs seheduled on llian may become canceled, the processor clients liiiic who might now want submitted jobs that were scheduled elsewhere but on the ncwl> a\ailable machine where processors are idle while high priority jobs wait in queues on slower pnxrcssors. fast .ire ne\er notified. I and allows ihcm message to reschedule llicir tiisks. and traffic system 'ITie most important and surprising F.vcn though ihe lazy lazy assignment method. message substantially less performs much usually result tlie lliis much all is addition would be even greater unlikely it that is the superiority of the much worse than the alternative meUiods, and it results: First, the in a introduction of few cases. For heavily loaded systems witJi very long communication delays, the eager assignment transmits jobs lo contractors in advance and thus removes one communication lag from the trip Also, these simulations were only attempting to minimize average flow time, fiow time. Nevertheless, we believe that the superiority of deferring assignment of tasks to machines in multi-machine scheduling environments is resulting better. not any of the other possible global objectives. that the simpler la/y assignment melliod. communication delays might change the irade-ofFs among scheduling methods in have specified, of such situations simpler to implement and often requires There are two important qualifications on the generality of these example, Wc clients of these simulations method never perfonns traffic, it of !1ic cost and wc believe complexity, perfoniijnce would be significantK better than Inipliaiiions. here can thus be situations weakness of the eager assignment metJiod. but not implemented, an addition to the protocol that notifies round lo rcschcdiiie This appears to be a serious method piocessoi' arc a a\ailable sooner than expected, but in these cases, the likely be to very widely applicable, and dial is not yet widely is a principle known. DISTRIBUTED SCHEDULING PROTOCOL DEFINITION In this section, used to in a we present a detailed definition of implement the lazy assignment method. tlie Distributed Scheduling Protocol field that is network even when die machines use different programming languages and operating systems. This section (and the Inioilisp implcmcnDiion of the proUKols) describe lists (DSP) This protocol can be used by cooperating machines of fields with no field widths or data types specified, widths and The message data types should definitions in Figures 6 be specified . .") square brackets are used lo indicate ("I ]") indicate lists >"), the message formats as well. BNF specification. Nonterminal terminal symbols are written witliout delimiters, containing an arbitrary comments. all use the protocol with other languages, and 7 use a modified form of symbols arc enclosed by angle brackets ("< ellipses (". as lo number of or more terms, and 1ft lijiurc I IT Mcssjijc ft I orn)at <II'Cmcss.igc> -» (<scndcr><rcLOi\cr><b()dy> IPCControlliifo) <scndcr> -* <prix:cssll)> <rcccivcr> - <priKCSsin> <proccssIl)> -»• (liostNamc pioccssNamc) 17 \-\\lTV 7 DSr - <rcquosif()rbids> <l)SI'incsvigc> <suiuis> <bid> | I 1 1 lormals <;ickiu)wlcdi:cmcm> <bunip> <canccl> I - (RI-QLH-S <rcqucMfi)rbids> | Mi'ss;i};c | | <task.> | <rcsiili> | <quci>> | <cuU)t'l> OKIMDS <t.iskll)> prioritv <c.irIicsiSiariTimo> <icquircmcnui> <uiskSuminary>) - (HlIXuisklDXstaiirinicXcomplclionTimc)) <ackn(mlcdgcmcnt> - (ACK <lasklD» - lASK <taskll)> <iaskSuinmary> laskDcscription) <lask> - (RHSUl. <taskll)> <runiimc> <rcsult> - (QUKRY <laskll)» <qucry> <bid> priorii-. ( result) <av^..:;Siatiis> 1 <siatus> -» (STATUS <taskstatiis> <siartTimc> <complctionTimc>) <bump> -* (BUMP <siartTimc> <complciionTime>) <cancel> -* (CANCF.l. <taskID>) <cutoff> - (CUTOFF <taskID> <runtimc>) <taskID> -» (hostNamc taskNamc taskCrcationTime lastMilcsloncTime) <taskCreationTimc> -* systcmTime <lastMilcstoneTime> -» systcmTime <carlicstStartTimc> -» systcmTime - systcmTime <complctionTimc> - systcmTime — NORMAL ERROR <resultStatiis> <startTimc> | <runtime> -» (clapscdTimc machine Type) <taskstatus> — LOCAI BIDDING SCHEDULED DELIVERED RUNNING NORMAL ERROR DELETED CUTOFF . | -* . . . | - ( . . . . .<hosiName>) [other terms to be added] | <summaryterm>) TIME timcEst) (FILES <rjlcDescriptionList>) | <fiicDcscripiionList> -» <rileDescription> <nieDescription> | <rcquirment>) REMOTE (HOSTS <hostName>. <taskSummary> -• (<summarytcrm> <summaryterm> 1 | <rcquircmcnls> -» (<rcquircmcnt> <rcquiremenL> | | I | | [otJicr terms to be added] <filcDcscription> <fileDescriptionList> - (fileName filcCreationDatc fileLoadTimcF^t) | Inlet- I'nnns I)St* is based on an Messages I'minail ('(Hiinnniitdiidii Conmuinicaiion prolocol Inioi -Process IPC are assinned the in to guarantees that messages arc received will be avoided, but the and recetvcr DSP be a IPC Mc DSP As ibis guarantee. following information: globally unique processlDs for the sending such information as message a and body. and receiving processes. time IPC the If procossiiij; specified in Pigure 6. messages sender, receiver, identifier, niessaces. ol" some redundant denned below, or some other message. The mess<iges may message, as control transpon for the are scni. then the .irdcr ihc\ does not icqinre at least the arc assumed to contain in (li'C) be reliably delivered without duplication. and sent, I also The sender he body in.iy conuin other about inform. iiion acknowledgements and duplicates. DSl* Message I'onnals Figure 7 fonnats the specifies for different tlic laskDescripiian. laskSummary. prioriiy. requirements, DSP and The messages. exact formats for the implcmenialion dependent, rcsuli fields arc with the only restriction being that contractors thai rccogni/e and satisfy the requirements, must also be able to recognize and deal with the specified priority and the descriptions and the taskDescnption. terms added as the protocol TasklDs are is its for different types used task idenlificrs that arc task can be restarted during guaranteed to be unique across time and space. lifetime (e.g.. because of a processor failure), timestamp of the most recent "milestone event" in the Milestone events are the sending of these render events responding to DSP messages about previous all DSP lasklDs the use host's The sysicmTime measured the in encoding of is tlie network assumed same to units as task immediately indicate that fact tlic suiriTimc in tlicir bid. even at all as be the same and Nelson the lii.ii loaded is the correct one. do tliis. a [2]). (witliin sir.all limits) across is bump mess<i2C an Bidders Before task. and machines. KhipsedTime is implementation dependent who are ready to start on a spccifi'^d in the request for bids as lime has already passed. a the (Ta^kliX serve the saine task. Contractors indicate that they whose startTimc fileDcscripiions include a filcCreciioiiDaic so conuactors can dcienninc have In order to included in the lasklD. In Enterprise, both proccssIDs, by using the earlUsiSiuriTnnc if Since a given also necessary to hosiName. machines on Uie netwoik. by returning is both clients and contractors check to systcmTime, and machineType different types of cannot accept a task Birrell address is messages concerning a particular task, therefore, used by call identifiers [35]. of the process it tasks. request for bids or a task message concerning ihc task. citlier a obsolete same process life be sure the message concerns the most recent incarnation of the purpose as die laskSummary of machines and different types of distinguish between these different "incarnations" of the Doth in the Roth the requirements and the laskSummary are intended to have new if is or NIL. the version of a file 'ITie they 19 /).S7* Missiii^c l'r(Hrs\iiii; The ccncnil coiisiraints on mcssiigc processing scheduling Contractors process. rcLiuircmcuis ihey satisfy has begun execution, implcmeniaiions of bids, long it DSP and canceling excessively A . DSP in assiniicd lo arc described above in Uic oxerxiew of the bid on or acknowledge onl> tiisks whose contractor can only process one remote task at a time, hut once a task number of can create any other IcKal (or can use different policies for priority restarting tasks. arc after The only evaluating bids, late restrictions on these a remote) Different liisks. setting, estimating finish limes for client's own and culling off hid, stem from the policies fact that consistent biases (e.g.. "lying") on the part of sonic clients or ctHitraclors in setting priorities or submitting bids may Choices about restiining and cuU)tT policies also involve lead lo radically siiboplimal schedules. tradeoffs between ihe amount of compulation and communication devoted to scheduling and ihe efficiency Scheduling The initial (1) of ihc schedules. in Knterprisc makes the following choices version of the Enterprise system Tusk descripiions and "dereferenced" to the results are character strings consisting "standard" processor the files that (in (3) all is the (a) estimated processing time must be loaded before the processing can begin. the task on a if ITie estimaied processing no estimate is supplied, a default used. on a standard processor, Requirements can "REMOTEORLOCAL") (5) for Priorities arc simply tlie estimated processing time (including the esiimaied time to load files) (4) to of arbitrary Inierlisp forms our case a Dolphin processor), and (b) the names and lengths of times for a task are supplied by the programmer, or value implementing the DSP: names" of the forms. "print Task summaries consist of (2) in be local never use include with (a) and/or (b) a the Bids take into account to a "sLindard" processor) tJie "REMOTE" list (as opposed the to of acceptable contractors. priority. default which is Tasks that are required DSP. processor speed of the contractor submitting and die on ihc contractor's machine. low numbers signifying high file loading lime for File loading time is all required files tlic bid (relative not already loaded estimated as being proportional to file length. (6) "Late" bids from bidders who were for bids are accepted (and the task better tlian the earlier bid by an arc rejected. is ready to start as soon as diey received the request canceled on the early bidder's machine) amount greater Uian BidTolerance. if they are All other late bids Jll A (7) cliciil processes other A (8) "Gaming" acii\e than grc.iier the sysicni. If time estimates arc Ihcir pnxrcssing estimates is designing in l.isk is on the il client processed aflor inll.iied b\ is .1 any .1 dcl.u of t'.icior OwnBidDelay. egu.il lo ilie As number of mjichine. has created) is cuioffii' exceeds it its estimated time b.\ a CutoffFactor. own estimates of prcxressing times for ihcir tasks used to determine priority, there in the estimated time. one own ils processing lime is This incentive give biased to current system by the possibility of a job being cutoff In general, this issue organization of "incentive compatibility" human involves that and a clear incentive for people lo bias estimates in order lo get higher priority. linic its on own people supply ihcir .ilsi) counteracted exceeds its (and any siibtasks liisk factor llicsc ni.idnnc's hid iiucrim nicisiirc. in [22] is if it greatly an important actors. Conclusion Wc believe any First, that paper has made this of a designer three processing parallel primary contributions: computing system, whetiier the processors geographically distributed or not, must solve the problem of scheduling tasks on processors. are Wc presented a simple heuristic method for solving this problem, and demonstrated with simulation studies its deferring superiority to long as The scheduling to a as two plausible possible hcuiistic tlie alternatives. actual wc presented has dcccntrali/cd implementation in The simulation assignment of tasks Protocol) Finally, the for which separate decisions made by a To set of geographically aid fiiture implcmenters of such a language-independent protocol (the Distributed decentralized scheduling Scheduling decisions. whether scheduling decisions are centralized or decentralized, the Enterprise system points way toward easily take network wc formalized coordinating processors. the additional advantage of lending itself very naturally distributed processors lead to a globally coherent schedule. distributed systems, studies highlighted the benefit of to at a new generation of advantage of the any time, with distributed maximum amount little extra cost computing environments in which programmers can of processing power and parallelism available on a when there are few extra machines available. AcknonU-di>cnicnls 'llic authors would like to thank Michael Cohen. Kandy Davis, l.aiiy Masinior. Mike Kuthkopf. Henry ITiompson. and ilill van Melle for helpful discussions about the design of the l-Jitcrprise system. llie final Research, stages MIT. of Uiis work were supported in part by the Center for Inforniaiion Systems References |1J licrh;ird. |21 UirrcU. Omipiiiing R. A. Xerox CSi.-83-7. (3| Andrew Hirrell. Hxcercisc |4] IJoges. and Nelson, !).. I).. David laft. F., Alto. Kdward iechnical report no. calls, Calif.. A., Metcalfe. aj llir 26-31. 1982, October Schroedcr. Michael .M.. ( Oniniiniicd/iuiis Tniimiciions on ( oinniunicaiions. ll'I'l' July SiHriruni. 1 1 Palo Center. Needhain. Roger Computing. Shoch. John R.. Architecture Research e\in. Roy. I nistrihiiicd in II limit. lufplcmcniin^ rcnmlc procedure J. ii. Alto I'alo speed the iil ACM 1983. Grapevine; I)., April 25(4). Robert M.. Pup: An An 1982. Internetwork Volume COM-28 Number 4, April 1980. [5] Urinch Hansen. liruno. Coffman. J.. C, E. &. Sethi. Chandrasekaran. (8] SMC-II, Coffman. Fdward G., Englewood [9] Conway, [II] Davis, and R., In J. Jr., 1974, Cliffs. 17, New 1981 to reduce mean finishing 382-387. JE1:E Transactions on Systems, Man, and Cybernetics. and Denning, Peter 1981 W. J., Operating Systems Theory M. Prentice-Hall, Inc., 1973. Jersey, Maxwell, Jaffe, J. L., Miller, W., L. Theory of Scheduling Addison-Wcsley 1967. Algorithms for scheduling tasks on unrelated processors. (October), Intelligence J. Fox 28, Journal of 721-736. Volume 20 Number and Larson. K. C. (Ed.). Proceedings Tclcirajfe. [13] Pikes. iinglewood and Smith, R. G., Negotiation as a Metaphor for Distributed Problem Solving Artificial [12]Farbcr, D. Scheduling independent tasks Company, Reading, Massachusetts, ACM, the Inc.. 1-4. New Cliffs, W., R. Publishing [10] Davis, E. Prentice-Hall, Natural and Social System Metaphors for Distributed Problem Solving: B., Introduction to the Issue. (January). R. ACM, Communications of the time. [7] Operating Systems Principles 1973. Jersey, [6] P.. Richard Brooklyn. E., Work, Cognitive NY: 1, January l"he structure of the distributed of the Polytechnic 1982, 6, computing system-Software. Symposium on ComputerCammunications Networks and Press, 1972, A Commitment-Based Framework Science, 1983. 331-347. for pp. .S39-545. Describing Informal Cooperative 23 & |14| I'ricdm.in. I). I'm^mniiniii}:. K. (15] Gla/.cbr(X)k. Wise. 1). CONS hdinbtirch should not 1979. |16]Gon/ales. T.. Ibarra. O. H.. and S.ihni. SI AM Juunui! of Compulin^. Graham. R. and Rounds S. 1977. 685-689. /6. for I. PI schedules on uniform processors. 155-166 (as cited 6. by 1969 (March). 416-429 (summari/ed /7. in (Jaffee]). SI AM Journal of Applied Hounds on muUiprtxrcssing timing anomalies. I.. Matlicmatics. I aiiy.Uii\ics 257-2S4. 197(). Scheduling tasks with exponential sci^ice times on parallel prcKCssors. 1). Jounuil of Applied I'lvhahiiin: |17] Auimuiiui. c\;iliiato ils iiigunicnls. Press. Liiii\cisii> ColTiTian and Denning, pp. 100- 106.). [18] Henderson. P. & J. Morris. [19] Hewitt. C. 1977. 8. A Jr. Programming Languages. la/y cvaluator. Record Third Symposium on Principles of 95-103. 1976, Viewing conirol structures as patterns of passing messages. Artijicial Intelligence. 323-364. Communicating sequential [20]Hoarc, C. A. R. Communications of the processes. ACM. 1978, 21, 666-677. [21] Howard, M. T. Electrical Tradeoffs Engineering in distributed scheduling. Computer and Science. Unpublished M.S. Massachusetts thesis. Institute Department of of Technology, forthcoming. [22] Hurwicz, L. The design of resource allocation mechanisms. and Proceedings, 58 (May, 1-30 (Reprinted in K. 1973), Studies in Resource Allocation Processes. Cambridge: American Economic Review Papers Arrow and L. Hurwicz (Eds.) Cambridge University Press, 1977, pp. J. 3-40). O. H. and Kim, C. E. [23] Ibarra, nonidcntical [24] Imai, processors. Heuristic algorithms M., Yoshida, Y., and Fukumura, T. systems and Joint [25] Ingalls. its A Conference on parallel Artijicial Intelligence, M. Annual ACM AZ, January 1978, pp. Efficient scheduling Symposium on 24, independent tasks on 280-289. searching scheme for multiprocessor Tokyo, Japan, D. H. The Smalltalk-76 programming system: Tucson, for scheduling 1977 (April), application to combinatorial problems. Proceedings record of the Fifth [26] Jaffe. J. ACM, Journal of the of the Sixth International August 20-23, 1979. Design and implementation. Principles Conference of Programming Languages, 9-16. of tasks without full use of processor resources. Theoretical 24 Selena: (oiiipuicr |27]Ji)iu'S. 1-17. /.'. l')S(). Aniui K.. and Scliw.ir/, Pclcr. I.xpeiieiiei I'sin^ Miillipnncssdr Srsienis Computing Surveys. Volume W. |28J Kornfcld. (October). [29] Combm.ilorially implosivc algonihms. 7.^-7.^8. k Mikhail. 0. ami Lampson, tt. ACM. [31] I.. & J. Malone, Thornas W. and [32] Paper systems. [33] School [34] Metcalfe, [35] 1971. in C. Infoniuiiion Systems: 105-124. pp. Coniniunieations of the S. I). Strategies for scheduling parallel processing School of Management, computer MIT. Trade-offs in designing organizations. A. of Management, Human Group, August 1982. Sloan preparation. R. M.. and Boggs, Paper in preparation, MIT. R., Ethernet: distributed packet switching for local computer Communications of the networks Press, 1982 Working Paper, Xerox Palo Alio Research Center, Sciences Roihkopf, M. H. in Malone, T. W. and Smith, Sloan compuier networks, Mauay,eii}citl Organising Information Processing Systems: Parallels between Instructional W. and Malone, T. Carnegie ACM. 347-359. //. Organizations and Computer Systems Cognitive (Hds.). scheduling philosophy for multiprocessing systems. (May). Report Sidiiis ommunieultoiis of ihc i pricing of resources in Heamcs T. Pittsburgh; I'eispeeiives. W. A 1968 Dynamic I. Van Horn. A - 1980. A. H. Kriebel. R. [30] June 2, 2.\ Kriebel, C. H.. Progress Number 12 ACM Nelson, Bruce Jay. Remote Procedure Call 19 (7), July 1976. Xerox Palo Alto Research Center, CSL-81-9, May 1981. [36]Nilsson, N. [37] Principles of Artificial Intelligence. J. Shoch, John F., Computation [38]Smitli, R. C, Hupp, Jon A., [39] WORM Programs ACM 25(3), Communications of the The Contract Net Distributed Problem Solver December The Palo Alto, Protocol: - CA: Tioga Publishing Co., 1980. Early Experience with a Distributed March 1982. High-level Communication IHRF, Transactions on Computers and Control in Volume C-29 Number a 12, 1980. Smith, R. G. and Davis, R., Erameworks for Cooperation Transactions on Systems, Man, and Cybernetics in Distributed Problem Solving Volume SMC-11 Number 1, IFEE January 1981. |4(llSpnuill. K. (41JSullicrliind. (June). |42] Iliuhknd I). A m.iikcl in fiiliircs Remote 11. Alio Van dcr Ucxden, 1981. Weber, R. R. & Wittie. A E, Center. Weidc, B. W. Alto. CA; January. minimi/e the expected makcspan. I.. D. of the 1908 arrival times on in multi-microcomputer 1981, 50, 283-289. flowtimc. or high-level Journal of Applied Probability. Statistical 1982. framework for network-based resource sharing. methods in June 1976, pp. 167-182. 19, AFIPS Proceedings 561-570. algorithm design and analysis. Ph.D. dissertation, Carnegie- (as cited in Jones, A. K. & Schwarz, P. Computing Suneys, 1980 (June), 121-165). Wesson, R., Hayes-Roth. F., Burge, J. for distributee! situation assessment. 1981 A(M, Maihemarics of Operaiiotis Computer Conference. Kxpericncc using multiprocessor systems-A status report. [48] the 198.V Distributed task force scheduling Natioital Mellon University. Pittsburgh. PA. August, 1978 12. 1371- linpubiishcd documcniation for Intcrlisp-I) system. PjIu of the National Computer Conference, |47] (16 (11): Scheduling jobs with stochastic processing requirements on parallel machines to minimize makespan J. II l'l\ 305-312. Proceedings networks. White, ilu Schedulmg jobs with exponential processnig and I,. 6. [44]\'an Filborg. A. M.. [46] of Communimiums of computer lime. /'rocetlure (all. Kese.irch identical processors so as to (45] /V<.<r,-,///;,i;s 449-451. P.ilo Rescunk piiUotols. 1978. K. I. //. iliompson. Xerox |4.^] Cohen. .ind I-., Ni)\ ember. 8(). (January). SMC-IJ, 5-23. W.. Stasz, IEEE C, and Sunshine. C. A. Network Transactions on Systems, Man, and structures Cybf .res 4S53 03^^ 3 TDfiD DDM MflD 7Eb 5^^,^^b5^ BASEMENT 6>H mit< <:1>V5^