Back to the main page

Mailing List Logs for ShadowRN

Message no. 1
From: "Robert A. Hayden" <hayden@*******.MANKATO.MSUS.EDU>
Subject: G-011-a: tech, multitasking
Date: Tue, 26 Oct 1993 22:54:16 -0500
Multitasking in Shadowrun: How to do Two Things at Once.

By: Robert Hayden [aq650@****.INS.CWRU.Edu]
Vincent Esposito [ VESPOSIT@****]



1) Introduction
2) How Multi-tasking Works
3) Technical Specifications and rules
4) OPTIONAL SYSTEM: Prioritized Multi-tasking
5) Field Notes



With the advent of the Encephalon as a cognative 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.



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.



The Basic system: To multitask several datajacks you need a few

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 following chart

|--------------| <=> 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. (ie an encephalon-3
can multitask a maximum of 4 datajacks)

Buffer Memory Requirments:
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.



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 reation 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 fasion. The penalties assigned
must add up to the total given by the table.

Encephalon Level # of active datajacks
---------------- 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

Changing Priorities: At any time, a user may change the way his
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 (ie: A persona gets fried by IC, a remote
drone is destroyed, someone pulls out one of your cords, etc.) then
the user must re-distrubute his priorities immediately to reflect the
change in the system. This will take one action.

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

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:
Encephalon Level # of Active Datajacks
---------------- 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.



>>>>>{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
-- 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
-- The Smiling Bandit <Strikes again!/Ha-Ha-Ha>

>>>>>{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 <Strikes again!/Ha-Ha-Ha>

>>>>>{Shut up, Smilie.}<<<<<
-- Fastjack {13:47:08/10-10-52>

____ Robert A. Hayden <=> hayden@*******
\ /__ -=-=-=-=- <=> -=-=-=-=-
\/ / Finger for Geek Code Info <=> Veteran of the Bermuda Triangle
\/ Finger for PGP 2.3a Public Key <=> Expeditionary Force -- 1993-1951
(GEEK CODE 1.0.1) GSS d- -p+(---) c++(++++) l++ u++ e+/* m++(*)@ s-/++
n-(---) h+(*) f+ g+ w++ t++ r++ y+(*)


These messages were posted a long time ago on a mailing list far, far away. The copyright to their contents probably lies with the original authors of the individual messages, but since they were published in an electronic forum that anyone could subscribe to, and the logs were available to subscribers and most likely non-subscribers as well, it's felt that re-publishing them here is a kind of public service.