Sálové počítače vyráběné v ZPA Čakovicích

Vojtěch Sedláček restarting a mainframe computer ZPA 600 Vojtěch Sedláček restarting a mainframe computer ZPA 600
Vojtěch Sedláček při oživování sálového počítače ZPA 600 (1970) Ovládací panel ZPA 600, jednotky magnetických pásek, řádková tiskárna (1970)
Vojtěch Sedláček with mainframe computer ZPA 600 Vojtěch Sedláček at the handover of a mainframe computer at the General Staff of the Czechoslovak Army
Skříně se základní jednotkou a feritovou pamětí počítače ZPA 600 (1970) Předávání počítače ZPA 601 na Generálním štábu ČSLA (1971)

Historie tranzistorových počítačů v Československu


Vývoj třídícího programu na počátku počítačové éry

V roce 1971 jsme s kolegou Janem Sokolem vyvinuli nový počítačový program nazvaný SOMEF, který sloužil k třídění (řazení) dat.
Tento program nahradil systém SOMER.

Pracovali jsme na velkých počítačích typu ZPA 600 a 601 - ty stroje zabíraly celé místnosti (proto "sálové počítače").
Třídění dat bylo v té době jednou z nejdůležitějších činností počítačů vůbec.
Hlavním způsobem ukládání velkého množství dat byly tehdy magnetické pásky na velkých kotoučích.
Velkokapacitní disky přišly později.

Na jednu magnetickou pásku se vešlo přibližně 7 MB dat (dnes smartphone má tisíckrát více paměti).
Pokud měl jeden datový záznam 80 znaků, na pásku se jich vešlo cca 80 tisíc.
V operační paměti počítače se dalo najednou pracovat zhruba s 3 tisíci takových záznamů.

Třídění dat probíhalo ve dvou krocích

1. Sorting (prvotní řazení) - práce Jana Sokola

Počítač načetl do paměti tolik záznamů, kolik se vešlo.
Tyto záznamy seřadil podle určitého klíče (například podle abecedy).
Vznikl tak "seřazený blok" dat, který se uložil na magnetickou pásku.
Jan Sokol použil chytrý trik pro zvýšení efektivity.
Místo toho, aby se celý seřazený blok nahrál hned na pásku, program postupoval jinak.
Vždy zapsal jen "nejlepší" záznam (například první v abecedě) a tím uvolnil místo pro další záznam ze vstupních dat.
Ten se pak zařadil na správné místo mezi ostatní.
Díky tomu se velikost seřazeného bloku často zvětšila až o 60 %.

2. Merging (slučování) – můj úkol

Slučování seřazených bloků do jednoho velkého seřazeného souboru.
Standardní postup byl, že se seřazené bloky symetricky (binárně) rozdělí mezi několik pásek
a pak se postupně slučují, dokud nevznikne jeden kompletně seřazený soubor.

Použil jsem metodu založenou na Fibonacciho číslech (Leonardo Pisánský 1202).
Fibonacciho čísla tvoří posloupnost, kde každé číslo je součtem dvou předchozích: 1, 1, 2, 3, 5, 8, 13, 21...

Praktický příklad pro soubor s 8 seřazenými bloky na třech páskách:

Polyfázové metodě podle Fibonacciho stačilo projít celkem 24 bloků při pěti krocích.
Klasická metoda symetrického zatřiďování musela projít 48 bloků při šesti krocích.
Nová metoda byla o 50 % rychlejší!

V zemích východního bloku bylo Československo jediné, kde se tato metoda používala.
===

  << Zpět / Previous