Multi-Tasking Robert Hayden <[aq 650] at [slc4.INS.CWRU.Edu]> Vincent Esposito <[V--PO--T] at [CCVM.sunysb.edu]> Introduction With the advent of the Encephalon as a cognitive multi-tasking control unit, a team of industrious cyber-engineers have been developing methods for multi-tasking several datajacks, allowing many interesting possibilities. Now you can run multiple cyberdecks, rigs, communication jobs, computers, synthesizers, etc. in nearly any combination, as long as you have enough datajacks. How Multi-Tasking Works Multi-tasking is accomplished by switching attention between tasks at an incredibly fast rate utilizing the cognitive multi- tasking of the encephalon. A person using this system to run 2 decks (and thus having 2 Matrix personas doing different things) or someone rigging a vehicle and using two remote control decks, for example, never actually executes two commands simultaneously. The encephalon allows the user to have his attention on one task for a few nanoseconds, and then switches attention to another task for a few nanoseconds. This switching is fast, but not instantaneous, so there is some degradation in response time. Also, the encephalon was not designed to handle multiple datastreams, so the FIFO (First In/First Out) buffer is required. The buffer stores outgoing commands, and incoming segments of data, so that the encephalon only has to deal with one device. The encephalon simply looks up the region of the buffer that is associated with the datajack it is currently giving attention to, and writes output to that datajack in another partition of that region. The I/O SPU associated with a datajack looks in it's assigned region of memory for data that is to be sent through the datajack, and places any incoming data in that region also. Furthermore, a Math SPU added to the encephalon acts as a floating point math coprocessor of the 20th century, speeding up response time so reaction penalties are reduced. Technical Specifications and Rules The Basic system: To multitask several datajacks you need a few things: 1)An encephalon of appropriate level 2)A number of datajacks 3)An equal number of I/O SPU's of the same rating as the datajacks 4)A FIFO (First-In/First-Out) buffer of headware memory 5)(optional) A math SPU whose rating is at least that of the encephalon to decrease system overhead. These components are linked according to the chart below. |--------------| <=> FIFObuffer1 <=> I/O SPU1 <=> datajack1 | encephalon | . . . . | | . . . . |--------------| <=> FIFObufferN <=> I/O SPUN <=> datajackN The number of datajacks that can be controlled by an encephalon is equal to the rating of the encephalon + 1. (i.e. an encephalon- 3 can multitask a maximum of 4 datajacks) Buffer Memory Requirements: This is internal memory utilized by the encephalon to buffer commands and data. To determine the amount of buffer memory that must be installed, consult the table below. Number of Datajacks Size in MP of Buffer 1 0 2 50 3 100 4 150 5 200 Reaction Penalties: Multi-tasking does cause some loss of response time due to data clash and processing time spent switching between datajacks. Basically, this results in a reaction penalty depending on how many datajacks are being used at any given time. This is determined by the following table. # of active datajacks Encephalon Level 1 2 3 4 5 1 0 -1 -- -- -- 2 0 -1 -2 -- -- 3 0 -1 -2 -3 -- 4 0 -1 -2 -3 -4 This penalty applies to each "Task" being done. For example: OddBall is running 3 datajacks, one is a remote vehicle rig, and the others are cyberdecks. This means that OddBall has a -2 to his reaction for each "task". Note: The addition of a Math SPU whose level is equal or greater than the level of the encephalon will speed up response time somewhat. Adding this extra hardware will reduce all reaction penalties by one point. (Suppose OddBall has a Math SPU, each of his "tasks" will now only have a -1 reaction penalty). A Math SPU will not bestow a bonus for running only one datajack. Optional: Prioritized Multi-tasking Optionally, a GM can allow multitasking players (and NPC's) to use the following "priority system" for reaction penalties. Instead of having an across the board reaction penalty to all processes, the multi-tasking user can distribute his reaction penalties in any fashion. This means that the user can rank the importance of each task by it's reaction penalty (hence the name "priority system".) The following table shows the total penalty for running a given number of datajacks. The user may distribute these "penalty points" among his active datajacks in any fashion. The penalties assigned must add up to the total given by the table. # of active datajacks Encephalon Level 1 2 3 4 5 1 0 -2 -- -- -- 2 0 -2 -6 -- -- 3 0 -2 -6 -12 -- 4 0 -2 -6 -12 -20 NOTE: The figures in this table are derived by multiplying the base penalty (see previous chart) by the number of datajacks. Math SPU: After assigning penalties to all datajacks, reduce each penalty by one if a Math SPU is present. (note: you cannot gain a bonus this way, a task running at -0 does not become +1 with a Math SPU) Changing Priorities: At any time, a user may change the way the penalties are distributed. This takes one action to accomplish, and is done exactly the same as assigning the initial penalties. "Dead" Tasks: If a task goes inactive, whether on purpose or as the result of an outside force (i.e.: A persona gets fried by IC, a remote drone is destroyed, someone pulls out one of your cords, etc.) then the user must re-distribute priorities immediately to reflect the change in the system. This will take one action. >>>[You don't actually *have* to redistribute immediately. But until you do, the penalties for the dead task are applied to *all* remaining tasks. So it'll behoove you to clean up that dead process.]<<< -- Micromara (12:59:01/02-23-93) If the user chooses, he can allow the automatic redistribution functions to take over. If this happens, the penalties are equally divided between all of the active datajacks. This takes no action as it is automatic. (Example: Static is running four datajacks in a prioritized system [total penalty is -12]. He has assigned penalties as 0, -1, -4, -7. Suddenly, his -7 datajack is disconnected. The system reaction penalty is now -6 and the computer will automatically assign those points as -2, -2, -2 unless Static was to spend the next action assigning them differently. Because each process must have a minimum amount of CPU time, there is a maximum penalty that you can assign to a process. This penalty is based on the number of datajacks being used and the processing power (rating) of the encephalon. Consult the table below to determine this maximum penalty Maximum Penalties: # of Active Datajacks Encephalon Level 1 2 3 4 5 1 x -2 -- -- -- 2 x -2 -4 -- -- 3 x -2 -5 -7 -- 4 x -2 -6 -8 -11 Example: Splut is running four datajacks with a level 3 system. He must distribute 12 priority points. The maximum number of points he could put into one process would be 7, and he would have to use the other 5 in any of the other three datajacks. Field Notes >>>[This is a classy setup, let me tell you. I once knew a rigger who had three datajacks. Was able to plug himself into his car and drive, fire the car's guns, and control a flying drone all at the same time with very little apparent loss of control. It's not JUST for deckers.]<<< -- Joyride <13:18:36/10-10-52> >>>[The biggest problem I see with this system is the fact that it is not very essence friendly. I mean, if you want a Level 4 Encephalon, 5 level 4 datajacks, 5 level 4 I/O SPUs, a level 4 MATH SPU, and 200 MP of memory, you are looking at 5.16 points of essence!!!!!!! Who in their right mind would do something like that?]<<< -- Splut <13:27:12/10-10-52> >>>[I would.]<<< -- Datajerk <13:28:21/10-10-52> >>>[Figures. Where this really pays off is that you can have one person working on five computer projects at once. I've heard of a bunch of corps giving their wage-slaves level 4 systems in order to increase productivity. It isn't very cheap, but it really pays off in the end. Deckers can also make good use of this system. I know a gal who usually runs with three decks. Each of the personas has a specialty. One can fight real well, one is the master data- gatherer, another sleazes and scans. Remarkable setup. And each of the personas of course use the same memory for utilities, dramatically cutting down on the amount of data being moved around. Even Black IC have problems fighting off three deckers at once. Really remarkable.]<<< -- Fastjack <13:41:46/10-10-52> >>>[Christ, Fastjack. You sound like you are in love.]<<< -- The Smiling Bandit >>>[Well, just don't tell anyone.]<<< -- Fastjack <13:43:04/10-10-52> >>>[I heard that, Fastjack. Dinner! My place! Tonight! Eight o'clock! Don't you dare be late!]<<< -- CyberGal <13:45:22/10-10-52> >>>[Hmm. A woman who can do three things at once, eh? Kinda boggles the imagination if you let it.]<<< -- The Smiling Bandit >>>[Shut up, Smilie.]<<< -- Fastjack {13:47:08/10-10-52>