Разпределени изчисления

Разпределеното изчислениее начин за решаване на отнемащи време изчислителни задачи с помощта на няколко компютъра, най-често комбинирани в паралелна изчислителна система. [1] Разпределеното изчисление е приложимо и в разпределени системи за управление. [2]

Последователните изчисления в разпределените системи се извършват, като се вземе предвид едновременното решаване на много проблеми. Характеристика на разпределените многопроцесорни изчислителни системи, за разлика от локалните суперкомпютри, е възможността за неограничено увеличаване на производителността поради мащабиране. [2] :550 Слабо свързаните хетерогенни изчислителни системи с висока степен на разпределение се обособяват в отделен клас разпределени системи - грид.

Съдържание

Работата по разпределени изчисления с много приложна цел - за военни цели, а именно автоматизация на секретни комуникации и обработка на разузнавателна информация, се извършва интензивно в Съединените щати от 60-те години на миналия век. Развитието на разпределени изчислителни технологии и създаването на разпределени информационни системи в Съединените щати по поръчка на Агенцията за напреднали изследователски проекти на отбраната на САЩ, видовете въоръжени сили и услуги (агенции) в структурата на Министерството на отбраната на САЩ се извършват от изследователски звена на компании и университети: [3]

  • Болт, Беранек и Нюман, Кеймбридж, Масачузетс;
  • Computer Corporation of America, Кеймбридж, Масачузетс;
  • Network Analysis Corporation, Glen Cove, Лонг Айлънд;
  • System Development Corporation, Санта Моника, Калифорния;
  • Станфордски изследователски институт, Менло Парк, Калифорния;
  • Национален институт по стандарти и технологии, Вашингтон;
  • Калифорнийски университет в ЛосАнджелис, Калифорния;
  • Военна комуникационна агенция, Скот, Илинойс.

През 1973 г. Джон Шох и Джон Хъп от калифорнийския изследователски център Xerox PARC написаха програма, която влизаше в PARC LAN през нощта и принуждаваше работещите компютри да извършват изчисления [4] .

През 1978 г. съветският математик Виктор Глушков работи върху проблема с макроконвейерните разпределени изчисления. Той предложи редица принципи за разпределение на работата между процесорите. [2] :320 Въз основа на тези принципи той разработи компютъра ES-2701.

През 1988 г. Ариен Ленстра и Марк Менес написаха програма за факторизиране на дълги числа. За да се ускори процеса, програмата може да се изпълнява на няколко машини, всяка от които обработва свой малък фрагмент. [4] .

Проблемът с разпределението на различни изчислителни задачи в рамките на разпределена система се отнася до проблема с вземането на решения при несигурност. Този проблем се разглежда в теорията на вземането на решения и в теорията на несигурността.

Разпределени операционни системи

Разпределената ОС, чрез динамично и автоматично разпределяне на работата на различни машини в системата за обработка, принуждава набор от мрежови машини да обработват информация паралелно. Потребителят на разпределена операционна система, най-общо казано, няма познания за машината, на която се извършва неговата работа. [1]

Разпределената ОС съществува като единична операционна система в изчислителна система. Всеки компютър в мрежа, работещ с разпределена ОС, изпълнява част от функциите на тази глобална ОС. Разпределената ОС обединява всички компютри в мрежа в смисъл, че те работят в тясно сътрудничество помежду си, за да използват ефективно всички ресурси на компютърна мрежа.

В резултат на това мрежовата ОС може да се разглежда като набор от операционни системи на отделни компютри, които съставляват мрежата. Различните компютри в мрежата могат да работят с една и съща или различни операционни системи. Например всички компютри в мрежата може да работят с една и съща операционна система UNIX. По-реалистичен вариант е мрежа, която работи с различни операционни системи, например някои компютри работят с UNIX, някои работят с NetWare, а останалите работят с Windows NT и Windows 98. Всички тези операционни системи работят независимо една от друга в смисъл, че всяка от тях взема независими решения за създаване и прекратяване на собствени процеси и управление на локални ресурси. Но във всеки случай операционните системи на компютрите, работещи в мрежата, трябва да включват взаимно съгласуван набор от комуникационни протоколи, за да организират взаимодействието на процесите, изпълнявани на различни компютри в мрежата, и да споделят ресурсите на тези компютри между потребителите на мрежата.

Ако операционната система на един компютър му позволява да работи в мрежа и може да споделя своите ресурси и/или да използва ресурсите на други компютри в мрежата, тогава такава операционна система на един компютър се нарича още мрежова ОС.

Така терминът "мрежова операционна система" се използва в два смисъла: като набор от операционни системи на всички компютри в мрежата и като операционна система на един компютър, който може да работи в мрежата. От това определение следва, че такива операционни системи, като например Windows NT, NetWare, Solaris, HP-UX, са мрежови операционни системи, тъй като всички те имат средства, които позволяват на техните потребители да работят в мрежа.